Changeset 3547 for trunk/sources/HeuristicLab.PluginInfrastructure
- Timestamp:
- 04/27/10 21:30:24 (15 years ago)
- Location:
- trunk/sources/HeuristicLab.PluginInfrastructure
- Files:
-
- 9 added
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerControl.cs
r3090 r3547 30 30 namespace HeuristicLab.PluginInfrastructure.Advanced { 31 31 internal partial class InstallationManagerControl : UserControl { 32 public InstallationManagerControl() { 33 InitializeComponent(); 32 private IStatusView statusView; 33 public IStatusView StatusView { 34 get { return statusView; } 35 set { statusView = value; } 34 36 } 35 37 36 internal virtual void ShowInForm() { 37 Form form = new Form(); 38 form.ClientSize = this.Size; 39 form.Text = this.Name; 40 this.Dock = DockStyle.Fill; 41 form.Controls.Add(this); 42 form.Show(); 38 public InstallationManagerControl() 39 : base() { 40 InitializeComponent(); 43 41 } 44 42 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.Designer.cs
r3509 r3547 48 48 this.toolStripProgressBar = new System.Windows.Forms.ToolStripProgressBar(); 49 49 this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel(); 50 this.removeButton = new System.Windows.Forms.Button();51 this.installButton = new System.Windows.Forms.Button();52 50 this.tabControl = new System.Windows.Forms.TabControl(); 51 this.updateAllPluginsTabPage = new System.Windows.Forms.TabPage(); 52 this.basicUpdateView = new HeuristicLab.PluginInfrastructure.Advanced.BasicUpdateView(); 53 53 this.localPluginsTabPage = new System.Windows.Forms.TabPage(); 54 this. updateButton = new System.Windows.Forms.Button();54 this.localPluginsView = new HeuristicLab.PluginInfrastructure.Advanced.LocalPluginsView(); 55 55 this.availablePluginsTabPage = new System.Windows.Forms.TabPage(); 56 this.re freshButton = new System.Windows.Forms.Button();56 this.remotePluginInstaller = new HeuristicLab.PluginInfrastructure.Advanced.RemotePluginInstallerView(); 57 57 this.uploadPluginsTabPage = new System.Windows.Forms.TabPage(); 58 this.pluginEditor = new HeuristicLab.PluginInfrastructure.Advanced.PluginEditor(); 58 59 this.manageProductsTabPage = new System.Windows.Forms.TabPage(); 60 this.productEditor = new HeuristicLab.PluginInfrastructure.Advanced.ProductEditor(); 59 61 this.logTabPage = new System.Windows.Forms.TabPage(); 60 62 this.logTextBox = new System.Windows.Forms.TextBox(); … … 65 67 this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 66 68 this.connectionSettingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); 67 this.localPluginManagerView = new HeuristicLab.PluginInfrastructure.Advanced.LocalPluginManagerView();68 this.remotePluginInstaller = new HeuristicLab.PluginInfrastructure.Advanced.RemotePluginInstallerView();69 this.pluginEditor = new HeuristicLab.PluginInfrastructure.Advanced.PluginEditor();70 this.productEditor = new HeuristicLab.PluginInfrastructure.Advanced.ProductEditor();71 69 this.statusStrip.SuspendLayout(); 72 70 this.tabControl.SuspendLayout(); 71 this.updateAllPluginsTabPage.SuspendLayout(); 73 72 this.localPluginsTabPage.SuspendLayout(); 74 73 this.availablePluginsTabPage.SuspendLayout(); … … 84 83 this.toolStripProgressBar, 85 84 this.toolStripStatusLabel}); 86 this.statusStrip.Location = new System.Drawing.Point(0, 398);85 this.statusStrip.Location = new System.Drawing.Point(0, 422); 87 86 this.statusStrip.Name = "statusStrip"; 88 this.statusStrip.Size = new System.Drawing.Size(6 15, 22);87 this.statusStrip.Size = new System.Drawing.Size(622, 22); 89 88 this.statusStrip.TabIndex = 0; 90 89 // … … 102 101 this.toolStripStatusLabel.Size = new System.Drawing.Size(0, 17); 103 102 // 104 // removeButton105 //106 this.removeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));107 this.removeButton.Enabled = false;108 this.removeButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_CommonElements_Actions_Remove;109 this.removeButton.Location = new System.Drawing.Point(103, 305);110 this.removeButton.Name = "removeButton";111 this.removeButton.Size = new System.Drawing.Size(110, 31);112 this.removeButton.TabIndex = 11;113 this.removeButton.Text = "Delete Selected";114 this.removeButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;115 this.removeButton.UseVisualStyleBackColor = true;116 this.removeButton.Click += new System.EventHandler(this.removeLocalButton_Click);117 //118 // installButton119 //120 this.installButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));121 this.installButton.Enabled = false;122 this.installButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Install;123 this.installButton.Location = new System.Drawing.Point(84, 305);124 this.installButton.Name = "installButton";125 this.installButton.Size = new System.Drawing.Size(140, 31);126 this.installButton.TabIndex = 15;127 this.installButton.Text = "Install Selected Items";128 this.installButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;129 this.installButton.UseVisualStyleBackColor = true;130 this.installButton.Click += new System.EventHandler(this.updateOrInstallButton_Click);131 //132 103 // tabControl 133 104 // … … 135 106 | System.Windows.Forms.AnchorStyles.Left) 136 107 | System.Windows.Forms.AnchorStyles.Right))); 108 this.tabControl.Controls.Add(this.updateAllPluginsTabPage); 137 109 this.tabControl.Controls.Add(this.localPluginsTabPage); 138 110 this.tabControl.Controls.Add(this.availablePluginsTabPage); … … 143 115 this.tabControl.Name = "tabControl"; 144 116 this.tabControl.SelectedIndex = 0; 145 this.tabControl.Size = new System.Drawing.Size(59 1, 368);117 this.tabControl.Size = new System.Drawing.Size(598, 392); 146 118 this.tabControl.TabIndex = 16; 147 119 this.tabControl.Selected += new System.Windows.Forms.TabControlEventHandler(this.tabControl_Selected); 148 120 // 121 // updateAllPluginsTabPage 122 // 123 this.updateAllPluginsTabPage.Controls.Add(this.basicUpdateView); 124 this.updateAllPluginsTabPage.Location = new System.Drawing.Point(4, 22); 125 this.updateAllPluginsTabPage.Name = "updateAllPluginsTabPage"; 126 this.updateAllPluginsTabPage.Padding = new System.Windows.Forms.Padding(3); 127 this.updateAllPluginsTabPage.Size = new System.Drawing.Size(590, 366); 128 this.updateAllPluginsTabPage.TabIndex = 5; 129 this.updateAllPluginsTabPage.Text = "Update Plugins"; 130 this.updateAllPluginsTabPage.UseVisualStyleBackColor = true; 131 // 132 // basicUpdateView 133 // 134 this.basicUpdateView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 135 | System.Windows.Forms.AnchorStyles.Left) 136 | System.Windows.Forms.AnchorStyles.Right))); 137 this.basicUpdateView.InstallationManager = null; 138 this.basicUpdateView.Location = new System.Drawing.Point(6, 6); 139 this.basicUpdateView.Name = "basicUpdateView"; 140 this.basicUpdateView.PluginManager = null; 141 this.basicUpdateView.Size = new System.Drawing.Size(578, 354); 142 this.basicUpdateView.StatusView = null; 143 this.basicUpdateView.TabIndex = 0; 144 // 149 145 // localPluginsTabPage 150 146 // 151 this.localPluginsTabPage.Controls.Add(this.updateButton); 152 this.localPluginsTabPage.Controls.Add(this.removeButton); 153 this.localPluginsTabPage.Controls.Add(this.localPluginManagerView); 147 this.localPluginsTabPage.Controls.Add(this.localPluginsView); 154 148 this.localPluginsTabPage.Location = new System.Drawing.Point(4, 22); 155 149 this.localPluginsTabPage.Name = "localPluginsTabPage"; 156 150 this.localPluginsTabPage.Padding = new System.Windows.Forms.Padding(3); 157 this.localPluginsTabPage.Size = new System.Drawing.Size(5 83, 342);151 this.localPluginsTabPage.Size = new System.Drawing.Size(590, 366); 158 152 this.localPluginsTabPage.TabIndex = 0; 159 153 this.localPluginsTabPage.Text = "Installed Plugins"; 160 154 this.localPluginsTabPage.UseVisualStyleBackColor = true; 161 155 // 162 // updateButton 163 // 164 this.updateButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 165 this.updateButton.Enabled = false; 166 this.updateButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Internet; 167 this.updateButton.Location = new System.Drawing.Point(6, 305); 168 this.updateButton.Name = "updateButton"; 169 this.updateButton.Size = new System.Drawing.Size(91, 31); 170 this.updateButton.TabIndex = 12; 171 this.updateButton.Text = "Update All"; 172 this.updateButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 173 this.updateButton.UseVisualStyleBackColor = true; 174 this.updateButton.Click += new System.EventHandler(this.updateAllButton_Click); 156 // localPluginsView 157 // 158 this.localPluginsView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 159 | System.Windows.Forms.AnchorStyles.Left) 160 | System.Windows.Forms.AnchorStyles.Right))); 161 this.localPluginsView.InstallationManager = null; 162 this.localPluginsView.Location = new System.Drawing.Point(6, 6); 163 this.localPluginsView.Name = "localPluginsView"; 164 this.localPluginsView.PluginManager = null; 165 this.localPluginsView.Size = new System.Drawing.Size(578, 354); 166 this.localPluginsView.StatusView = null; 167 this.localPluginsView.TabIndex = 0; 175 168 // 176 169 // availablePluginsTabPage 177 170 // 178 171 this.availablePluginsTabPage.Controls.Add(this.remotePluginInstaller); 179 this.availablePluginsTabPage.Controls.Add(this.refreshButton);180 this.availablePluginsTabPage.Controls.Add(this.installButton);181 172 this.availablePluginsTabPage.Location = new System.Drawing.Point(4, 22); 182 173 this.availablePluginsTabPage.Name = "availablePluginsTabPage"; 183 174 this.availablePluginsTabPage.Padding = new System.Windows.Forms.Padding(3); 184 this.availablePluginsTabPage.Size = new System.Drawing.Size(5 83, 342);175 this.availablePluginsTabPage.Size = new System.Drawing.Size(590, 366); 185 176 this.availablePluginsTabPage.TabIndex = 1; 186 177 this.availablePluginsTabPage.Text = "Available Plugins"; 187 178 this.availablePluginsTabPage.UseVisualStyleBackColor = true; 188 179 // 189 // refreshButton 190 // 191 this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 192 this.refreshButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Internet; 193 this.refreshButton.Location = new System.Drawing.Point(6, 305); 194 this.refreshButton.Name = "refreshButton"; 195 this.refreshButton.Size = new System.Drawing.Size(72, 31); 196 this.refreshButton.TabIndex = 11; 197 this.refreshButton.Text = "Refresh"; 198 this.refreshButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 199 this.refreshButton.UseVisualStyleBackColor = true; 200 this.refreshButton.Click += new System.EventHandler(this.refreshRemoteButton_Click); 180 // remotePluginInstaller 181 // 182 this.remotePluginInstaller.AllPlugins = new HeuristicLab.PluginInfrastructure.IPluginDescription[0]; 183 this.remotePluginInstaller.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 184 | System.Windows.Forms.AnchorStyles.Left) 185 | System.Windows.Forms.AnchorStyles.Right))); 186 this.remotePluginInstaller.Location = new System.Drawing.Point(6, 6); 187 this.remotePluginInstaller.Name = "remotePluginInstaller"; 188 this.remotePluginInstaller.NewPlugins = new HeuristicLab.PluginInfrastructure.IPluginDescription[0]; 189 this.remotePluginInstaller.Products = new HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.ProductDescription[0]; 190 this.remotePluginInstaller.ShowAllPlugins = false; 191 this.remotePluginInstaller.Size = new System.Drawing.Size(578, 354); 192 this.remotePluginInstaller.TabIndex = 14; 201 193 // 202 194 // uploadPluginsTabPage … … 206 198 this.uploadPluginsTabPage.Name = "uploadPluginsTabPage"; 207 199 this.uploadPluginsTabPage.Padding = new System.Windows.Forms.Padding(3); 208 this.uploadPluginsTabPage.Size = new System.Drawing.Size(5 83, 342);200 this.uploadPluginsTabPage.Size = new System.Drawing.Size(590, 366); 209 201 this.uploadPluginsTabPage.TabIndex = 3; 210 202 this.uploadPluginsTabPage.Text = "Upload Plugins"; 211 203 this.uploadPluginsTabPage.UseVisualStyleBackColor = true; 204 // 205 // pluginEditor 206 // 207 this.pluginEditor.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 208 | System.Windows.Forms.AnchorStyles.Left) 209 | System.Windows.Forms.AnchorStyles.Right))); 210 this.pluginEditor.Location = new System.Drawing.Point(6, 6); 211 this.pluginEditor.Name = "pluginEditor"; 212 this.pluginEditor.PluginManager = null; 213 this.pluginEditor.Size = new System.Drawing.Size(578, 354); 214 this.pluginEditor.TabIndex = 0; 212 215 // 213 216 // manageProductsTabPage … … 217 220 this.manageProductsTabPage.Name = "manageProductsTabPage"; 218 221 this.manageProductsTabPage.Padding = new System.Windows.Forms.Padding(3); 219 this.manageProductsTabPage.Size = new System.Drawing.Size(5 83, 342);222 this.manageProductsTabPage.Size = new System.Drawing.Size(590, 366); 220 223 this.manageProductsTabPage.TabIndex = 4; 221 224 this.manageProductsTabPage.Text = "Manage Products"; 222 225 this.manageProductsTabPage.UseVisualStyleBackColor = true; 223 226 // 227 // productEditor 228 // 229 this.productEditor.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 230 | System.Windows.Forms.AnchorStyles.Left) 231 | System.Windows.Forms.AnchorStyles.Right))); 232 this.productEditor.Location = new System.Drawing.Point(6, 6); 233 this.productEditor.Name = "productEditor"; 234 this.productEditor.Size = new System.Drawing.Size(578, 354); 235 this.productEditor.TabIndex = 0; 236 // 224 237 // logTabPage 225 238 // … … 227 240 this.logTabPage.Location = new System.Drawing.Point(4, 22); 228 241 this.logTabPage.Name = "logTabPage"; 229 this.logTabPage.Size = new System.Drawing.Size(5 83, 342);242 this.logTabPage.Size = new System.Drawing.Size(590, 366); 230 243 this.logTabPage.TabIndex = 2; 231 244 this.logTabPage.Text = "Log"; … … 242 255 this.logTextBox.ReadOnly = true; 243 256 this.logTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; 244 this.logTextBox.Size = new System.Drawing.Size(5 77, 336);257 this.logTextBox.Size = new System.Drawing.Size(584, 360); 245 258 this.logTextBox.TabIndex = 0; 246 259 // … … 252 265 this.menuStrip.Location = new System.Drawing.Point(0, 0); 253 266 this.menuStrip.Name = "menuStrip"; 254 this.menuStrip.Size = new System.Drawing.Size(6 15, 24);267 this.menuStrip.Size = new System.Drawing.Size(622, 24); 255 268 this.menuStrip.TabIndex = 17; 256 269 this.menuStrip.Text = "menuStrip1"; … … 300 313 this.connectionSettingsToolStripMenuItem.Click += new System.EventHandler(this.connectionSettingsToolStripMenuItem_Click); 301 314 // 302 // localPluginManagerView303 //304 this.localPluginManagerView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)305 | System.Windows.Forms.AnchorStyles.Left)306 | System.Windows.Forms.AnchorStyles.Right)));307 this.localPluginManagerView.Location = new System.Drawing.Point(6, 6);308 this.localPluginManagerView.Name = "localPluginManagerView";309 this.localPluginManagerView.Plugins = null;310 this.localPluginManagerView.Size = new System.Drawing.Size(569, 293);311 this.localPluginManagerView.TabIndex = 0;312 this.localPluginManagerView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.localPluginManager_ItemChecked);313 //314 // remotePluginInstaller315 //316 this.remotePluginInstaller.AllPlugins = new HeuristicLab.PluginInfrastructure.IPluginDescription[0];317 this.remotePluginInstaller.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)318 | System.Windows.Forms.AnchorStyles.Left)319 | System.Windows.Forms.AnchorStyles.Right)));320 this.remotePluginInstaller.Location = new System.Drawing.Point(6, 6);321 this.remotePluginInstaller.Name = "remotePluginInstaller";322 this.remotePluginInstaller.NewPlugins = new HeuristicLab.PluginInfrastructure.IPluginDescription[0];323 this.remotePluginInstaller.Products = new HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.ProductDescription[0];324 this.remotePluginInstaller.ShowAllPlugins = false;325 this.remotePluginInstaller.Size = new System.Drawing.Size(571, 293);326 this.remotePluginInstaller.TabIndex = 14;327 this.remotePluginInstaller.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.remotePluginInstaller_ItemChecked);328 //329 // pluginEditor330 //331 this.pluginEditor.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)332 | System.Windows.Forms.AnchorStyles.Left)333 | System.Windows.Forms.AnchorStyles.Right)));334 this.pluginEditor.Location = new System.Drawing.Point(6, 6);335 this.pluginEditor.Name = "pluginEditor";336 this.pluginEditor.Size = new System.Drawing.Size(571, 330);337 this.pluginEditor.TabIndex = 0;338 //339 // productEditor340 //341 this.productEditor.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)342 | System.Windows.Forms.AnchorStyles.Left)343 | System.Windows.Forms.AnchorStyles.Right)));344 this.productEditor.Location = new System.Drawing.Point(6, 6);345 this.productEditor.Name = "productEditor";346 this.productEditor.Size = new System.Drawing.Size(571, 330);347 this.productEditor.TabIndex = 0;348 //349 315 // InstallationManagerForm 350 316 // 351 317 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 352 318 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 353 this.ClientSize = new System.Drawing.Size(6 15, 420);319 this.ClientSize = new System.Drawing.Size(622, 444); 354 320 this.Controls.Add(this.tabControl); 355 321 this.Controls.Add(this.statusStrip); … … 362 328 this.statusStrip.PerformLayout(); 363 329 this.tabControl.ResumeLayout(false); 330 this.updateAllPluginsTabPage.ResumeLayout(false); 364 331 this.localPluginsTabPage.ResumeLayout(false); 365 332 this.availablePluginsTabPage.ResumeLayout(false); … … 380 347 private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar; 381 348 private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel; 382 private LocalPluginManagerView localPluginManagerView;383 349 private RemotePluginInstallerView remotePluginInstaller; 384 private System.Windows.Forms.Button removeButton;385 private System.Windows.Forms.Button installButton;386 350 private System.Windows.Forms.TabControl tabControl; 387 351 private System.Windows.Forms.TabPage localPluginsTabPage; … … 389 353 private System.Windows.Forms.TabPage logTabPage; 390 354 private System.Windows.Forms.TextBox logTextBox; 391 private System.Windows.Forms.Button refreshButton;392 355 private System.Windows.Forms.MenuStrip menuStrip; 393 356 private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem; … … 396 359 private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; 397 360 private System.Windows.Forms.ToolStripMenuItem connectionSettingsToolStripMenuItem; 398 private System.Windows.Forms.Button updateButton;399 361 private System.Windows.Forms.TabPage uploadPluginsTabPage; 400 362 private System.Windows.Forms.TabPage manageProductsTabPage; 401 363 private PluginEditor pluginEditor; 402 364 private ProductEditor productEditor; 365 private LocalPluginsView localPluginsView; 366 private System.Windows.Forms.TabPage updateAllPluginsTabPage; 367 private BasicUpdateView basicUpdateView; 403 368 } 404 369 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.cs
r3508 r3547 31 31 32 32 namespace HeuristicLab.PluginInfrastructure.Advanced { 33 internal partial class InstallationManagerForm : Form { 34 private class UpdateOrInstallPluginsBackgroundWorkerArgument { 35 public IEnumerable<IPluginDescription> PluginsToUpdate { get; set; } 36 public IEnumerable<IPluginDescription> PluginsToInstall { get; set; } 37 } 38 39 private class RemovePluginsBackgroundWorkerArgument { 40 public IEnumerable<IPluginDescription> PluginsToRemove { get; set; } 41 } 42 43 private class RefreshBackgroundWorkerResult { 44 public IEnumerable<IPluginDescription> RemotePlugins { get; set; } 45 public IEnumerable<DeploymentService.ProductDescription> RemoteProducts { get; set; } 46 } 47 33 internal partial class InstallationManagerForm : Form, IStatusView { 48 34 private InstallationManager installationManager; 49 private BackgroundWorker refreshServerPluginsBackgroundWorker;50 private BackgroundWorker updateOrInstallPluginsBackgroundWorker;51 private BackgroundWorker removePluginsBackgroundWorker;52 private BackgroundWorker refreshLocalPluginsBackgroundWorker;53 private BackgroundWorker updateAllPluginsBackgroundWorker;54 35 private PluginManager pluginManager; 55 36 private string pluginDir; … … 58 39 InitializeComponent(); 59 40 this.pluginManager = pluginManager; 41 60 42 pluginManager.PluginLoaded += pluginManager_PluginLoaded; 61 43 pluginManager.PluginUnloaded += pluginManager_PluginUnloaded; … … 64 46 65 47 pluginDir = Application.StartupPath; 66 67 #region initialize background workers68 refreshServerPluginsBackgroundWorker = new BackgroundWorker();69 refreshServerPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(refreshServerPluginsBackgroundWorker_DoWork);70 refreshServerPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(refreshServerPluginsBackgroundWorker_RunWorkerCompleted);71 72 updateOrInstallPluginsBackgroundWorker = new BackgroundWorker();73 updateOrInstallPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(updateOrInstallPluginsBackgroundWorker_DoWork);74 updateOrInstallPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(updateOrInstallPluginsBackgroundWorker_RunWorkerCompleted);75 76 removePluginsBackgroundWorker = new BackgroundWorker();77 removePluginsBackgroundWorker.DoWork += new DoWorkEventHandler(removePluginsBackgroundWorker_DoWork);78 removePluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(removePluginsBackgroundWorker_RunWorkerCompleted);79 80 refreshLocalPluginsBackgroundWorker = new BackgroundWorker();81 refreshLocalPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(refreshLocalPluginsBackgroundWorker_DoWork);82 refreshLocalPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(refreshLocalPluginsBackgroundWorker_RunWorkerCompleted);83 84 updateAllPluginsBackgroundWorker = new BackgroundWorker();85 updateAllPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(updateAllPluginsBackgroundWorker_DoWork);86 updateAllPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(updateAllPluginsBackgroundWorker_RunWorkerCompleted);87 #endregion88 48 89 49 installationManager = new InstallationManager(pluginDir); … … 99 59 tabControl.Controls.Remove(uploadPluginsTabPage); 100 60 tabControl.Controls.Remove(manageProductsTabPage); 101 }102 103 UpdateLocalPluginList(pluginManager.Plugins);104 UpdateControlsConnected();105 }106 107 #region event handlers for update all plugins backgroundworker108 void updateAllPluginsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {109 if (e.Error != null) {110 MessageBox.Show("There was an error while connecting to the server." + Environment.NewLine +111 "Please check your connection settings and user credentials.");112 UpdateControlsDisconnected();113 61 } else { 114 RefreshLocalPluginListAsync(); 115 UpdateControlsConnected(); 116 } 117 } 118 119 void updateAllPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { 120 IEnumerable<IPluginDescription> installedPlugins = (IEnumerable<IPluginDescription>)e.Argument; 121 var remotePlugins = installationManager.GetRemotePluginList(); 122 // if there is a local plugin with same name and same major and minor version then it's an update 123 var pluginsToUpdate = from remotePlugin in remotePlugins 124 let matchingLocalPlugins = from installedPlugin in installedPlugins 125 where installedPlugin.Name == remotePlugin.Name 126 where installedPlugin.Version.Major == remotePlugin.Version.Major 127 where installedPlugin.Version.Minor == remotePlugin.Version.Minor 128 where installedPlugin.Version.Build <= remotePlugin.Version.Build || 129 installedPlugin.Version.Revision < remotePlugin.Version.Revision 130 select installedPlugin 131 where matchingLocalPlugins.Count() > 0 132 select remotePlugin; 133 installationManager.Update(pluginsToUpdate); 134 } 135 #endregion 136 137 #region event handlers for refresh local plugin list backgroundworker 138 void refreshLocalPluginsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 139 if (!e.Cancelled && e.Error == null) { 140 UpdateLocalPluginList((IEnumerable<PluginDescription>)e.Result); 141 UpdateControlsConnected(); 142 } 143 } 144 145 void refreshLocalPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { 146 pluginManager.DiscoverAndCheckPlugins(); 147 e.Result = new List<PluginDescription>(pluginManager.Plugins); 148 } 149 #endregion 150 151 #region event handlers for plugin removal background worker 152 void removePluginsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 153 if (e.Error != null) { 154 MessageBox.Show("There was problem while deleting files." + Environment.NewLine + 155 e.Error.Message); 156 UpdateControlsDisconnected(); 157 } else { 158 RefreshLocalPluginListAsync(); 159 UpdateControlsConnected(); 160 } 161 } 162 163 void removePluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { 164 IEnumerable<IPluginDescription> pluginsToRemove = (IEnumerable<IPluginDescription>)e.Argument; 165 installationManager.Remove(pluginsToRemove); 166 } 167 #endregion 168 169 #region event handlers for plugin update background worker 170 void updateOrInstallPluginsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 171 if (e.Error != null) { 172 MessageBox.Show("There was an error while connecting to the server." + Environment.NewLine + 173 "Please check your connection settings and user credentials."); 174 UpdateControlsDisconnected(); 175 } else { 176 RefreshLocalPluginListAsync(); 177 RefreshRemotePluginListAsync(); 178 UpdateControlsConnected(); 179 } 180 } 181 182 void updateOrInstallPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { 183 UpdateOrInstallPluginsBackgroundWorkerArgument info = (UpdateOrInstallPluginsBackgroundWorkerArgument)e.Argument; 184 installationManager.Install(info.PluginsToInstall); 185 installationManager.Update(info.PluginsToUpdate); 186 } 187 #endregion 188 189 #region event handlers for refresh server plugins background worker 190 void refreshServerPluginsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 191 if (e.Error != null) { 192 MessageBox.Show("There was an error while connecting to the server." + Environment.NewLine + 193 "Please check your connection settings and user credentials."); 194 UpdateControlsDisconnected(); 195 } else { 196 RefreshBackgroundWorkerResult refreshResult = (RefreshBackgroundWorkerResult)e.Result; 197 UpdateRemotePluginList(refreshResult.RemoteProducts, refreshResult.RemotePlugins); 198 UpdateControlsConnected(); 199 } 200 } 201 202 void refreshServerPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { 203 RefreshBackgroundWorkerResult result = new RefreshBackgroundWorkerResult(); 204 result.RemotePlugins = installationManager.GetRemotePluginList(); 205 result.RemoteProducts = installationManager.GetRemoteProductList(); 206 e.Cancel = false; 207 e.Result = result; 208 } 209 210 211 212 #endregion 62 pluginEditor.PluginManager = pluginManager; 63 } 64 65 localPluginsView.StatusView = this; 66 localPluginsView.PluginManager = pluginManager; 67 localPluginsView.InstallationManager = installationManager; 68 69 basicUpdateView.StatusView = this; 70 basicUpdateView.PluginManager = pluginManager; 71 basicUpdateView.InstallationManager = installationManager; 72 73 remotePluginInstaller.StatusView = this; 74 remotePluginInstaller.InstallationManager = installationManager; 75 remotePluginInstaller.PluginManager = pluginManager; 76 } 77 213 78 214 79 #region plugin manager event handlers … … 267 132 #endregion 268 133 269 270 271 134 #region button events 272 273 private void refreshRemoteButton_Click(object sender, EventArgs e) {274 Cursor = Cursors.AppStarting;275 RefreshRemotePluginListAsync();276 toolStripProgressBar.Visible = true;277 DisableControls();278 }279 280 private void updateOrInstallButton_Click(object sender, EventArgs e) {281 Cursor = Cursors.AppStarting;282 toolStripProgressBar.Visible = true;283 DisableControls();284 var updateOrInstallInfo = new UpdateOrInstallPluginsBackgroundWorkerArgument();285 // if there is a local plugin with same name and same major and minor version then it's an update286 var pluginsToUpdate = from remotePlugin in remotePluginInstaller.CheckedPlugins287 let matchingLocalPlugins = from localPlugin in localPluginManagerView.Plugins288 where localPlugin.Name == remotePlugin.Name289 where localPlugin.Version.Major == remotePlugin.Version.Major290 where localPlugin.Version.Minor == remotePlugin.Version.Minor291 select localPlugin292 where matchingLocalPlugins.Count() > 0293 select remotePlugin;294 295 // otherwise install a new plugin296 var pluginsToInstall = remotePluginInstaller.CheckedPlugins.Except(pluginsToUpdate);297 298 updateOrInstallInfo.PluginsToInstall = pluginsToInstall;299 updateOrInstallInfo.PluginsToUpdate = pluginsToUpdate;300 updateOrInstallPluginsBackgroundWorker.RunWorkerAsync(updateOrInstallInfo);301 }302 303 private void removeLocalButton_Click(object sender, EventArgs e) {304 Cursor = Cursors.AppStarting;305 toolStripProgressBar.Visible = true;306 DisableControls();307 removePluginsBackgroundWorker.RunWorkerAsync(localPluginManagerView.CheckedPlugins);308 }309 310 private void updateAllButton_Click(object sender, EventArgs e) {311 Cursor = Cursors.AppStarting;312 toolStripProgressBar.Visible = true;313 updateButton.Enabled = false;314 var installedPlugins = pluginManager.Plugins.OfType<IPluginDescription>();315 updateAllPluginsBackgroundWorker.RunWorkerAsync(installedPlugins);316 }317 318 135 private void connectionSettingsToolStripMenuItem_Click(object sender, EventArgs e) { 319 136 new ConnectionSetupView().ShowDialog(); … … 321 138 322 139 private void tabControl_Selected(object sender, TabControlEventArgs e) { 323 viewToolStripMenuItem.Enabled = e.TabPage == availablePluginsTabPage; 140 viewToolStripMenuItem.Enabled = e.TabPage == availablePluginsTabPage; 141 toolStripStatusLabel.Text = string.Empty; 142 toolStripProgressBar.Visible = false; 324 143 } 325 144 … … 377 196 } 378 197 379 private void UpdateLocalPluginList(IEnumerable<PluginDescription> plugins) { 380 localPluginManagerView.Plugins = plugins; 381 } 382 383 private void UpdateRemotePluginList( 384 IEnumerable<DeploymentService.ProductDescription> remoteProducts, 385 IEnumerable<IPluginDescription> remotePlugins) { 386 387 var mostRecentRemotePlugins = from remote in remotePlugins 388 where !remotePlugins.Any(x => x.Name == remote.Name && x.Version > remote.Version) // same name and higher version 389 select remote; 390 391 var newPlugins = from remote in mostRecentRemotePlugins 392 let matchingLocal = (from local in localPluginManagerView.Plugins 393 where local.Name == remote.Name 394 where local.Version < remote.Version 395 select local).FirstOrDefault() 396 where matchingLocal != null 397 select remote; 398 399 remotePluginInstaller.NewPlugins = newPlugins; 400 remotePluginInstaller.Products = remoteProducts; 401 remotePluginInstaller.AllPlugins = remotePlugins; 402 } 403 404 private void RefreshRemotePluginListAsync() { 405 Cursor = Cursors.AppStarting; 406 toolStripProgressBar.Visible = true; 407 refreshButton.Enabled = false; 408 refreshServerPluginsBackgroundWorker.RunWorkerAsync(); 409 } 410 411 private void RefreshLocalPluginListAsync() { 412 Cursor = Cursors.AppStarting; 413 toolStripProgressBar.Visible = true; 414 DisableControls(); 415 refreshLocalPluginsBackgroundWorker.RunWorkerAsync(); 416 } 417 418 private void UpdateControlsDisconnected() { 419 //localPluginsListView.Enabled = false; 420 //ClearPluginsList(remotePluginsListView); 421 refreshButton.Enabled = true; 422 toolStripProgressBar.Visible = false; 423 Cursor = Cursors.Default; 424 } 425 426 private void UpdateControlsConnected() { 427 refreshButton.Enabled = true; 428 updateButton.Enabled = true; 429 toolStripProgressBar.Visible = false; 430 Cursor = Cursors.Default; 431 } 432 433 private void DisableControls() { 434 refreshButton.Enabled = false; 435 Cursor = Cursors.Default; 436 } 437 #endregion 438 439 private void localPluginManager_ItemChecked(object sender, ItemCheckedEventArgs e) { 440 removeButton.Enabled = localPluginManagerView.CheckedPlugins.Count() > 0; 441 } 442 443 private void remotePluginInstaller_ItemChecked(object sender, ItemCheckedEventArgs e) { 444 installButton.Enabled = remotePluginInstaller.CheckedPlugins.Count() > 0; 445 } 198 #endregion 199 446 200 447 201 protected override void OnClosing(CancelEventArgs e) { … … 455 209 } 456 210 457 458 459 211 #region IStatusView Members 212 213 public void ShowProgressIndicator(double percentProgress) { 214 if (percentProgress < 0.0 || percentProgress > 1.0) throw new ArgumentException(); 215 toolStripProgressBar.Visible = true; 216 toolStripProgressBar.Style = ProgressBarStyle.Continuous; 217 int range = toolStripProgressBar.Maximum - toolStripProgressBar.Minimum; 218 toolStripProgressBar.Value = (int)(percentProgress * range + toolStripProgressBar.Minimum); 219 } 220 221 public void ShowProgressIndicator() { 222 toolStripProgressBar.Visible = true; 223 toolStripProgressBar.Style = ProgressBarStyle.Marquee; 224 } 225 226 public void HideProgressIndicator() { 227 toolStripProgressBar.Visible = false; 228 } 229 230 public void ShowMessage(string message) { 231 if (toolStripStatusLabel.Text == string.Empty) 232 toolStripStatusLabel.Text = message; 233 else 234 toolStripStatusLabel.Text += "; " + message; 235 } 236 237 public void RemoveMessage(string message) { 238 if (toolStripStatusLabel.Text.IndexOf("; " + message) > 0) { 239 toolStripStatusLabel.Text = toolStripStatusLabel.Text.Replace("; " + message, ""); 240 } 241 toolStripStatusLabel.Text = toolStripStatusLabel.Text.Replace(message, ""); 242 toolStripStatusLabel.Text = toolStripStatusLabel.Text.TrimStart(' ', ';'); 243 } 244 public void LockUI() { 245 Cursor = Cursors.AppStarting; 246 tabControl.Enabled = false; 247 } 248 public void UnlockUI() { 249 tabControl.Enabled = true; 250 Cursor = Cursors.Default; 251 } 252 public void ShowError(string shortMessage, string description) { 253 logTextBox.Text += DateTime.Now + ": " + shortMessage + Environment.NewLine + description + Environment.NewLine; 254 MessageBox.Show(description, shortMessage); 255 } 256 #endregion 460 257 } 461 258 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginManager.Designer.cs
r3474 r3547 74 74 this.localPluginsListView.UseCompatibleStateImageBehavior = false; 75 75 this.localPluginsListView.View = System.Windows.Forms.View.Details; 76 this.localPluginsListView.ItemActivate += new System.EventHandler(this.localPluginsListView_ItemActivate);77 this.localPluginsListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.pluginsListView_ItemChecked);76 //this.localPluginsListView.ItemActivate += new System.EventHandler(this.localPluginsListView_ItemActivate); 77 //this.localPluginsListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.pluginsListView_ItemChecked); 78 78 // 79 79 // nameHeader -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/LocalPluginManager.cs
r3474 r3547 34 34 public event ItemCheckedEventHandler ItemChecked; 35 35 36 private BackgroundWorker refreshPluginListBackgroundWorker = new BackgroundWorker();37 38 private ListViewGroup enabledPluginsGroup;39 private ListViewGroup disabledPluginsGroup;40 36 41 37 public LocalPluginManagerView() { 42 38 InitializeComponent(); 43 39 44 enabledPluginsGroup = localPluginsListView.Groups["activePluginsGroup"]; 45 disabledPluginsGroup = localPluginsListView.Groups["disabledPluginsGroup"]; 40 46 41 } 47 48 private IEnumerable<PluginDescription> plugins; 49 public IEnumerable<PluginDescription> Plugins { 50 get { return plugins; } 51 set { 52 if (value != plugins) { 53 this.plugins = value; 54 UpdateControl(); 55 } 56 } 57 } 58 59 public IEnumerable<IPluginDescription> CheckedPlugins { 60 get { 61 return (from item in localPluginsListView.Items.OfType<ListViewItem>() 62 where item.Checked 63 let plugin = item.Tag as IPluginDescription 64 where plugin != null 65 select plugin).ToList(); 66 } 67 } 68 69 private void UpdateControl() { 70 ClearPluginList(); 71 localPluginsListView.SuppressItemCheckedEvents = true; 72 foreach (var plugin in plugins) { 73 var item = CreateListViewItem(plugin); 74 if (plugin.PluginState == PluginState.Enabled) { 75 item.Group = enabledPluginsGroup; 76 } else if (plugin.PluginState == PluginState.Disabled) { 77 item.Group = disabledPluginsGroup; 78 } 79 localPluginsListView.Items.Add(item); 80 } 81 localPluginsListView.SuppressItemCheckedEvents = false; 82 } 83 84 private void ClearPluginList() { 85 List<ListViewItem> itemsToRemove = new List<ListViewItem>(from item in localPluginsListView.Items.OfType<ListViewItem>() 86 select item); 87 itemsToRemove.ForEach(item => localPluginsListView.Items.Remove(item)); 88 } 89 90 private ListViewItem CreateListViewItem(PluginDescription plugin) { 91 ListViewItem item = new ListViewItem(new string[] { plugin.Name, plugin.Version.ToString(), plugin.Description }); 92 item.Tag = plugin; 93 return item; 94 } 95 96 private void pluginsListView_ItemChecked(object sender, ItemCheckedEventArgs e) { 97 // checked items are marked for removal 98 if (e.Item.Checked) { 99 List<ListViewItem> modifiedItems = new List<ListViewItem>(); 100 foreach (ListViewItem item in localPluginsListView.SelectedItems) { 101 var plugin = (IPluginDescription)item.Tag; 102 modifiedItems.Add(item); 103 // also uncheck all dependent plugins 104 foreach (ListViewItem dependentItem in localPluginsListView.Items) { 105 var dependent = (IPluginDescription)dependentItem.Tag; 106 if (!dependentItem.Checked && (from dep in dependent.Dependencies 107 where dep.Name == plugin.Name 108 where dep.Version == plugin.Version 109 select dep).Any()) { 110 modifiedItems.Add(dependentItem); 111 } 112 } 113 } 114 localPluginsListView.CheckItems(modifiedItems); 115 } else { 116 List<ListViewItem> modifiedItems = new List<ListViewItem>(); 117 foreach (ListViewItem item in localPluginsListView.SelectedItems) { 118 var plugin = (IPluginDescription)item.Tag; 119 modifiedItems.Add(item); 120 } 121 localPluginsListView.UncheckItems(modifiedItems); 122 } 123 OnItemChecked(e); 124 } 125 126 private void OnItemChecked(ItemCheckedEventArgs e) { 127 if (ItemChecked != null) ItemChecked(this, e); 128 } 129 130 private void localPluginsListView_ItemActivate(object sender, EventArgs e) { 131 if (localPluginsListView.SelectedItems.Count > 0) { 132 var plugin = (PluginDescription)localPluginsListView.SelectedItems[0].Tag; 133 PluginView pluginView = new PluginView(plugin); 134 pluginView.Show(); 135 } 136 } 42 137 43 } 138 44 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.Designer.cs
r3474 r3547 45 45 /// </summary> 46 46 private void InitializeComponent() { 47 this.uploadButton = new System.Windows.Forms.Button(); 47 48 this.refreshButton = new System.Windows.Forms.Button(); 48 this.uploadButton = new System.Windows.Forms.Button();49 49 this.listView = new HeuristicLab.PluginInfrastructure.Advanced.MultiSelectListView(); 50 50 this.pluginNameHeader = new System.Windows.Forms.ColumnHeader(); … … 54 54 this.SuspendLayout(); 55 55 // 56 // refreshButton57 //58 this.refreshButton.Location = new System.Drawing.Point(3, 3);59 this.refreshButton.Name = "refreshButton";60 this.refreshButton.Size = new System.Drawing.Size(75, 23);61 this.refreshButton.TabIndex = 6;62 this.refreshButton.Text = "Refresh";63 this.refreshButton.UseVisualStyleBackColor = true;64 this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click);65 //66 56 // uploadButton 67 57 // 68 58 this.uploadButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 69 this.uploadButton.Location = new System.Drawing.Point(3, 482); 59 this.uploadButton.Enabled = false; 60 this.uploadButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_CommonElements_Objects_Arrow_Up; 61 this.uploadButton.Location = new System.Drawing.Point(78, 477); 70 62 this.uploadButton.Name = "uploadButton"; 71 this.uploadButton.Size = new System.Drawing.Size( 75, 23);63 this.uploadButton.Size = new System.Drawing.Size(114, 31); 72 64 this.uploadButton.TabIndex = 7; 73 this.uploadButton.Text = "Upload"; 65 this.uploadButton.Text = "Upload Selected"; 66 this.uploadButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 74 67 this.uploadButton.UseVisualStyleBackColor = true; 75 68 this.uploadButton.Click += new System.EventHandler(this.uploadButton_Click); 69 // 70 // refreshButton 71 // 72 this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 73 this.refreshButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Internet; 74 this.refreshButton.Location = new System.Drawing.Point(0, 477); 75 this.refreshButton.Name = "refreshButton"; 76 this.refreshButton.Size = new System.Drawing.Size(72, 31); 77 this.refreshButton.TabIndex = 6; 78 this.refreshButton.Text = "Refresh"; 79 this.refreshButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 80 this.refreshButton.UseVisualStyleBackColor = true; 81 this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click); 76 82 // 77 83 // listView … … 86 92 this.serverVersionHeader, 87 93 this.descriptionHeader}); 88 this.listView.Location = new System.Drawing.Point( 3, 32);94 this.listView.Location = new System.Drawing.Point(0, 0); 89 95 this.listView.Name = "listView"; 90 this.listView.Size = new System.Drawing.Size(53 6, 444);96 this.listView.Size = new System.Drawing.Size(539, 471); 91 97 this.listView.SuppressItemCheckedEvents = false; 92 98 this.listView.TabIndex = 8; -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginEditor.cs
r3509 r3547 39 39 private BackgroundWorker updateServerPluginsWorker; 40 40 41 private PluginManager pluginManager; 42 public PluginManager PluginManager { 43 get { return pluginManager; } 44 set { 45 // if (value == null) throw new ArgumentNullException(); 46 pluginManager = value; 47 } 48 } 49 41 50 public PluginEditor() { 42 51 InitializeComponent(); … … 58 67 #region refresh plugins from server backgroundworker 59 68 void updateServerPluginsWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 60 if (!e.Cancelled && e.Result != null) { 69 if (e.Error != null) { 70 MessageBox.Show("There was an error while connecting to the server." + Environment.NewLine + 71 "Please check your connection settings and user credentials."); 72 UpdateControlsDisconnectedState(); 73 } else { 61 74 // refresh local plugins 62 75 localAndServerPlugins.Clear(); 63 foreach (var plugin in ApplicationManager.Manager.Plugins) {76 foreach (var plugin in pluginManager.Plugins) { 64 77 localAndServerPlugins.Add(plugin, null); 65 78 } … … 88 101 listView.CheckBoxes = true; 89 102 UpdateControlsConnectedState(); 90 } else {91 UpdateControlsDisconnectedState();92 103 } 93 104 // make sure cursor is set correctly … … 96 107 97 108 void updateServerPluginsWorker_DoWork(object sender, DoWorkEventArgs e) { 98 try { 99 var client = DeploymentService.UpdateClientFactory.CreateClient(); 100 e.Result = client.GetPlugins(); 101 e.Cancel = false; 102 } 103 catch (EndpointNotFoundException) { 104 e.Result = null; 105 e.Cancel = true; 106 } 107 catch (FaultException) { 108 e.Result = null; 109 e.Cancel = true; 110 } 109 var client = DeploymentService.UpdateClientFactory.CreateClient(); 110 e.Result = client.GetPlugins(); 111 111 } 112 112 #endregion … … 115 115 void pluginUploadWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 116 116 Cursor = Cursors.Default; 117 if (e.Cancelled) { 117 if (e.Error != null) { 118 MessageBox.Show("There was an error while connecting to the server." + Environment.NewLine + 119 "Please check your connection settings and user credentials."); 118 120 UpdateControlsDisconnectedState(); 119 121 } else { … … 125 127 126 128 void pluginUploadWorker_DoWork(object sender, DoWorkEventArgs e) { 127 try { 128 var selectedPlugins = (IEnumerable<IPluginDescription>)e.Argument; 129 DeploymentService.AdminClient adminClient = DeploymentService.AdminClientFactory.CreateClient(); 130 131 foreach (var plugin in IteratePlugins(selectedPlugins)) { 132 SetMainFormStatusBar("Uploading", plugin); 133 adminClient.DeployPlugin(MakePluginDescription(plugin), CreateZipPackage(plugin)); 134 } 135 e.Cancel = false; 136 } 137 catch (EndpointNotFoundException) { 138 e.Cancel = true; 139 } 140 catch (FaultException) { 141 e.Cancel = true; 129 var selectedPlugins = (IEnumerable<IPluginDescription>)e.Argument; 130 DeploymentService.AdminClient adminClient = DeploymentService.AdminClientFactory.CreateClient(); 131 132 foreach (var plugin in IteratePlugins(selectedPlugins)) { 133 SetMainFormStatusBar("Uploading", plugin); 134 adminClient.DeployPlugin(MakePluginDescription(plugin), CreateZipPackage(plugin)); 142 135 } 143 136 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginView.Designer.cs
r3474 r3547 74 74 // 75 75 this.nameLabel.AutoSize = true; 76 this.nameLabel.Location = new System.Drawing.Point( 3, 6);76 this.nameLabel.Location = new System.Drawing.Point(12, 6); 77 77 this.nameLabel.Name = "nameLabel"; 78 78 this.nameLabel.Size = new System.Drawing.Size(38, 13); … … 84 84 this.nameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 85 85 | System.Windows.Forms.AnchorStyles.Right))); 86 this.nameTextBox.Location = new System.Drawing.Point( 74, 3);86 this.nameTextBox.Location = new System.Drawing.Point(81, 3); 87 87 this.nameTextBox.Name = "nameTextBox"; 88 88 this.nameTextBox.ReadOnly = true; 89 this.nameTextBox.Size = new System.Drawing.Size(2 84, 20);89 this.nameTextBox.Size = new System.Drawing.Size(268, 20); 90 90 this.nameTextBox.TabIndex = 1; 91 91 // … … 94 94 this.versionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 95 95 | System.Windows.Forms.AnchorStyles.Right))); 96 this.versionTextBox.Location = new System.Drawing.Point( 74, 29);96 this.versionTextBox.Location = new System.Drawing.Point(81, 29); 97 97 this.versionTextBox.Name = "versionTextBox"; 98 98 this.versionTextBox.ReadOnly = true; 99 this.versionTextBox.Size = new System.Drawing.Size(2 84, 20);99 this.versionTextBox.Size = new System.Drawing.Size(268, 20); 100 100 this.versionTextBox.TabIndex = 3; 101 101 // … … 103 103 // 104 104 this.versionLabel.AutoSize = true; 105 this.versionLabel.Location = new System.Drawing.Point( 3, 32);105 this.versionLabel.Location = new System.Drawing.Point(12, 32); 106 106 this.versionLabel.Name = "versionLabel"; 107 107 this.versionLabel.Size = new System.Drawing.Size(45, 13); … … 113 113 this.contactTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 114 114 | System.Windows.Forms.AnchorStyles.Right))); 115 this.contactTextBox.Location = new System.Drawing.Point( 74, 55);115 this.contactTextBox.Location = new System.Drawing.Point(81, 55); 116 116 this.contactTextBox.Name = "contactTextBox"; 117 117 this.contactTextBox.ReadOnly = true; 118 this.contactTextBox.Size = new System.Drawing.Size(2 84, 20);118 this.contactTextBox.Size = new System.Drawing.Size(268, 20); 119 119 this.contactTextBox.TabIndex = 5; 120 120 // … … 122 122 // 123 123 this.contactInfoLabel.AutoSize = true; 124 this.contactInfoLabel.Location = new System.Drawing.Point( 3, 58);124 this.contactInfoLabel.Location = new System.Drawing.Point(12, 58); 125 125 this.contactInfoLabel.Name = "contactInfoLabel"; 126 126 this.contactInfoLabel.Size = new System.Drawing.Size(47, 13); … … 131 131 // 132 132 this.licenseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 133 this.licenseButton.Location = new System.Drawing.Point(3, 5 86);133 this.licenseButton.Location = new System.Drawing.Point(3, 575); 134 134 this.licenseButton.Name = "licenseButton"; 135 135 this.licenseButton.Size = new System.Drawing.Size(103, 23); … … 145 145 | System.Windows.Forms.AnchorStyles.Right))); 146 146 this.dependenciesGroupBox.Controls.Add(this.dependenciesListView); 147 this.dependenciesGroupBox.Location = new System.Drawing.Point( 6, 408);147 this.dependenciesGroupBox.Location = new System.Drawing.Point(12, 408); 148 148 this.dependenciesGroupBox.Name = "dependenciesGroupBox"; 149 this.dependenciesGroupBox.Size = new System.Drawing.Size(3 55, 172);149 this.dependenciesGroupBox.Size = new System.Drawing.Size(337, 145); 150 150 this.dependenciesGroupBox.TabIndex = 1; 151 151 this.dependenciesGroupBox.TabStop = false; … … 160 160 this.dependenciesListView.Location = new System.Drawing.Point(3, 16); 161 161 this.dependenciesListView.Name = "dependenciesListView"; 162 this.dependenciesListView.Size = new System.Drawing.Size(3 49, 153);162 this.dependenciesListView.Size = new System.Drawing.Size(331, 126); 163 163 this.dependenciesListView.SmallImageList = this.imageList; 164 164 this.dependenciesListView.TabIndex = 0; … … 191 191 this.filesListView.Location = new System.Drawing.Point(3, 16); 192 192 this.filesListView.Name = "filesListView"; 193 this.filesListView.Size = new System.Drawing.Size(3 46, 140);193 this.filesListView.Size = new System.Drawing.Size(331, 140); 194 194 this.filesListView.SmallImageList = this.imageList; 195 195 this.filesListView.TabIndex = 0; … … 212 212 | System.Windows.Forms.AnchorStyles.Right))); 213 213 this.filesGroupBox.Controls.Add(this.filesListView); 214 this.filesGroupBox.Location = new System.Drawing.Point( 9, 243);214 this.filesGroupBox.Location = new System.Drawing.Point(12, 243); 215 215 this.filesGroupBox.Name = "filesGroupBox"; 216 this.filesGroupBox.Size = new System.Drawing.Size(3 52, 159);216 this.filesGroupBox.Size = new System.Drawing.Size(337, 159); 217 217 this.filesGroupBox.TabIndex = 11; 218 218 this.filesGroupBox.TabStop = false; … … 223 223 this.stateTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 224 224 | System.Windows.Forms.AnchorStyles.Right))); 225 this.stateTextBox.Location = new System.Drawing.Point( 74, 145);225 this.stateTextBox.Location = new System.Drawing.Point(81, 145); 226 226 this.stateTextBox.Name = "stateTextBox"; 227 227 this.stateTextBox.ReadOnly = true; 228 this.stateTextBox.Size = new System.Drawing.Size(2 84, 20);228 this.stateTextBox.Size = new System.Drawing.Size(268, 20); 229 229 this.stateTextBox.TabIndex = 13; 230 230 // … … 232 232 // 233 233 this.stateLabel.AutoSize = true; 234 this.stateLabel.Location = new System.Drawing.Point( 3, 148);234 this.stateLabel.Location = new System.Drawing.Point(12, 148); 235 235 this.stateLabel.Name = "stateLabel"; 236 236 this.stateLabel.Size = new System.Drawing.Size(35, 13); … … 241 241 // 242 242 this.errorLabel.AutoSize = true; 243 this.errorLabel.Location = new System.Drawing.Point( 3, 174);243 this.errorLabel.Location = new System.Drawing.Point(12, 174); 244 244 this.errorLabel.Name = "errorLabel"; 245 245 this.errorLabel.Size = new System.Drawing.Size(32, 13); … … 250 250 // 251 251 this.descriptionLabel.AutoSize = true; 252 this.descriptionLabel.Location = new System.Drawing.Point( 3, 84);252 this.descriptionLabel.Location = new System.Drawing.Point(12, 84); 253 253 this.descriptionLabel.Name = "descriptionLabel"; 254 254 this.descriptionLabel.Size = new System.Drawing.Size(63, 13); … … 260 260 this.errorTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 261 261 | System.Windows.Forms.AnchorStyles.Right))); 262 this.errorTextBox.Location = new System.Drawing.Point( 74, 171);262 this.errorTextBox.Location = new System.Drawing.Point(81, 171); 263 263 this.errorTextBox.Name = "errorTextBox"; 264 264 this.errorTextBox.ReadOnly = true; 265 this.errorTextBox.Size = new System.Drawing.Size(2 84, 66);265 this.errorTextBox.Size = new System.Drawing.Size(268, 66); 266 266 this.errorTextBox.TabIndex = 18; 267 267 this.errorTextBox.Text = ""; … … 271 271 this.descriptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 272 272 | System.Windows.Forms.AnchorStyles.Right))); 273 this.descriptionTextBox.Location = new System.Drawing.Point( 74, 81);273 this.descriptionTextBox.Location = new System.Drawing.Point(81, 81); 274 274 this.descriptionTextBox.Name = "descriptionTextBox"; 275 275 this.descriptionTextBox.ReadOnly = true; 276 this.descriptionTextBox.Size = new System.Drawing.Size(2 84, 58);276 this.descriptionTextBox.Size = new System.Drawing.Size(268, 58); 277 277 this.descriptionTextBox.TabIndex = 19; 278 278 this.descriptionTextBox.Text = ""; … … 282 282 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 283 283 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 284 this.ClientSize = new System.Drawing.Size(3 45, 576);284 this.ClientSize = new System.Drawing.Size(361, 565); 285 285 this.Controls.Add(this.descriptionTextBox); 286 286 this.Controls.Add(this.errorTextBox); -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/PluginView.cs
r3509 r3547 32 32 33 33 namespace HeuristicLab.PluginInfrastructure.Advanced { 34 internal partial class PluginView : UserControl{34 internal partial class PluginView : Form { 35 35 private const string IMAGE_KEY_ASSEMBLY = "Assembly"; 36 36 private const string IMAGE_KEY_FILE = "File"; … … 49 49 50 50 this.plugin = plugin; 51 this. Name= "Plugin Details: " + plugin.ToString();51 this.Text = "Plugin Details: " + plugin.ToString(); 52 52 UpdateControls(); 53 53 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/ProductEditor.Designer.cs
r3474 r3547 48 48 this.refreshButton = new System.Windows.Forms.Button(); 49 49 this.uploadButton = new System.Windows.Forms.Button(); 50 this.newProductButton = new System.Windows.Forms.Button();51 50 this.splitContainer = new System.Windows.Forms.SplitContainer(); 52 51 this.productsGroupBox = new System.Windows.Forms.GroupBox(); … … 57 56 this.detailsGroupBox = new System.Windows.Forms.GroupBox(); 58 57 this.pluginsGroupBox = new System.Windows.Forms.GroupBox(); 59 this.pluginListView = new HeuristicLab.PluginInfrastructure.Advanced.PluginListView();60 58 this.versionTextBox = new System.Windows.Forms.TextBox(); 61 59 this.nameLabel = new System.Windows.Forms.Label(); … … 63 61 this.versionLabel = new System.Windows.Forms.Label(); 64 62 this.pluginImageList = new System.Windows.Forms.ImageList(this.components); 63 this.newProductButton = new System.Windows.Forms.Button(); 65 64 this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components); 65 this.pluginListView = new HeuristicLab.PluginInfrastructure.Advanced.PluginListView(); 66 66 this.splitContainer.Panel1.SuspendLayout(); 67 67 this.splitContainer.Panel2.SuspendLayout(); … … 75 75 // refreshButton 76 76 // 77 this.refreshButton.Location = new System.Drawing.Point(6, 19); 77 this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 78 this.refreshButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Internet; 79 this.refreshButton.Location = new System.Drawing.Point(6, 389); 78 80 this.refreshButton.Name = "refreshButton"; 79 this.refreshButton.Size = new System.Drawing.Size(7 5, 23);81 this.refreshButton.Size = new System.Drawing.Size(73, 31); 80 82 this.refreshButton.TabIndex = 1; 81 83 this.refreshButton.Text = "Refresh"; 84 this.refreshButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 82 85 this.refreshButton.UseVisualStyleBackColor = true; 83 86 this.refreshButton.Click += new System.EventHandler(this.refreshButton_Click); … … 87 90 this.uploadButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 88 91 this.uploadButton.Enabled = false; 89 this.uploadButton.Location = new System.Drawing.Point(6, 397); 92 this.uploadButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_CommonElements_Objects_Arrow_Up; 93 this.uploadButton.Location = new System.Drawing.Point(85, 389); 90 94 this.uploadButton.Name = "uploadButton"; 91 this.uploadButton.Size = new System.Drawing.Size( 96, 23);95 this.uploadButton.Size = new System.Drawing.Size(120, 31); 92 96 this.uploadButton.TabIndex = 2; 93 97 this.uploadButton.Text = "Upload Products"; 98 this.uploadButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 94 99 this.uploadButton.UseVisualStyleBackColor = true; 95 100 this.uploadButton.Click += new System.EventHandler(this.saveButton_Click); 96 //97 // newProductButton98 //99 this.newProductButton.Enabled = false;100 this.newProductButton.Location = new System.Drawing.Point(87, 19);101 this.newProductButton.Name = "newProductButton";102 this.newProductButton.Size = new System.Drawing.Size(91, 23);103 this.newProductButton.TabIndex = 3;104 this.newProductButton.Text = "New product";105 this.newProductButton.UseVisualStyleBackColor = true;106 this.newProductButton.Click += new System.EventHandler(this.newProductButton_Click);107 101 // 108 102 // splitContainer … … 125 119 // productsGroupBox 126 120 // 121 this.productsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 122 | System.Windows.Forms.AnchorStyles.Left) 123 | System.Windows.Forms.AnchorStyles.Right))); 127 124 this.productsGroupBox.Controls.Add(this.uploadButton); 128 125 this.productsGroupBox.Controls.Add(this.newProductButton); 129 126 this.productsGroupBox.Controls.Add(this.productsListView); 130 127 this.productsGroupBox.Controls.Add(this.refreshButton); 131 this.productsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;132 128 this.productsGroupBox.Location = new System.Drawing.Point(0, 0); 133 129 this.productsGroupBox.Name = "productsGroupBox"; … … 147 143 this.productsListView.Enabled = false; 148 144 this.productsListView.FullRowSelect = true; 149 this.productsListView.Location = new System.Drawing.Point(6, 48);145 this.productsListView.Location = new System.Drawing.Point(6, 56); 150 146 this.productsListView.MultiSelect = false; 151 147 this.productsListView.Name = "productsListView"; 152 this.productsListView.Size = new System.Drawing.Size(309, 3 43);148 this.productsListView.Size = new System.Drawing.Size(309, 327); 153 149 this.productsListView.SmallImageList = this.productImageList; 154 150 this.productsListView.TabIndex = 4; … … 175 171 // detailsGroupBox 176 172 // 173 this.detailsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 174 | System.Windows.Forms.AnchorStyles.Left) 175 | System.Windows.Forms.AnchorStyles.Right))); 177 176 this.detailsGroupBox.Controls.Add(this.pluginsGroupBox); 178 177 this.detailsGroupBox.Controls.Add(this.versionTextBox); … … 180 179 this.detailsGroupBox.Controls.Add(this.nameTextBox); 181 180 this.detailsGroupBox.Controls.Add(this.versionLabel); 182 this.detailsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;183 181 this.detailsGroupBox.Location = new System.Drawing.Point(0, 0); 184 182 this.detailsGroupBox.Name = "detailsGroupBox"; … … 201 199 this.pluginsGroupBox.Text = "Plugins"; 202 200 // 201 // versionTextBox 202 // 203 this.versionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 204 | System.Windows.Forms.AnchorStyles.Right))); 205 this.versionTextBox.Enabled = false; 206 this.versionTextBox.Location = new System.Drawing.Point(57, 45); 207 this.versionTextBox.Name = "versionTextBox"; 208 this.versionTextBox.Size = new System.Drawing.Size(277, 20); 209 this.versionTextBox.TabIndex = 5; 210 this.versionTextBox.TextChanged += new System.EventHandler(this.versionTextBox_TextChanged); 211 // 212 // nameLabel 213 // 214 this.nameLabel.AutoSize = true; 215 this.nameLabel.Enabled = false; 216 this.nameLabel.Location = new System.Drawing.Point(13, 22); 217 this.nameLabel.Name = "nameLabel"; 218 this.nameLabel.Size = new System.Drawing.Size(38, 13); 219 this.nameLabel.TabIndex = 2; 220 this.nameLabel.Text = "Name:"; 221 // 222 // nameTextBox 223 // 224 this.nameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 225 | System.Windows.Forms.AnchorStyles.Right))); 226 this.nameTextBox.Enabled = false; 227 this.nameTextBox.Location = new System.Drawing.Point(57, 19); 228 this.nameTextBox.Name = "nameTextBox"; 229 this.nameTextBox.Size = new System.Drawing.Size(277, 20); 230 this.nameTextBox.TabIndex = 3; 231 this.nameTextBox.TextChanged += new System.EventHandler(this.nameTextBox_TextChanged); 232 // 233 // versionLabel 234 // 235 this.versionLabel.AutoSize = true; 236 this.versionLabel.Enabled = false; 237 this.versionLabel.Location = new System.Drawing.Point(6, 48); 238 this.versionLabel.Name = "versionLabel"; 239 this.versionLabel.Size = new System.Drawing.Size(45, 13); 240 this.versionLabel.TabIndex = 4; 241 this.versionLabel.Text = "Version:"; 242 // 243 // pluginImageList 244 // 245 this.pluginImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit; 246 this.pluginImageList.ImageSize = new System.Drawing.Size(16, 16); 247 this.pluginImageList.TransparentColor = System.Drawing.Color.Transparent; 248 // 249 // newProductButton 250 // 251 this.newProductButton.Enabled = false; 252 this.newProductButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_CommonElements_Actions_Add; 253 this.newProductButton.Location = new System.Drawing.Point(6, 19); 254 this.newProductButton.Name = "newProductButton"; 255 this.newProductButton.Size = new System.Drawing.Size(104, 31); 256 this.newProductButton.TabIndex = 3; 257 this.newProductButton.Text = "Create Product"; 258 this.newProductButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 259 this.newProductButton.UseVisualStyleBackColor = true; 260 this.newProductButton.Click += new System.EventHandler(this.newProductButton_Click); 261 // 262 // errorProvider 263 // 264 this.errorProvider.ContainerControl = this; 265 // 203 266 // pluginListView 204 267 // 205 this.pluginListView.Dock = System.Windows.Forms.DockStyle.Fill; 268 this.pluginListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 269 | System.Windows.Forms.AnchorStyles.Left) 270 | System.Windows.Forms.AnchorStyles.Right))); 206 271 this.pluginListView.Enabled = false; 207 272 this.pluginListView.Location = new System.Drawing.Point(3, 16); … … 211 276 this.pluginListView.TabIndex = 7; 212 277 this.pluginListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.pluginListView_ItemChecked); 213 //214 // versionTextBox215 //216 this.versionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)217 | System.Windows.Forms.AnchorStyles.Right)));218 this.versionTextBox.Enabled = false;219 this.versionTextBox.Location = new System.Drawing.Point(57, 45);220 this.versionTextBox.Name = "versionTextBox";221 this.versionTextBox.Size = new System.Drawing.Size(277, 20);222 this.versionTextBox.TabIndex = 5;223 this.versionTextBox.TextChanged += new System.EventHandler(this.versionTextBox_TextChanged);224 //225 // nameLabel226 //227 this.nameLabel.AutoSize = true;228 this.nameLabel.Enabled = false;229 this.nameLabel.Location = new System.Drawing.Point(13, 22);230 this.nameLabel.Name = "nameLabel";231 this.nameLabel.Size = new System.Drawing.Size(38, 13);232 this.nameLabel.TabIndex = 2;233 this.nameLabel.Text = "Name:";234 //235 // nameTextBox236 //237 this.nameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)238 | System.Windows.Forms.AnchorStyles.Right)));239 this.nameTextBox.Enabled = false;240 this.nameTextBox.Location = new System.Drawing.Point(57, 19);241 this.nameTextBox.Name = "nameTextBox";242 this.nameTextBox.Size = new System.Drawing.Size(277, 20);243 this.nameTextBox.TabIndex = 3;244 this.nameTextBox.TextChanged += new System.EventHandler(this.nameTextBox_TextChanged);245 //246 // versionLabel247 //248 this.versionLabel.AutoSize = true;249 this.versionLabel.Enabled = false;250 this.versionLabel.Location = new System.Drawing.Point(6, 48);251 this.versionLabel.Name = "versionLabel";252 this.versionLabel.Size = new System.Drawing.Size(45, 13);253 this.versionLabel.TabIndex = 4;254 this.versionLabel.Text = "Version:";255 //256 // pluginImageList257 //258 this.pluginImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;259 this.pluginImageList.ImageSize = new System.Drawing.Size(16, 16);260 this.pluginImageList.TransparentColor = System.Drawing.Color.Transparent;261 //262 // errorProvider263 //264 this.errorProvider.ContainerControl = this;265 278 // 266 279 // ProductEditor -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/ProductEditor.cs
r3474 r3547 60 60 var products = (IEnumerable<DeploymentService.ProductDescription>)e.Argument; 61 61 var adminClient = DeploymentService.AdminClientFactory.CreateClient(); 62 try { 63 foreach (var product in products) { 64 adminClient.DeployProduct(product); 65 } 66 e.Cancel = false; 67 } 68 catch (FaultException) { 62 foreach (var product in products) { 63 adminClient.DeployProduct(product); 69 64 } 70 65 } 71 66 72 67 private void uploadChangedProductsWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 73 this.Enabled = true; 74 refreshProductsWorker.RunWorkerAsync(); 68 if (e.Error != null) { 69 MessageBox.Show("There was an error while connecting to the server." + Environment.NewLine + 70 "Please check your connection settings and user credentials."); 71 } else { 72 this.Enabled = true; 73 refreshProductsWorker.RunWorkerAsync(); 74 } 75 75 } 76 76 #endregion … … 79 79 private void refreshProductsWorker_DoWork(object sender, DoWorkEventArgs e) { 80 80 var updateClient = DeploymentService.UpdateClientFactory.CreateClient(); 81 try { 82 e.Result = new object[] { updateClient.GetProducts(), updateClient.GetPlugins() }; 83 } 84 catch (FaultException) { 85 e.Cancel = true; 86 } 81 e.Result = new object[] { updateClient.GetProducts(), updateClient.GetPlugins() }; 87 82 } 88 83 89 84 private void refreshProductsWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 90 if (!e.Cancelled && e.Result != null) { 85 if (e.Error != null) { 86 MessageBox.Show("There was an error while connecting to the server." + Environment.NewLine + 87 "Please check your connection settings and user credentials."); 88 } else { 91 89 this.products = new List<DeploymentService.ProductDescription>( 92 90 (DeploymentService.ProductDescription[])((object[])e.Result)[0]); -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.Designer.cs
r3474 r3547 51 51 this.versionHeader = new System.Windows.Forms.ColumnHeader(); 52 52 this.descriptionHeader = new System.Windows.Forms.ColumnHeader(); 53 this.refreshButton = new System.Windows.Forms.Button(); 54 this.installButton = new System.Windows.Forms.Button(); 53 55 this.SuspendLayout(); 54 56 // … … 75 77 this.remotePluginsListView.Location = new System.Drawing.Point(0, 0); 76 78 this.remotePluginsListView.Name = "remotePluginsListView"; 77 this.remotePluginsListView.Size = new System.Drawing.Size(533, 5 58);79 this.remotePluginsListView.Size = new System.Drawing.Size(533, 527); 78 80 this.remotePluginsListView.SuppressItemCheckedEvents = false; 79 81 this.remotePluginsListView.TabIndex = 0; … … 97 99 this.descriptionHeader.Width = 250; 98 100 // 101 // refreshButton 102 // 103 this.refreshButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 104 this.refreshButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Internet; 105 this.refreshButton.Location = new System.Drawing.Point(0, 533); 106 this.refreshButton.Name = "refreshButton"; 107 this.refreshButton.Size = new System.Drawing.Size(72, 25); 108 this.refreshButton.TabIndex = 16; 109 this.refreshButton.Text = "Refresh"; 110 this.refreshButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 111 this.refreshButton.UseVisualStyleBackColor = true; 112 this.refreshButton.Click += new System.EventHandler(this.refreshRemoteButton_Click); 113 // 114 // installButton 115 // 116 this.installButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); 117 this.installButton.Enabled = false; 118 this.installButton.Image = global::HeuristicLab.PluginInfrastructure.Properties.Resources.VS2008ImageLibrary_Objects_Install; 119 this.installButton.Location = new System.Drawing.Point(78, 533); 120 this.installButton.Name = "installButton"; 121 this.installButton.Size = new System.Drawing.Size(140, 25); 122 this.installButton.TabIndex = 17; 123 this.installButton.Text = "Install Selected Items"; 124 this.installButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; 125 this.installButton.UseVisualStyleBackColor = true; 126 this.installButton.Click += new System.EventHandler(this.installButton_Click); 127 // 99 128 // RemotePluginInstallerView 100 129 // 101 130 this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 102 131 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 132 this.Controls.Add(this.refreshButton); 133 this.Controls.Add(this.installButton); 103 134 this.Controls.Add(this.remotePluginsListView); 104 135 this.Name = "RemotePluginInstallerView"; … … 114 145 private System.Windows.Forms.ColumnHeader versionHeader; 115 146 private System.Windows.Forms.ColumnHeader descriptionHeader; 147 private System.Windows.Forms.Button refreshButton; 148 private System.Windows.Forms.Button installButton; 116 149 } 117 150 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/RemotePluginInstaller.cs
r3474 r3547 27 27 using System.Text; 28 28 using System.Windows.Forms; 29 using HeuristicLab.PluginInfrastructure.Manager; 29 30 30 31 namespace HeuristicLab.PluginInfrastructure.Advanced { 31 internal partial class RemotePluginInstallerView : UserControl { 32 public event ItemCheckedEventHandler ItemChecked; 32 internal partial class RemotePluginInstallerView : InstallationManagerControl { 33 private class RefreshBackgroundWorkerResult { 34 public IEnumerable<IPluginDescription> RemotePlugins { get; set; } 35 public IEnumerable<DeploymentService.ProductDescription> RemoteProducts { get; set; } 36 } 37 private class UpdateOrInstallPluginsBackgroundWorkerArgument { 38 public IEnumerable<IPluginDescription> PluginsToUpdate { get; set; } 39 public IEnumerable<IPluginDescription> PluginsToInstall { get; set; } 40 } 41 private const string PluginDiscoveryMessage = "Looking for new plugins..."; 42 private BackgroundWorker refreshServerPluginsBackgroundWorker; 43 private BackgroundWorker updateOrInstallPluginsBackgroundWorker; 33 44 34 45 private ListViewGroup newPluginsGroup; … … 47 58 } 48 59 49 public RemotePluginInstallerView() {50 InitializeComponent();51 52 newPluginsGroup = remotePluginsListView.Groups["newPluginsGroup"];53 productsGroup = remotePluginsListView.Groups["productsGroup"];54 allPluginsGroup = remotePluginsListView.Groups["allPluginsGroup"];55 }56 57 60 private IEnumerable<DeploymentService.ProductDescription> products; 58 61 public IEnumerable<DeploymentService.ProductDescription> Products { … … 97 100 } 98 101 } 102 103 private InstallationManager installationManager; 104 public InstallationManager InstallationManager { 105 get { return installationManager; } 106 set { installationManager = value; } 107 } 108 private PluginManager pluginManager; 109 public PluginManager PluginManager { 110 get { return pluginManager; } 111 set { pluginManager = value; } 112 } 113 public RemotePluginInstallerView() { 114 InitializeComponent(); 115 116 refreshServerPluginsBackgroundWorker = new BackgroundWorker(); 117 refreshServerPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(refreshServerPluginsBackgroundWorker_DoWork); 118 refreshServerPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(refreshServerPluginsBackgroundWorker_RunWorkerCompleted); 119 120 updateOrInstallPluginsBackgroundWorker = new BackgroundWorker(); 121 updateOrInstallPluginsBackgroundWorker.DoWork += new DoWorkEventHandler(updateOrInstallPluginsBackgroundWorker_DoWork); 122 updateOrInstallPluginsBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(updateOrInstallPluginsBackgroundWorker_RunWorkerCompleted); 123 124 newPluginsGroup = remotePluginsListView.Groups["newPluginsGroup"]; 125 productsGroup = remotePluginsListView.Groups["productsGroup"]; 126 allPluginsGroup = remotePluginsListView.Groups["allPluginsGroup"]; 127 } 128 129 130 #region event handlers for refresh server plugins background worker 131 void refreshServerPluginsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 132 if (e.Error != null) { 133 StatusView.ShowError("Connection Error", 134 "There was an error while connecting to the server." + Environment.NewLine + 135 "Please check your connection settings and user credentials."); 136 } else { 137 RefreshBackgroundWorkerResult refreshResult = (RefreshBackgroundWorkerResult)e.Result; 138 UpdateRemotePluginList(refreshResult.RemoteProducts, refreshResult.RemotePlugins); 139 } 140 StatusView.UnlockUI(); 141 StatusView.RemoveMessage(PluginDiscoveryMessage); 142 StatusView.HideProgressIndicator(); 143 } 144 145 void refreshServerPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { 146 RefreshBackgroundWorkerResult result = new RefreshBackgroundWorkerResult(); 147 result.RemotePlugins = installationManager.GetRemotePluginList(); 148 result.RemoteProducts = installationManager.GetRemoteProductList(); 149 e.Result = result; 150 } 151 #endregion 152 #region event handlers for plugin update background worker 153 void updateOrInstallPluginsBackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { 154 if (e.Error != null) { 155 StatusView.ShowError("Connection Error", 156 "There was an error while connecting to the server." + Environment.NewLine + 157 "Please check your connection settings and user credentials."); 158 } else { 159 UpdateControl(); 160 } 161 StatusView.UnlockUI(); 162 StatusView.HideProgressIndicator(); 163 } 164 165 void updateOrInstallPluginsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { 166 UpdateOrInstallPluginsBackgroundWorkerArgument info = (UpdateOrInstallPluginsBackgroundWorkerArgument)e.Argument; 167 if (info.PluginsToInstall.Count() > 0) 168 installationManager.Install(info.PluginsToInstall); 169 if (info.PluginsToUpdate.Count() > 0) 170 installationManager.Update(info.PluginsToUpdate); 171 172 if (info.PluginsToInstall.Count() > 0 || info.PluginsToUpdate.Count() > 0) 173 pluginManager.DiscoverAndCheckPlugins(); 174 } 175 #endregion 176 177 178 #region button events 179 private void refreshRemoteButton_Click(object sender, EventArgs e) { 180 StatusView.LockUI(); 181 StatusView.ShowProgressIndicator(); 182 StatusView.ShowMessage(PluginDiscoveryMessage); 183 refreshServerPluginsBackgroundWorker.RunWorkerAsync(); 184 } 185 private void installButton_Click(object sender, EventArgs e) { 186 StatusView.LockUI(); 187 StatusView.ShowProgressIndicator(); 188 var updateOrInstallInfo = new UpdateOrInstallPluginsBackgroundWorkerArgument(); 189 // if there is a local plugin with same name and same major and minor version then it's an update 190 var pluginsToUpdate = from remotePlugin in CheckedPlugins 191 let matchingLocalPlugins = from localPlugin in pluginManager.Plugins 192 where localPlugin.Name == remotePlugin.Name 193 where localPlugin.Version.Major == remotePlugin.Version.Major 194 where localPlugin.Version.Minor == remotePlugin.Version.Minor 195 where IsNewerThan(remotePlugin, localPlugin) 196 select localPlugin 197 where matchingLocalPlugins.Count() > 0 198 select remotePlugin; 199 200 // otherwise install a new plugin 201 var pluginsToInstall = CheckedPlugins.Except(pluginsToUpdate); 202 203 updateOrInstallInfo.PluginsToInstall = pluginsToInstall; 204 updateOrInstallInfo.PluginsToUpdate = pluginsToUpdate; 205 updateOrInstallPluginsBackgroundWorker.RunWorkerAsync(updateOrInstallInfo); 206 } 207 #endregion 99 208 100 209 private void UpdateControl() { … … 159 268 } 160 269 } 161 OnItemChecked(e);270 installButton.Enabled = remotePluginsListView.CheckedItems.Count > 0; 162 271 } 163 272 … … 238 347 } 239 348 240 private void OnItemChecked(ItemCheckedEventArgs e) {241 if (ItemChecked != null) ItemChecked(this, e);242 }243 349 #endregion 244 350 … … 258 364 } 259 365 260 #endregion 366 private void UpdateRemotePluginList( 367 IEnumerable<DeploymentService.ProductDescription> remoteProducts, 368 IEnumerable<IPluginDescription> remotePlugins) { 369 370 var mostRecentRemotePlugins = from remote in remotePlugins 371 where !remotePlugins.Any(x => x.Name == remote.Name && x.Version > remote.Version) // same name and higher version 372 select remote; 373 374 var newPlugins = from remote in mostRecentRemotePlugins 375 let matchingLocal = (from local in pluginManager.Plugins 376 where local.Name == remote.Name 377 where local.Version < remote.Version 378 select local).FirstOrDefault() 379 where matchingLocal != null 380 select remote; 381 382 NewPlugins = newPlugins; 383 Products = remoteProducts; 384 AllPlugins = remotePlugins; 385 } 386 private bool IsNewerThan(IPluginDescription plugin1, IPluginDescription plugin2) { 387 // newer: build version is higher, or if build version is the same revision is higher 388 if (plugin1.Version.Build < plugin2.Version.Build) return false; 389 else if (plugin1.Version.Build > plugin2.Version.Build) return true; 390 else return plugin1.Version.Revision > plugin2.Version.Revision; 391 } 392 #endregion 393 261 394 262 395 } -
trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj
r3509 r3547 93 93 </ItemGroup> 94 94 <ItemGroup> 95 <Compile Include="Advanced\BasicUpdateView.cs"> 96 <SubType>UserControl</SubType> 97 </Compile> 98 <Compile Include="Advanced\BasicUpdateView.Designer.cs"> 99 <DependentUpon>BasicUpdateView.cs</DependentUpon> 100 </Compile> 95 101 <Compile Include="Advanced\ConfirmationDialog.cs"> 96 102 <SubType>Form</SubType> … … 105 111 <DependentUpon>ConnectionSetupView.cs</DependentUpon> 106 112 </Compile> 113 <Compile Include="Advanced\InstallationManagerControl.cs"> 114 <SubType>UserControl</SubType> 115 </Compile> 116 <Compile Include="Advanced\InstallationManagerControl.Designer.cs"> 117 <DependentUpon>InstallationManagerControl.cs</DependentUpon> 118 </Compile> 119 <Compile Include="Advanced\LocalPluginsView.cs"> 120 <SubType>UserControl</SubType> 121 </Compile> 122 <Compile Include="Advanced\LocalPluginsView.Designer.cs"> 123 <DependentUpon>LocalPluginsView.cs</DependentUpon> 124 </Compile> 125 <Compile Include="Advanced\IStatusDisplay.cs" /> 107 126 <Compile Include="Advanced\InstallationManagerException.cs" /> 108 127 <Compile Include="Advanced\DeploymentService\AdminClientFactory.cs" /> … … 135 154 <DependentUpon>LicenseView.cs</DependentUpon> 136 155 </Compile> 137 <Compile Include="Advanced\LocalPluginManager.cs">138 <SubType>UserControl</SubType>139 </Compile>140 <Compile Include="Advanced\LocalPluginManager.Designer.cs">141 <DependentUpon>LocalPluginManager.cs</DependentUpon>142 </Compile>143 156 <Compile Include="Advanced\MultiSelectListView.cs"> 144 157 <SubType>Component</SubType> … … 166 179 </Compile> 167 180 <Compile Include="Advanced\PluginView.cs"> 168 <SubType> UserControl</SubType>181 <SubType>Form</SubType> 169 182 </Compile> 170 183 <Compile Include="Advanced\PluginView.Designer.cs"> … … 217 230 <DependentUpon>InstallationManagerForm.cs</DependentUpon> 218 231 </EmbeddedResource> 219 <EmbeddedResource Include="Advanced\LocalPluginManager.resx">220 <DependentUpon>LocalPluginManager.cs</DependentUpon>221 </EmbeddedResource>222 232 <EmbeddedResource Include="Advanced\RemotePluginInstaller.resx"> 223 233 <DependentUpon>RemotePluginInstaller.cs</DependentUpon> … … 286 296 <Content Include="Resources\List.gif" /> 287 297 <Content Include="Resources\Logo_white.gif" /> 298 <EmbeddedResource Include="Advanced\BasicUpdateView.resx"> 299 <DependentUpon>BasicUpdateView.cs</DependentUpon> 300 </EmbeddedResource> 288 301 <EmbeddedResource Include="Advanced\ConfirmationDialog.resx"> 289 302 <DependentUpon>ConfirmationDialog.cs</DependentUpon> … … 291 304 <EmbeddedResource Include="Advanced\ConnectionSetupView.resx"> 292 305 <DependentUpon>ConnectionSetupView.cs</DependentUpon> 306 </EmbeddedResource> 307 <EmbeddedResource Include="Advanced\LocalPluginsView.resx"> 308 <DependentUpon>LocalPluginsView.cs</DependentUpon> 293 309 </EmbeddedResource> 294 310 <EmbeddedResource Include="Advanced\DeploymentService\servdev.cer" /> … … 317 333 <None Include="Resources\VS2008ImageLibrary_CommonElements_Actions_Remove.png" /> 318 334 <None Include="Resources\VS2008ImageLibrary_CommonElements_Actions_Remove1.png" /> 335 <None Include="Resources\VS2008ImageLibrary_CommonElements_Actions_Add.png" /> 319 336 <Content Include="Resources\VS2008ImageLibrary_CommonElements_Objects_Arrow_Down.png" /> 337 <None Include="Resources\VS2008ImageLibrary_CommonElements_Objects_Arrow_Up1.png" /> 320 338 <None Include="Resources\VS2008ImageLibrary_Objects_NetworkConnections.png" /> 321 339 <None Include="Resources\VS2008ImageLibrary_Objects_Install1.png" /> -
trunk/sources/HeuristicLab.PluginInfrastructure/Manager/PluginValidator.cs
r3508 r3547 260 260 catch (TypeLoadException) { 261 261 } 262 catch (MissingMemberException) { 263 } 262 264 } 263 265 return pluginDescriptions; -
trunk/sources/HeuristicLab.PluginInfrastructure/Properties/Resources.Designer.cs
r3508 r3547 96 96 } 97 97 98 internal static System.Drawing.Bitmap VS2008ImageLibrary_CommonElements_Actions_Add { 99 get { 100 object obj = ResourceManager.GetObject("VS2008ImageLibrary_CommonElements_Actions_Add", resourceCulture); 101 return ((System.Drawing.Bitmap)(obj)); 102 } 103 } 104 98 105 internal static System.Drawing.Bitmap VS2008ImageLibrary_CommonElements_Actions_Remove { 99 106 get { 100 107 object obj = ResourceManager.GetObject("VS2008ImageLibrary_CommonElements_Actions_Remove", resourceCulture); 108 return ((System.Drawing.Bitmap)(obj)); 109 } 110 } 111 112 internal static System.Drawing.Bitmap VS2008ImageLibrary_CommonElements_Objects_Arrow_Up { 113 get { 114 object obj = ResourceManager.GetObject("VS2008ImageLibrary_CommonElements_Objects_Arrow_Up", resourceCulture); 101 115 return ((System.Drawing.Bitmap)(obj)); 102 116 } -
trunk/sources/HeuristicLab.PluginInfrastructure/Properties/Resources.resx
r3508 r3547 122 122 <value>..\Resources\VS2008ImageLibrary_CommonElements_Actions_Remove1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 123 123 </data> 124 <data name="Logo_white" type="System.Resources.ResXFileRef, System.Windows.Forms"> 125 <value>..\Resources\Logo_white.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 124 <data name="VS2008ImageLibrary_CommonElements_Objects_Arrow_Up" type="System.Resources.ResXFileRef, System.Windows.Forms"> 125 <value>..\Resources\VS2008ImageLibrary_CommonElements_Objects_Arrow_Up1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 126 </data> 127 <data name="VS2008ImageLibrary_Objects_NetworkConnections" type="System.Resources.ResXFileRef, System.Windows.Forms"> 128 <value>..\Resources\VS2008ImageLibrary_Objects_NetworkConnections.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 126 129 </data> 127 130 <data name="List" type="System.Resources.ResXFileRef, System.Windows.Forms"> … … 137 140 <value>..\Resources\LargeIcons.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 138 141 </data> 142 <data name="Logo_white" type="System.Resources.ResXFileRef, System.Windows.Forms"> 143 <value>..\Resources\Logo_white.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 144 </data> 139 145 <data name="VS2008ImageLibrary_Objects_Install" type="System.Resources.ResXFileRef, System.Windows.Forms"> 140 146 <value>..\Resources\VS2008ImageLibrary_Objects_Install1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> … … 143 149 <value>..\Resources\VS2008ImageLibrary_Objects_Internet1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 144 150 </data> 145 <data name="VS2008ImageLibrary_ Objects_NetworkConnections" type="System.Resources.ResXFileRef, System.Windows.Forms">146 <value>..\Resources\VS2008ImageLibrary_ Objects_NetworkConnections.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>151 <data name="VS2008ImageLibrary_CommonElements_Actions_Add" type="System.Resources.ResXFileRef, System.Windows.Forms"> 152 <value>..\Resources\VS2008ImageLibrary_CommonElements_Actions_Add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> 147 153 </data> 148 154 </root> -
trunk/sources/HeuristicLab.PluginInfrastructure/Properties/Settings.Designer.cs
r3508 r3547 92 92 [global::System.Configuration.UserScopedSettingAttribute()] 93 93 [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 94 [global::System.Configuration.DefaultSettingValueAttribute(" True")]94 [global::System.Configuration.DefaultSettingValueAttribute("False")] 95 95 public bool ShowPluginUploadControls { 96 96 get { -
trunk/sources/HeuristicLab.PluginInfrastructure/Properties/Settings.settings
r3508 r3547 22 22 </Setting> 23 23 <Setting Name="ShowPluginUploadControls" Type="System.Boolean" Scope="User"> 24 <Value Profile="(Default)"> True</Value>24 <Value Profile="(Default)">False</Value> 25 25 </Setting> 26 26 </Settings> -
trunk/sources/HeuristicLab.PluginInfrastructure/app.config
r3508 r3547 99 99 </setting> 100 100 <setting name="ShowPluginUploadControls" serializeAs="String"> 101 <value> True</value>101 <value>False</value> 102 102 </setting> 103 103 </HeuristicLab.PluginInfrastructure.Properties.Settings>
Note: See TracChangeset
for help on using the changeset viewer.