/* Copyright (c) 2004, 2005 MySQL AB 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; version 2 of the License. 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.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace NDB_CPC { /// /// Summary description for ProcessDefineDialog. /// public class ProcessDefineDialog : System.Windows.Forms.Form { private System.Windows.Forms.ComboBox comboComputer; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label9; private System.Windows.Forms.TextBox textProcessName; private System.Windows.Forms.TextBox textProcessGroup; private System.Windows.Forms.TextBox textProcessEnv; private System.Windows.Forms.TextBox textProcessPath; private System.Windows.Forms.TextBox textProcessArgs; private System.Windows.Forms.TextBox textProcessCWD; private System.Windows.Forms.TextBox textProcessOwner; private System.Windows.Forms.ComboBox comboType; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label11; private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label15; private System.Windows.Forms.Label label16; private System.Windows.Forms.Label label14; private System.Windows.Forms.Label label17; private System.Windows.Forms.Label label18; private System.Windows.Forms.Button btnAdd; private System.Windows.Forms.Button btnCancel; /// /// Required designer variable. /// private System.ComponentModel.Container components = null; private ComputerMgmt c_mgmt; private string m_selComputer; public ProcessDefineDialog(ComputerMgmt mgmt, string computer) { // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // m_selComputer =computer; //the selected computer in the TreeView c_mgmt=mgmt; } /// /// Clean up any resources being used. /// protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// private void InitializeComponent() { this.comboComputer = new System.Windows.Forms.ComboBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); this.textProcessName = new System.Windows.Forms.TextBox(); this.textProcessGroup = new System.Windows.Forms.TextBox(); this.textProcessEnv = new System.Windows.Forms.TextBox(); this.textProcessPath = new System.Windows.Forms.TextBox(); this.textProcessArgs = new System.Windows.Forms.TextBox(); this.textProcessCWD = new System.Windows.Forms.TextBox(); this.textProcessOwner = new System.Windows.Forms.TextBox(); this.comboType = new System.Windows.Forms.ComboBox(); this.label10 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label(); this.label16 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label(); this.label17 = new System.Windows.Forms.Label(); this.label18 = new System.Windows.Forms.Label(); this.btnAdd = new System.Windows.Forms.Button(); this.btnCancel = new System.Windows.Forms.Button(); this.SuspendLayout(); // // comboComputer // this.comboComputer.ItemHeight = 13; this.comboComputer.Location = new System.Drawing.Point(152, 24); this.comboComputer.Name = "comboComputer"; this.comboComputer.Size = new System.Drawing.Size(112, 21); this.comboComputer.TabIndex = 0; // // label1 // this.label1.Location = new System.Drawing.Point(24, 24); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(64, 24); this.label1.TabIndex = 1; this.label1.Text = "Computer:"; // // label2 // this.label2.Location = new System.Drawing.Point(24, 48); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(88, 24); this.label2.TabIndex = 2; this.label2.Text = "Process name:"; // // label3 // this.label3.Location = new System.Drawing.Point(24, 72); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(88, 24); this.label3.TabIndex = 3; this.label3.Text = "Group:"; // // label4 // this.label4.Location = new System.Drawing.Point(24, 96); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(88, 24); this.label4.TabIndex = 4; this.label4.Text = "Env. variables:"; // // label5 // this.label5.Location = new System.Drawing.Point(24, 120); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(88, 24); this.label5.TabIndex = 5; this.label5.Text = "Path to binary:"; // // label6 // this.label6.Location = new System.Drawing.Point(24, 144); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(112, 24); this.label6.TabIndex = 6; this.label6.Text = "Arguments to binary:"; // // label7 // this.label7.Location = new System.Drawing.Point(24, 168); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(112, 24); this.label7.TabIndex = 7; this.label7.Text = "Type of process:"; // // label8 // this.label8.Location = new System.Drawing.Point(24, 192); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(112, 24); this.label8.TabIndex = 8; this.label8.Text = "Current working dir.:"; // // label9 // this.label9.Location = new System.Drawing.Point(24, 216); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(112, 24); this.label9.TabIndex = 9; this.label9.Text = "Owner:"; // // textProcessName // this.textProcessName.Location = new System.Drawing.Point(152, 48); this.textProcessName.Name = "textProcessName"; this.textProcessName.Size = new System.Drawing.Size(112, 20); this.textProcessName.TabIndex = 1; this.textProcessName.Text = ""; // // textProcessGroup // this.textProcessGroup.Location = new System.Drawing.Point(152, 72); this.textProcessGroup.Name = "textProcessGroup"; this.textProcessGroup.Size = new System.Drawing.Size(112, 20); this.textProcessGroup.TabIndex = 2; this.textProcessGroup.Text = ""; // // textProcessEnv // this.textProcessEnv.Location = new System.Drawing.Point(152, 96); this.textProcessEnv.Name = "textProcessEnv"; this.textProcessEnv.Size = new System.Drawing.Size(112, 20); this.textProcessEnv.TabIndex = 3; this.textProcessEnv.Text = ""; // // textProcessPath // this.textProcessPath.Location = new System.Drawing.Point(152, 120); this.textProcessPath.Name = "textProcessPath"; this.textProcessPath.Size = new System.Drawing.Size(112, 20); this.textProcessPath.TabIndex = 4; this.textProcessPath.Text = ""; // // textProcessArgs // this.textProcessArgs.Location = new System.Drawing.Point(152, 144); this.textProcessArgs.Name = "textProcessArgs"; this.textProcessArgs.Size = new System.Drawing.Size(112, 20); this.textProcessArgs.TabIndex = 5; this.textProcessArgs.Text = ""; // // textProcessCWD // this.textProcessCWD.Location = new System.Drawing.Point(152, 192); this.textProcessCWD.Name = "textProcessCWD"; this.textProcessCWD.Size = new System.Drawing.Size(112, 20); this.textProcessCWD.TabIndex = 7; this.textProcessCWD.Text = ""; // // textProcessOwner // this.textProcessOwner.Location = new System.Drawing.Point(152, 216); this.textProcessOwner.Name = "textProcessOwner"; this.textProcessOwner.Size = new System.Drawing.Size(112, 20); this.textProcessOwner.TabIndex = 8; this.textProcessOwner.Text = ""; // // comboType // this.comboType.ItemHeight = 13; this.comboType.Items.AddRange(new object[] { "Permanent", "Interactive"}); this.comboType.Location = new System.Drawing.Point(152, 168); this.comboType.Name = "comboType"; this.comboType.Size = new System.Drawing.Size(112, 21); this.comboType.TabIndex = 6; // // label10 // this.label10.Location = new System.Drawing.Point(272, 32); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(88, 16); this.label10.TabIndex = 19; this.label10.Text = "(Mandatory)"; // // label11 // this.label11.Location = new System.Drawing.Point(272, 56); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(88, 16); this.label11.TabIndex = 20; this.label11.Text = "(Mandatory)"; // // label12 // this.label12.Location = new System.Drawing.Point(272, 80); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(88, 16); this.label12.TabIndex = 21; this.label12.Text = "(Mandatory)"; // // label13 // this.label13.Location = new System.Drawing.Point(272, 127); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(88, 16); this.label13.TabIndex = 22; this.label13.Text = "(Mandatory)"; // // label15 // this.label15.Location = new System.Drawing.Point(272, 176); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(88, 16); this.label15.TabIndex = 24; this.label15.Text = "(Mandatory)"; // // label16 // this.label16.Location = new System.Drawing.Point(272, 200); this.label16.Name = "label16"; this.label16.Size = new System.Drawing.Size(88, 16); this.label16.TabIndex = 25; this.label16.Text = "(Mandatory)"; // // label14 // this.label14.Location = new System.Drawing.Point(272, 224); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(88, 16); this.label14.TabIndex = 26; this.label14.Text = "(Mandatory)"; // // label17 // this.label17.Location = new System.Drawing.Point(272, 104); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(88, 16); this.label17.TabIndex = 27; this.label17.Text = "(Optional)"; // // label18 // this.label18.Location = new System.Drawing.Point(272, 152); this.label18.Name = "label18"; this.label18.Size = new System.Drawing.Size(88, 16); this.label18.TabIndex = 28; this.label18.Text = "(Optional)"; // // btnAdd // this.btnAdd.Location = new System.Drawing.Point(288, 248); this.btnAdd.Name = "btnAdd"; this.btnAdd.TabIndex = 9; this.btnAdd.Text = "Define..."; this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); // // btnCancel // this.btnCancel.Location = new System.Drawing.Point(152, 248); this.btnCancel.Name = "btnCancel"; this.btnCancel.TabIndex = 10; this.btnCancel.Text = "Cancel"; this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); // // ProcessDefineDialog // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(370, 279); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.btnCancel, this.btnAdd, this.label18, this.label17, this.label14, this.label16, this.label15, this.label13, this.label12, this.label11, this.label10, this.comboType, this.textProcessOwner, this.textProcessCWD, this.textProcessArgs, this.textProcessPath, this.textProcessEnv, this.textProcessGroup, this.textProcessName, this.label9, this.label8, this.label7, this.label6, this.label5, this.label4, this.label3, this.label2, this.label1, this.comboComputer}); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "ProcessDefineDialog"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Define Process"; this.Load += new System.EventHandler(this.ProcessDefineDialog_Load); this.ResumeLayout(false); } #endregion private void btnCancel_Click(object sender, System.EventArgs e) { this.Dispose(); this.Close(); } private void btnAdd_Click(object sender, System.EventArgs e) { //TODO: ERROR CHECK Computer c; c=c_mgmt.getComputer(this.m_selComputer); c.addProcess(new Process(this.textProcessName.Text.ToString(), this.textProcessOwner.Text.ToString(), this.textProcessGroup.Text.ToString(), c)); this.Close(); this.Dispose(); } private void ProcessDefineDialog_Load(object sender, System.EventArgs e) { comboType.SelectedIndex=0; ArrayList list = c_mgmt.getComputerCollection(); int i=0, selIndex=0; foreach(Computer computer in list) { this.comboComputer.Items.Add(computer.getName()); if(computer.getName().Equals(m_selComputer)) selIndex=i; i++; } comboComputer.SelectedIndex=selIndex; } } }