Changeset 1512 for trunk/sources/HeuristicLab.Hive.Server.Console
- Timestamp:
- 04/03/09 14:35:21 (16 years ago)
- Location:
- trunk/sources/HeuristicLab.Hive.Server.Console
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.Designer.cs
r1495 r1512 24 24 /// </summary> 25 25 private void InitializeComponent() { 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 26 this.components = new System.ComponentModel.Container(); 27 System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HiveServerManagementConsole)); 28 this.menuStrip1 = new System.Windows.Forms.MenuStrip(); 29 this.informationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 30 this.closeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 31 this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 32 this.jobToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 33 this.ilClientControl = new System.Windows.Forms.ImageList(this.components); 34 this.ilJobControl = new System.Windows.Forms.ImageList(this.components); 35 this.ilUserControl = new System.Windows.Forms.ImageList(this.components); 36 this.plClientDetails = new System.Windows.Forms.Panel(); 37 this.lblState = new System.Windows.Forms.Label(); 38 this.lblStateClient = new System.Windows.Forms.Label(); 39 this.lblLogin = new System.Windows.Forms.Label(); 40 this.lblLoginOn = new System.Windows.Forms.Label(); 41 this.lblClientName = new System.Windows.Forms.Label(); 42 this.pbClientControl = new System.Windows.Forms.PictureBox(); 43 this.plUserDetails = new System.Windows.Forms.Panel(); 44 this.lblUserName = new System.Windows.Forms.Label(); 45 this.btnUserControlClose = new System.Windows.Forms.Button(); 46 this.pbUserControl = new System.Windows.Forms.PictureBox(); 47 this.plJobDetails = new System.Windows.Forms.Panel(); 48 this.lvSnapshots = new System.Windows.Forms.ListView(); 49 this.chJobId = new System.Windows.Forms.ColumnHeader(); 50 this.chTimeCalculated = new System.Windows.Forms.ColumnHeader(); 51 this.chProgress = new System.Windows.Forms.ColumnHeader(); 52 this.lblPriorityJob = new System.Windows.Forms.Label(); 53 this.lblParentJob = new System.Windows.Forms.Label(); 54 this.lblClientCalculating = new System.Windows.Forms.Label(); 55 this.lblJobCalculationEnd = new System.Windows.Forms.Label(); 56 this.lblJobCalculationBegin = new System.Windows.Forms.Label(); 57 this.lblJobCreated = new System.Windows.Forms.Label(); 58 this.lblUserCreatedJob = new System.Windows.Forms.Label(); 59 this.lblProgress = new System.Windows.Forms.Label(); 60 this.lblStatus = new System.Windows.Forms.Label(); 61 this.progressJob = new System.Windows.Forms.ProgressBar(); 62 this.lblJobName = new System.Windows.Forms.Label(); 63 this.pbJobControl = new System.Windows.Forms.PictureBox(); 64 this.treeView2 = new System.Windows.Forms.TreeView(); 65 this.listView2 = new System.Windows.Forms.ListView(); 66 this.timerSyncronize = new System.Windows.Forms.Timer(this.components); 67 this.fileSystemWatcher1 = new System.IO.FileSystemWatcher(); 68 this.updaterWoker = new System.ComponentModel.BackgroundWorker(); 69 this.tpJobControl = new System.Windows.Forms.TabPage(); 70 this.scJobControl = new System.Windows.Forms.SplitContainer(); 71 this.lvJobControl = new System.Windows.Forms.ListView(); 72 this.tpClientControl = new System.Windows.Forms.TabPage(); 73 this.scClientControl = new System.Windows.Forms.SplitContainer(); 74 this.lvClientControl = new System.Windows.Forms.ListView(); 75 this.tcManagementConsole = new System.Windows.Forms.TabControl(); 76 this.checkBox1 = new System.Windows.Forms.CheckBox(); 77 this.menuStrip1.SuspendLayout(); 78 this.plClientDetails.SuspendLayout(); 79 ((System.ComponentModel.ISupportInitialize)(this.pbClientControl)).BeginInit(); 80 this.plUserDetails.SuspendLayout(); 81 ((System.ComponentModel.ISupportInitialize)(this.pbUserControl)).BeginInit(); 82 this.plJobDetails.SuspendLayout(); 83 ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).BeginInit(); 84 ((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).BeginInit(); 85 this.tpJobControl.SuspendLayout(); 86 this.scJobControl.Panel1.SuspendLayout(); 87 this.scJobControl.Panel2.SuspendLayout(); 88 this.scJobControl.SuspendLayout(); 89 this.tpClientControl.SuspendLayout(); 90 this.scClientControl.Panel1.SuspendLayout(); 91 this.scClientControl.Panel2.SuspendLayout(); 92 this.scClientControl.SuspendLayout(); 93 this.tcManagementConsole.SuspendLayout(); 94 this.SuspendLayout(); 95 // 96 // menuStrip1 97 // 98 this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 99 99 this.informationToolStripMenuItem, 100 100 this.addToolStripMenuItem}); 101 102 103 104 105 106 107 108 109 101 this.menuStrip1.Location = new System.Drawing.Point(0, 0); 102 this.menuStrip1.Name = "menuStrip1"; 103 this.menuStrip1.Size = new System.Drawing.Size(893, 24); 104 this.menuStrip1.TabIndex = 0; 105 this.menuStrip1.Text = "menuStrip1"; 106 // 107 // informationToolStripMenuItem 108 // 109 this.informationToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 110 110 this.closeToolStripMenuItem}); 111 112 this.informationToolStripMenuItem.Size = new System.Drawing.Size(90, 20);113 114 115 116 117 118 this.closeToolStripMenuItem.Size = new System.Drawing.Size(103, 22);119 120 121 122 123 124 111 this.informationToolStripMenuItem.Name = "informationToolStripMenuItem"; 112 this.informationToolStripMenuItem.Size = new System.Drawing.Size(81, 20); 113 this.informationToolStripMenuItem.Text = "Management"; 114 // 115 // closeToolStripMenuItem 116 // 117 this.closeToolStripMenuItem.Name = "closeToolStripMenuItem"; 118 this.closeToolStripMenuItem.Size = new System.Drawing.Size(111, 22); 119 this.closeToolStripMenuItem.Text = "Close"; 120 this.closeToolStripMenuItem.Click += new System.EventHandler(this.Close_Click); 121 // 122 // addToolStripMenuItem 123 // 124 this.addToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 125 125 this.jobToolStripMenuItem}); 126 this.addToolStripMenuItem.Name = "addToolStripMenuItem"; 127 this.addToolStripMenuItem.Size = new System.Drawing.Size(41, 20); 128 this.addToolStripMenuItem.Text = "Add"; 129 // 130 // jobToolStripMenuItem 131 // 132 this.jobToolStripMenuItem.Name = "jobToolStripMenuItem"; 133 this.jobToolStripMenuItem.Size = new System.Drawing.Size(92, 22); 134 this.jobToolStripMenuItem.Text = "Job"; 135 this.jobToolStripMenuItem.Click += new System.EventHandler(this.AddJob_Click); 136 // 137 // ilClientControl 138 // 139 this.ilClientControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilClientControl.ImageStream"))); 140 this.ilClientControl.TransparentColor = System.Drawing.Color.Transparent; 141 this.ilClientControl.Images.SetKeyName(0, "monitor-green.png"); 142 this.ilClientControl.Images.SetKeyName(1, "monitor-orange.png"); 143 this.ilClientControl.Images.SetKeyName(2, "monitor-red.png"); 144 this.ilClientControl.Images.SetKeyName(3, "monitor-gray.png"); 145 // 146 // ilJobControl 147 // 148 this.ilJobControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilJobControl.ImageStream"))); 149 this.ilJobControl.TransparentColor = System.Drawing.Color.Transparent; 150 this.ilJobControl.Images.SetKeyName(0, "PlayHS.png"); 151 // 152 // ilUserControl 153 // 154 this.ilUserControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilUserControl.ImageStream"))); 155 this.ilUserControl.TransparentColor = System.Drawing.Color.Transparent; 156 this.ilUserControl.Images.SetKeyName(0, "Users.png"); 157 // 158 // plClientDetails 159 // 160 this.plClientDetails.BackColor = System.Drawing.SystemColors.Window; 161 this.plClientDetails.Controls.Add(this.lblState); 162 this.plClientDetails.Controls.Add(this.lblStateClient); 163 this.plClientDetails.Controls.Add(this.lblLogin); 164 this.plClientDetails.Controls.Add(this.lblLoginOn); 165 this.plClientDetails.Controls.Add(this.lblClientName); 166 this.plClientDetails.Controls.Add(this.pbClientControl); 167 this.plClientDetails.Dock = System.Windows.Forms.DockStyle.Fill; 168 this.plClientDetails.Location = new System.Drawing.Point(0, 0); 169 this.plClientDetails.Name = "plClientDetails"; 170 this.plClientDetails.Size = new System.Drawing.Size(421, 386); 171 this.plClientDetails.TabIndex = 1; 172 // 173 // lblState 174 // 175 this.lblState.AutoSize = true; 176 this.lblState.Location = new System.Drawing.Point(103, 76); 177 this.lblState.Name = "lblState"; 178 this.lblState.Size = new System.Drawing.Size(42, 13); 179 this.lblState.TabIndex = 6; 180 this.lblState.Text = "lblState"; 181 // 182 // lblStateClient 183 // 184 this.lblStateClient.AutoSize = true; 185 this.lblStateClient.Location = new System.Drawing.Point(29, 76); 186 this.lblStateClient.Name = "lblStateClient"; 187 this.lblStateClient.Size = new System.Drawing.Size(32, 13); 188 this.lblStateClient.TabIndex = 5; 189 this.lblStateClient.Text = "State"; 190 // 191 // lblLogin 192 // 193 this.lblLogin.AutoSize = true; 194 this.lblLogin.Location = new System.Drawing.Point(100, 55); 195 this.lblLogin.Name = "lblLogin"; 196 this.lblLogin.Size = new System.Drawing.Size(43, 13); 197 this.lblLogin.TabIndex = 4; 198 this.lblLogin.Text = "lblLogin"; 199 // 200 // lblLoginOn 201 // 202 this.lblLoginOn.AutoSize = true; 203 this.lblLoginOn.Location = new System.Drawing.Point(29, 55); 204 this.lblLoginOn.Name = "lblLoginOn"; 205 this.lblLoginOn.Size = new System.Drawing.Size(69, 13); 206 this.lblLoginOn.TabIndex = 3; 207 this.lblLoginOn.Text = "last logged in"; 208 // 209 // lblClientName 210 // 211 this.lblClientName.AutoSize = true; 212 this.lblClientName.Location = new System.Drawing.Point(41, 14); 213 this.lblClientName.Name = "lblClientName"; 214 this.lblClientName.Size = new System.Drawing.Size(71, 13); 215 this.lblClientName.TabIndex = 2; 216 this.lblClientName.Text = "lblClientName"; 217 // 218 // pbClientControl 219 // 220 this.pbClientControl.Location = new System.Drawing.Point(3, 4); 221 this.pbClientControl.Name = "pbClientControl"; 222 this.pbClientControl.Size = new System.Drawing.Size(32, 32); 223 this.pbClientControl.TabIndex = 0; 224 this.pbClientControl.TabStop = false; 225 // 226 // plUserDetails 227 // 228 this.plUserDetails.BackColor = System.Drawing.SystemColors.Window; 229 this.plUserDetails.Controls.Add(this.lblUserName); 230 this.plUserDetails.Controls.Add(this.btnUserControlClose); 231 this.plUserDetails.Controls.Add(this.pbUserControl); 232 this.plUserDetails.Dock = System.Windows.Forms.DockStyle.Fill; 233 this.plUserDetails.Location = new System.Drawing.Point(0, 0); 234 this.plUserDetails.Name = "plUserDetails"; 235 this.plUserDetails.Size = new System.Drawing.Size(494, 346); 236 this.plUserDetails.TabIndex = 2; 237 // 238 // lblUserName 239 // 240 this.lblUserName.AutoSize = true; 241 this.lblUserName.Location = new System.Drawing.Point(41, 13); 242 this.lblUserName.Name = "lblUserName"; 243 this.lblUserName.Size = new System.Drawing.Size(67, 13); 244 this.lblUserName.TabIndex = 5; 245 this.lblUserName.Text = "lblUserName"; 246 // 247 // btnUserControlClose 248 // 249 this.btnUserControlClose.Location = new System.Drawing.Point(414, 3); 250 this.btnUserControlClose.Name = "btnUserControlClose"; 251 this.btnUserControlClose.Size = new System.Drawing.Size(75, 23); 252 this.btnUserControlClose.TabIndex = 4; 253 this.btnUserControlClose.Text = "Close"; 254 this.btnUserControlClose.UseVisualStyleBackColor = true; 255 // 256 // pbUserControl 257 // 258 this.pbUserControl.Location = new System.Drawing.Point(3, 3); 259 this.pbUserControl.Name = "pbUserControl"; 260 this.pbUserControl.Size = new System.Drawing.Size(32, 32); 261 this.pbUserControl.TabIndex = 3; 262 this.pbUserControl.TabStop = false; 263 // 264 // plJobDetails 265 // 266 this.plJobDetails.BackColor = System.Drawing.SystemColors.Window; 267 this.plJobDetails.Controls.Add(this.lvSnapshots); 268 this.plJobDetails.Controls.Add(this.lblPriorityJob); 269 this.plJobDetails.Controls.Add(this.lblParentJob); 270 this.plJobDetails.Controls.Add(this.lblClientCalculating); 271 this.plJobDetails.Controls.Add(this.lblJobCalculationEnd); 272 this.plJobDetails.Controls.Add(this.lblJobCalculationBegin); 273 this.plJobDetails.Controls.Add(this.lblJobCreated); 274 this.plJobDetails.Controls.Add(this.lblUserCreatedJob); 275 this.plJobDetails.Controls.Add(this.lblProgress); 276 this.plJobDetails.Controls.Add(this.lblStatus); 277 this.plJobDetails.Controls.Add(this.progressJob); 278 this.plJobDetails.Controls.Add(this.lblJobName); 279 this.plJobDetails.Controls.Add(this.pbJobControl); 280 this.plJobDetails.Dock = System.Windows.Forms.DockStyle.Fill; 281 this.plJobDetails.Location = new System.Drawing.Point(0, 0); 282 this.plJobDetails.Name = "plJobDetails"; 283 this.plJobDetails.Size = new System.Drawing.Size(421, 386); 284 this.plJobDetails.TabIndex = 1; 285 // 286 // lvSnapshots 287 // 288 this.lvSnapshots.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { 126 this.addToolStripMenuItem.Name = "addToolStripMenuItem"; 127 this.addToolStripMenuItem.Size = new System.Drawing.Size(38, 20); 128 this.addToolStripMenuItem.Text = "Add"; 129 // 130 // jobToolStripMenuItem 131 // 132 this.jobToolStripMenuItem.Name = "jobToolStripMenuItem"; 133 this.jobToolStripMenuItem.Size = new System.Drawing.Size(102, 22); 134 this.jobToolStripMenuItem.Text = "Job"; 135 this.jobToolStripMenuItem.Click += new System.EventHandler(this.AddJob_Click); 136 // 137 // ilClientControl 138 // 139 this.ilClientControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilClientControl.ImageStream"))); 140 this.ilClientControl.TransparentColor = System.Drawing.Color.Transparent; 141 this.ilClientControl.Images.SetKeyName(0, "monitor-green.png"); 142 this.ilClientControl.Images.SetKeyName(1, "monitor-orange.png"); 143 this.ilClientControl.Images.SetKeyName(2, "monitor-red.png"); 144 this.ilClientControl.Images.SetKeyName(3, "monitor-gray.png"); 145 // 146 // ilJobControl 147 // 148 this.ilJobControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilJobControl.ImageStream"))); 149 this.ilJobControl.TransparentColor = System.Drawing.Color.Transparent; 150 this.ilJobControl.Images.SetKeyName(0, "PlayHS.png"); 151 // 152 // ilUserControl 153 // 154 this.ilUserControl.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilUserControl.ImageStream"))); 155 this.ilUserControl.TransparentColor = System.Drawing.Color.Transparent; 156 this.ilUserControl.Images.SetKeyName(0, "Users.png"); 157 // 158 // plClientDetails 159 // 160 this.plClientDetails.BackColor = System.Drawing.SystemColors.Window; 161 this.plClientDetails.Controls.Add(this.lblState); 162 this.plClientDetails.Controls.Add(this.lblStateClient); 163 this.plClientDetails.Controls.Add(this.lblLogin); 164 this.plClientDetails.Controls.Add(this.lblLoginOn); 165 this.plClientDetails.Controls.Add(this.lblClientName); 166 this.plClientDetails.Controls.Add(this.pbClientControl); 167 this.plClientDetails.Dock = System.Windows.Forms.DockStyle.Fill; 168 this.plClientDetails.Location = new System.Drawing.Point(0, 0); 169 this.plClientDetails.Name = "plClientDetails"; 170 this.plClientDetails.Size = new System.Drawing.Size(421, 386); 171 this.plClientDetails.TabIndex = 1; 172 this.plClientDetails.Visible = false; 173 // 174 // lblState 175 // 176 this.lblState.AutoSize = true; 177 this.lblState.Location = new System.Drawing.Point(103, 76); 178 this.lblState.Name = "lblState"; 179 this.lblState.Size = new System.Drawing.Size(42, 13); 180 this.lblState.TabIndex = 6; 181 this.lblState.Text = "lblState"; 182 // 183 // lblStateClient 184 // 185 this.lblStateClient.AutoSize = true; 186 this.lblStateClient.Location = new System.Drawing.Point(29, 76); 187 this.lblStateClient.Name = "lblStateClient"; 188 this.lblStateClient.Size = new System.Drawing.Size(32, 13); 189 this.lblStateClient.TabIndex = 5; 190 this.lblStateClient.Text = "State"; 191 // 192 // lblLogin 193 // 194 this.lblLogin.AutoSize = true; 195 this.lblLogin.Location = new System.Drawing.Point(100, 55); 196 this.lblLogin.Name = "lblLogin"; 197 this.lblLogin.Size = new System.Drawing.Size(43, 13); 198 this.lblLogin.TabIndex = 4; 199 this.lblLogin.Text = "lblLogin"; 200 // 201 // lblLoginOn 202 // 203 this.lblLoginOn.AutoSize = true; 204 this.lblLoginOn.Location = new System.Drawing.Point(29, 55); 205 this.lblLoginOn.Name = "lblLoginOn"; 206 this.lblLoginOn.Size = new System.Drawing.Size(69, 13); 207 this.lblLoginOn.TabIndex = 3; 208 this.lblLoginOn.Text = "last logged in"; 209 // 210 // lblClientName 211 // 212 this.lblClientName.AutoSize = true; 213 this.lblClientName.Location = new System.Drawing.Point(41, 14); 214 this.lblClientName.Name = "lblClientName"; 215 this.lblClientName.Size = new System.Drawing.Size(71, 13); 216 this.lblClientName.TabIndex = 2; 217 this.lblClientName.Text = "lblClientName"; 218 // 219 // pbClientControl 220 // 221 this.pbClientControl.Location = new System.Drawing.Point(3, 4); 222 this.pbClientControl.Name = "pbClientControl"; 223 this.pbClientControl.Size = new System.Drawing.Size(32, 32); 224 this.pbClientControl.TabIndex = 0; 225 this.pbClientControl.TabStop = false; 226 // 227 // plUserDetails 228 // 229 this.plUserDetails.BackColor = System.Drawing.SystemColors.Window; 230 this.plUserDetails.Controls.Add(this.lblUserName); 231 this.plUserDetails.Controls.Add(this.btnUserControlClose); 232 this.plUserDetails.Controls.Add(this.pbUserControl); 233 this.plUserDetails.Dock = System.Windows.Forms.DockStyle.Fill; 234 this.plUserDetails.Location = new System.Drawing.Point(0, 0); 235 this.plUserDetails.Name = "plUserDetails"; 236 this.plUserDetails.Size = new System.Drawing.Size(494, 346); 237 this.plUserDetails.TabIndex = 2; 238 // 239 // lblUserName 240 // 241 this.lblUserName.AutoSize = true; 242 this.lblUserName.Location = new System.Drawing.Point(41, 13); 243 this.lblUserName.Name = "lblUserName"; 244 this.lblUserName.Size = new System.Drawing.Size(67, 13); 245 this.lblUserName.TabIndex = 5; 246 this.lblUserName.Text = "lblUserName"; 247 // 248 // btnUserControlClose 249 // 250 this.btnUserControlClose.Location = new System.Drawing.Point(414, 3); 251 this.btnUserControlClose.Name = "btnUserControlClose"; 252 this.btnUserControlClose.Size = new System.Drawing.Size(75, 23); 253 this.btnUserControlClose.TabIndex = 4; 254 this.btnUserControlClose.Text = "Close"; 255 this.btnUserControlClose.UseVisualStyleBackColor = true; 256 // 257 // pbUserControl 258 // 259 this.pbUserControl.Location = new System.Drawing.Point(3, 3); 260 this.pbUserControl.Name = "pbUserControl"; 261 this.pbUserControl.Size = new System.Drawing.Size(32, 32); 262 this.pbUserControl.TabIndex = 3; 263 this.pbUserControl.TabStop = false; 264 // 265 // plJobDetails 266 // 267 this.plJobDetails.BackColor = System.Drawing.SystemColors.Window; 268 this.plJobDetails.Controls.Add(this.lvSnapshots); 269 this.plJobDetails.Controls.Add(this.lblPriorityJob); 270 this.plJobDetails.Controls.Add(this.lblParentJob); 271 this.plJobDetails.Controls.Add(this.lblClientCalculating); 272 this.plJobDetails.Controls.Add(this.lblJobCalculationEnd); 273 this.plJobDetails.Controls.Add(this.lblJobCalculationBegin); 274 this.plJobDetails.Controls.Add(this.lblJobCreated); 275 this.plJobDetails.Controls.Add(this.lblUserCreatedJob); 276 this.plJobDetails.Controls.Add(this.lblProgress); 277 this.plJobDetails.Controls.Add(this.lblStatus); 278 this.plJobDetails.Controls.Add(this.progressJob); 279 this.plJobDetails.Controls.Add(this.lblJobName); 280 this.plJobDetails.Controls.Add(this.pbJobControl); 281 this.plJobDetails.Dock = System.Windows.Forms.DockStyle.Fill; 282 this.plJobDetails.Location = new System.Drawing.Point(0, 0); 283 this.plJobDetails.Name = "plJobDetails"; 284 this.plJobDetails.Size = new System.Drawing.Size(421, 386); 285 this.plJobDetails.TabIndex = 1; 286 this.plJobDetails.Visible = false; 287 // 288 // lvSnapshots 289 // 290 this.lvSnapshots.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { 289 291 this.chJobId, 290 292 this.chTimeCalculated, 291 293 this.chProgress}); 292 293 294 295 this.lvSnapshots.Location = new System.Drawing.Point(17, 275);296 297 this.lvSnapshots.Size = new System.Drawing.Size(382, 70);298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 this.lblPriorityJob.Location = new System.Drawing.Point(17, 207);318 319 320 321 322 323 324 325 326 this.lblParentJob.Location = new System.Drawing.Point(17, 182);327 328 329 330 331 332 333 334 335 this.lblClientCalculating.Location = new System.Drawing.Point(17, 284);336 337 338 339 340 341 342 343 344 this.lblJobCalculationEnd.Location = new System.Drawing.Point(17, 257);345 346 347 348 349 350 351 352 353 this.lblJobCalculationBegin.Location = new System.Drawing.Point(17, 233);354 355 356 357 358 359 360 361 362 this.lblJobCreated.Location = new System.Drawing.Point(17, 157);363 364 365 366 367 368 369 370 371 this.lblUserCreatedJob.Location = new System.Drawing.Point(17, 135);372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 294 this.lvSnapshots.Enabled = false; 295 this.lvSnapshots.FullRowSelect = true; 296 this.lvSnapshots.GridLines = true; 297 this.lvSnapshots.Location = new System.Drawing.Point(17, 269); 298 this.lvSnapshots.Name = "lvSnapshots"; 299 this.lvSnapshots.Size = new System.Drawing.Size(382, 102); 300 this.lvSnapshots.TabIndex = 16; 301 this.lvSnapshots.UseCompatibleStateImageBehavior = false; 302 this.lvSnapshots.View = System.Windows.Forms.View.Details; 303 // 304 // chJobId 305 // 306 this.chJobId.Text = "Job-ID"; 307 // 308 // chTimeCalculated 309 // 310 this.chTimeCalculated.Text = "Calculated At"; 311 // 312 // chProgress 313 // 314 this.chProgress.Text = "Progress"; 315 // 316 // lblPriorityJob 317 // 318 this.lblPriorityJob.AutoSize = true; 319 this.lblPriorityJob.Location = new System.Drawing.Point(17, 193); 320 this.lblPriorityJob.Name = "lblPriorityJob"; 321 this.lblPriorityJob.Size = new System.Drawing.Size(65, 13); 322 this.lblPriorityJob.TabIndex = 15; 323 this.lblPriorityJob.Text = "lblPriorityJob"; 324 // 325 // lblParentJob 326 // 327 this.lblParentJob.AutoSize = true; 328 this.lblParentJob.Location = new System.Drawing.Point(17, 173); 329 this.lblParentJob.Name = "lblParentJob"; 330 this.lblParentJob.Size = new System.Drawing.Size(65, 13); 331 this.lblParentJob.TabIndex = 14; 332 this.lblParentJob.Text = "lblParentJob"; 333 // 334 // lblClientCalculating 335 // 336 this.lblClientCalculating.AutoSize = true; 337 this.lblClientCalculating.Location = new System.Drawing.Point(17, 253); 338 this.lblClientCalculating.Name = "lblClientCalculating"; 339 this.lblClientCalculating.Size = new System.Drawing.Size(95, 13); 340 this.lblClientCalculating.TabIndex = 13; 341 this.lblClientCalculating.Text = "lblClientCalculating"; 342 // 343 // lblJobCalculationEnd 344 // 345 this.lblJobCalculationEnd.AutoSize = true; 346 this.lblJobCalculationEnd.Location = new System.Drawing.Point(17, 233); 347 this.lblJobCalculationEnd.Name = "lblJobCalculationEnd"; 348 this.lblJobCalculationEnd.Size = new System.Drawing.Size(105, 13); 349 this.lblJobCalculationEnd.TabIndex = 12; 350 this.lblJobCalculationEnd.Text = "lblJobCalculationEnd"; 351 // 352 // lblJobCalculationBegin 353 // 354 this.lblJobCalculationBegin.AutoSize = true; 355 this.lblJobCalculationBegin.Location = new System.Drawing.Point(17, 213); 356 this.lblJobCalculationBegin.Name = "lblJobCalculationBegin"; 357 this.lblJobCalculationBegin.Size = new System.Drawing.Size(113, 13); 358 this.lblJobCalculationBegin.TabIndex = 11; 359 this.lblJobCalculationBegin.Text = "lblJobCalculationBegin"; 360 // 361 // lblJobCreated 362 // 363 this.lblJobCreated.AutoSize = true; 364 this.lblJobCreated.Location = new System.Drawing.Point(17, 152); 365 this.lblJobCreated.Name = "lblJobCreated"; 366 this.lblJobCreated.Size = new System.Drawing.Size(71, 13); 367 this.lblJobCreated.TabIndex = 10; 368 this.lblJobCreated.Text = "lblJobCreated"; 369 // 370 // lblUserCreatedJob 371 // 372 this.lblUserCreatedJob.AutoSize = true; 373 this.lblUserCreatedJob.Location = new System.Drawing.Point(17, 132); 374 this.lblUserCreatedJob.Name = "lblUserCreatedJob"; 375 this.lblUserCreatedJob.Size = new System.Drawing.Size(93, 13); 376 this.lblUserCreatedJob.TabIndex = 9; 377 this.lblUserCreatedJob.Text = "lblUserCreatedJob"; 378 // 379 // lblProgress 380 // 381 this.lblProgress.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 382 this.lblProgress.BackColor = System.Drawing.Color.Transparent; 383 this.lblProgress.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; 384 this.lblProgress.Location = new System.Drawing.Point(256, 108); 385 this.lblProgress.Name = "lblProgress"; 386 this.lblProgress.Size = new System.Drawing.Size(143, 13); 387 this.lblProgress.TabIndex = 8; 388 this.lblProgress.Text = "lblProgress"; 389 this.lblProgress.TextAlign = System.Drawing.ContentAlignment.TopRight; 390 // 391 // lblStatus 392 // 393 this.lblStatus.AutoSize = true; 394 this.lblStatus.BackColor = System.Drawing.Color.Transparent; 395 this.lblStatus.Location = new System.Drawing.Point(14, 55); 396 this.lblStatus.Name = "lblStatus"; 397 this.lblStatus.Size = new System.Drawing.Size(88, 13); 398 this.lblStatus.TabIndex = 7; 399 this.lblStatus.Text = "Statusinformation"; 400 // 401 // progressJob 402 // 403 this.progressJob.Location = new System.Drawing.Point(17, 73); 404 this.progressJob.Name = "progressJob"; 405 this.progressJob.Size = new System.Drawing.Size(382, 23); 406 this.progressJob.TabIndex = 6; 407 // 408 // lblJobName 409 // 410 this.lblJobName.AutoSize = true; 411 this.lblJobName.Location = new System.Drawing.Point(41, 13); 412 this.lblJobName.Name = "lblJobName"; 413 this.lblJobName.Size = new System.Drawing.Size(62, 13); 414 this.lblJobName.TabIndex = 5; 415 this.lblJobName.Text = "lblJobName"; 416 // 417 // pbJobControl 418 // 419 this.pbJobControl.Location = new System.Drawing.Point(3, 3); 420 this.pbJobControl.Name = "pbJobControl"; 421 this.pbJobControl.Size = new System.Drawing.Size(32, 32); 422 this.pbJobControl.TabIndex = 3; 423 this.pbJobControl.TabStop = false; 424 // 425 // treeView2 426 // 427 this.treeView2.Dock = System.Windows.Forms.DockStyle.Fill; 428 this.treeView2.LineColor = System.Drawing.Color.Empty; 429 this.treeView2.Location = new System.Drawing.Point(0, 0); 430 this.treeView2.Name = "treeView2"; 431 this.treeView2.Size = new System.Drawing.Size(139, 346); 432 this.treeView2.TabIndex = 0; 433 // 434 // listView2 435 // 436 this.listView2.Dock = System.Windows.Forms.DockStyle.Fill; 437 this.listView2.Location = new System.Drawing.Point(0, 0); 438 this.listView2.Name = "listView2"; 439 this.listView2.Size = new System.Drawing.Size(494, 346); 440 this.listView2.TabIndex = 0; 441 this.listView2.UseCompatibleStateImageBehavior = false; 442 // 443 // timerSyncronize 444 // 445 this.timerSyncronize.Interval = 10000; 446 this.timerSyncronize.Tick += new System.EventHandler(this.TickSync); 447 // 448 // fileSystemWatcher1 449 // 450 this.fileSystemWatcher1.EnableRaisingEvents = true; 451 this.fileSystemWatcher1.SynchronizingObject = this; 452 // 453 // updaterWoker 454 // 455 this.updaterWoker.DoWork += new System.ComponentModel.DoWorkEventHandler(this.updaterWoker_DoWork); 456 this.updaterWoker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.updaterWoker_RunWorkerCompleted); 457 // 458 // tpJobControl 459 // 460 this.tpJobControl.Controls.Add(this.scJobControl); 461 this.tpJobControl.Location = new System.Drawing.Point(4, 22); 462 this.tpJobControl.Name = "tpJobControl"; 463 this.tpJobControl.Padding = new System.Windows.Forms.Padding(3); 464 this.tpJobControl.Size = new System.Drawing.Size(885, 392); 465 this.tpJobControl.TabIndex = 1; 466 this.tpJobControl.Text = "Job Control"; 467 this.tpJobControl.UseVisualStyleBackColor = true; 468 // 469 // scJobControl 470 // 471 this.scJobControl.Dock = System.Windows.Forms.DockStyle.Fill; 472 this.scJobControl.Location = new System.Drawing.Point(3, 3); 473 this.scJobControl.Name = "scJobControl"; 474 // 475 // scJobControl.Panel1 476 // 477 this.scJobControl.Panel1.Controls.Add(this.lvJobControl); 478 // 479 // scJobControl.Panel2 480 // 481 this.scJobControl.Panel2.Controls.Add(this.plJobDetails); 482 this.scJobControl.Size = new System.Drawing.Size(879, 386); 483 this.scJobControl.SplitterDistance = 454; 484 this.scJobControl.TabIndex = 0; 485 // 486 // lvJobControl 487 // 488 this.lvJobControl.AllowDrop = true; 489 this.lvJobControl.Dock = System.Windows.Forms.DockStyle.Fill; 490 this.lvJobControl.LargeImageList = this.ilJobControl; 491 this.lvJobControl.Location = new System.Drawing.Point(0, 0); 492 this.lvJobControl.MultiSelect = false; 493 this.lvJobControl.Name = "lvJobControl"; 494 this.lvJobControl.Size = new System.Drawing.Size(454, 386); 495 this.lvJobControl.TabIndex = 0; 496 this.lvJobControl.UseCompatibleStateImageBehavior = false; 497 this.lvJobControl.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lvJobControl_MouseMove); 498 this.lvJobControl.Click += new System.EventHandler(this.OnLVJobControlClicked); 499 // 500 // tpClientControl 501 // 502 this.tpClientControl.AllowDrop = true; 503 this.tpClientControl.Controls.Add(this.scClientControl); 504 this.tpClientControl.Location = new System.Drawing.Point(4, 22); 505 this.tpClientControl.Name = "tpClientControl"; 506 this.tpClientControl.Padding = new System.Windows.Forms.Padding(3); 507 this.tpClientControl.Size = new System.Drawing.Size(885, 392); 508 this.tpClientControl.TabIndex = 0; 509 this.tpClientControl.Text = "Client Control"; 510 this.tpClientControl.UseVisualStyleBackColor = true; 511 // 512 // scClientControl 513 // 514 this.scClientControl.Dock = System.Windows.Forms.DockStyle.Fill; 515 this.scClientControl.Location = new System.Drawing.Point(3, 3); 516 this.scClientControl.Name = "scClientControl"; 517 // 518 // scClientControl.Panel1 519 // 520 this.scClientControl.Panel1.Controls.Add(this.lvClientControl); 521 // 522 // scClientControl.Panel2 523 // 524 this.scClientControl.Panel2.Controls.Add(this.plClientDetails); 525 this.scClientControl.Size = new System.Drawing.Size(879, 386); 526 this.scClientControl.SplitterDistance = 454; 527 this.scClientControl.TabIndex = 0; 528 // 529 // lvClientControl 530 // 531 this.lvClientControl.AllowDrop = true; 532 this.lvClientControl.Dock = System.Windows.Forms.DockStyle.Fill; 533 this.lvClientControl.ImeMode = System.Windows.Forms.ImeMode.Off; 534 this.lvClientControl.LargeImageList = this.ilClientControl; 535 this.lvClientControl.Location = new System.Drawing.Point(0, 0); 536 this.lvClientControl.MultiSelect = false; 537 this.lvClientControl.Name = "lvClientControl"; 538 this.lvClientControl.Size = new System.Drawing.Size(454, 386); 539 this.lvClientControl.TabIndex = 0; 540 this.lvClientControl.UseCompatibleStateImageBehavior = false; 541 this.lvClientControl.Click += new System.EventHandler(this.OnLVClientClicked); 542 // 543 // tcManagementConsole 544 // 545 this.tcManagementConsole.Controls.Add(this.tpClientControl); 546 this.tcManagementConsole.Controls.Add(this.tpJobControl); 547 this.tcManagementConsole.Dock = System.Windows.Forms.DockStyle.Fill; 548 this.tcManagementConsole.Location = new System.Drawing.Point(0, 24); 549 this.tcManagementConsole.Name = "tcManagementConsole"; 550 this.tcManagementConsole.SelectedIndex = 0; 551 this.tcManagementConsole.Size = new System.Drawing.Size(893, 418); 552 this.tcManagementConsole.TabIndex = 1; 553 // 554 // checkBox1 555 // 556 this.checkBox1.AutoSize = true; 557 this.checkBox1.Location = new System.Drawing.Point(149, 114); 558 this.checkBox1.Name = "checkBox1"; 559 this.checkBox1.Size = new System.Drawing.Size(80, 17); 560 this.checkBox1.TabIndex = 0; 561 this.checkBox1.Text = "checkBox1"; 562 this.checkBox1.UseVisualStyleBackColor = true; 563 // 564 // HiveServerManagementConsole 565 // 566 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 567 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 568 this.ClientSize = new System.Drawing.Size(893, 442); 569 this.Controls.Add(this.tcManagementConsole); 570 this.Controls.Add(this.menuStrip1); 571 this.MainMenuStrip = this.menuStrip1; 572 this.Name = "HiveServerManagementConsole"; 573 this.Text = "Management Console"; 574 this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.HiveServerConsoleInformation_FormClosing); 575 this.menuStrip1.ResumeLayout(false); 576 this.menuStrip1.PerformLayout(); 577 this.plClientDetails.ResumeLayout(false); 578 this.plClientDetails.PerformLayout(); 579 ((System.ComponentModel.ISupportInitialize)(this.pbClientControl)).EndInit(); 580 this.plUserDetails.ResumeLayout(false); 581 this.plUserDetails.PerformLayout(); 582 ((System.ComponentModel.ISupportInitialize)(this.pbUserControl)).EndInit(); 583 this.plJobDetails.ResumeLayout(false); 584 this.plJobDetails.PerformLayout(); 585 ((System.ComponentModel.ISupportInitialize)(this.pbJobControl)).EndInit(); 586 ((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).EndInit(); 587 this.tpJobControl.ResumeLayout(false); 588 this.scJobControl.Panel1.ResumeLayout(false); 589 this.scJobControl.Panel2.ResumeLayout(false); 590 this.scJobControl.ResumeLayout(false); 591 this.tpClientControl.ResumeLayout(false); 592 this.scClientControl.Panel1.ResumeLayout(false); 593 this.scClientControl.Panel2.ResumeLayout(false); 594 this.scClientControl.ResumeLayout(false); 595 this.tcManagementConsole.ResumeLayout(false); 596 this.ResumeLayout(false); 597 this.PerformLayout(); 596 598 597 599 } -
trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.cs
r1509 r1512 79 79 } 80 80 81 82 private int CapacityRam(int noCores, int freeCores) { 83 return (((noCores - freeCores) / noCores) * 100); 84 } 85 81 86 /// <summary> 82 87 /// Adds clients to ListView and TreeView … … 91 96 clients = clientManager.GetAllClientGroups(); 92 97 lvClientControl.Items.Clear(); 93 int count = 0;94 98 List<Guid> inGroup = new List<Guid>(); 95 99 foreach (ClientGroup cg in clients.List) { … … 100 104 item = new ListViewItem(ci.Name, 3, lvg); 101 105 } else { 102 item = new ListViewItem(ci.Name, count, lvg); 106 int percentageUsage = CapacityRam(ci.NrOfCores, ci.NrOfFreeCores); 107 int usage = 0; 108 if ((percentageUsage >= 0) && (percentageUsage <= 25)) { 109 usage = 0; 110 } else if ((percentageUsage > 25) && (percentageUsage <= 75)) { 111 usage = 1; 112 } else if ((percentageUsage > 75) && (percentageUsage <= 100)) { 113 usage = 2; 114 } 115 116 item = new ListViewItem(ci.Name, usage, lvg); 103 117 } 104 118 item.Tag = ci.Id; 105 119 lvClientControl.Items.Add(item); 106 120 clientInfoObjects.Add(ci.Id, item); 107 count = (count + 1) % 3;108 121 inGroup.Add(ci.Id); 109 122 … … 130 143 item = new ListViewItem(ci.Name, 3, lvunsorted); 131 144 } else { 132 item = new ListViewItem(ci.Name, count, lvunsorted); 145 int percentageUsage = CapacityRam(ci.NrOfCores, ci.NrOfFreeCores); 146 int usage = 0; 147 if ((percentageUsage >= 0) && (percentageUsage <= 25)) { 148 usage = 0; 149 } else if ((percentageUsage > 25) && (percentageUsage <= 75)) { 150 usage = 1; 151 } else if ((percentageUsage > 75) && (percentageUsage <= 100)) { 152 usage = 2; 153 } 154 item = new ListViewItem(ci.Name, usage, lvunsorted); 133 155 } 134 156 item.Tag = ci.Id; 135 157 lvClientControl.Items.Add(item); 136 count = (count + 1) % 3;137 158 } 138 159 } … … 213 234 /// </summary> 214 235 private void ClientClicked() { 236 plClientDetails.Visible = true; 215 237 int i = 0; 216 238 while (clientInfo.List[i].Id.ToString() != nameCurrentClient) { … … 218 240 } 219 241 currentClient = clientInfo.List[i]; 220 pbClientControl.Image = ilClientControl.Images[0]; 242 int percentageUsage = CapacityRam(currentClient.NrOfCores, currentClient.NrOfFreeCores); 243 int usage = 3; 244 if ((currentClient.State != State.offline) && (currentClient.State != State.nullState)) { 245 if ((percentageUsage >= 0) && (percentageUsage <= 25)) { 246 usage = 0; 247 } else if ((percentageUsage > 25) && (percentageUsage <= 75)) { 248 usage = 1; 249 } else if ((percentageUsage > 75) && (percentageUsage <= 100)) { 250 usage = 2; 251 } 252 } 253 pbClientControl.Image = ilClientControl.Images[usage]; 221 254 lblClientName.Text = currentClient.Name; 222 255 lblLogin.Text = currentClient.Login.ToString(); … … 228 261 /// </summary> 229 262 private void JobClicked() { 263 plJobDetails.Visible = true; 230 264 int i = 0; 231 265 while (jobs.List[i].Id.ToString() != nameCurrentJob) { 232 266 i++; 233 267 } 234 lvSnapshots.Enabled = false;268 lvSnapshots.Enabled = true; 235 269 currentJob = jobs.List[i]; 236 270 pbJobControl.Image = ilJobControl.Images[0]; … … 262 296 } 263 297 if (currentJob.State != State.offline) { 264 lvSnapshots. Enabled= true;298 lvSnapshots.Visible = true; 265 299 } else { 266 lvSnapshots. Enabled= false;300 lvSnapshots.Visible = false; 267 301 } 268 302 } … … 329 363 State state = clientInfo.List[change.Position].State; 330 364 System.Diagnostics.Debug.WriteLine(lvClientControl.Items[i].Text.ToString()); 365 int percentageUsage = CapacityRam(currentClient.NrOfCores, currentClient.NrOfFreeCores); 331 366 if ((state == State.offline) || (state == State.nullState)) { 332 367 lvClientControl.Items[i].ImageIndex = 3; 333 368 } else { 334 lvClientControl.Items[i].ImageIndex = 1; 369 if ((percentageUsage >= 0) && (percentageUsage <= 25)) { 370 lvClientControl.Items[i].ImageIndex = 0; 371 } else if ((percentageUsage > 25) && (percentageUsage <= 75)) { 372 lvClientControl.Items[i].ImageIndex = 1; 373 } else if ((percentageUsage > 75) && (percentageUsage <= 100)) { 374 lvClientControl.Items[i].ImageIndex = 2; 375 } 376 335 377 } 336 378 lvClientControl.Refresh(); … … 497 539 if (ci.Id.Equals(cio.Id)) { 498 540 found = true; 499 if ( ci.State != cio.State) {541 if ((ci.State != cio.State) || (ci.NrOfFreeCores != ci.NrOfFreeCores)) { 500 542 changes.Add(new Changes { Types = Type.Client, ID = ci.Id, ChangeType = Change.Update, Position = i }); 501 543 } … … 573 615 found = true; 574 616 if (job.State != State.offline) { 575 if (!IsEqual(job.Client, jobold.Client)) { 576 changes.Add(new Changes { Types = Type.Job, ID = job.Id, ChangeType = Change.Update, Position = i }); 577 } else if (job.State != jobold.State) { 617 if ((!IsEqual(job.Client, jobold.Client)) || (job.State != jobold.State) 618 || (job.Percentage != jobold.Percentage)) { 578 619 changes.Add(new Changes { Types = Type.Job, ID = job.Id, ChangeType = Change.Update, Position = i }); 579 620 } -
trunk/sources/HeuristicLab.Hive.Server.Console/HiveServerManagementConsole.resx
r1495 r1512 129 129 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 130 130 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABo 131 FwAAAk1TRnQBSQFMAgEBBAEAAQ wBAAEEAQABIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo131 FwAAAk1TRnQBSQFMAgEBBAEAAQkBAAEEAQABIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo 132 132 AwABgAMAAUADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA 133 133 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
Note: See TracChangeset
for help on using the changeset viewer.