public void SelectItem(iFolderViewItem item) { if (item != null) { // Select this item if (!item.Selected) { if (Mode == SelectionMode.Single) { // Unselect the old item iFolderViewItem oldItem; if (GetSelected(out oldItem)) { oldItem.Selected = false; } } item.Selected = true; if (SelectionChanged != null) { SelectionChanged(this, EventArgs.Empty); } } } }
/// <summary> /// Event Handler for Selection Changed event /// </summary> private void SelectionChangedHandler(object o, EventArgs args) { //Debug.PrintLine("iFolderIconView.SelectionChangedHandler()"); iFolderViewGroupSelection gSelect = (iFolderViewGroupSelection)o; iFolderViewGroup group = gSelect.ViewGroup; // Deselect all other items from other groups foreach (iFolderViewGroup tempGroup in viewGroups) { if (group != tempGroup) { tempGroup.Selection.SelectionChanged -= new EventHandler(SelectionChangedHandler); tempGroup.Selection.UnselectAll(); tempGroup.Selection.SelectionChanged += new EventHandler(SelectionChangedHandler); } } if (SelectionChanged != null) { iFolderViewItem selectedItem = null; if (group.Selection.GetSelected(out selectedItem)) { currentSelection = selectedItem.Holder; SelectionChanged(selectedItem.Holder, EventArgs.Empty); } else { currentSelection = null; SelectionChanged(null, EventArgs.Empty); } } }
private void OnRowChanged(object o, RowChangedArgs args) { if (args == null || args.Path == null) { return; // prevent a null pointer exception } iFolderViewItem item = (iFolderViewItem)items[args.Path.ToString()]; if (item != null) { item.Refresh(); } }
public bool GetSelected(out iFolderViewItem itemOut) { itemOut = null; // Look for the first selection foreach (iFolderViewItem item in group.Items) { if (item.Selected) { itemOut = item; return(true); } } return(false); }
public void SelectItem(iFolderViewItem item) { if (item != null) { if (!item.Selected) { if (Mode == SelectionMode.Single) { iFolderViewItem oldItem; if (GetSelected(out oldItem)) oldItem.Selected = false; } item.Selected = true; if (SelectionChanged != null) SelectionChanged(this, EventArgs.Empty); } } }
public bool GetSelected(out TreeModel modelOut, out iFolderViewItem itemOut) { Console.WriteLine("iFolderViewGroupSelection.GetSelected2"); modelOut = group.Model; return GetSelected(out itemOut); }
public bool GetSelected(out iFolderViewItem itemOut) { Console.WriteLine("iFolderViewGroupSelection.GetSelected"); itemOut = null; foreach(iFolderViewItem item in group.Items) { if (item.Selected) { itemOut = item; return true; } } return false; }
public void RebuildTable() { iFolderViewGroup.CheckThread(); Console.WriteLine("iFolderViewGroup.RebuildTable({0})", name); int numOfItems = model.IterNChildren(); Console.WriteLine("\tNum of Items: {0}", numOfItems); if (numOfItems > 0) { int availableWidth = currentWidth - (int)(contentVBox.BorderWidth * 2) - (int)(table.BorderWidth * 2); Console.WriteLine("\tWidth Available: {0}", availableWidth); int numOfColumns = availableWidth / ItemMaxWidth; if (numOfColumns < 1) numOfColumns = 1; int numOfRows = numOfItems / numOfColumns; if ((numOfItems % numOfColumns) > 0) numOfRows++; bFirstTableBuild = false; items.Clear(); foreach (Widget w in table.Children) { table.Remove(w); w.Destroy(); } Console.WriteLine("\tResizing table to {0} rows and {1} columns", numOfRows, numOfColumns); table.Resize((uint)numOfRows, (uint)numOfColumns); int currentRow = 0; int currentColumn = 0; TreeIter iter; if (model.GetIterFirst(out iter)) { do { iFolderHolder holder = (iFolderHolder)model.GetValue(iter, 0); if (holder != null) { iFolderViewItem item = new iFolderViewItem(holder, this, iter, ItemMaxWidth); table.Attach(item, (uint)currentColumn, (uint)currentColumn + 1, (uint)currentRow, (uint)currentRow + 1, AttachOptions.Shrink | AttachOptions.Fill, 0, 0, 0); TreePath path = model.GetPath(iter); items[path.ToString()] = item; item.LeftClicked += new EventHandler(OnItemLeftClicked); item.RightClicked += new EventHandler(OnItemRightClicked); item.DoubleClicked += new EventHandler(OnItemDoubleClicked); currentColumn = ((currentColumn + 1) % numOfColumns); if (currentColumn == 0) currentRow++; } } while (model.IterNext(ref iter)); } table.ShowAll(); } else { items.Clear(); foreach(Widget w in table.Children) { table.Remove(w); w.Destroy(); } } }
public bool GetSelected(out TreeModel modelOut, out iFolderViewItem itemOut) { modelOut = group.Model; return GetSelected(out itemOut); }
public bool GetSelected(out iFolderViewItem itemOut) { itemOut = null; foreach(iFolderViewItem item in group.Items) { if (item.Selected) { itemOut = item; return true; } } return false; }
public void RebuildTable() { if( (null == model) || (null == items) || (null == table) ) { iFolderViewGroup.log.Info("NULL Reference Exception: Object, model is -{0}-items is-{1}-table is -{2}-",model,items,table); return; } int numOfItems = model.IterNChildren(); if (numOfItems > 0) { int availableWidth = currentWidth - (int)(contentVBox.BorderWidth * 2) - (int)(table.BorderWidth * 2); int numOfColumns = availableWidth / ItemMaxWidth; if (numOfColumns < 1) numOfColumns = 1; int numOfRows = numOfItems / numOfColumns; if ((numOfItems % numOfColumns) > 0) numOfRows++; bFirstTableBuild = false; items.Clear(); foreach (Widget w in table.Children) { table.Remove(w); w.Destroy(); } table.Resize((uint)numOfRows, (uint)numOfColumns); int currentRow = 0; int currentColumn = 0; TreeIter iter; if (model.GetIterFirst(out iter)) { do { iFolderHolder holder = (iFolderHolder)model.GetValue(iter, 0); if (holder != null) { iFolderViewItem item = new iFolderViewItem(holder, this, iter, ItemMaxWidth); if(null == item) { iFolderViewGroup.log.Info("NULL Reference Exception: Object item is NULL"); return; } table.Attach(item, (uint)currentColumn, (uint)currentColumn + 1, (uint)currentRow, (uint)currentRow + 1, AttachOptions.Shrink | AttachOptions.Fill, 0, 0, 0); TreePath path = model.GetPath(iter); items[path.ToString()] = item; item.LeftClicked += new EventHandler(OnItemLeftClicked); item.RightClicked += new EventHandler(OnItemRightClicked); item.DoubleClicked += new EventHandler(OnItemDoubleClicked); currentColumn = ((currentColumn + 1) % numOfColumns); if (currentColumn == 0) currentRow++; } } while (model.IterNext(ref iter)); } table.ShowAll(); } else { items.Clear(); foreach(Widget w in table.Children) { table.Remove(w); w.Destroy(); } } }
public bool GetSelected(out TreeModel modelOut, out iFolderViewItem itemOut) { modelOut = group.Model; return(GetSelected(out itemOut)); }
private void OnItemRightClicked(object o, EventArgs args) { iFolderViewItem item = (iFolderViewItem)o; selection.SelectItem(item); }
public void RebuildTable() { if ((null == model) || (null == items) || (null == table)) { iFolderViewGroup.log.Info("NULL Reference Exception: Object, model is -{0}-items is-{1}-table is -{2}-", model, items, table); return; // prevent null pointer exception } int numOfItems = model.IterNChildren(); if (numOfItems > 0) { int availableWidth = currentWidth - (int)(contentVBox.BorderWidth * 2) - (int)(table.BorderWidth * 2); int numOfColumns = availableWidth / ItemMaxWidth; if (numOfColumns < 1) { numOfColumns = 1; // Force at least one column } int numOfRows = numOfItems / numOfColumns; if ((numOfItems % numOfColumns) > 0) { numOfRows++; } bFirstTableBuild = false; /// /// Clear out the old items /// items.Clear(); foreach (Widget w in table.Children) { table.Remove(w); w.Destroy(); } table.Resize((uint)numOfRows, (uint)numOfColumns); int currentRow = 0; int currentColumn = 0; TreeIter iter; if (model.GetIterFirst(out iter)) { do { iFolderHolder holder = (iFolderHolder)model.GetValue(iter, 0); if (holder != null) { iFolderViewItem item = new iFolderViewItem(holder, this, iter, ItemMaxWidth); if (null == item) { iFolderViewGroup.log.Info("NULL Reference Exception: Object item is NULL"); return; //prevent null pointer exception } table.Attach(item, (uint)currentColumn, (uint)currentColumn + 1, (uint)currentRow, (uint)currentRow + 1, AttachOptions.Shrink | AttachOptions.Fill, 0, 0, 0); // Save off the item so we can quickly reference it later TreePath path = model.GetPath(iter); items[path.ToString()] = item; // Register for the click events item.LeftClicked += new EventHandler(OnItemLeftClicked); item.RightClicked += new EventHandler(OnItemRightClicked); item.DoubleClicked += new EventHandler(OnItemDoubleClicked); currentColumn = ((currentColumn + 1) % numOfColumns); if (currentColumn == 0) { currentRow++; } } } while (model.IterNext(ref iter)); } table.ShowAll(); } else { items.Clear(); foreach (Widget w in table.Children) { table.Remove(w); w.Destroy(); } } }