mirror of https://github.com/odrling/Aegisub
253 lines
8.6 KiB
C#
253 lines
8.6 KiB
C#
/*
|
|
SSATool - A collection of utilities for Advanced Substation Alpha
|
|
Copyright (C) 2007 Dan Donovan
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; ONLY under version 2
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
|
|
using System;
|
|
using System.ComponentModel;
|
|
using System.Windows.Forms;
|
|
|
|
namespace SSATool
|
|
{
|
|
/// <summary>
|
|
/// Summary description for ConditionDialog.
|
|
/// </summary>
|
|
public class ConditionDialog : System.Windows.Forms.Form
|
|
{
|
|
private System.Windows.Forms.Label label1;
|
|
private System.Windows.Forms.Label label2;
|
|
private System.Windows.Forms.Label label3;
|
|
private System.Windows.Forms.ComboBox comboBox1;
|
|
private System.Windows.Forms.Button cmdCancel;
|
|
private System.Windows.Forms.Button cmdOK;
|
|
private System.Windows.Forms.TextBox txtC1;
|
|
private System.Windows.Forms.TextBox txtC2;
|
|
private System.Windows.Forms.Label lblPrompt;
|
|
/// <summary>
|
|
/// Required designer variable.
|
|
/// </summary>
|
|
private System.ComponentModel.Container components = null;
|
|
|
|
public ConditionDialog() {
|
|
InitializeComponent();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Clean up any resources being used.
|
|
/// </summary>
|
|
protected override void Dispose( bool disposing )
|
|
{
|
|
if( disposing )
|
|
{
|
|
if(components != null)
|
|
{
|
|
components.Dispose();
|
|
}
|
|
}
|
|
base.Dispose( disposing );
|
|
}
|
|
|
|
#region Windows Form Designer generated code
|
|
/// <summary>
|
|
/// Required method for Designer support - do not modify
|
|
/// the contents of this method with the code editor.
|
|
/// </summary>
|
|
private void InitializeComponent()
|
|
{
|
|
this.label1 = new System.Windows.Forms.Label();
|
|
this.label2 = new System.Windows.Forms.Label();
|
|
this.label3 = new System.Windows.Forms.Label();
|
|
this.txtC1 = new System.Windows.Forms.TextBox();
|
|
this.txtC2 = new System.Windows.Forms.TextBox();
|
|
this.lblPrompt = new System.Windows.Forms.Label();
|
|
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
|
this.cmdCancel = new System.Windows.Forms.Button();
|
|
this.cmdOK = new System.Windows.Forms.Button();
|
|
this.SuspendLayout();
|
|
//
|
|
// label1
|
|
//
|
|
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
|
this.label1.Location = new System.Drawing.Point(8, 56);
|
|
this.label1.Name = "label1";
|
|
this.label1.Size = new System.Drawing.Size(128, 20);
|
|
this.label1.TabIndex = 6;
|
|
this.label1.Text = "Condition One:";
|
|
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
|
//
|
|
// label2
|
|
//
|
|
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
|
this.label2.Location = new System.Drawing.Point(8, 80);
|
|
this.label2.Name = "label2";
|
|
this.label2.Size = new System.Drawing.Size(128, 20);
|
|
this.label2.TabIndex = 7;
|
|
this.label2.Text = "Condition Two:";
|
|
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
|
//
|
|
// label3
|
|
//
|
|
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
|
this.label3.Location = new System.Drawing.Point(8, 104);
|
|
this.label3.Name = "label3";
|
|
this.label3.Size = new System.Drawing.Size(128, 20);
|
|
this.label3.TabIndex = 8;
|
|
this.label3.Text = "Comparison:";
|
|
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
|
//
|
|
// txtC1
|
|
//
|
|
this.txtC1.Location = new System.Drawing.Point(144, 56);
|
|
this.txtC1.Name = "txtC1";
|
|
this.txtC1.Size = new System.Drawing.Size(336, 20);
|
|
this.txtC1.TabIndex = 0;
|
|
this.txtC1.Text = "";
|
|
this.txtC1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtC_KeyPress);
|
|
//
|
|
// txtC2
|
|
//
|
|
this.txtC2.Location = new System.Drawing.Point(144, 80);
|
|
this.txtC2.Name = "txtC2";
|
|
this.txtC2.Size = new System.Drawing.Size(336, 20);
|
|
this.txtC2.TabIndex = 1;
|
|
this.txtC2.Text = "";
|
|
this.txtC2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtC_KeyPress);
|
|
//
|
|
// lblPrompt
|
|
//
|
|
this.lblPrompt.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
|
|
this.lblPrompt.Location = new System.Drawing.Point(0, 8);
|
|
this.lblPrompt.Name = "lblPrompt";
|
|
this.lblPrompt.Size = new System.Drawing.Size(480, 40);
|
|
this.lblPrompt.TabIndex = 5;
|
|
//
|
|
// comboBox1
|
|
//
|
|
this.comboBox1.ImeMode = System.Windows.Forms.ImeMode.Off;
|
|
this.comboBox1.Items.AddRange(new object[] {
|
|
"=",
|
|
"==",
|
|
"!=",
|
|
"!==",
|
|
">",
|
|
">=",
|
|
"<",
|
|
"<="});
|
|
this.comboBox1.Location = new System.Drawing.Point(144, 104);
|
|
this.comboBox1.Name = "comboBox1";
|
|
this.comboBox1.Size = new System.Drawing.Size(120, 21);
|
|
this.comboBox1.TabIndex = 2;
|
|
this.comboBox1.Text = "==";
|
|
this.comboBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox1_KeyPress);
|
|
//
|
|
// cmdCancel
|
|
//
|
|
this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
|
this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
|
this.cmdCancel.Location = new System.Drawing.Point(384, 104);
|
|
this.cmdCancel.Name = "cmdCancel";
|
|
this.cmdCancel.Size = new System.Drawing.Size(96, 24);
|
|
this.cmdCancel.TabIndex = 4;
|
|
this.cmdCancel.Text = "Cancel";
|
|
//
|
|
// cmdOK
|
|
//
|
|
this.cmdOK.DialogResult = System.Windows.Forms.DialogResult.OK;
|
|
this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
|
|
this.cmdOK.Location = new System.Drawing.Point(272, 104);
|
|
this.cmdOK.Name = "cmdOK";
|
|
this.cmdOK.Size = new System.Drawing.Size(96, 24);
|
|
this.cmdOK.TabIndex = 3;
|
|
this.cmdOK.Text = "OK";
|
|
//
|
|
// ConditionDialog
|
|
//
|
|
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
|
this.ClientSize = new System.Drawing.Size(488, 135);
|
|
this.Controls.Add(this.cmdOK);
|
|
this.Controls.Add(this.cmdCancel);
|
|
this.Controls.Add(this.comboBox1);
|
|
this.Controls.Add(this.lblPrompt);
|
|
this.Controls.Add(this.txtC2);
|
|
this.Controls.Add(this.txtC1);
|
|
this.Controls.Add(this.label3);
|
|
this.Controls.Add(this.label2);
|
|
this.Controls.Add(this.label1);
|
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
|
this.MaximizeBox = false;
|
|
this.MinimizeBox = false;
|
|
this.Name = "ConditionDialog";
|
|
this.Text = "ConditionDialog";
|
|
this.Load += new System.EventHandler(this.ConditionDialog_Load);
|
|
this.ResumeLayout(false);
|
|
|
|
}
|
|
#endregion
|
|
|
|
private void ConditionDialog_Load(object sender, System.EventArgs e) {
|
|
|
|
}
|
|
public static ConditionDialogResult Show(string prompt, string title, int xpos, int ypos) {
|
|
using (ConditionDialog form = new ConditionDialog()) {
|
|
form.Text = title;
|
|
form.lblPrompt.Text = prompt;
|
|
|
|
if (xpos >= 0 && ypos >= 0) {
|
|
form.StartPosition = FormStartPosition.Manual;
|
|
form.Left = xpos;
|
|
form.Top = ypos;
|
|
}
|
|
|
|
DialogResult result = form.ShowDialog();
|
|
|
|
ConditionDialogResult retval = new ConditionDialogResult();
|
|
if (result == DialogResult.OK) {
|
|
retval.ConditionOne = form.txtC1.Text;
|
|
retval.ConditionTwo = form.txtC2.Text;
|
|
retval.ConditionComp = form.comboBox1.Text;
|
|
retval.OK = true;
|
|
}
|
|
return retval;
|
|
}
|
|
}
|
|
|
|
private void txtC_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
|
|
if ((e.KeyChar == (char)10) || (e.KeyChar == (char)13)) {
|
|
e.Handled = true;
|
|
cmdOK.PerformClick();
|
|
}
|
|
}
|
|
|
|
private void comboBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
|
|
e.Handled = true; // We don't want anyone typing here anyway!
|
|
if (e.KeyChar == (char)Keys.Enter)
|
|
cmdOK.PerformClick();
|
|
}
|
|
|
|
public static ConditionDialogResult Show(string prompt, string title) {
|
|
return Show(prompt, title, -1, -1);
|
|
}
|
|
}
|
|
|
|
public class ConditionDialogResult {
|
|
public string ConditionOne;
|
|
public string ConditionTwo;
|
|
public string ConditionComp;
|
|
public bool OK;
|
|
}
|
|
}
|