Changeset 1937 for trunk/sources/HeuristicLab.Hive.Server.Console
- Timestamp:
- 05/28/09 17:33:37 (16 years ago)
- Location:
- trunk/sources/HeuristicLab.Hive.Server.Console/3.2
- Files:
-
- 3 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.Console/3.2/AddGroup.Designer.cs
r1832 r1937 71 71 // AddGroup 72 72 // 73 this.AcceptButton = this.btnAdd; 73 74 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 74 75 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 76 this.CancelButton = this.btnClose; 75 77 this.ClientSize = new System.Drawing.Size(337, 70); 76 78 this.Controls.Add(this.tbName); -
trunk/sources/HeuristicLab.Hive.Server.Console/3.2/AddJobForm.Designer.cs
r1530 r1937 45 45 /// </summary> 46 46 private void InitializeComponent() { 47 this.lblParentJob = new System.Windows.Forms.Label();48 this.cbParJob = new System.Windows.Forms.ComboBox();49 47 this.btnAdd = new System.Windows.Forms.Button(); 50 48 this.btnClose = new System.Windows.Forms.Button(); … … 52 50 this.tbNumJobs = new System.Windows.Forms.TextBox(); 53 51 this.lblError = new System.Windows.Forms.Label(); 52 this.lblProject = new System.Windows.Forms.Label(); 53 this.cbProject = new System.Windows.Forms.ComboBox(); 54 this.cbAllGroups = new System.Windows.Forms.CheckBox(); 55 this.gbGroups = new System.Windows.Forms.GroupBox(); 56 this.btnRemoveGroup = new System.Windows.Forms.Button(); 57 this.btnAddGroup = new System.Windows.Forms.Button(); 58 this.lbGroupsIn = new System.Windows.Forms.ListBox(); 59 this.lbGroupsOut = new System.Windows.Forms.ListBox(); 60 this.gbGroups.SuspendLayout(); 54 61 this.SuspendLayout(); 55 62 // 56 // lblParentJob57 //58 this.lblParentJob.AutoSize = true;59 this.lblParentJob.Location = new System.Drawing.Point(9, 36);60 this.lblParentJob.Name = "lblParentJob";61 this.lblParentJob.Size = new System.Drawing.Size(58, 13);62 this.lblParentJob.TabIndex = 1;63 this.lblParentJob.Text = "Parent Job";64 //65 // cbParJob66 //67 this.cbParJob.FormattingEnabled = true;68 this.cbParJob.Location = new System.Drawing.Point(117, 33);69 this.cbParJob.Name = "cbParJob";70 this.cbParJob.Size = new System.Drawing.Size(212, 21);71 this.cbParJob.TabIndex = 2;72 //73 63 // btnAdd 74 64 // 75 this.btnAdd.Location = new System.Drawing.Point( 12, 65);65 this.btnAdd.Location = new System.Drawing.Point(6, 224); 76 66 this.btnAdd.Name = "btnAdd"; 77 67 this.btnAdd.Size = new System.Drawing.Size(75, 23); … … 84 74 // 85 75 this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel; 86 this.btnClose.Location = new System.Drawing.Point(2 54, 65);76 this.btnClose.Location = new System.Drawing.Point(291, 224); 87 77 this.btnClose.Name = "btnClose"; 88 78 this.btnClose.Size = new System.Drawing.Size(75, 23); … … 105 95 this.tbNumJobs.Location = new System.Drawing.Point(117, 6); 106 96 this.tbNumJobs.Name = "tbNumJobs"; 107 this.tbNumJobs.Size = new System.Drawing.Size(2 12, 20);97 this.tbNumJobs.Size = new System.Drawing.Size(243, 20); 108 98 this.tbNumJobs.TabIndex = 1; 109 99 this.tbNumJobs.Text = "1"; … … 112 102 // 113 103 this.lblError.AutoSize = true; 114 this.lblError.Location = new System.Drawing.Point( 94, 74);104 this.lblError.Location = new System.Drawing.Point(87, 229); 115 105 this.lblError.Name = "lblError"; 116 106 this.lblError.Size = new System.Drawing.Size(0, 13); 117 107 this.lblError.TabIndex = 8; 108 // 109 // lblProject 110 // 111 this.lblProject.AutoSize = true; 112 this.lblProject.Location = new System.Drawing.Point(12, 39); 113 this.lblProject.Name = "lblProject"; 114 this.lblProject.Size = new System.Drawing.Size(59, 13); 115 this.lblProject.TabIndex = 9; 116 this.lblProject.Text = "Job project"; 117 // 118 // cbProject 119 // 120 this.cbProject.FormattingEnabled = true; 121 this.cbProject.Location = new System.Drawing.Point(117, 31); 122 this.cbProject.Name = "cbProject"; 123 this.cbProject.Size = new System.Drawing.Size(245, 21); 124 this.cbProject.TabIndex = 10; 125 // 126 // cbAllGroups 127 // 128 this.cbAllGroups.AutoSize = true; 129 this.cbAllGroups.Checked = true; 130 this.cbAllGroups.CheckState = System.Windows.Forms.CheckState.Checked; 131 this.cbAllGroups.Location = new System.Drawing.Point(15, 65); 132 this.cbAllGroups.Name = "cbAllGroups"; 133 this.cbAllGroups.Size = new System.Drawing.Size(91, 17); 134 this.cbAllGroups.TabIndex = 15; 135 this.cbAllGroups.Text = "use all groups"; 136 this.cbAllGroups.UseVisualStyleBackColor = true; 137 this.cbAllGroups.CheckedChanged += new System.EventHandler(this.cbAllGroups_CheckedChanged); 138 // 139 // gbGroups 140 // 141 this.gbGroups.Controls.Add(this.btnRemoveGroup); 142 this.gbGroups.Controls.Add(this.btnAddGroup); 143 this.gbGroups.Controls.Add(this.lbGroupsIn); 144 this.gbGroups.Controls.Add(this.lbGroupsOut); 145 this.gbGroups.Location = new System.Drawing.Point(10, 90); 146 this.gbGroups.Name = "gbGroups"; 147 this.gbGroups.Size = new System.Drawing.Size(357, 128); 148 this.gbGroups.TabIndex = 16; 149 this.gbGroups.TabStop = false; 150 this.gbGroups.Text = "choose groups"; 151 // 152 // btnRemoveGroup 153 // 154 this.btnRemoveGroup.Enabled = false; 155 this.btnRemoveGroup.Location = new System.Drawing.Point(143, 56); 156 this.btnRemoveGroup.Name = "btnRemoveGroup"; 157 this.btnRemoveGroup.Size = new System.Drawing.Size(75, 23); 158 this.btnRemoveGroup.TabIndex = 18; 159 this.btnRemoveGroup.Text = "<< Remove"; 160 this.btnRemoveGroup.UseVisualStyleBackColor = true; 161 // 162 // btnAddGroup 163 // 164 this.btnAddGroup.Enabled = false; 165 this.btnAddGroup.Location = new System.Drawing.Point(143, 26); 166 this.btnAddGroup.Name = "btnAddGroup"; 167 this.btnAddGroup.Size = new System.Drawing.Size(75, 23); 168 this.btnAddGroup.TabIndex = 17; 169 this.btnAddGroup.Text = "Add >>"; 170 this.btnAddGroup.UseVisualStyleBackColor = true; 171 // 172 // lbGroupsIn 173 // 174 this.lbGroupsIn.Enabled = false; 175 this.lbGroupsIn.FormattingEnabled = true; 176 this.lbGroupsIn.Location = new System.Drawing.Point(224, 15); 177 this.lbGroupsIn.Name = "lbGroupsIn"; 178 this.lbGroupsIn.Size = new System.Drawing.Size(128, 108); 179 this.lbGroupsIn.TabIndex = 16; 180 // 181 // lbGroupsOut 182 // 183 this.lbGroupsOut.Enabled = false; 184 this.lbGroupsOut.FormattingEnabled = true; 185 this.lbGroupsOut.Location = new System.Drawing.Point(6, 15); 186 this.lbGroupsOut.Name = "lbGroupsOut"; 187 this.lbGroupsOut.Size = new System.Drawing.Size(130, 108); 188 this.lbGroupsOut.TabIndex = 15; 118 189 // 119 190 // AddJobForm … … 123 194 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 124 195 this.CancelButton = this.btnClose; 125 this.ClientSize = new System.Drawing.Size(344, 100); 196 this.ClientSize = new System.Drawing.Size(372, 255); 197 this.Controls.Add(this.gbGroups); 198 this.Controls.Add(this.cbAllGroups); 199 this.Controls.Add(this.cbProject); 200 this.Controls.Add(this.lblProject); 126 201 this.Controls.Add(this.lblError); 127 202 this.Controls.Add(this.tbNumJobs); … … 129 204 this.Controls.Add(this.btnClose); 130 205 this.Controls.Add(this.btnAdd); 131 this.Controls.Add(this.cbParJob);132 this.Controls.Add(this.lblParentJob);133 206 this.Name = "AddJobForm"; 134 207 this.Text = "Add Job"; 208 this.gbGroups.ResumeLayout(false); 135 209 this.ResumeLayout(false); 136 210 this.PerformLayout(); … … 140 214 #endregion 141 215 142 private System.Windows.Forms.Label lblParentJob;143 private System.Windows.Forms.ComboBox cbParJob;144 216 private System.Windows.Forms.Button btnAdd; 145 217 private System.Windows.Forms.Button btnClose; … … 147 219 private System.Windows.Forms.TextBox tbNumJobs; 148 220 private System.Windows.Forms.Label lblError; 221 private System.Windows.Forms.Label lblProject; 222 private System.Windows.Forms.ComboBox cbProject; 223 private System.Windows.Forms.CheckBox cbAllGroups; 224 private System.Windows.Forms.GroupBox gbGroups; 225 private System.Windows.Forms.Button btnRemoveGroup; 226 private System.Windows.Forms.Button btnAddGroup; 227 private System.Windows.Forms.ListBox lbGroupsIn; 228 private System.Windows.Forms.ListBox lbGroupsOut; 149 229 } 150 230 } -
trunk/sources/HeuristicLab.Hive.Server.Console/3.2/AddJobForm.cs
r1753 r1937 42 42 public event addDelegate addJobEvent; 43 43 44 ResponseList< Job> jobGroups = null;44 ResponseList<Project> projects = null; 45 45 IJobManager jobManager; 46 IClientManager clientManager; 47 ResponseList<ClientGroup> clientGroups; 48 49 Dictionary<Guid, string> clients = null; 46 50 47 51 public AddJobForm() { 48 52 InitializeComponent(); 53 54 clients = new Dictionary<Guid, string>(); 49 55 AddJob(); 56 50 57 } 51 58 … … 53 60 jobManager = 54 61 ServiceLocator.GetJobManager(); 55 jobGroups = jobManager.GetAllJobs();56 cbP arJob.Items.Add("none");57 cbP arJob.SelectedIndex = 0;58 foreach ( Job job in jobGroups.List) {59 cbP arJob.Items.Add(job.Id);62 projects = jobManager.GetAllProjects(); 63 cbProject.Items.Add("none"); 64 cbProject.SelectedIndex = 0; 65 foreach (Project project in projects.List) { 66 cbProject.Items.Add(project.Name); 60 67 } 68 69 70 } 71 72 private void AddClientGroups() { 73 foreach (ClientGroup cg in clientGroups.List) { 74 clients.Add(cg.Id, cg.Name); 75 AddClientOrGroup(cg); 76 } 77 } 78 79 private void AddClientOrGroup(ClientGroup clientGroup) { 80 foreach (Resource resource in clientGroup.Resources) { 81 if (resource is ClientGroup) { 82 clients.Add(resource.Id, resource.Name); 83 AddClientOrGroup(resource as ClientGroup); 84 } 85 } 86 61 87 } 62 88 … … 67 93 if (numJobs > 0) { 68 94 for (int i = 0; i < numJobs; i++) { 69 if (cbP arJob.SelectedIndex != 0) {70 foreach (Job pjob in jobGroups.List) {71 if (cbParJob.SelectedItem.ToString().Equals(pjob.Id.ToString())) {72 Job job = new Job { ParentJob = pjob, State = State.offline, CoresNeeded = 1 };73 job.SerializedJob = PersistenceManager.SaveToGZip(new TestJob());74 Response resp = jobManager.AddNewJob(job);75 }76 }77 } else {78 Job job = new Job { State = State.offline, CoresNeeded = 1 };79 job.SerializedJob = PersistenceManager.SaveToGZip(new TestJob());80 Response resp = jobManager.AddNewJob(job);95 if (cbProject.SelectedIndex != 0) { 96 // foreach (Job pjob in jobGroups.List) { 97 // if (cbParJob.SelectedItem.ToString().Equals(pjob.Id.ToString())) { 98 // Job job = new Job { ParentJob = pjob, State = State.offline, CoresNeeded = 1 }; 99 // job.SerializedJob = PersistenceManager.SaveToGZip(new TestJob()); 100 // Response resp = jobManager.AddNewJob(job); 101 // } 102 // } 103 //} else { 104 // Job job = new Job { State = State.offline, CoresNeeded = 1 }; 105 // job.SerializedJob = PersistenceManager.SaveToGZip(new TestJob()); 106 // Response resp = jobManager.AddNewJob(job); 81 107 } 82 108 } … … 99 125 } 100 126 127 private void cbAllGroups_CheckedChanged(object sender, EventArgs e) { 128 foreach (Control control in gbGroups.Controls) { 129 control.Enabled = !cbAllGroups.Checked; 130 } 131 } 132 101 133 102 134 } -
trunk/sources/HeuristicLab.Hive.Server.Console/3.2/HiveServerManagementConsole.Designer.cs
r1832 r1937 32 32 this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 33 33 this.jobToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 34 this.groupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 34 35 this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 35 36 this.largeIconsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); … … 57 58 this.chProgress = new System.Windows.Forms.ColumnHeader(); 58 59 this.chSnapshotTime = new System.Windows.Forms.ColumnHeader(); 59 this.lblPriorityJob = new System.Windows.Forms.Label();60 this.lblParentJob = new System.Windows.Forms.Label();61 this.lblClientCalculating = new System.Windows.Forms.Label();62 this.lblJobCalculationEnd = new System.Windows.Forms.Label();63 this.lblJobCalculationBegin = new System.Windows.Forms.Label();64 this.lblJobCreated = new System.Windows.Forms.Label();65 this.lblUserCreatedJob = new System.Windows.Forms.Label();66 60 this.lblProgress = new System.Windows.Forms.Label(); 67 61 this.lblStatus = new System.Windows.Forms.Label(); … … 141 135 // 142 136 this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem"; 143 this.refreshToolStripMenuItem.Size = new System.Drawing.Size(123, 22); 137 this.refreshToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); 138 this.refreshToolStripMenuItem.Size = new System.Drawing.Size(162, 22); 144 139 this.refreshToolStripMenuItem.Text = "Refresh"; 145 140 this.refreshToolStripMenuItem.Click += new System.EventHandler(this.Refresh_Click); … … 148 143 // 149 144 this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; 150 this.closeToolStripMenuItem.Size = new System.Drawing.Size(1 23, 22);145 this.closeToolStripMenuItem.Size = new System.Drawing.Size(162, 22); 151 146 this.closeToolStripMenuItem.Text = "Close"; 152 147 this.closeToolStripMenuItem.Click += new System.EventHandler(this.Close_Click); … … 155 150 // 156 151 this.addToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 157 this.jobToolStripMenuItem}); 152 this.jobToolStripMenuItem, 153 this.groupToolStripMenuItem}); 158 154 this.addToolStripMenuItem.Name = "addToolStripMenuItem"; 159 155 this.addToolStripMenuItem.Size = new System.Drawing.Size(38, 20); … … 163 159 // 164 160 this.jobToolStripMenuItem.Name = "jobToolStripMenuItem"; 165 this.jobToolStripMenuItem.Size = new System.Drawing.Size(102, 22); 161 this.jobToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.J))); 162 this.jobToolStripMenuItem.Size = new System.Drawing.Size(153, 22); 166 163 this.jobToolStripMenuItem.Text = "Job"; 167 164 this.jobToolStripMenuItem.Click += new System.EventHandler(this.AddJob_Click); 165 // 166 // groupToolStripMenuItem 167 // 168 this.groupToolStripMenuItem.Name = "groupToolStripMenuItem"; 169 this.groupToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G))); 170 this.groupToolStripMenuItem.Size = new System.Drawing.Size(153, 22); 171 this.groupToolStripMenuItem.Text = "Group"; 172 this.groupToolStripMenuItem.Click += new System.EventHandler(this.groupToolStripMenuItem_Click); 168 173 // 169 174 // viewToolStripMenuItem … … 182 187 this.largeIconsToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; 183 188 this.largeIconsToolStripMenuItem.Name = "largeIconsToolStripMenuItem"; 184 this.largeIconsToolStripMenuItem.Size = new System.Drawing.Size(141, 22); 189 this.largeIconsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D1))); 190 this.largeIconsToolStripMenuItem.Size = new System.Drawing.Size(179, 22); 185 191 this.largeIconsToolStripMenuItem.Text = "Large Icons"; 186 192 this.largeIconsToolStripMenuItem.Click += new System.EventHandler(this.largeIconsToolStripMenuItem_Click); … … 189 195 // 190 196 this.smallIconsToolStripMenuItem.Name = "smallIconsToolStripMenuItem"; 191 this.smallIconsToolStripMenuItem.Size = new System.Drawing.Size(141, 22); 197 this.smallIconsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D2))); 198 this.smallIconsToolStripMenuItem.Size = new System.Drawing.Size(179, 22); 192 199 this.smallIconsToolStripMenuItem.Text = "Small Icons"; 193 200 this.smallIconsToolStripMenuItem.Click += new System.EventHandler(this.smallIconsToolStripMenuItem_Click); … … 196 203 // 197 204 this.listToolStripMenuItem.Name = "listToolStripMenuItem"; 198 this.listToolStripMenuItem.Size = new System.Drawing.Size(141, 22); 205 this.listToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D3))); 206 this.listToolStripMenuItem.Size = new System.Drawing.Size(179, 22); 199 207 this.listToolStripMenuItem.Text = "List"; 200 208 this.listToolStripMenuItem.Click += new System.EventHandler(this.listToolStripMenuItem_Click); … … 332 340 this.plJobDetails.Controls.Add(this.lvJobDetails); 333 341 this.plJobDetails.Controls.Add(this.lvSnapshots); 334 this.plJobDetails.Controls.Add(this.lblPriorityJob);335 this.plJobDetails.Controls.Add(this.lblParentJob);336 this.plJobDetails.Controls.Add(this.lblClientCalculating);337 this.plJobDetails.Controls.Add(this.lblJobCalculationEnd);338 this.plJobDetails.Controls.Add(this.lblJobCalculationBegin);339 this.plJobDetails.Controls.Add(this.lblJobCreated);340 this.plJobDetails.Controls.Add(this.lblUserCreatedJob);341 342 this.plJobDetails.Controls.Add(this.lblProgress); 342 343 this.plJobDetails.Controls.Add(this.lblStatus); … … 358 359 this.lvJobDetails.FullRowSelect = true; 359 360 this.lvJobDetails.GridLines = true; 360 this.lvJobDetails.Location = new System.Drawing.Point(17, 12 9);361 this.lvJobDetails.Location = new System.Drawing.Point(17, 124); 361 362 this.lvJobDetails.Name = "lvJobDetails"; 362 363 this.lvJobDetails.Size = new System.Drawing.Size(382, 175); … … 405 406 this.chSnapshotTime.Text = "Snapshot request"; 406 407 this.chSnapshotTime.Width = 166; 407 //408 // lblPriorityJob409 //410 this.lblPriorityJob.AutoSize = true;411 this.lblPriorityJob.Location = new System.Drawing.Point(17, 193);412 this.lblPriorityJob.Name = "lblPriorityJob";413 this.lblPriorityJob.Size = new System.Drawing.Size(65, 13);414 this.lblPriorityJob.TabIndex = 15;415 this.lblPriorityJob.Text = "lblPriorityJob";416 //417 // lblParentJob418 //419 this.lblParentJob.AutoSize = true;420 this.lblParentJob.Location = new System.Drawing.Point(17, 173);421 this.lblParentJob.Name = "lblParentJob";422 this.lblParentJob.Size = new System.Drawing.Size(65, 13);423 this.lblParentJob.TabIndex = 14;424 this.lblParentJob.Text = "lblParentJob";425 //426 // lblClientCalculating427 //428 this.lblClientCalculating.AutoSize = true;429 this.lblClientCalculating.Location = new System.Drawing.Point(17, 253);430 this.lblClientCalculating.Name = "lblClientCalculating";431 this.lblClientCalculating.Size = new System.Drawing.Size(95, 13);432 this.lblClientCalculating.TabIndex = 13;433 this.lblClientCalculating.Text = "lblClientCalculating";434 //435 // lblJobCalculationEnd436 //437 this.lblJobCalculationEnd.AutoSize = true;438 this.lblJobCalculationEnd.Location = new System.Drawing.Point(17, 233);439 this.lblJobCalculationEnd.Name = "lblJobCalculationEnd";440 this.lblJobCalculationEnd.Size = new System.Drawing.Size(105, 13);441 this.lblJobCalculationEnd.TabIndex = 12;442 this.lblJobCalculationEnd.Text = "lblJobCalculationEnd";443 //444 // lblJobCalculationBegin445 //446 this.lblJobCalculationBegin.AutoSize = true;447 this.lblJobCalculationBegin.Location = new System.Drawing.Point(17, 213);448 this.lblJobCalculationBegin.Name = "lblJobCalculationBegin";449 this.lblJobCalculationBegin.Size = new System.Drawing.Size(113, 13);450 this.lblJobCalculationBegin.TabIndex = 11;451 this.lblJobCalculationBegin.Text = "lblJobCalculationBegin";452 //453 // lblJobCreated454 //455 this.lblJobCreated.AutoSize = true;456 this.lblJobCreated.Location = new System.Drawing.Point(17, 152);457 this.lblJobCreated.Name = "lblJobCreated";458 this.lblJobCreated.Size = new System.Drawing.Size(71, 13);459 this.lblJobCreated.TabIndex = 10;460 this.lblJobCreated.Text = "lblJobCreated";461 //462 // lblUserCreatedJob463 //464 this.lblUserCreatedJob.AutoSize = true;465 this.lblUserCreatedJob.Location = new System.Drawing.Point(17, 132);466 this.lblUserCreatedJob.Name = "lblUserCreatedJob";467 this.lblUserCreatedJob.Size = new System.Drawing.Size(93, 13);468 this.lblUserCreatedJob.TabIndex = 9;469 this.lblUserCreatedJob.Text = "lblUserCreatedJob";470 408 // 471 409 // lblProgress … … 730 668 this.lvClientControl.Name = "lvClientControl"; 731 669 this.lvClientControl.Size = new System.Drawing.Size(299, 386); 732 this.lvClientControl.SmallImageList = this.il LargeImgClient;670 this.lvClientControl.SmallImageList = this.ilSmallImgClient; 733 671 this.lvClientControl.TabIndex = 0; 734 672 this.lvClientControl.UseCompatibleStateImageBehavior = false; … … 826 764 private System.Windows.Forms.Label lblStatus; 827 765 private System.Windows.Forms.Label lblProgress; 828 private System.Windows.Forms.Label lblJobCalculationBegin;829 private System.Windows.Forms.Label lblJobCreated;830 private System.Windows.Forms.Label lblUserCreatedJob;831 private System.Windows.Forms.Label lblClientCalculating;832 private System.Windows.Forms.Label lblJobCalculationEnd;833 private System.Windows.Forms.Label lblPriorityJob;834 private System.Windows.Forms.Label lblParentJob;835 766 private System.Windows.Forms.ListView lvSnapshots; 836 767 private System.Windows.Forms.ColumnHeader chClientCalculated; … … 867 798 private System.Windows.Forms.ToolStripMenuItem menuItemAddGroup; 868 799 private System.Windows.Forms.ToolStripMenuItem menuItemDeleteGroup; 800 private System.Windows.Forms.ToolStripMenuItem groupToolStripMenuItem; 869 801 } 870 802 } -
trunk/sources/HeuristicLab.Hive.Server.Console/3.2/HiveServerManagementConsole.cs
r1832 r1937 47 47 48 48 #region private variables 49 private ResponseList<ClientGroup> clientGroups = null;50 private ResponseList<ClientInfo> clients = null;51 49 private ResponseList<Job> jobs = null; 52 50 53 //TODO delete 54 private Dictionary<Guid, ListViewGroup> clientObjects; 55 private Dictionary<Guid, ListViewItem> clientInfoObjects; 56 private Dictionary<Guid, ListViewItem> jobObjects; 51 List<ListViewGroup> jobGroup; 52 private Dictionary<Guid, List<ListViewItem>> clientList = new Dictionary<Guid, List<ListViewItem>>(); 53 private List<Changes> changes = new List<Changes>(); 57 54 58 55 private Job currentJob = null; 59 56 private ClientInfo currentClient = null; 60 57 61 TreeNode currentNode = null; 62 63 //TODO delete 64 private string nameCurrentJob = ""; 65 private string nameCurrentClient = ""; 66 private bool flagJob = false; 67 68 private List<Changes> changes = new List<Changes>(); 69 58 private TreeNode currentNode = null; 59 Guid parentgroup = Guid.Empty; 70 60 private ToolTip tt = new ToolTip(); 71 61 72 62 private const string NOGROUP = "No group"; 73 //private List<ListViewItem> clientList = new List<ListViewItem>(); 74 private Dictionary<Guid, List<ListViewItem>> clientList = new Dictionary<Guid, List<ListViewItem>>(); 75 63 64 #endregion 65 66 #region Properties 76 67 private IClientManager ClientManager { 77 68 get { 78 69 return ServiceLocator.GetClientManager(); 79 70 } 80 81 71 } 82 72 #endregion … … 90 80 } 91 81 82 private void Init() { 83 84 //adding context menu items for jobs 85 menuItemAbortJob.Click += (s, e) => { 86 IJobManager jobManager = ServiceLocator.GetJobManager(); 87 if (lvJobControl.SelectedItems.Count == 1) { 88 jobManager.AbortJob(((Job)(lvJobControl.SelectedItems[0].Tag)).Id); 89 } 90 }; 91 92 //adding context menu items for jobs 93 menuItemGetSnapshot.Click += (s, e) => { 94 IJobManager jobManager = ServiceLocator.GetJobManager(); 95 if (lvJobControl.SelectedItems.Count == 1) { 96 jobManager.RequestSnapshot(((Job)(lvJobControl.SelectedItems[0].Tag)).Id); 97 } 98 }; 99 100 //adding group 101 menuItemAddGroup.Click += (s, e) => { 102 AddGroup addgroup = new AddGroup(); 103 parentgroup = Guid.Empty; 104 if ((tvClientControl.SelectedNode != null) && (((ClientGroup)tvClientControl.SelectedNode.Tag).Id != Guid.Empty)) { 105 parentgroup = ((ClientGroup)tvClientControl.SelectedNode.Tag).Id; 106 } 107 addgroup.addGroupEvent += new AddGroupDelegate(addgroup_addGroupEvent); 108 addgroup.Show(); 109 }; 110 111 //adding group 112 menuItemDeleteGroup.Click += (s, e) => { 113 IClientManager clientManager = ServiceLocator.GetClientManager(); 114 if (tvClientControl.SelectedNode != null) { 115 // Delete Group 116 } 117 }; 118 } 92 119 93 120 #region Backgroundworker … … 104 131 105 132 private void updaterWoker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 106 Refresh(); 107 } 108 133 RefreshForm(); 134 } 135 136 private void updaterWoker_DoWork(object sender, DoWorkEventArgs e) { 137 138 changes.Clear(); 139 140 //#region ClientInfo 141 //ResponseList<ClientInfo> clientInfoOld = clientInfo; 142 //clientInfo = ClientManager.GetAllClients(); 143 144 //IDictionary<int, ClientInfo> clientInfoOldHelp; 145 146 //CloneList(clientInfoOld, out clientInfoOldHelp); 147 148 //GetDelta(clientInfoOld.List, clientInfoOldHelp); 149 //#endregion 150 151 #region Clients 152 //ResponseList<ClientGroup> clientsOld = clients; 153 154 // newClients = ClientManager.GetAllClientGroups(); 155 156 //IDictionary<Guid, ClientGroup> clientsOldHelp; 157 158 //CloneList(clientsOld, out clientsOldHelp); 159 160 //GetDelta(clientsOld.List, clientsOldHelp); 161 //DetermineDelta(); 162 #endregion 163 164 #region Job 165 ResponseList<Job> jobsOld = jobs; 166 IJobManager jobManager = 167 ServiceLocator.GetJobManager(); 168 169 jobs = jobManager.GetAllJobs(); 170 171 IDictionary<int, Job> jobsOldHelp; 172 CloneList(jobsOld, out jobsOldHelp); 173 174 GetDelta(jobsOld.List, jobsOldHelp); 175 176 #endregion 177 178 foreach (Changes change in changes) { 179 System.Diagnostics.Debug.WriteLine(change.ID + " " + change.ChangeType); 180 } 181 182 } 183 109 184 #endregion 110 185 111 private Guid ConvertStringToGuid(string stringGuid) { 112 return new Guid(stringGuid); 113 } 114 115 116 private void Init() { 117 118 //adding context menu items for jobs 119 menuItemAbortJob.Click += (s, e) => { 120 IJobManager jobManager = ServiceLocator.GetJobManager(); 121 if (lvJobControl.SelectedItems.Count == 1) { 122 jobManager.AbortJob(((Job)(lvJobControl.SelectedItems[0].Tag)).Id); 123 } 124 }; 125 126 //adding context menu items for jobs 127 menuItemGetSnapshot.Click += (s, e) => { 128 IJobManager jobManager = ServiceLocator.GetJobManager(); 129 if (lvJobControl.SelectedItems.Count == 1) { 130 jobManager.RequestSnapshot(((Job)(lvJobControl.SelectedItems[0].Tag)).Id); 131 } 132 }; 133 134 //adding group 135 menuItemAddGroup.Click += (s, e) => { 136 AddGroup addgroup = new AddGroup(); 137 parentgroup = Guid.Empty; 138 if ((tvClientControl.SelectedNode != null) && (((ClientGroup)tvClientControl.SelectedNode.Tag).Id != Guid.Empty)) { 139 parentgroup = ((ClientGroup)tvClientControl.SelectedNode.Tag).Id; 140 } 141 addgroup.addGroupEvent += new AddGroupDelegate(addgroup_addGroupEvent); 142 addgroup.Show(); 143 }; 144 145 //adding group 146 menuItemDeleteGroup.Click += (s, e) => { 147 IClientManager clientManager = ServiceLocator.GetClientManager(); 148 if (tvClientControl.SelectedNode != null) { 149 // Delete Group 150 } 151 }; 152 } 153 154 Guid parentgroup = Guid.Empty; 155 156 void addgroup_addGroupEvent(string name) { 157 IClientManager clientManager = ServiceLocator.GetClientManager(); 158 159 if (parentgroup != Guid.Empty) { 160 ClientGroup cg = new ClientGroup() { Name = name }; 161 ResponseObject<ClientGroup> respcg = clientManager.AddClientGroup(cg); 162 Response res = clientManager.AddResourceToGroup(parentgroup, respcg.Obj); 163 if (res != null && !res.Success) { 164 MessageBox.Show(res.StatusMessage, "Error adding Group", MessageBoxButtons.OK, MessageBoxIcon.Error); 165 } 166 } else { 167 ClientGroup cg = new ClientGroup() { Name = name }; 168 clientManager.AddClientGroup(cg); 169 } 170 171 } 172 173 private void lvJobControl_MouseUp(object sender, MouseEventArgs e) { 174 // If the right mouse button was clicked and released, 175 // display the shortcut menu assigned to the ListView. 176 lvJobControl.ContextMenuStrip.Items.Clear(); 177 ListViewHitTestInfo hitTestInfo = lvJobControl.HitTest(e.Location); 178 if (e.Button == MouseButtons.Right && hitTestInfo.Item != null && lvJobControl.SelectedItems.Count == 1) { 179 Job selectedJob = (Job)lvJobControl.SelectedItems[0].Tag; 180 181 if (selectedJob != null && selectedJob.State == State.calculating) { 182 lvJobControl.ContextMenuStrip.Items.Add(menuItemAbortJob); 183 lvJobControl.ContextMenuStrip.Items.Add(menuItemGetSnapshot); 184 } 185 } 186 lvJobControl.ContextMenuStrip.Show(new Point(e.X, e.Y)); 186 187 /// <summary> 188 /// Adds jobs to ListView and TreeView 189 /// </summary> 190 private void AddJobs() { 191 try { 192 List<ListViewItem> jobObjects = new List<ListViewItem>(); 193 IJobManager jobManager = 194 ServiceLocator.GetJobManager(); 195 jobs = jobManager.GetAllJobs(); 196 197 lvJobControl.Items.Clear(); 198 199 ListViewGroup lvJobCalculating = new ListViewGroup("calculating", HorizontalAlignment.Left); 200 ListViewGroup lvJobFinished = new ListViewGroup("finished", HorizontalAlignment.Left); 201 ListViewGroup lvJobPending = new ListViewGroup("pending", HorizontalAlignment.Left); 202 203 jobGroup = new List<ListViewGroup>(); 204 jobGroup.Add(lvJobCalculating); 205 jobGroup.Add(lvJobFinished); 206 jobGroup.Add(lvJobPending); 207 208 foreach (Job job in jobs.List) { 209 if (job.State == State.calculating) { 210 ListViewItem lvi = new ListViewItem(job.Id.ToString(), 1, lvJobCalculating); 211 lvi.Tag = job; 212 jobObjects.Add(lvi); 213 214 lvi.ToolTipText = (job.Percentage * 100) + "% of job calculated"; 215 } else if (job.State == State.finished) { 216 ListViewItem lvi = new ListViewItem(job.Id.ToString(), 0, lvJobFinished); 217 lvi.Tag = job; 218 jobObjects.Add(lvi); 219 //lvJobControl.Items.Add(lvi); 220 } else if (job.State == State.offline) { 221 ListViewItem lvi = new ListViewItem(job.Id.ToString(), 2, lvJobPending); 222 lvi.Tag = job; 223 jobObjects.Add(lvi); 224 } 225 } // Jobs 226 lvJobControl.BeginUpdate(); 227 foreach (ListViewItem lvi in jobObjects) { 228 lvJobControl.Items.Add(lvi); 229 } 230 // actualization 231 lvJobControl.Groups.Add(lvJobCalculating); 232 lvJobControl.Groups.Add(lvJobFinished); 233 lvJobControl.Groups.Add(lvJobPending); 234 lvJobControl.EndUpdate(); 235 236 if (currentJob != null) { 237 JobClicked(); 238 } 239 } 240 catch (Exception ex) { 241 closeFormEvent(true, true); 242 this.Close(); 243 } 187 244 } 188 245 … … 191 248 tvClientControl.Nodes.Clear(); 192 249 193 clientGroups = ClientManager.GetAllClientGroups();250 ResponseList<ClientGroup> clientGroups = ClientManager.GetAllClientGroups(); 194 251 195 252 foreach (ClientGroup cg in clientGroups.List) { … … 204 261 tvClientControl.ExpandAll(); 205 262 } 206 207 263 208 264 private void AddClientOrGroup(ClientGroup clientGroup, TreeNode currentNode) { … … 256 312 } 257 313 258 259 List<ListViewGroup> jobGroup; 314 private void AddGroupsToListView(TreeNode node) { 315 if (node != null) { 316 ListViewGroup lvg = new ListViewGroup(node.Text, HorizontalAlignment.Left); 317 lvClientControl.Groups.Add(lvg); 318 foreach (ListViewItem item in clientList[((ClientGroup)node.Tag).Id]) { 319 item.Group = lvg; 320 lvClientControl.Items.Add(item); 321 } 322 323 if (node.Nodes != null) { 324 foreach (TreeNode curNode in node.Nodes) { 325 AddGroupsToListView(curNode); 326 } 327 } 328 } 329 } 330 260 331 /// <summary> 261 /// Adds jobs to ListView and TreeView 332 /// if one job is clicked, the details for the clicked job are shown 333 /// in the second panel 262 334 /// </summary> 263 private void AddJobs() { 264 try { 265 jobObjects = new Dictionary<Guid, ListViewItem>(); 266 IJobManager jobManager = 267 ServiceLocator.GetJobManager(); 268 jobs = jobManager.GetAllJobs(); 269 270 lvJobControl.Items.Clear(); 271 272 ListViewGroup lvJobCalculating = new ListViewGroup("calculating", HorizontalAlignment.Left); 273 ListViewGroup lvJobFinished = new ListViewGroup("finished", HorizontalAlignment.Left); 274 ListViewGroup lvJobPending = new ListViewGroup("pending", HorizontalAlignment.Left); 275 276 jobGroup = new List<ListViewGroup>(); 277 jobGroup.Add(lvJobCalculating); 278 jobGroup.Add(lvJobFinished); 279 jobGroup.Add(lvJobPending); 280 281 foreach (Job job in jobs.List) { 282 if (job.State == State.calculating) { 283 ListViewItem lvi = new ListViewItem(job.Id.ToString(), 1, lvJobCalculating); 284 lvi.Tag = job; 285 jobObjects.Add(job.Id, lvi); 286 287 //lvJobControl.Items.Add(lvi); 288 289 lvi.ToolTipText = (job.Percentage * 100) + "% of job calculated"; 290 } else if (job.State == State.finished) { 291 ListViewItem lvi = new ListViewItem(job.Id.ToString(), 0, lvJobFinished); 292 lvi.Tag = job; 293 jobObjects.Add(job.Id, lvi); 294 //lvJobControl.Items.Add(lvi); 295 } else if (job.State == State.offline) { 296 ListViewItem lvi = new ListViewItem(job.Id.ToString(), 2, lvJobPending); 297 lvi.Tag = job; 298 jobObjects.Add(job.Id, lvi); 299 //lvJobControl.Items.Add(lvi); 300 } 301 } // Jobs 302 lvJobControl.BeginUpdate(); 303 foreach (ListViewItem lvi in jobObjects.Values) { 304 lvJobControl.Items.Add(lvi); 305 } 306 lvJobControl.Groups.Add(lvJobCalculating); 307 lvJobControl.Groups.Add(lvJobFinished); 308 lvJobControl.Groups.Add(lvJobPending); 309 lvJobControl.EndUpdate(); 310 if (flagJob) { 311 JobClicked(); 312 } 313 } 314 catch (Exception ex) { 315 closeFormEvent(true, true); 316 this.Close(); 335 private void JobClicked() { 336 plJobDetails.Visible = true; 337 lvJobDetails.Items.Clear(); 338 339 lvSnapshots.Enabled = true; 340 341 if (currentJob.State == State.offline) { 342 pbJobControl.Image = ilLargeImgJob.Images[2]; 343 } else if (currentJob.State == State.calculating) { 344 pbJobControl.Image = ilLargeImgJob.Images[1]; 345 } else if (currentJob.State == State.finished) { 346 pbJobControl.Image = ilLargeImgJob.Images[0]; 347 } 348 349 lblJobName.Text = currentJob.Id.ToString(); 350 progressJob.Value = (int)(currentJob.Percentage * 100); 351 lblProgress.Text = (int)(currentJob.Percentage * 100) + "% calculated"; 352 353 ListViewItem lvi = new ListViewItem(); 354 lvi.Text = "User:"; 355 lvi.SubItems.Add(currentJob.UserId.ToString()); 356 lvJobDetails.Items.Add(lvi); 357 358 lvi = null; 359 lvi = new ListViewItem(); 360 lvi.Text = "created at:"; 361 lvi.SubItems.Add(currentJob.DateCreated.ToString()); 362 lvJobDetails.Items.Add(lvi); 363 364 if (currentJob.ParentJob != null) { 365 lvi = null; 366 lvi = new ListViewItem(); 367 lvi.Text = "Parent job:"; 368 lvi.SubItems.Add(currentJob.ParentJob.ToString()); 369 lvJobDetails.Items.Add(lvi); 370 } 371 372 lvi = null; 373 lvi = new ListViewItem(); 374 lvi.Text = "Priority:"; 375 lvi.SubItems.Add(currentJob.Priority.ToString()); 376 lvJobDetails.Items.Add(lvi); 377 378 if (currentJob.Client != null) { 379 lvi = null; 380 lvi = new ListViewItem(); 381 lvi.Text = "Calculation begin:"; 382 lvi.SubItems.Add(currentJob.DateCalculated.ToString()); 383 lvJobDetails.Items.Add(lvi); 384 385 386 lvi = null; 387 lvi = new ListViewItem(); 388 lvi.Text = "Client calculated:"; 389 lvi.SubItems.Add(currentJob.Client.Name.ToString()); 390 lvJobDetails.Items.Add(lvi); 391 392 if (currentJob.State == State.finished) { 393 IJobManager jobManager = 394 ServiceLocator.GetJobManager(); 395 ResponseObject<JobResult> jobRes = jobManager.GetLastJobResultOf(currentJob.Id, false); 396 397 lvi = null; 398 lvi = new ListViewItem(); 399 lvi.Text = "Calculation ended:"; 400 lvi.SubItems.Add(jobRes.Obj.DateFinished.ToString()); 401 lvJobDetails.Items.Add(lvi); 402 } 403 } 404 if (currentJob.State != State.offline) { 405 lvSnapshots.Items.Clear(); 406 GetSnapshotList(); 407 } else { 408 lvSnapshots.Visible = false; 317 409 } 318 410 } … … 324 416 private void ClientClicked() { 325 417 plClientDetails.Visible = true; 326 //int i = 0; 327 //while (clientInfo.List[i].Id.ToString() != nameCurrentClient) { 328 // i++; 329 //} 330 if (lvClientControl.SelectedItems != null && lvClientControl.SelectedItems.Count > 0) { 331 currentClient = (ClientInfo)lvClientControl.SelectedItems[0].Tag; 332 } 418 333 419 if (currentClient != null) { 334 420 int percentageUsage = CapacityRam(currentClient.NrOfCores, currentClient.NrOfFreeCores); … … 349 435 } 350 436 } 351 352 /// <summary> 353 /// if one job is clicked, the details for the clicked job are shown 354 /// in the second panel 355 /// </summary> 356 private void JobClicked() { 357 plJobDetails.Visible = true; 358 lvJobDetails.Items.Clear(); 359 int i = 0; 360 while (jobs.List[i].Id.ToString() != nameCurrentJob) { 361 i++; 362 } 363 lvSnapshots.Enabled = true; 364 currentJob = jobs.List[i]; 365 if (currentJob.State == State.offline) { 366 pbJobControl.Image = ilLargeImgJob.Images[2]; 367 } else if (currentJob.State == State.calculating) { 368 pbJobControl.Image = ilLargeImgJob.Images[1]; 369 } else if (currentJob.State == State.finished) { 370 pbJobControl.Image = ilLargeImgJob.Images[0]; 371 } 372 373 374 375 lblJobName.Text = currentJob.Id.ToString(); 376 progressJob.Value = (int)(currentJob.Percentage * 100); 377 lblProgress.Text = (int)(currentJob.Percentage * 100) + "% calculated"; 378 lblUserCreatedJob.Text = currentJob.UserId.ToString() + /* currentJob.User.Name + */ " created Job"; 379 //lblJobCreated.Text = "Created at " + currentJob.DateCreated; 380 ListViewItem lvi = new ListViewItem(); 381 lvi.Text = "User:"; 382 lvi.SubItems.Add(currentJob.UserId.ToString()); 383 lvJobDetails.Items.Add(lvi); 384 385 lvi = null; 386 lvi = new ListViewItem(); 387 lvi.Text = "created at:"; 388 lvi.SubItems.Add(currentJob.DateCreated.ToString()); 389 lvJobDetails.Items.Add(lvi); 390 391 if (currentJob.ParentJob != null) { 392 lvi = null; 393 lvi = new ListViewItem(); 394 lvi.Text = "Parent job:"; 395 lvi.SubItems.Add(currentJob.ParentJob.ToString()); 396 lvJobDetails.Items.Add(lvi); 397 // lblParentJob.Text = currentJob.ParentJob.Id + " is parent job"; 398 }// else { 399 // lblParentJob.Text = ""; 400 //} 401 402 lvi = null; 403 lvi = new ListViewItem(); 404 lvi.Text = "Priority:"; 405 lvi.SubItems.Add(currentJob.Priority.ToString()); 406 lvJobDetails.Items.Add(lvi); 407 408 // lblPriorityJob.Text = "Priority of job is " + currentJob.Priority; 409 if (currentJob.Client != null) { 410 lvi = null; 411 lvi = new ListViewItem(); 412 lvi.Text = "Calculation begin:"; 413 lvi.SubItems.Add(currentJob.DateCalculated.ToString()); 414 lvJobDetails.Items.Add(lvi); 415 416 417 lvi = null; 418 lvi = new ListViewItem(); 419 lvi.Text = "Client calculated:"; 420 lvi.SubItems.Add(currentJob.Client.Name.ToString()); 421 lvJobDetails.Items.Add(lvi); 422 423 //lblClientCalculating.Text = currentJob.Client.Name + " calculated Job"; 424 //lblJobCalculationBegin.Text = "Startet calculation at " + currentJob.DateCalculated; 425 426 if (currentJob.State == State.finished) { 427 IJobManager jobManager = 428 ServiceLocator.GetJobManager(); 429 ResponseObject<JobResult> jobRes = jobManager.GetLastJobResultOf(currentJob.Id, false); 430 431 lvi = null; 432 lvi = new ListViewItem(); 433 lvi.Text = "Calculation ended:"; 434 lvi.SubItems.Add(jobRes.Obj.DateFinished.ToString()); 435 lvJobDetails.Items.Add(lvi); 436 // lblJobCalculationEnd.Text = "Calculation ended at " + jobRes.Obj.DateFinished; 437 } 438 } else { 439 // lblClientCalculating.Text = ""; 440 // lblJobCalculationBegin.Text = ""; 441 // lblJobCalculationEnd.Text = ""; 442 } 443 if (currentJob.State != State.offline) { 444 lvSnapshots.Items.Clear(); 445 //if (currentJob.State == State.finished) 446 GetSnapshotList(); 447 //lvSnapshots.Visible = true; 448 } else { 449 lvSnapshots.Visible = false; 450 } 451 } 452 453 private void Refresh() { 437 438 439 private void RefreshForm() { 454 440 foreach (Changes change in changes) { 455 441 if (change.Types == Type.Job) { 456 442 RefreshJob(change); 457 } else if (change.Types == Type.Client) {458 //RefreshClient(change);459 } else if (change.Types == Type.ClientGroup) {460 //RefreshClientGroup(change);461 443 } 462 444 } … … 467 449 for (int i = 0; i < lvJobControl.Items.Count; i++) { 468 450 if (lvJobControl.Items[i].Text == change.ID.ToString()) { 469 if (nameCurrentJob == change.ID.ToString()) {470 JobClicked();471 }472 451 foreach (Job job in jobs.List) { 473 452 if (job.Id == change.ID) { 474 453 lvJobControl.Items[i].Tag = job; 454 if (currentJob.Id == change.ID) { 455 currentJob = job; 456 JobClicked(); 457 } 475 458 break; 476 459 } … … 496 479 } 497 480 } else if (change.ChangeType == Change.Create) { 481 498 482 ListViewItem lvi = new ListViewItem( 499 483 change.ID.ToString(), 2, jobGroup[2]); 500 jobObjects.Add(change.ID, lvi); 484 foreach (Job job in jobs.List) { 485 if (job.Id == change.ID) { 486 lvi.Tag = job; 487 break; 488 } 489 } 501 490 lvJobControl.Items.Add(lvi); 502 491 503 492 } else if (change.ChangeType == Change.Delete) { 504 jobObjects.Remove(change.ID);505 493 for (int i = 0; i < lvJobControl.Items.Count; i++) { 506 494 if (change.ID.ToString() == lvJobControl.Items[i].Text.ToString()) { … … 512 500 } 513 501 514 private void RefreshClient(Changes change) {515 if (change.ChangeType == Change.Update) {516 for (int i = 0; i < lvClientControl.Items.Count; i++) {517 if (lvClientControl.Items[i].Tag.ToString() == change.ID.ToString()) {518 if (nameCurrentClient == change.ID.ToString()) {519 ClientClicked();520 }521 State state = clients.List[change.Position].State;522 System.Diagnostics.Debug.WriteLine(lvClientControl.Items[i].Text.ToString());523 524 ClientInfo ci = null;525 526 foreach (ClientInfo c in clients.List) {527 if (c.Id == change.ID) {528 ci = c;529 }530 }531 532 int percentageUsage = CapacityRam(ci.NrOfCores, ci.NrOfFreeCores);533 if ((state == State.offline) || (state == State.nullState)) {534 lvClientControl.Items[i].ImageIndex = 3;535 } else {536 if ((percentageUsage >= 0) && (percentageUsage <= 25)) {537 lvClientControl.Items[i].ImageIndex = 0;538 } else if ((percentageUsage > 25) && (percentageUsage <= 75)) {539 lvClientControl.Items[i].ImageIndex = 1;540 } else if ((percentageUsage > 75) && (percentageUsage <= 100)) {541 lvClientControl.Items[i].ImageIndex = 2;542 }543 544 }545 lvClientControl.Refresh();546 }547 }548 549 550 } else if (change.ChangeType == Change.Create) {551 552 } else if (change.ChangeType == Change.Delete) {553 clientInfoObjects.Remove(change.ID);554 for (int i = 0; i < lvClientControl.Items.Count; i++) {555 if (change.ID.ToString() == lvClientControl.Items[i].Text.ToString()) {556 lvClientControl.Items[i].Remove();557 break;558 }559 }560 561 }562 }563 564 private void RefreshClientGroup(Changes change) {565 566 }567 502 568 503 #region Eventhandlers … … 596 531 } 597 532 598 private void OnLVClientClicked(object sender, EventArgs e) {599 nameCurrentClient = lvClientControl.SelectedItems[0].Tag.ToString();600 ClientClicked();601 }602 603 533 private void OnLVJobControlClicked(object sender, EventArgs e) { 604 nameCurrentJob = lvJobControl.SelectedItems[0].Text; 605 flagJob = true; 534 currentJob = (Job)lvJobControl.SelectedItems[0].Tag; 606 535 JobClicked(); 607 536 } … … 614 543 } 615 544 616 private void updaterWoker_DoWork(object sender, DoWorkEventArgs e) { 617 618 changes.Clear(); 619 620 //#region ClientInfo 621 //ResponseList<ClientInfo> clientInfoOld = clientInfo; 622 //clientInfo = ClientManager.GetAllClients(); 623 624 //IDictionary<int, ClientInfo> clientInfoOldHelp; 625 626 //CloneList(clientInfoOld, out clientInfoOldHelp); 627 628 //GetDelta(clientInfoOld.List, clientInfoOldHelp); 629 //#endregion 630 631 #region Clients 632 //ResponseList<ClientGroup> clientsOld = clients; 633 634 // newClients = ClientManager.GetAllClientGroups(); 635 636 //IDictionary<Guid, ClientGroup> clientsOldHelp; 637 638 //CloneList(clientsOld, out clientsOldHelp); 639 640 //GetDelta(clientsOld.List, clientsOldHelp); 641 //DetermineDelta(); 642 #endregion 643 644 #region Job 645 ResponseList<Job> jobsOld = jobs; 646 IJobManager jobManager = 647 ServiceLocator.GetJobManager(); 648 649 jobs = jobManager.GetAllJobs(); 650 651 IDictionary<int, Job> jobsOldHelp; 652 CloneList(jobsOld, out jobsOldHelp); 653 654 GetDelta(jobsOld.List, jobsOldHelp); 655 656 #endregion 657 658 foreach (Changes change in changes) { 659 System.Diagnostics.Debug.WriteLine(change.ID + " " + change.ChangeType); 660 } 661 545 private void lvJobControl_MouseUp(object sender, MouseEventArgs e) { 546 // If the right mouse button was clicked and released, 547 // display the shortcut menu assigned to the ListView. 548 lvJobControl.ContextMenuStrip.Items.Clear(); 549 ListViewHitTestInfo hitTestInfo = lvJobControl.HitTest(e.Location); 550 if (e.Button == MouseButtons.Right && hitTestInfo.Item != null && lvJobControl.SelectedItems.Count == 1) { 551 Job selectedJob = (Job)lvJobControl.SelectedItems[0].Tag; 552 553 if (selectedJob != null && selectedJob.State == State.calculating) { 554 lvJobControl.ContextMenuStrip.Items.Add(menuItemAbortJob); 555 lvJobControl.ContextMenuStrip.Items.Add(menuItemGetSnapshot); 556 } 557 } 558 lvJobControl.ContextMenuStrip.Show(new Point(e.X, e.Y)); 559 } 560 561 private void tvClientControl_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { 562 lvClientControl.Items.Clear(); 563 lvClientControl.Groups.Clear(); 564 currentNode = e.Node; 565 AddGroupsToListView(e.Node); 566 } 567 568 private void groupToolStripMenuItem_Click(object sender, EventArgs e) { 569 AddGroup addgroup = new AddGroup(); 570 parentgroup = Guid.Empty; 571 if ((tvClientControl.SelectedNode != null) && (((ClientGroup)tvClientControl.SelectedNode.Tag).Id != Guid.Empty)) { 572 parentgroup = ((ClientGroup)tvClientControl.SelectedNode.Tag).Id; 573 } 574 addgroup.addGroupEvent += new AddGroupDelegate(addgroup_addGroupEvent); 575 addgroup.Show(); 576 } 577 578 private void OnLVClientClicked(object sender, EventArgs e) { 579 currentClient = (ClientInfo)lvClientControl.SelectedItems[0].Tag; 580 ClientClicked(); 581 } 582 583 private void tvClientControl_MouseUp(object sender, MouseEventArgs e) { 584 // If the right mouse button was clicked and released, 585 // display the shortcut menu assigned to the ListView. 586 contextMenuGroup.Items.Clear(); 587 TreeViewHitTestInfo hitTestInfo = tvClientControl.HitTest(e.Location); 588 tvClientControl.SelectedNode = hitTestInfo.Node; 589 if (e.Button != MouseButtons.Right) return; 590 if (hitTestInfo.Node != null) { 591 Resource selectedGroup = (Resource)tvClientControl.SelectedNode.Tag; 592 593 if (selectedGroup != null) { 594 contextMenuGroup.Items.Add(menuItemAddGroup); 595 contextMenuGroup.Items.Add(menuItemDeleteGroup); 596 } 597 } else { 598 contextMenuGroup.Items.Add(menuItemAddGroup); 599 } 600 tvClientControl.ContextMenuStrip.Show(tvClientControl, new Point(e.X, e.Y)); 601 } 602 603 private void addgroup_addGroupEvent(string name) { 604 IClientManager clientManager = ServiceLocator.GetClientManager(); 605 606 if (parentgroup != Guid.Empty) { 607 ClientGroup cg = new ClientGroup() { Name = name }; 608 ResponseObject<ClientGroup> respcg = clientManager.AddClientGroup(cg); 609 Response res = clientManager.AddResourceToGroup(parentgroup, respcg.Obj); 610 if (res != null && !res.Success) { 611 MessageBox.Show(res.StatusMessage, "Error adding Group", MessageBoxButtons.OK, MessageBoxIcon.Error); 612 } 613 } else { 614 ClientGroup cg = new ClientGroup() { Name = name }; 615 clientManager.AddClientGroup(cg); 616 AddClients(); 617 } 618 } 619 620 private void Refresh_Click(object sender, EventArgs e) { 621 Form overlayingForm = new Form(); 622 623 overlayingForm.Show(); 624 overlayingForm.FormBorderStyle = FormBorderStyle.None; 625 overlayingForm.BackColor = Color.Gray; 626 overlayingForm.Opacity = 0.4; 627 overlayingForm.Size = this.Size; 628 overlayingForm.Location = this.Location; 629 630 //Label lbl = new Label(); 631 //overlayingForm.Controls.Add(lbl); 632 //lbl.AutoSize = true; 633 //lbl.Text = "Loading"; 634 //lbl.Name = "lblName"; 635 //lbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 636 //lbl.ForeColor = Color.Black; 637 //lbl.BackColor = Color.Transparent; 638 //lbl.Location = new Point(overlayingForm.Width / 2, overlayingForm.Height / 2); 639 640 AddClients(); 641 642 overlayingForm.Close(); 643 } 644 645 private void largeIconsToolStripMenuItem_Click(object sender, EventArgs e) { 646 lvClientControl.View = View.LargeIcon; 647 lvJobControl.View = View.LargeIcon; 648 largeIconsToolStripMenuItem.CheckState = CheckState.Checked; 649 smallIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 650 listToolStripMenuItem.CheckState = CheckState.Unchecked; 651 } 652 653 private void smallIconsToolStripMenuItem_Click(object sender, EventArgs e) { 654 lvClientControl.View = View.SmallIcon; 655 lvJobControl.View = View.SmallIcon; 656 largeIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 657 smallIconsToolStripMenuItem.CheckState = CheckState.Checked; 658 listToolStripMenuItem.CheckState = CheckState.Unchecked; 659 } 660 661 private void listToolStripMenuItem_Click(object sender, EventArgs e) { 662 lvClientControl.View = View.List; 663 lvJobControl.View = View.List; 664 largeIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 665 smallIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 666 listToolStripMenuItem.CheckState = CheckState.Checked; 662 667 } 663 668 #endregion … … 669 674 for (int i = 0; i < oldList.List.Count; i++) { 670 675 newList.Add(i, oldList.List[i]); 671 }672 }673 674 //private void CloneList(ResponseList<ClientInfo> oldList, out IDictionary<int, ClientInfo> newList) {675 // newList = new Dictionary<int, ClientInfo>();676 // for (int i = 0; i < oldList.List.Count; i++) {677 // newList.Add(i, oldList.List[i]);678 // }679 //}680 681 private void CloneList(ResponseList<ClientGroup> oldList, out IDictionary<Guid, ClientGroup> newList) {682 newList = new Dictionary<Guid, ClientGroup>();683 foreach (ClientGroup clientGroup in oldList.List) {684 newList.Add(clientGroup.Id, clientGroup);685 676 } 686 677 } … … 703 694 return 100; 704 695 } 705 706 //private void GetDelta(IList<ClientInfo> oldClient, IDictionary<int, ClientInfo> helpClients) {707 // bool found = false;708 709 // for (int i = 0; i < clientInfo.List.Count; i++) {710 // ClientInfo ci = clientInfo.List[i];711 // for (int j = 0; j < oldClient.Count; j++) {712 // ClientInfo cio = oldClient[j];713 // if (ci.Id.Equals(cio.Id)) {714 // found = true;715 // if ((ci.State != cio.State) || (ci.NrOfFreeCores != cio.NrOfFreeCores)) {716 // changes.Add(new Changes { Types = Type.Client, ID = ci.Id, ChangeType = Change.Update, Position = i });717 // }718 // int removeAt = -1;719 // foreach (KeyValuePair<int, ClientInfo> kvp in helpClients) {720 // if (cio.Id.Equals(kvp.Value.Id)) {721 // removeAt = kvp.Key;722 // break;723 // }724 // }725 // if (removeAt >= 0) {726 // helpClients.Remove(removeAt);727 // }728 // break;729 // }730 // }731 // if (found == false) {732 // changes.Add(new Changes { Types = Type.Client, ID = ci.Id, ChangeType = Change.Create });733 // }734 // found = false;735 // }736 // foreach (KeyValuePair<int, ClientInfo> kvp in helpClients) {737 // changes.Add(new Changes { Types = Type.Client, ID = kvp.Value.Id, ChangeType = Change.Delete, Position = kvp.Key });738 // }739 740 //}741 742 private void DetermineDelta() {743 744 }745 746 //private void GetDelta(IList<ClientGroup> oldClient, IDictionary<Guid, ClientGroup> helpClients) {747 748 // bool found = false;749 // for (int i = 0; i < clients.List.Count; i++) {750 // ClientGroup cg = clientGroups.List[i];751 // for (int j = 0; j < oldClient.Count; i++) {752 // ClientGroup cgo = oldClient[j];753 // if (cg.Id.Equals(cgo.Id)) {754 // found = true;755 // foreach (Resource resource in cg.Resources) {756 // foreach (Resource resourceold in cgo.Resources) {757 // if (resource.Id.Equals(resourceold.Id)) {758 // if (resourceold.Name != resource.Name) {759 // changes.Add(new Changes { Types = Type.Client, ID = cg.Id, ChangeType = Change.Update, Position = i });760 // }761 // }762 // }763 // }764 // for (int k = 0; k < helpClients.Count; k++) {765 // if (cgo.Id.Equals(helpClients[k].Id)) {766 // helpClients.Remove(k);767 // break;768 // }769 // }770 // break;771 // }772 // }773 // if (found == false) {774 // changes.Add(new Changes { Types = Type.ClientGroup, ID = cg.Id, ChangeType = Change.Create });775 // }776 // found = false;777 // }778 // foreach (KeyValuePair<int, ClientGroup> kvp in helpClients) {779 // changes.Add(new Changes { Types = Type.ClientGroup, ID = kvp.Value.Id, ChangeType = Change.Delete, Position = kvp.Key });780 // }781 //}782 696 783 697 private void GetDelta(IList<Job> oldJobs, IDictionary<int, Job> helpJobs) { … … 861 775 #endregion 862 776 863 private void largeIconsToolStripMenuItem_Click(object sender, EventArgs e) { 864 lvClientControl.View = View.LargeIcon; 865 lvJobControl.View = View.LargeIcon; 866 largeIconsToolStripMenuItem.CheckState = CheckState.Checked; 867 smallIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 868 listToolStripMenuItem.CheckState = CheckState.Unchecked; 869 } 870 871 private void smallIconsToolStripMenuItem_Click(object sender, EventArgs e) { 872 lvClientControl.View = View.SmallIcon; 873 lvJobControl.View = View.SmallIcon; 874 largeIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 875 smallIconsToolStripMenuItem.CheckState = CheckState.Checked; 876 listToolStripMenuItem.CheckState = CheckState.Unchecked; 877 } 878 879 private void listToolStripMenuItem_Click(object sender, EventArgs e) { 880 lvClientControl.View = View.List; 881 lvJobControl.View = View.List; 882 largeIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 883 smallIconsToolStripMenuItem.CheckState = CheckState.Unchecked; 884 listToolStripMenuItem.CheckState = CheckState.Checked; 885 } 886 887 private void tvClientControl_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { 888 lvClientControl.Items.Clear(); 889 lvClientControl.Groups.Clear(); 890 currentNode = e.Node; 891 AddGroupsToListView(e.Node); 892 } 893 894 private void AddGroupsToListView(TreeNode node) { 895 if (node != null) { 896 ListViewGroup lvg = new ListViewGroup(node.Text, HorizontalAlignment.Left); 897 lvClientControl.Groups.Add(lvg); 898 foreach (ListViewItem item in clientList[((ClientGroup)node.Tag).Id]) { 899 item.Group = lvg; 900 lvClientControl.Items.Add(item); 901 } 902 903 if (node.Nodes != null) { 904 foreach (TreeNode curNode in node.Nodes) { 905 AddGroupsToListView(curNode); 906 } 907 } 908 } 909 } 910 911 private void Refresh_Click(object sender, EventArgs e) { 912 Form overlayingForm = new Form(); 913 914 overlayingForm.Show(); 915 overlayingForm.FormBorderStyle = FormBorderStyle.None; 916 overlayingForm.BackColor = Color.Gray; 917 overlayingForm.Opacity = 0.4; 918 overlayingForm.Size = this.Size; 919 overlayingForm.Location = this.Location; 920 921 //Label lbl = new Label(); 922 //overlayingForm.Controls.Add(lbl); 923 //lbl.AutoSize = true; 924 //lbl.Text = "Loading"; 925 //lbl.Name = "lblName"; 926 //lbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 927 //lbl.ForeColor = Color.Black; 928 //lbl.BackColor = Color.Transparent; 929 //lbl.Location = new Point(overlayingForm.Width / 2, overlayingForm.Height / 2); 930 931 AddClients(); 932 933 overlayingForm.Close(); 934 } 935 936 private void tvClientControl_MouseUp(object sender, MouseEventArgs e) { 937 // If the right mouse button was clicked and released, 938 // display the shortcut menu assigned to the ListView. 939 contextMenuGroup.Items.Clear(); 940 TreeViewHitTestInfo hitTestInfo = tvClientControl.HitTest(e.Location); 941 tvClientControl.SelectedNode = hitTestInfo.Node; 942 if (e.Button != MouseButtons.Right) return; 943 if (hitTestInfo.Node != null) { 944 Resource selectedGroup = (Resource)tvClientControl.SelectedNode.Tag; 945 946 if (selectedGroup != null) { 947 contextMenuGroup.Items.Add(menuItemAddGroup); 948 contextMenuGroup.Items.Add(menuItemDeleteGroup); 949 } 950 } else { 951 contextMenuGroup.Items.Add(menuItemAddGroup); 952 } 953 tvClientControl.ContextMenuStrip.Show(new Point(e.X, e.Y)); 954 } 777 955 778 } 956 779 } -
trunk/sources/HeuristicLab.Hive.Server.Console/3.2/HiveServerManagementConsole.resx
r1832 r1937 308 308 <value>462, 9</value> 309 309 </metadata> 310 <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 311 <data name="btnRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> 312 <value> 313 iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 314 YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAABcQwAA 315 XEMBOS4mtwAAA5dJREFUSEullslPU1EUxtVVSyeGoOgWYWViomGB0YUbE7fGxODGuPEfMHFjgpowaDQy 316 KlAHlKlMKoNQKQomFUShDEKhtLSlkcgkiAMz9POcR1/7HlBotMmX3td77/m9c86953QvgD3ST2qrMo6e 317 E0iHSftkk8EfvDQ1Quq8fnrRIVvGAFZKiyKGVEsCK/29AvfMypDEa8V9Phsxol3R+EGamEhtVcDQr4N5 318 LBqW6QPono4JSbyW9/BetsG2SAeF6Pjevj6NJprdUWj7Fo2m0UjUO8NR51O9MwKvXRFocAdkpLFxdEMm 319 TyRax6LQPh4NE9lgWwSoFwA0iGf3DANa1I6Eo2hAjef9ahQPaFBi1aB0UIMykmFIiwqbFpXDG6omvbDr 320 8NKhwytSzYgOtfRCJk8Eyvq1YsjiGZDEbvGGwi9qPCPjDPgfiNEdLoYqiQHJGW1KPOlTC9oNUm7TkQes 321 gCefxi+h2XNc5klmu5K9SGbAzdxPSjzuVe0IMbnPYHLejDXvPNa9S5hdtKBn6hrsP3Ip1MA7zylZuPQW 322 FQNuCIAcAuh7VEEhH8auCEZ2+rz1nJTl5FF3WACQ3aFEQbdqW0idIxG/lp3ombyFJtcZ1DqOonPiKrxY 323 lfGaCSBNvN4iAWQRIN8HeCQJ1VNKeoPzNJ2mKCHpRb6TZf1+f4szDKiSnKwCOUAhAIJBpCerxXMec8tD 324 +Lk8LOjXigO/V5x4M5ogJF6EyACZHQrkEVGElAzEUkhuo3fyDn2nk9LQO5VGITor84TvCIvvSLnkjjCk 325 oEsSosyPCjwggAiptp3YEoLphS4K1X7/HeFwVdgOCYDtIPmbAbn0gwjZDOCE1tgTwTnhcNXYj8E2o4f5 326 62X/bd8MkQEyyAMGiJCqocQtHqx7lzGz2IeF1Qlhzj1XLSRdTPxmT2SA++0K5HRuAFiVPsCPJRsm/nTI 327 YF6swTqdg2Jr5I4lJY/siRct+a5ZgazPSj+kYjARjtlKunjRQuIN1iMwuS5Qks/BMBgbUknJkJSKpBQq 328 drmdAUhet07w5KEk8cEu4vbFUQ22yYXUX67zCJBNXkg9+RdIiVUNvcXf4eL9DYdLdml/GAr7+DQFwhUq 329 pJj6SMWQGuVWlViqNxqOr6P5W+ZjqoI1wxoYXRoqE1q/Gmnc6JLLSM+sJrcGdXYNnlC+tm2ZwZr+XWr6 330 rN2a/65NX/wH4APFUXIucrPgUh6ieC3viZPa4vFfU36gB1Ssto8AAAAASUVORK5CYII= 331 </value> 332 </data> 333 <metadata name="contextMenuGroup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 334 <value>504, 38</value> 310 <metadata name="updaterWoker.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 311 <value>388, 41</value> 335 312 </metadata> 336 313 <metadata name="contextMenuJob.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> … … 388 365 </value> 389 366 </data> 390 <metadata name="updaterWoker.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">391 <value>388, 41</value>392 </metadata>393 367 <metadata name="ilSmallImgClient.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 394 368 <value>17, 50</value> … … 455 429 </value> 456 430 </data> 431 <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 432 <data name="btnRefresh.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> 433 <value> 434 iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 435 YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAABcQwAA 436 XEMBOS4mtwAAA5dJREFUSEullslPU1EUxtVVSyeGoOgWYWViomGB0YUbE7fGxODGuPEfMHFjgpowaDQy 437 KlAHlKlMKoNQKQomFUShDEKhtLSlkcgkiAMz9POcR1/7HlBotMmX3td77/m9c86953QvgD3ST2qrMo6e 438 E0iHSftkk8EfvDQ1Quq8fnrRIVvGAFZKiyKGVEsCK/29AvfMypDEa8V9Phsxol3R+EGamEhtVcDQr4N5 439 LBqW6QPono4JSbyW9/BetsG2SAeF6Pjevj6NJprdUWj7Fo2m0UjUO8NR51O9MwKvXRFocAdkpLFxdEMm 440 TyRax6LQPh4NE9lgWwSoFwA0iGf3DANa1I6Eo2hAjef9ahQPaFBi1aB0UIMykmFIiwqbFpXDG6omvbDr 441 8NKhwytSzYgOtfRCJk8Eyvq1YsjiGZDEbvGGwi9qPCPjDPgfiNEdLoYqiQHJGW1KPOlTC9oNUm7TkQes 442 gCefxi+h2XNc5klmu5K9SGbAzdxPSjzuVe0IMbnPYHLejDXvPNa9S5hdtKBn6hrsP3Ip1MA7zylZuPQW 443 FQNuCIAcAuh7VEEhH8auCEZ2+rz1nJTl5FF3WACQ3aFEQbdqW0idIxG/lp3ombyFJtcZ1DqOonPiKrxY 444 lfGaCSBNvN4iAWQRIN8HeCQJ1VNKeoPzNJ2mKCHpRb6TZf1+f4szDKiSnKwCOUAhAIJBpCerxXMec8tD 445 +Lk8LOjXigO/V5x4M5ogJF6EyACZHQrkEVGElAzEUkhuo3fyDn2nk9LQO5VGITor84TvCIvvSLnkjjCk 446 oEsSosyPCjwggAiptp3YEoLphS4K1X7/HeFwVdgOCYDtIPmbAbn0gwjZDOCE1tgTwTnhcNXYj8E2o4f5 447 62X/bd8MkQEyyAMGiJCqocQtHqx7lzGz2IeF1Qlhzj1XLSRdTPxmT2SA++0K5HRuAFiVPsCPJRsm/nTI 448 YF6swTqdg2Jr5I4lJY/siRct+a5ZgazPSj+kYjARjtlKunjRQuIN1iMwuS5Qks/BMBgbUknJkJSKpBQq 449 drmdAUhet07w5KEk8cEu4vbFUQ22yYXUX67zCJBNXkg9+RdIiVUNvcXf4eL9DYdLdml/GAr7+DQFwhUq 450 pJj6SMWQGuVWlViqNxqOr6P5W+ZjqoI1wxoYXRoqE1q/Gmnc6JLLSM+sJrcGdXYNnlC+tm2ZwZr+XWr6 451 rN2a/65NX/wH4APFUXIucrPgUh6ieC3viZPa4vFfU36gB1Ssto8AAAAASUVORK5CYII= 452 </value> 453 </data> 454 <metadata name="contextMenuGroup.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 455 <value>504, 38</value> 456 </metadata> 457 457 </root>
Note: See TracChangeset
for help on using the changeset viewer.