Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/15/08 00:27:44 (16 years ago)
Author:
gkronber
Message:

implemented #304 (Functionality to copy values from an itemlist to the clip-board (for export to excel))

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Data/ItemListView_T.cs

    r40 r665  
    6565      detailsGroupBox.Enabled = false;
    6666      removeButton.Enabled = false;
    67       if (ItemList == null) {
     67      if(ItemList == null) {
    6868        typeTextBox.Text = "";
    6969        splitContainer.Enabled = false;
     
    7171        typeTextBox.Text = typeof(T).FullName;
    7272        splitContainer.Enabled = true;
    73         foreach (ListViewItem item in itemsListView.Items) {
     73        foreach(ListViewItem item in itemsListView.Items) {
    7474          ((IItem)item.Tag).Changed -= new EventHandler(Item_Changed);
    7575        }
    7676        itemsListView.Items.Clear();
    77         foreach (IItem data in ItemList) {
     77        foreach(IItem data in ItemList) {
    7878          ListViewItem item = new ListViewItem();
    7979          item.Text = data.ToString();
     
    8686
    8787    private void elementsListView_SelectedIndexChanged(object sender, EventArgs e) {
    88       if (detailsGroupBox.Controls.Count > 0)
     88      if(detailsGroupBox.Controls.Count > 0)
    8989        detailsGroupBox.Controls[0].Dispose();
    9090      detailsGroupBox.Controls.Clear();
    9191      detailsGroupBox.Enabled = false;
    9292      removeButton.Enabled = false;
    93       if (itemsListView.SelectedItems.Count > 0) {
     93      if(itemsListView.SelectedItems.Count > 0) {
    9494        removeButton.Enabled = true;
    9595      }
    96       if (itemsListView.SelectedItems.Count == 1) {
     96      if(itemsListView.SelectedItems.Count == 1) {
    9797        IItem data = (IItem)itemsListView.SelectedItems[0].Tag;
    9898        Control view = (Control)data.CreateView();
     
    105105    #region Size Changed Events
    106106    private void elementsListView_SizeChanged(object sender, EventArgs e) {
    107       if (itemsListView.Columns.Count > 0)
     107      if(itemsListView.Columns.Count > 0)
    108108        itemsListView.Columns[0].Width = Math.Max(0, itemsListView.Width - 25);
    109109    }
     
    112112    #region Key Events
    113113    private void elementsListView_KeyDown(object sender, KeyEventArgs e) {
    114       if (e.KeyCode == Keys.Delete) {
    115         while (itemsListView.SelectedIndices.Count > 0)
     114      if(e.KeyCode == Keys.Delete) {
     115        while(itemsListView.SelectedIndices.Count > 0)
    116116          ItemList.RemoveAt(itemsListView.SelectedIndices[0]);
     117        e.Handled = true;
     118      } else if((e.KeyCode == Keys.C) && (e.Modifiers == Keys.Control)) {
     119        // copy contents of itemlist to clipboard
     120        StringBuilder buffer = new StringBuilder();
     121        for(int i = 0; i < itemsListView.Items.Count; i++) {
     122          buffer.Append(itemsListView.Items[i].Text);
     123          buffer.Append("\n");
     124        }
     125        Clipboard.SetText(buffer.ToString());
     126        e.Handled = true;
    117127      }
    118128    }
     
    121131    #region Button Events
    122132    private void addButton_Click(object sender, EventArgs e) {
    123       if (chooseItemDialog == null) {
     133      if(chooseItemDialog == null) {
    124134        chooseItemDialog = new ChooseItemDialog(typeof(T));
    125135        chooseItemDialog.Caption = "Add Item";
    126136      }
    127       if (chooseItemDialog.ShowDialog(this) == DialogResult.OK) {
     137      if(chooseItemDialog.ShowDialog(this) == DialogResult.OK) {
    128138        try {
    129139          ItemList.Add((T)chooseItemDialog.Item);
    130         }
    131         catch (Exception ex) {
     140        } catch(Exception ex) {
    132141          Auxiliary.ShowErrorMessageBox(ex);
    133142        }
     
    135144    }
    136145    private void removeButton_Click(object sender, EventArgs e) {
    137       while (itemsListView.SelectedIndices.Count > 0)
     146      while(itemsListView.SelectedIndices.Count > 0)
    138147        ItemList.RemoveAt(itemsListView.SelectedIndices[0]);
    139148    }
     
    151160    private void elementsListView_DragEnter(object sender, DragEventArgs e) {
    152161      e.Effect = DragDropEffects.None;
    153       if (e.Data.GetDataPresent("IItem")) {
     162      if(e.Data.GetDataPresent("IItem")) {
    154163        Point p = itemsListView.PointToClient(new Point(e.X, e.Y));
    155164        ListViewItem item = itemsListView.GetItemAt(p.X, p.Y);
    156         if (item != null)
     165        if(item != null)
    157166          e.Effect = DragDropEffects.Move;
    158167      }
     
    160169    private void elementsListView_DragOver(object sender, DragEventArgs e) {
    161170      e.Effect = DragDropEffects.None;
    162       if (e.Data.GetDataPresent("IItem")) {
     171      if(e.Data.GetDataPresent("IItem")) {
    163172        Point p = itemsListView.PointToClient(new Point(e.X, e.Y));
    164173        ListViewItem item = itemsListView.GetItemAt(p.X, p.Y);
    165         if (item != null)
     174        if(item != null)
    166175          e.Effect = DragDropEffects.Move;
    167176      }
    168177    }
    169178    private void elementsListView_DragDrop(object sender, DragEventArgs e) {
    170       if (e.Effect != DragDropEffects.None) {
    171         if (e.Data.GetDataPresent("IItem")) {
     179      if(e.Effect != DragDropEffects.None) {
     180        if(e.Data.GetDataPresent("IItem")) {
    172181          IItem data = (IItem)e.Data.GetData("IItem");
    173182          Point p = itemsListView.PointToClient(new Point(e.X, e.Y));
    174183          ListViewItem item = itemsListView.GetItemAt(p.X, p.Y);
    175           if (item != null) {
     184          if(item != null) {
    176185            int index = item.Index;
    177186            ItemList.Remove((T)data);
     
    187196    #region Item and Item List Events
    188197    private void ItemList_ItemInserted(object sender, ItemIndexEventArgs e) {
    189       if (InvokeRequired)
     198      if(InvokeRequired)
    190199        Invoke(new EventHandler<ItemIndexEventArgs>(ItemList_ItemInserted), sender, e);
    191200      else {
     
    198207    }
    199208    private void ItemList_ItemRemoved(object sender, ItemIndexEventArgs e) {
    200       if (InvokeRequired)
     209      if(InvokeRequired)
    201210        Invoke(new EventHandler<ItemIndexEventArgs>(ItemList_ItemRemoved), sender, e);
    202211      else {
     
    209218    }
    210219    private void Item_Changed(object sender, EventArgs e) {
    211       if (InvokeRequired)
     220      if(InvokeRequired)
    212221        Invoke(new EventHandler(Item_Changed), sender, e);
    213222      else {
    214223        IItem data = (IItem)sender;
    215         foreach (ListViewItem item in itemsListView.Items) {
    216           if (item.Tag == data)
     224        foreach(ListViewItem item in itemsListView.Items) {
     225          if(item.Tag == data)
    217226            item.Text = data.ToString();
    218227        }
Note: See TracChangeset for help on using the changeset viewer.