Changeset 17008


Ignore:
Timestamp:
06/14/19 12:25:54 (5 weeks ago)
Author:
abeham
Message:

#2949: Disable autosizing when there is only one column and use width of list view as size of column. In addition no update occurs on ToStringChanged when there is only one column (most common case)

Location:
trunk/HeuristicLab.Core.Views/3.3
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.Core.Views/3.3/ItemArrayView.Designer.cs

    r16565 r17008  
    2020#endregion
    2121
    22 using System.Security.AccessControl;
    2322using System.Windows.Forms;
    2423
     
    154153      this.itemsListView.DoubleClick += new System.EventHandler(this.itemsListView_DoubleClick);
    155154      this.itemsListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.itemsListView_KeyDown);
     155      this.itemsListView.Layout += new System.Windows.Forms.LayoutEventHandler(this.itemsListView_Layout);
     156      //
     157      // listViewColumnHeader
     158      //
     159      this.listViewColumnHeader.Width = 190;
    156160      //
    157161      // imageList
  • trunk/HeuristicLab.Core.Views/3.3/ItemArrayView.cs

    r16565 r17008  
    237237                               (Content != null) && !Content.IsReadOnly && !ReadOnly;
    238238      removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && (Content != null) && !Content.IsReadOnly && !ReadOnly;
    239       AdjustListViewColumnSizes();
    240239
    241240      if (showDetailsCheckBox.Checked) {
     
    330329      }
    331330    }
     331    protected virtual void itemsListView_Layout(object sender, LayoutEventArgs e) {
     332      if (itemsListView.Columns.Count == 1)
     333        AdjustListViewColumnSizes();
     334    }
    332335    #endregion
    333336
     
    453456        foreach (ListViewItem listViewItem in GetListViewItemsForItem(item))
    454457          UpdateListViewItemText(listViewItem);
    455         AdjustListViewColumnSizes();
     458        if (itemsListView.Columns.Count > 1)
     459          AdjustListViewColumnSizes();
    456460      }
    457461    }
     
    460464    #region Helpers
    461465    protected virtual void AdjustListViewColumnSizes() {
    462       if (itemsListView.Items.Count > 0) {
    463         for (int i = 0; i < itemsListView.Columns.Count; i++)
    464           itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
     466      if (itemsListView.Columns.Count == 1) {
     467        if (itemsListView.Columns[0].Width != itemsListView.ClientSize.Width)
     468          itemsListView.Columns[0].Width = itemsListView.ClientSize.Width;
     469      } else {
     470        if (itemsListView.Items.Count > 0) {
     471          for (int i = 0; i < itemsListView.Columns.Count; i++)
     472            itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
     473        }
    465474      }
    466475    }
  • trunk/HeuristicLab.Core.Views/3.3/ItemCollectionView.Designer.cs

    r16565 r17008  
    2020#endregion
    2121
    22 using System.Security.AccessControl;
    2322using System.Windows.Forms;
    2423
     
    107106      this.itemsListView.DoubleClick += new System.EventHandler(this.itemsListView_DoubleClick);
    108107      this.itemsListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.itemsListView_KeyDown);
     108      this.itemsListView.Layout += new System.Windows.Forms.LayoutEventHandler(this.itemsListView_Layout);
     109      //
     110      // columnHeader1
     111      //
     112      this.columnHeader1.Width = 240;
    109113      //
    110114      // imageList
  • trunk/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs

    r16565 r17008  
    221221    protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
    222222      removeButton.Enabled = (Content != null) && !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0;
    223       AdjustListViewColumnSizes();
    224223      if (showDetailsCheckBox.Checked) {
    225224        if (itemsListView.SelectedItems.Count == 1) {
     
    327326      }
    328327    }
     328    protected virtual void itemsListView_Layout(object sender, LayoutEventArgs e) {
     329      if (itemsListView.Columns.Count == 1)
     330        AdjustListViewColumnSizes();
     331    }
    329332    #endregion
    330333
     
    423426        foreach (ListViewItem listViewItem in GetListViewItemsForItem(item))
    424427          UpdateListViewItemText(listViewItem);
    425         AdjustListViewColumnSizes();
     428        if (itemsListView.Columns.Count > 1)
     429          AdjustListViewColumnSizes();
    426430      }
    427431    }
     
    435439    }
    436440    protected virtual void AdjustListViewColumnSizes() {
    437       if (itemsListView.Items.Count > 0) {
    438         for (int i = 0; i < itemsListView.Columns.Count; i++)
    439           itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
     441      if (itemsListView.Columns.Count == 1) {
     442        if (itemsListView.Columns[0].Width != itemsListView.ClientSize.Width)
     443          itemsListView.Columns[0].Width = itemsListView.ClientSize.Width;
     444      } else {
     445        if (itemsListView.Items.Count > 0) {
     446          for (int i = 0; i < itemsListView.Columns.Count; i++)
     447            itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
     448        }
    440449      }
    441450    }
  • trunk/HeuristicLab.Core.Views/3.3/ItemListView.Designer.cs

    r16565 r17008  
    155155      this.itemsListView.DoubleClick += new System.EventHandler(this.itemsListView_DoubleClick);
    156156      this.itemsListView.KeyDown += new System.Windows.Forms.KeyEventHandler(this.itemsListView_KeyDown);
     157      this.itemsListView.Layout += new System.Windows.Forms.LayoutEventHandler(this.itemsListView_Layout);
     158      //
     159      // listViewColumnHeader
     160      //
     161      this.listViewColumnHeader.Width = 190;
    157162      //
    158163      // imageList
  • trunk/HeuristicLab.Core.Views/3.3/ItemListView.cs

    r17007 r17008  
    353353      }
    354354    }
     355    protected virtual void itemsListView_Layout(object sender, LayoutEventArgs e) {
     356      if (itemsListView.Columns.Count == 1)
     357        AdjustListViewColumnSizes();
     358    }
    355359    #endregion
    356360
     
    493497        foreach (ListViewItem listViewItem in GetListViewItemsForItem(item))
    494498          UpdateListViewItemText(listViewItem);
    495         AdjustListViewColumnSizes();
     499        if (itemsListView.Columns.Count > 1)
     500          AdjustListViewColumnSizes();
    496501      }
    497502    }
     
    500505    #region Helpers
    501506    protected virtual void AdjustListViewColumnSizes() {
    502       if (itemsListView.Items.Count > 0) {
    503         for (int i = 0; i < itemsListView.Columns.Count; i++)
    504           itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
     507      if (itemsListView.Columns.Count == 1) {
     508        if (itemsListView.Columns[0].Width != itemsListView.ClientSize.Width)
     509          itemsListView.Columns[0].Width = itemsListView.ClientSize.Width;
     510      } else {
     511        if (itemsListView.Items.Count > 0) {
     512          for (int i = 0; i < itemsListView.Columns.Count; i++)
     513            itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
     514        }
    505515      }
    506516    }
Note: See TracChangeset for help on using the changeset viewer.