Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.cs	(revision 9906)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.cs	(revision 9907)
@@ -25,4 +25,7 @@
 namespace HeuristicLab.MainForm.WindowsForms {
   internal sealed partial class ProgressView : UserControl {
+    private const int defaultControlHeight = 88;
+    private const int collapsedControlHeight = 55;
+
     private readonly Control control;
     public Control Control {
@@ -80,6 +83,8 @@
         return;
       }
+      int height = Content.CanBeCanceled ? Height : collapsedControlHeight;
+
       Left = (Control.ClientRectangle.Width / 2) - (Width / 2);
-      Top = (Control.ClientRectangle.Height / 2) - (Height / 2);
+      Top = (Control.ClientRectangle.Height / 2) - (height / 2);
       Anchor = AnchorStyles.None;
 
@@ -127,4 +132,10 @@
       cancelButton.Visible = content != null && content.CanBeCanceled;
       cancelButton.Enabled = content != null && content.CanBeCanceled;
+
+      if (content != null && content.CanBeCanceled) {
+        Height = defaultControlHeight;
+      } else if (content != null && !content.CanBeCanceled) {
+        Height = collapsedControlHeight;
+      }
     }
 
Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.designer.cs	(revision 9906)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ProgressView.designer.cs	(revision 9907)
@@ -35,5 +35,4 @@
     /// </summary>
     private void InitializeComponent() {
-      this.components = new System.ComponentModel.Container();
       this.progressBar = new System.Windows.Forms.ProgressBar();
       this.statusLabel = new System.Windows.Forms.Label();
@@ -45,6 +44,6 @@
       // progressBar
       // 
-      this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.progressBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.progressBar.Location = new System.Drawing.Point(3, 3);
       this.progressBar.Name = "progressBar";
@@ -55,6 +54,6 @@
       // statusLabel
       // 
-      this.statusLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.statusLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.statusLabel.Location = new System.Drawing.Point(3, 33);
       this.statusLabel.Name = "statusLabel";
@@ -75,6 +74,7 @@
       // panel
       // 
-      this.panel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.panel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.panel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
       this.panel.Controls.Add(this.progressBar);
@@ -94,4 +94,5 @@
       this.panel.ResumeLayout(false);
       this.ResumeLayout(false);
+
     }
 
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/StartPage.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/StartPage.Designer.cs	(revision 9906)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/StartPage.Designer.cs	(revision 9907)
@@ -50,14 +50,11 @@
       this.titleLabel = new System.Windows.Forms.Label();
       this.samplesGroupBox = new System.Windows.Forms.GroupBox();
-      this.loadingPanel = new System.Windows.Forms.Panel();
-      this.loadingProgressBar = new System.Windows.Forms.ProgressBar();
-      this.loadingLabel = new System.Windows.Forms.Label();
       this.samplesListView = new System.Windows.Forms.ListView();
-      this.nameColumnHeader = new System.Windows.Forms.ColumnHeader();
-      this.descriptionColumnHeader = new System.Windows.Forms.ColumnHeader();
+      this.nameColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+      this.descriptionColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
       this.imageList = new System.Windows.Forms.ImageList(this.components);
       this.splitContainer = new System.Windows.Forms.SplitContainer();
       this.samplesGroupBox.SuspendLayout();
-      this.loadingPanel.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
       this.splitContainer.Panel1.SuspendLayout();
       this.splitContainer.Panel2.SuspendLayout();
@@ -80,7 +77,7 @@
       // firstStepsRichTextBox
       // 
-      this.firstStepsRichTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.firstStepsRichTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.firstStepsRichTextBox.BackColor = System.Drawing.SystemColors.Control;
       this.firstStepsRichTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
@@ -96,6 +93,6 @@
       // titleLabel
       // 
-      this.titleLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.titleLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.titleLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
       this.titleLabel.Location = new System.Drawing.Point(-1, 0);
@@ -108,8 +105,7 @@
       // samplesGroupBox
       // 
-      this.samplesGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.samplesGroupBox.Controls.Add(this.loadingPanel);
+      this.samplesGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.samplesGroupBox.Controls.Add(this.samplesListView);
       this.samplesGroupBox.Location = new System.Drawing.Point(0, 3);
@@ -119,35 +115,4 @@
       this.samplesGroupBox.TabStop = false;
       this.samplesGroupBox.Text = "Samples";
-      // 
-      // loadingPanel
-      // 
-      this.loadingPanel.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.loadingPanel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-      this.loadingPanel.Controls.Add(this.loadingProgressBar);
-      this.loadingPanel.Controls.Add(this.loadingLabel);
-      this.loadingPanel.Enabled = false;
-      this.loadingPanel.Location = new System.Drawing.Point(189, 89);
-      this.loadingPanel.Name = "loadingPanel";
-      this.loadingPanel.Size = new System.Drawing.Size(350, 62);
-      this.loadingPanel.TabIndex = 1;
-      // 
-      // loadingProgressBar
-      // 
-      this.loadingProgressBar.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.loadingProgressBar.Location = new System.Drawing.Point(101, 19);
-      this.loadingProgressBar.Name = "loadingProgressBar";
-      this.loadingProgressBar.Size = new System.Drawing.Size(229, 23);
-      this.loadingProgressBar.Step = 1;
-      this.loadingProgressBar.TabIndex = 1;
-      // 
-      // loadingLabel
-      // 
-      this.loadingLabel.Anchor = System.Windows.Forms.AnchorStyles.None;
-      this.loadingLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-      this.loadingLabel.Location = new System.Drawing.Point(12, 19);
-      this.loadingLabel.Name = "loadingLabel";
-      this.loadingLabel.Size = new System.Drawing.Size(83, 23);
-      this.loadingLabel.TabIndex = 0;
-      this.loadingLabel.Text = "Loading ...";
       // 
       // samplesListView
@@ -168,6 +133,6 @@
       this.samplesListView.UseCompatibleStateImageBehavior = false;
       this.samplesListView.View = System.Windows.Forms.View.Details;
+      this.samplesListView.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.samplesListView_ItemDrag);
       this.samplesListView.DoubleClick += new System.EventHandler(this.samplesListView_DoubleClick);
-      this.samplesListView.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.samplesListView_ItemDrag);
       // 
       // nameColumnHeader
@@ -189,7 +154,7 @@
       // splitContainer
       // 
-      this.splitContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.splitContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
       this.splitContainer.Location = new System.Drawing.Point(0, 0);
       this.splitContainer.Name = "splitContainer";
@@ -210,5 +175,4 @@
       // StartPage
       // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
       this.Controls.Add(this.splitContainer);
@@ -217,7 +181,7 @@
       this.Size = new System.Drawing.Size(728, 640);
       this.samplesGroupBox.ResumeLayout(false);
-      this.loadingPanel.ResumeLayout(false);
       this.splitContainer.Panel1.ResumeLayout(false);
       this.splitContainer.Panel2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
       this.splitContainer.ResumeLayout(false);
       this.ResumeLayout(false);
@@ -236,7 +200,4 @@
     private System.Windows.Forms.ImageList imageList;
     private System.Windows.Forms.ColumnHeader descriptionColumnHeader;
-    private System.Windows.Forms.Panel loadingPanel;
-    private System.Windows.Forms.ProgressBar loadingProgressBar;
-    private System.Windows.Forms.Label loadingLabel;
     private System.Windows.Forms.SplitContainer splitContainer;
   }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/StartPage.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/StartPage.cs	(revision 9906)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/StartPage.cs	(revision 9907)
@@ -34,4 +34,6 @@
   [View("Start Page")]
   public partial class StartPage : HeuristicLab.MainForm.WindowsForms.View {
+    private IProgress progress;
+
     public StartPage() {
       InitializeComponent();
@@ -67,4 +69,5 @@
 
     private void LoadSamples(object state) {
+      progress = MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().AddOperationProgressToView(samplesListView, "Loading...");
       Assembly assembly = Assembly.GetExecutingAssembly();
       var samples = assembly.GetManifestResourceNames().Where(x => x.EndsWith(".hl"));
@@ -77,14 +80,16 @@
             WriteStreamToTempFile(stream, path);
             INamedItem item = XmlParser.Deserialize<INamedItem>(path);
-            OnSampleLoaded(item, loadingProgressBar.Maximum / count);
+            OnSampleLoaded(item, 1.0 / count);
           }
         }
-        catch (Exception) { }
+        catch (Exception) {
+          MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().RemoveOperationProgressFromView(samplesListView);
+        }
       }
       OnAllSamplesLoaded();
     }
-    private void OnSampleLoaded(INamedItem sample, int progress) {
+    private void OnSampleLoaded(INamedItem sample, double progress) {
       if (InvokeRequired)
-        Invoke(new Action<INamedItem, int>(OnSampleLoaded), sample, progress);
+        Invoke(new Action<INamedItem, double>(OnSampleLoaded), sample, progress);
       else {
         ListViewItem item = new ListViewItem(new string[] { sample.Name, sample.Description });
@@ -94,5 +99,5 @@
         item.Tag = sample;
         samplesListView.Items.Add(item);
-        loadingProgressBar.Value += progress;
+        this.progress.ProgressValue += progress;
       }
     }
@@ -106,5 +111,5 @@
             samplesListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
         }
-        loadingPanel.Visible = false;
+        MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().RemoveOperationProgressFromView(samplesListView);
       }
     }
