private void SetupTree() { tree = new TreeView (); this.store = new ListStore (typeof (object)); tree.Model = store; TreeViewColumn col = new TreeViewColumn (); col.Sizing = TreeViewColumnSizing.Fixed; col.Spacing = 4; CellRendererText text_renderer = new CellRendererText (); text_renderer.WrapMode = Pango.WrapMode.Word; col.PackStart (text_renderer, true); col.SetCellDataFunc (text_renderer, new TreeCellDataFunc (PluginInfoCellDataFunc)); CellRendererToggle loaded_renderer = new CellRendererToggle (); loaded_renderer.Activatable = false; col.PackStart (loaded_renderer, false); col.SetCellDataFunc (loaded_renderer, new TreeCellDataFunc (LoadedStatusCellDataFunc)); col.Title = Catalog.GetString("Plugins Details"); tree.AppendColumn (col); }
public CodeTemplatePanelWidget(OptionsDialog parent) { this.Build(); scrolledwindow1.Child = textEditor; textEditor.ShowAll(); templateStore = new TreeStore(typeof(CodeTemplate), typeof(string), typeof(string)); TreeViewColumn column = new TreeViewColumn(); column.Title = GettextCatalog.GetString("Key"); pixbufCellRenderer = new CellRendererPixbuf(); column.PackStart(pixbufCellRenderer, false); column.SetCellDataFunc(pixbufCellRenderer, new Gtk.TreeCellDataFunc(RenderIcon)); templateCellRenderer = new CellRendererText(); column.PackStart(templateCellRenderer, true); column.SetCellDataFunc(templateCellRenderer, new Gtk.TreeCellDataFunc(RenderTemplateName)); treeviewCodeTemplates.AppendColumn(column); treeviewCodeTemplates.Model = templateStore; templates = new List <CodeTemplate> (CodeTemplateService.Templates); templates.ForEach(t => InsertTemplate(t)); treeviewCodeTemplates.ExpandAll(); treeviewCodeTemplates.Selection.Changed += HandleChanged; options = new MonoDevelop.Ide.Gui.CommonTextEditorOptions(); options.ShowLineNumberMargin = false; options.ShowFoldMargin = false; options.ShowIconMargin = false; options.ShowInvalidLines = false; options.ShowSpaces = options.ShowTabs = options.ShowEolMarkers = false; textEditor.Options = options; textEditor.Document.ReadOnly = true; this.buttonAdd.Clicked += ButtonAddClicked; this.buttonEdit.Clicked += ButtonEditClicked; this.buttonRemove.Clicked += ButtonRemoveClicked; checkbuttonWhiteSpaces.Toggled += CheckbuttonWhiteSpacesToggled; this.treeviewCodeTemplates.Selection.Changed += SelectionChanged; SelectionChanged(null, null); }
/// <summary>Default constructor for ExplorerView</summary> public ExplorerView(ViewBase owner) : base(owner) { Builder builder = BuilderFromResource("ApsimNG.Resources.Glade.ExplorerView.glade"); vbox1 = (VBox)builder.GetObject("vbox1"); toolStrip = (Toolbar)builder.GetObject("toolStrip"); treeview1 = (TreeView)builder.GetObject("treeview1"); RightHandView = (Viewport)builder.GetObject("RightHandView"); _mainWidget = vbox1; RightHandView.ShadowType = ShadowType.EtchedOut; treeview1.Model = treemodel; TreeViewColumn column = new TreeViewColumn(); CellRendererPixbuf iconRender = new Gtk.CellRendererPixbuf(); column.PackStart(iconRender, false); textRender = new Gtk.CellRendererText(); textRender.Editable = false; textRender.EditingStarted += OnBeforeLabelEdit; textRender.Edited += OnAfterLabelEdit; column.PackStart(textRender, true); column.SetCellDataFunc(textRender, OnSetCellData); CellRendererText tickCell = new CellRendererText(); tickCell.Editable = false; column.PackEnd(tickCell, false); column.SetAttributes(iconRender, "pixbuf", 1); column.SetAttributes(textRender, "text", 0); column.SetAttributes(tickCell, "text", 3); // column.SetCellDataFunc(textRender, treecelldatafunc); treeview1.AppendColumn(column); treeview1.TooltipColumn = 2; treeview1.CursorChanged += OnAfterSelect; treeview1.ButtonReleaseEvent += OnButtonUp; treeview1.ButtonPressEvent += OnButtonPress; treeview1.RowActivated += OnRowActivated; TargetEntry[] target_table = new TargetEntry[] { new TargetEntry(modelMime, TargetFlags.App, 0) }; Gdk.DragAction actions = Gdk.DragAction.Copy | Gdk.DragAction.Link | Gdk.DragAction.Move; // treeview1.EnableModelDragDest(target_table, actions); // treeview1.EnableModelDragSource(Gdk.ModifierType.Button1Mask, target_table, actions); Drag.SourceSet(treeview1, Gdk.ModifierType.Button1Mask, target_table, actions); Drag.DestSet(treeview1, 0, target_table, actions); treeview1.DragMotion += OnDragOver; treeview1.DragDrop += OnDragDrop; treeview1.DragBegin += OnDragBegin; treeview1.DragDataGet += OnDragDataGet; treeview1.DragDataReceived += OnDragDataReceived; treeview1.DragEnd += OnDragEnd; treeview1.FocusInEvent += Treeview1_FocusInEvent; treeview1.FocusOutEvent += Treeview1_FocusOutEvent; timer.Elapsed += Timer_Elapsed; _mainWidget.Destroyed += _mainWidget_Destroyed; }
public MovieListGui() { this.Build(); store = new TreeStore(typeof(object)); treeview.Model = store; treeview.Selection.Mode = SelectionMode.Multiple; treeview.BorderWidth = 0; treeview.RowActivated += HandleTreeviewRowActivated; string[] titles = new string[] { "Title", "Year", "Set", "Rating", "Filename" }; for (int i = 0; i < titles.Length; i++) { if (i == 0) { TreeViewColumn col = new Gtk.TreeViewColumn(); TreeItemCellRenderer cell = new TreeItemCellRenderer(); col.PackStart(cell, true); col.SortColumnId = i; col.Title = titles[i]; col.MinWidth = 300; col.MaxWidth = 400; col.SortIndicator = false; col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell)); treeview.AppendColumn(col); } else if (i == 3) { TreeViewColumn col = new TreeViewColumn(); CellRendererPixbuf cell = new CellRendererPixbuf(); col.PackStart(cell, true); col.SortColumnId = i; col.Title = titles[i]; col.SortIndicator = false; col.SetCellDataFunc(cell, new TreeCellDataFunc(RenderTreeCell)); treeview.AppendColumn(col); } else { TreeViewColumn col = new Gtk.TreeViewColumn(); CellRendererText cell = new Gtk.CellRendererText(); col.PackStart(cell, true); col.SortColumnId = i; col.SortIndicator = false; if (i == 1) { col.MinWidth = 80; } else if (i == 2) { col.MinWidth = 200; } col.Title = titles[i]; col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell)); treeview.AppendColumn(col); } } }
public TvShowGui() { this.Build(); store = new TreeStore(typeof(object)); treeview.Model = store; treeview.BorderWidth = 0; string[] titles = new string[] { "Episodes", "Title", "Rating", "Filename" }; for (int i = 0; i < titles.Length; i++) { if (i == 0) { TreeViewColumn col = new Gtk.TreeViewColumn(); TreeItemCellRenderer cell = new TreeItemCellRenderer(); col.PackStart(cell, true); col.SortColumnId = i; col.Title = titles[i]; col.MinWidth = 85; col.MaxWidth = 85; col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell)); treeview.AppendColumn(col); } else if (i == 2) { TreeViewColumn col = new TreeViewColumn(); CellRendererPixbuf cell = new CellRendererPixbuf(); col.PackStart(cell, true); col.SortColumnId = i; col.Title = titles[i]; col.SetCellDataFunc(cell, new TreeCellDataFunc(RenderTreeCell)); treeview.AppendColumn(col); } else { TreeViewColumn col = new Gtk.TreeViewColumn(); CellRendererText cell = new Gtk.CellRendererText(); col.PackStart(cell, true); col.SortColumnId = i; /* * if(i == 1) * col.MinWidth = 80; * else if(i == 2) * col.MinWidth = 200; */ col.Title = titles[i]; col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell)); treeview.AppendColumn(col); } } treeview.RowActivated += HandleNodeview1RowActivated; this.ExposeEvent += delegate(object o, ExposeEventArgs args) { //ExposeIt(); }; }
public AddAddinReferenceDialog(Addin[] allAddins) { if (allAddins == null || allAddins.Length == 0) throw new ArgumentException (); Title = GettextCatalog.GetString ("Add Extension Reference"); DestroyWithParent = true; Modal = true; HasSeparator = false; WidthRequest = 400; HeightRequest = 400; AllowShrink = false; Resizable = true; AddActionWidget (new Button (Stock.Cancel), ResponseType.Cancel); AddActionWidget (addButton, ResponseType.Ok); treeView.HeadersVisible = false; treeView.Model = store; var column = new TreeViewColumn (); var toggleRenderer = new CellRendererToggle (); column.PackStart (toggleRenderer, false); column.SetCellDataFunc (toggleRenderer, ToggleCellDataFunc); toggleRenderer.Toggled += HandleToggled; var textRenderer = new CellRendererText (); column.PackStart (textRenderer, true); column.SetCellDataFunc (textRenderer, TextCellDataFunc); treeView.AppendColumn (column); var sw = new CompactScrolledWindow { Child = treeView }; VBox.PackStart (sw); foreach (var addin in allAddins.OrderBy (a => a.Id)) { store.AppendValues (addin, false); } addButton.Sensitive = false; ShowAll (); }
// END HERZUM BUG FIX: alignment input-output TLAB-255 /// <summary> /// Creates the input mapping column with combo box. /// TODO improve the input mapping combo box: /// 1. it doesn't set values until combo box loses focus within table view confirm change - Edited event is raised only then /// 2. there is no indication that the field can be modified - render combo box always, OR show some icon that it can be modified /// </summary> /// <returns> /// The input mapping column with combo box. /// </returns> /// <param name='inputStore'> /// Input store. /// </param> private TreeViewColumn CreateInputMappingColumnWithComboBox(NodeStore inputStore, string columntTitle) { Gtk.CellRendererCombo comboRenderer = new Gtk.CellRendererCombo(); comboRenderer.HasEntry = false; comboRenderer.Mode = CellRendererMode.Editable; comboRenderer.TextColumn = 0; comboRenderer.Editable = true; ListStore comboBoxStore = new ListStore(typeof(string)); comboRenderer.Model = comboBoxStore; //when user activates combo box, refresh combobox store with available input mapping per node comboRenderer.EditingStarted += delegate(object o, EditingStartedArgs args) { comboBoxStore.Clear(); IOItemNode currentItem = (IOItemNode)inputStore.GetNode(new TreePath(args.Path)); ExperimentNode currentNode = m_component.ExperimentNode; string currentType = currentItem.Type; // HERZUM SPRINT 2.4: TLAB-162 //InputMappings availableInputMappingsPerNode = new InputMappings (currentNode.Owner); InputMappings availableInputMappingsPerNode = new InputMappings(m_applicationContext.Application.Experiment); // END HERZUM SPRINT 2.4: TLAB-162 if (currentNode != null && availableInputMappingsPerNode.ContainsMappingsForNode(currentNode)) { foreach (string incomingOutput in availableInputMappingsPerNode[currentNode].Keys) { if (string.Equals(currentType, availableInputMappingsPerNode [currentNode] [incomingOutput])) { comboBoxStore.AppendValues(Mono.Unix.Catalog.GetString(incomingOutput)); } } } }; //when edition has been completed set current item node with proper mapping comboRenderer.Edited += delegate(object o, EditedArgs args) { IOItemNode n = (IOItemNode)inputStore.GetNode(new TreePath(args.Path)); n.MappedTo = args.NewText; RefreshIOHighlightInExperiment(n.MappedTo); }; //finally create the column with above combo renderer var mappedToColumn = new TreeViewColumn(); mappedToColumn.Title = columntTitle; mappedToColumn.PackStart(comboRenderer, true); //this method sets the text view to current mapping, when combo box is not active mappedToColumn.SetCellDataFunc(comboRenderer, delegate(TreeViewColumn tree_column, CellRenderer cell, ITreeNode node) { IOItemNode currentItem = (IOItemNode)node; comboRenderer.Text = currentItem.MappedTo; }); return(mappedToColumn); }
private TreeView MakeTreeView() { TreeView tree = new TreeView(); tree.Selection.Changed += treeSelection_Changed; tree.Mapped += delegate(object sender, EventArgs args) { // Set bg color Gdk.Color color = Gdk.Color.Zero; Gdk.Color.Parse("#CFD7E2", ref color); //tree.ModifyBase(StateType.Normal, color); }; tree.HeadersVisible = false; tree.CanFocus = false; CellRendererPixbuf pixbufCell = new CellRendererPixbuf(); CellRendererText textCell = new CellRendererText(); CellRendererText countTextCell = new CellRendererText(); countTextCell.Sensitive = false; countTextCell.Alignment = Pango.Alignment.Right; countTextCell.Xalign = 1; CellRendererPixbuf closeCell = new CellRendererPixbuf(); TreeViewColumn column = new TreeViewColumn(); column.PackStart(pixbufCell, false); column.PackStart(textCell, true); column.PackStart(countTextCell, false); column.PackStart(closeCell, false); column.SetCellDataFunc(pixbufCell, new TreeCellDataFunc(ItemPixbufCellFunc)); column.SetCellDataFunc(textCell, new TreeCellDataFunc(ItemTextCellFunc)); column.SetCellDataFunc(countTextCell, new TreeCellDataFunc(ItemCountCellFunc)); tree.AppendColumn(column); tree.ExpanderColumn = column; tree.RowSeparatorFunc = delegate(TreeModel m, TreeIter i) { return(m.GetValue(i, 0) is SeparatorItem); }; return(tree); }
/// <summary> /// Removes all grid columns, and cleans up any associated event handlers /// </summary> private void ClearGridColumns() { if (refColWidget != null) { refColWidget.SizeAllocated -= RefColWidget_SizeAllocated; refColWidget = null; } while (Fixedcolview.Columns.Length > 0) { TreeViewColumn col = Fixedcolview.GetColumn(0); foreach (CellRenderer render in col.Cells) { if (render is CellRendererText) { CellRendererText textRender = render as CellRendererText; col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null); } } Fixedcolview.RemoveColumn(Fixedcolview.GetColumn(0)); } while (Grid.Columns.Length > 0) { TreeViewColumn col = Grid.GetColumn(0); foreach (CellRenderer render in col.Cells) { if (render is CellRendererText) { CellRendererText textRender = render as CellRendererText; col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null); } else if (render is CellRendererPixbuf) { CellRendererPixbuf pixRender = render as CellRendererPixbuf; col.SetCellDataFunc(pixRender, (CellLayoutDataFunc)null); } render.Dispose(); } Grid.RemoveColumn(Grid.GetColumn(0)); } }
public ChatRoomSubpage(ChatRoom room) { thisRoom = room; network = room.Network; userListStore = new ListStore(typeof(Node)); userList.Model = userListStore; var iconCell = new CellRendererPixbuf(); var textCell = new CellRendererText(); var column = new TreeViewColumn(); column.PackStart(iconCell, false); column.SetCellDataFunc(iconCell, UserListIconFunc); column.PackStart(textCell, true); column.SetCellDataFunc(textCell, UserListTextFunc); userList.AppendColumn(column); userList.HeadersVisible = false; userList.RowActivated += on_userList_RowActivated; userList.ButtonReleaseEvent += on_userList_button_release_event; foreach (Node n in room.Users.Values) { userListStore.AppendValues(n); } AddToChat(null, string.Format("You have joined {0}.", thisRoom.Name)); if (room.HasPassword) { AddToChat(null, "This chatroom is password-protected. Other users on the network who do not have the password are not able to evesdrop on the conversation.\n"); } else { AddToChat(null, "This chatroom is not password-protected. Other users on the network are able to evesdrop on the conversation, regardless of if they appear to be in the room or not.\n"); } SendMessage += base_SendMessage; }
public CodeTemplatePanelWidget(OptionsDialog parent) { this.Build(); Gtk.Widget control = textEditor; scrolledwindow1.Add(control); control.ShowAll(); templateStore = new TreeStore(typeof(CodeTemplate), typeof(string), typeof(string)); TreeViewColumn column = new TreeViewColumn(); column.Title = GettextCatalog.GetString("Key"); pixbufCellRenderer = new CellRendererImage(); column.PackStart(pixbufCellRenderer, false); column.SetCellDataFunc(pixbufCellRenderer, new Gtk.TreeCellDataFunc(RenderIcon)); templateCellRenderer = new CellRendererText(); column.PackStart(templateCellRenderer, true); column.SetCellDataFunc(templateCellRenderer, new Gtk.TreeCellDataFunc(RenderTemplateName)); treeviewCodeTemplates.AppendColumn(column); treeviewCodeTemplates.Model = templateStore; treeviewCodeTemplates.SearchColumn = -1; // disable the interactive search templates = new List <CodeTemplate> (CodeTemplateService.Templates); templates.ForEach(t => InsertTemplate(t)); treeviewCodeTemplates.ExpandAll(); treeviewCodeTemplates.Selection.Changed += HandleChanged; textEditor.Options = DefaultSourceEditorOptions.PlainEditor; textEditor.IsReadOnly = true; this.buttonAdd.Clicked += ButtonAddClicked; this.buttonEdit.Clicked += ButtonEditClicked; this.buttonRemove.Clicked += ButtonRemoveClicked; this.treeviewCodeTemplates.Selection.Changed += SelectionChanged; SelectionChanged(null, null); checkbuttonWhiteSpaces.Hide(); }
public OptionsDialog(Gtk.Window parentWindow, object dataObject, string extensionPath, bool removeEmptySections) { this.Build(); this.removeEmptySections = removeEmptySections; extensionContext = AddinManager.CreateExtensionContext(); this.mainDataObject = dataObject; this.extensionPath = extensionPath; if (parentWindow != null) { TransientFor = parentWindow; } ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon, treeIconSize); ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon, headerIconSize); store = new TreeStore(typeof(OptionsDialogSection)); tree.Model = store; tree.HeadersVisible = false; TreeViewColumn col = new TreeViewColumn(); var crp = new CellRendererPixbuf(); col.PackStart(crp, false); col.SetCellDataFunc(crp, PixbufCellDataFunc); var crt = new CellRendererText(); col.PackStart(crt, true); col.SetCellDataFunc(crt, TextCellDataFunc); tree.AppendColumn(col); tree.Selection.Changed += OnSelectionChanged; Child.ShowAll(); InitializeContext(extensionContext); FillTree(); ExpandCategories(); this.DefaultResponse = Gtk.ResponseType.Ok; }
public ApacheModsList() { this.Build(); // TreeView model = new TreeStore(typeof(ApacheMod)); treeView.Model = model; treeView.HeadersVisible = true; // Name Column TreeViewColumn nameColumn = new TreeViewColumn(); nameColumn.Title = "Mods"; CellRendererText modsNameCell = new CellRendererText(); nameColumn.PackStart(modsNameCell, true); // Status Column TreeViewColumn statusColumn = new TreeViewColumn(); statusColumn.Title = "Status"; CellRendererText modsStatusCell = new CellRendererText(); statusColumn.PackStart(modsStatusCell, true); // Config Column TreeViewColumn configColumn = new TreeViewColumn(); configColumn.Title = "Config File"; CellRendererText modsConfigCell = new CellRendererText(); configColumn.PackStart(modsConfigCell, true); treeView.AppendColumn(nameColumn); treeView.AppendColumn(statusColumn); treeView.AppendColumn(configColumn); nameColumn.SetCellDataFunc(modsNameCell, new TreeCellDataFunc(RenderModName)); statusColumn.SetCellDataFunc(modsStatusCell, new TreeCellDataFunc(RenderModStatus)); configColumn.SetCellDataFunc(modsConfigCell, new TreeCellDataFunc(RenderModConfig)); treeView.Selection.Changed += OnSelectionChanged; // Buttons iconLabelStatusButton = new JLWidgets.IconLabel(); iconLabelStatusButton.SetImageFromIcon("gtk-ok"); iconLabelStatusButton.SetText("Activate"); statusButton.Remove(statusButton.Child); statusButton.Add(iconLabelStatusButton); statusButton.Sensitive = false; editButton.Sensitive = false; }
protected void AddColumn(string name, CellRenderer renderer, TreeCellDataFunc tcdf) { var column = new TreeViewColumn(); column.Title = name; column.PackStart(renderer, true); column.Resizable = true; column.SetCellDataFunc(renderer, new TreeCellDataFunc(tcdf)); importView.AppendColumn(column); }
private void AddColumn(string label) { TreeViewColumn column = new TreeViewColumn() { Title = label, }; column.PackStart(cellRendererText, true); column.SetCellDataFunc(cellRendererText, new TreeCellDataFunc(ShowDataEntry)); treeView.AppendColumn(column); }
/// <summary> /// Populate the grid from the DataSource. /// </summary> private void PopulateGrid() { // Begin by creating a new ListStore with the appropriate number of // columns. Use the string column type for everything. int nCols = DataSource != null ? this.DataSource.Columns.Count : 0; Type[] colTypes = new Type[nCols]; for (int i = 0; i < nCols; i++) { colTypes[i] = typeof(string); } gridmodel = new ListStore(colTypes); while (gridview.Columns.Length > 0) { gridview.RemoveColumn(gridview.GetColumn(0)); } colLookup.Clear(); image1.Visible = false; // Now set up the grid columns for (int i = 0; i < nCols; i++) { /// Design plan: include renderers for text, toggles and combos, but hide all but one of them CellRendererText textRender = new Gtk.CellRendererText(); colLookup.Add(textRender, i); textRender.Editable = !isReadOnly; textRender.EditingStarted += OnCellBeginEdit; textRender.Edited += OnCellValueChanged; TreeViewColumn column = new TreeViewColumn(this.DataSource.Columns[i].ColumnName, textRender, "text", i); gridview.AppendColumn(column); column.Sizing = TreeViewColumnSizing.Autosize; column.Resizable = true; column.SetCellDataFunc(textRender, OnSetCellData); } int nRows = DataSource != null ? this.DataSource.Rows.Count : 0; for (int row = 0; row < nRows; row++) { string[] cells = new string[this.DataSource.Columns.Count]; // Put everything into the ListStore as a string, but set the actual text // on the fly using the SetCellDataFunc callback for (int col = 0; col < this.DataSource.Columns.Count; col++) { cells[col] = this.DataSource.Rows[row][col].ToString(); } gridmodel.AppendValues(cells); } gridview.Model = gridmodel; gridview.Selection.Mode = SelectionMode.Multiple; gridview.ShowAll(); }
public void BuildTextResourcesTreeView() { TreeViewColumn keysColumn = new TreeViewColumn { Title = string.Empty, Resizable = true }; keysColumn.AddNotification("width", (object o, GLib.NotifyArgs args) => OnColumnWidthChanged(keysColumn)); _textResourcesTreeView.AppendColumn(keysColumn); CellRendererText keyCell = new Gtk.CellRendererText { Editable = true, Width = 300, Background = "black" }; keyCell.Edited += OnKeyCellEdited; keysColumn.PackStart(keyCell, true); keysColumn.SetCellDataFunc(keyCell, new Gtk.TreeCellDataFunc(HandleKeyCellDataFunc)); foreach (var textResource in _textResourcesManager.TextResources) { TreeViewColumn resourcesColumn = new TreeViewColumn { Title = textResource.Name, Resizable = true }; keysColumn.AddNotification("width", (object o, GLib.NotifyArgs args) => OnColumnWidthChanged(resourcesColumn)); _textResourcesTreeView.AppendColumn(resourcesColumn); CellRendererText valueCell = new Gtk.CellRendererText { Width = 200, Editable = true, WrapWidth = 200, SingleParagraphMode = false, WrapMode = Pango.WrapMode.WordChar, }; valueCell.Edited += (o, args) => OnValueCellEdited((CellRendererText)o, args, textResource); resourcesColumn.PackStart(valueCell, true); resourcesColumn.SetCellDataFunc(valueCell, new Gtk.TreeCellDataFunc(HandleValueCellDataFunc)); } foreach (var key in _textResourcesManager.GetAllKeys()) { _resourcesListStore.AppendValues(key); } _textResourcesTreeView.Model = _filter; }
// IWorkbenchWindow workbenchWindow; // RegexToolkitWidget regexWidget; public ElementHelpWidget(IWorkbenchWindow workbenchWindow, RegexToolkitWidget regexWidget) { // this.workbenchWindow = workbenchWindow; // this.regexWidget = regexWidget; this.Build(); elementsStore = new Gtk.TreeStore(typeof(string), typeof(string), typeof(string), typeof(string)); this.elementsTreeview.Model = this.elementsStore; this.elementsTreeview.HeadersVisible = false; this.elementsTreeview.Selection.Mode = SelectionMode.Browse; var col = new TreeViewColumn(); this.elementsTreeview.AppendColumn(col); var pix = new CellRendererPixbuf(); var cellRendText = new CellRendererText(); col.PackStart(pix, false); col.AddAttribute(pix, "stock_id", 0); col.PackStart(cellRendText, false); col.AddAttribute(cellRendText, "text", 1); var cellRendText2 = new CellRendererText(); col.PackStart(cellRendText2, true); col.SetCellDataFunc(cellRendText2, ElementDescriptionFunc); // this.elementsTreeview.Selection.Changed += delegate { // ShowTooltipForSelectedEntry (); // }; // this.elementsTreeview.MotionNotifyEvent += HandleMotionNotifyEvent; this.elementsTreeview.RowActivated += delegate(object sender, RowActivatedArgs e) { Gtk.TreeIter iter; if (elementsStore.GetIter(out iter, e.Path)) { string text = elementsStore.GetValue(iter, 3) as string; if (!System.String.IsNullOrEmpty(text)) { regexWidget.InsertText(text); workbenchWindow.SwitchView(0); } } }; this.LeaveNotifyEvent += delegate { this.HideTooltipWindow(); }; FillElementsBox(); Show(); }
void AddColumn(string title, CellRenderer cellRenderer, TreeCellDataFunc func, Array attributes) { var column = new TreeViewColumn(title, cellRenderer, attributes); if (func != null) { column.SetCellDataFunc(cellRenderer, func); } column.Clickable = true; column.Title = title; tasksTreeView.AppendColumn(column); }
// Constructor. public TagSelectionWidget(TagStore tag_store) : base(new TreeStore(typeof(uint), typeof(string))) { HeadersVisible = false; Selection.Mode = SelectionMode.Multiple; complete_column = new TreeViewColumn(); pix_render = new CellRendererPixbuf(); complete_column.PackStart(pix_render, false); complete_column.SetCellDataFunc(pix_render, new TreeCellDataFunc(IconDataFunc)); //complete_column.AddAttribute (pix_render, "pixbuf", OpenIconColumn); //icon_column = AppendColumn ("icon", //, new TreeCellDataFunc (IconDataFunc)); //icon_column = AppendColumn ("icon", new CellRendererPixbuf (), new TreeCellDataFunc (IconDataFunc)); text_render = new CellRendererText(); complete_column.PackStart(text_render, true); complete_column.SetCellDataFunc(text_render, new TreeCellDataFunc(NameDataFunc)); AppendColumn(complete_column); this.tag_store = tag_store; Update(); ExpandDefaults(); tag_store.ItemsAdded += HandleTagsAdded; tag_store.ItemsRemoved += HandleTagsRemoved; tag_store.ItemsChanged += HandleTagsChanged; // TODO make the search find tags that are not currently expanded EnableSearch = true; SearchColumn = NameColumn; // Transparent white empty_pixbuf.Fill(0xffffff00); }
/// <summary> /// Removes all grid columns, and cleans up any associated event handlers /// </summary> private void ClearGridColumns() { while (Grid.Columns.Length > 0) { TreeViewColumn col = Grid.GetColumn(0); #if NETFRAMEWORK foreach (CellRenderer render in col.CellRenderers) #else foreach (CellRenderer render in col.Cells) #endif { if (render is CellRendererText) { CellRendererText textRender = render as CellRendererText; col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null); } else if (render is CellRendererPixbuf) { CellRendererPixbuf pixRender = render as CellRendererPixbuf; col.SetCellDataFunc(pixRender, (CellLayoutDataFunc)null); } render.Dispose(); } Grid.RemoveColumn(Grid.GetColumn(0)); } while (Fixedcolview.Columns.Length > 0) { TreeViewColumn col = Fixedcolview.GetColumn(0); foreach (CellRenderer render in col.GetCells()) { if (render is CellRendererText) { CellRendererText textRender = render as CellRendererText; col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null); } } Fixedcolview.RemoveColumn(Fixedcolview.GetColumn(0)); } }
private Gtk.Widget CreateWorkspaceView() { ScrolledWindow sw = new ScrolledWindow(); m_treeView = new Gtk.TreeView(); //first column has workspaceUnit but presents its friendly name, 2nd column displays type and 3rd displays value m_workspaceStore = new Gtk.ListStore(typeof(WorkspaceUnit), typeof(WorkspaceUnit), typeof(WorkspaceUnit)); m_treeView.Model = m_workspaceStore; //create columns with associated cell renderings CellRendererText nameRenderer = new CellRendererText(); TreeViewColumn nameColumn = m_treeView.AppendColumn("Name", nameRenderer); nameColumn.SetCellDataFunc(nameRenderer, new TreeCellDataFunc(RenderName)); CellRendererText typeRenderer = new CellRendererText(); TreeViewColumn typeColumn = m_treeView.AppendColumn("Type", typeRenderer); typeColumn.SetCellDataFunc(typeRenderer, new TreeCellDataFunc(RenderType)); TreeViewColumn valueColumn = new TreeViewColumn(); valueColumn.Title = "Value"; CellRendererPixbuf valueViewerIconCellRenderer = new CellRendererPixbuf(); CellRendererText valueTextRenderer = new CellRendererText(); valueViewerIconCellRenderer.Xalign = 0.0f; valueColumn.PackEnd(valueTextRenderer, true); valueColumn.PackStart(valueViewerIconCellRenderer, false); valueColumn.SetCellDataFunc(valueViewerIconCellRenderer, new TreeCellDataFunc(RenderViewerIcon)); valueColumn.SetCellDataFunc(valueTextRenderer, new TreeCellDataFunc(RenderValue)); m_treeView.AppendColumn(valueColumn); m_treeView.RowActivated += HandleRowActivated; sw.Add(m_treeView); sw.ShowAll(); return(sw); }
private void InitComponent() { Resize(500, 500); var vbox = new VBox(); Gdk.Color grey = new Gdk.Color(0xA0, 0xA0, 0xA0); Gdk.Color lightBlue = new Gdk.Color(207, 207, 239); var infoFont = Pango.FontDescription.FromString(AppSettings.Get("info-font", "Verdana")); var textFont = Pango.FontDescription.FromString(AppSettings.Get("text-font", "Courier New")); _searchTextView = new TextView(); _searchTextView.ModifyBase(StateType.Normal, lightBlue); _searchTextView.Buffer.Changed += (s, e) => { UpdateSearchBox(); }; _searchTextView.KeyPressEvent += _searchTextView_KeyPressEvent; _searchTextView.ModifyFont(textFont); _searchTextView.Buffer.Text = ""; _searchResultsStore = new ListStore(typeof(TitleSearchResult)); _searchResultsView = new TreeView(_searchResultsStore); TreeViewColumn column = new TreeViewColumn(); column.Title = "Value"; var valueRenderer = new CellRendererText(); column.PackStart(valueRenderer, true); column.SetCellDataFunc(valueRenderer, (TreeViewColumn col, CellRenderer cell, TreeModel model, TreeIter iter) => { TitleSearchResult item = (TitleSearchResult)model.GetValue(iter, 0); ((CellRendererText)cell).Text = item.Title; }); _searchResultsView.AppendColumn(column); _searchResultsView.ModifyBase(StateType.Normal, lightBlue); _searchResultsView.ButtonPressEvent += _searchResultsView_ButtonPressEvent; var scrolledResults = new ScrolledWindow(); scrolledResults.Add(_searchResultsView); vbox.PackStart(_searchTextView, false, false, 0); vbox.PackStart(scrolledResults, true, true, 0); Add(vbox); BorderWidth = 5; UpdateSearchBox(); }
TreeViewColumn CreateTemplateListTreeViewColumn() { var column = new TreeViewColumn(); templateTextRenderer = new GtkTemplateCellRenderer(); templateTextRenderer.Xpad = 14; templateTextRenderer.Ypad = 0; templateTextRenderer.Ellipsize = Pango.EllipsizeMode.End; templateTextRenderer.CellBackgroundGdk = templateListBackgroundColor; column.PackStart(templateTextRenderer, true); column.AddAttribute(templateTextRenderer, "markup", column: 0); column.SetCellDataFunc(templateTextRenderer, SetTemplateTextCellData); languageCellRenderer = new LanguageCellRenderer(); languageCellRenderer.CellBackgroundGdk = templateListBackgroundColor; column.PackEnd(languageCellRenderer, false); column.SetCellDataFunc(languageCellRenderer, SetLanguageCellData); return(column); }
static TreeViewColumn CreateColumn(TreeView view, string title, CellRenderer cell, TreeCellDataFunc dataFunc, int sortOrderId) { //var col = view.AppendColumn(title, cell, dataFunc); var col = new TreeViewColumn() { Resizable = true, Clickable = true, Title = title, SortColumnId = sortOrderId }; col.PackStart(cell, true); view.AppendColumn(col); col.SetCellDataFunc(cell, dataFunc); return(col); }
private Gtk.TreeViewColumn getCol(string title) { Gtk.TreeViewColumn retval = new TreeViewColumn(); retval.Title = title; Gtk.CellRendererText cr = new Gtk.CellRendererText(); cr.Edited += textcellEdited; // cr.EditingStarted += Cr_EditingStarted; // cr.EditingCanceled += Cr_EditingCanceled; cr.Data.Add("_colTitle", title); retval.PackStart(cr, true); retval.SetCellDataFunc(cr, new TreeCellDataFunc(renderDragonCell)); return(retval); }
private void BuildTree() { // Setup thumbnail column using (CellRendererPixbuf renderer = new CellRendererPixbuf()) { TreeViewColumn column = new TreeViewColumn("", renderer); column.SetCellDataFunc(renderer, (TreeViewColumn _column, CellRenderer _cell, TreeModel _model, TreeIter _iter) => { var model_item = _model.GetValue(_iter, 0) as UIComponentDescriptor; (_cell as Gtk.CellRendererPixbuf).Pixbuf = model_item.Icon; }); m_View.AppendColumn(column); } // Setup name column using (CellRendererText renderer = new CellRendererText()) { TreeViewColumn column = new TreeViewColumn("Name", renderer); // set data in cell column.SetCellDataFunc(renderer, (TreeViewColumn _column, CellRenderer _cell, TreeModel _model, TreeIter _iter) => { Gtk.CellRendererText cell = _cell as Gtk.CellRendererText; var model_item = _model.GetValue(_iter, 0) as UIComponentDescriptor; cell.Text = model_item.Text; }); m_View.AppendColumn(column); } // setup checkbox column { var renderer = new CellRendererToggle(); renderer.Toggled += new ToggledHandler(OnComponentSelected); TreeViewColumn column = new TreeViewColumn("", renderer); column.SetCellDataFunc(renderer, (TreeViewColumn _column, CellRenderer _cell, TreeModel _model, TreeIter _iter) => { var model_item = _model.GetValue(_iter, 0) as UIComponentDescriptor; if (null != model_item.ComponentFactoryInformation) { (_cell as CellRendererToggle).Active = (model_item as UIComponentDescriptor).Selected; (_cell as CellRendererToggle).Visible = true; } else { (_cell as CellRendererToggle).Visible = false; } }); m_View.AppendColumn(column); } }
private void buildColumns() { addressColumn = new TreeViewColumn(); clientColumn = new TreeViewColumn(); downColumn = new TreeViewColumn(); upColumn = new TreeViewColumn(); seedingColumn = new TreeViewColumn(); interestedColumn = new TreeViewColumn(); addressColumn.Title = _("IP Address"); clientColumn.Title = _("Client"); downColumn.Title = _("DL Speed"); upColumn.Title = _("UP Speed"); seedingColumn.Title = _("Seeding"); interestedColumn.Title = _("Interested"); addressColumn.Expand = true; clientColumn.Expand = true; downColumn.Expand = true; upColumn.Expand = true; seedingColumn.Expand = true; interestedColumn.Expand = true; Gtk.CellRendererText addressCell = new Gtk.CellRendererText(); Gtk.CellRendererText clientCell = new Gtk.CellRendererText(); Gtk.CellRendererText downCell = new Gtk.CellRendererText(); Gtk.CellRendererText upCell = new Gtk.CellRendererText(); Gtk.CellRendererToggle seedingCell = new Gtk.CellRendererToggle(); Gtk.CellRendererToggle interestedCell = new Gtk.CellRendererToggle(); addressColumn.PackStart(addressCell, true); clientColumn.PackStart(clientCell, true); downColumn.PackStart(downCell, true); upColumn.PackStart(upCell, true); seedingColumn.PackStart(seedingCell, true); interestedColumn.PackStart(interestedCell, true); addressColumn.SetCellDataFunc(addressCell, new Gtk.TreeCellDataFunc(RenderAddress)); clientColumn.SetCellDataFunc(clientCell, new Gtk.TreeCellDataFunc(RenderClient)); downColumn.SetCellDataFunc(downCell, new Gtk.TreeCellDataFunc(RenderDown)); upColumn.SetCellDataFunc(upCell, new Gtk.TreeCellDataFunc(RenderUp)); seedingColumn.SetCellDataFunc(seedingCell, new Gtk.TreeCellDataFunc(RenderSeeding)); interestedColumn.SetCellDataFunc(interestedCell, new Gtk.TreeCellDataFunc(RenderInterested)); AppendColumn(addressColumn); AppendColumn(clientColumn); AppendColumn(downColumn); AppendColumn(upColumn); AppendColumn(seedingColumn); AppendColumn(interestedColumn); }
public PropertyGridTree(EditorManager editorManager, PropertyGrid parentGrid) { this.editorManager = editorManager; this.parentGrid = parentGrid; propertyRows = new Hashtable(); store = new TreeStore(typeof(string), typeof(object), typeof(bool), typeof(object)); tree = new InternalTree(this, store); CellRendererText crt; TreeViewColumn col; col = new TreeViewColumn(); col.Title = Catalog.GetString("Property"); crt = new CellRendererPropertyGroup(tree); crt.Xpad = 0; col.PackStart(crt, true); col.SetCellDataFunc(crt, new TreeCellDataFunc(GroupData)); col.Resizable = true; col.Expand = false; col.Sizing = TreeViewColumnSizing.Fixed; col.FixedWidth = 180; tree.AppendColumn(col); editorColumn = new TreeViewColumn(); editorColumn.Title = Catalog.GetString("Value"); CellRendererProperty crp = new CellRendererProperty(tree); editorColumn.PackStart(crp, true); editorColumn.SetCellDataFunc(crp, new TreeCellDataFunc(PropertyData)); editorColumn.Sizing = TreeViewColumnSizing.Fixed; editorColumn.Resizable = false; editorColumn.Expand = true; tree.AppendColumn(editorColumn); tree.HeadersVisible = false; this.ShadowType = Gtk.ShadowType.None; this.HscrollbarPolicy = Gtk.PolicyType.Never; Add(tree); ShowAll(); tree.Selection.Changed += OnSelectionChanged; }
public FolderTreeView(FolderTreeModel tree_model) : base(tree_model) { folder_tree_model = tree_model; HeadersVisible = false; var column = new TreeViewColumn(); var pixbuf_renderer = new CellRendererPixbuf(); column.PackStart(pixbuf_renderer, false); column.SetCellDataFunc(pixbuf_renderer, PixbufDataFunc); var folder_renderer = new CellRendererTextProgress(); column.PackStart(folder_renderer, true); column.SetCellDataFunc(folder_renderer, FolderDataFunc); AppendColumn(column); Drag.SourceSet(this, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask, (TargetEntry[])folderTreeSourceTargetList, Gdk.DragAction.Copy | Gdk.DragAction.Move); }
protected override void Initialise(ViewBase ownerView, GLib.Object gtkControl) { treeview1 = (Gtk.TreeView)gtkControl; mainWidget = treeview1; treeview1.Model = treemodel; TreeViewColumn column = new TreeViewColumn(); CellRendererPixbuf iconRender = new Gtk.CellRendererPixbuf(); iconRender.SetPadding(2, 1); column.PackStart(iconRender, false); textRender = new Gtk.CellRendererText(); textRender.Editable = false; textRender.EditingStarted += OnBeforeLabelEdit; textRender.Edited += OnAfterLabelEdit; column.PackStart(textRender, true); column.SetCellDataFunc(textRender, OnSetCellData); CellRendererText tickCell = new CellRendererText(); tickCell.Editable = false; column.PackEnd(tickCell, false); column.SetAttributes(iconRender, "pixbuf", 1); column.SetAttributes(textRender, "text", 0); column.SetAttributes(tickCell, "text", 3); treeview1.AppendColumn(column); treeview1.TooltipColumn = 2; treeview1.CursorChanged += OnAfterSelect; treeview1.ButtonReleaseEvent += OnButtonUp; treeview1.ButtonPressEvent += OnButtonPress; treeview1.RowActivated += OnRowActivated; treeview1.FocusInEvent += OnTreeGainFocus; treeview1.FocusOutEvent += OnTreeLoseFocus; TargetEntry[] target_table = new TargetEntry[] { new TargetEntry(modelMime, TargetFlags.App, 0) }; Gdk.DragAction actions = Gdk.DragAction.Copy | Gdk.DragAction.Link | Gdk.DragAction.Move; Drag.SourceSet(treeview1, Gdk.ModifierType.Button1Mask, target_table, actions); Drag.DestSet(treeview1, 0, target_table, actions); treeview1.DragMotion += OnDragOver; treeview1.DragDrop += OnDragDrop; treeview1.DragBegin += OnDragBegin; treeview1.DragDataGet += OnDragDataGet; treeview1.DragDataReceived += OnDragDataReceived; treeview1.DragEnd += OnDragEnd; timer.Elapsed += OnTimerElapsed; mainWidget.Destroyed += OnDestroyed; }
public CompleteWithTimerColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Completed"), Sizing = TreeViewColumnSizing.Autosize, Resizable = false, Clickable = true }; var renderer = new CellRendererToggle (); renderer.Toggled += OnTaskToggled; TreeViewColumn.PackStart (renderer, false); TreeViewColumn.SetCellDataFunc (renderer, TaskToggleCellDataFunc); }
public TimerColumn() { timeoutTargets = new ConcurrentDictionary<ITask, TaskCompleteTimer> (); TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Timer"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 20, Resizable = false }; var renderer = new CellRendererPixbuf { Xalign = 0.5f }; TreeViewColumn.PackStart (renderer, false); TreeViewColumn.SetCellDataFunc (renderer, TaskTimerCellDataFunc); }
public TaskNameColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Task Name"), Sizing = TreeViewColumnSizing.Autosize, Expand = true, Resizable = true }; // TODO: Add in code to determine how wide we should make the name // column. // TODO: Add in code to readjust the size of the name column if the // user resizes the Task Window. //column.FixedWidth = 250; var renderer = new CellRendererText { Editable = true }; renderer.EditingStarted += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (!model.GetIter (out iter, path)) return; var task = model.GetValue (iter, 0) as ITask; if (task == null) return; taskBeingEdited = new TaskBeingEdited (task, iter, path); if (CellEditingStarted != null) CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path)); }; renderer.EditingCanceled += delegate { EndCellEditing (); }; renderer.Edited += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (model.GetIter (out iter, path)) { var task = model.GetValue (iter, 0) as ITask; if (task == null) return; var newText = args.NewText; // Attempt to derive due date information from text. if (preferences.GetBool (PreferencesKeys.ParseDateEnabledKey) && task.State == TaskState.Active && task.DueDate == DateTime.MinValue) { string parsedTaskText; DateTime parsedDueDate; TaskParser.Instance.TryParse (newText, out parsedTaskText, out parsedDueDate); if (parsedDueDate != DateTime.MinValue) task.DueDate = parsedDueDate; newText = parsedTaskText; } task.Text = newText; } EndCellEditing (); }; TreeViewColumn.PackStart (renderer, true); TreeViewColumn.SetCellDataFunc (renderer, TaskNameTextCellDataFunc); }
public PriorityColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Priority"), Sizing = TreeViewColumnSizing.Fixed, Alignment = 0.5f, FixedWidth = 30, Resizable = false, Clickable = true }; var priorityStore = new ListStore (typeof (string)); priorityStore.AppendValues (Catalog.GetString ("1")); // High priorityStore.AppendValues (Catalog.GetString ("2")); // Medium priorityStore.AppendValues (Catalog.GetString ("3")); // Low priorityStore.AppendValues (Catalog.GetString ("-")); // None var renderer = new CellRendererCombo { Editable = true, HasEntry = false, Model = priorityStore, TextColumn = 0, Xalign = 0.5f }; renderer.EditingStarted += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (!model.GetIter (out iter, path)) return; var task = model.GetValue (iter, 0) as ITask; if (task == null) return; taskBeingEdited = new TaskBeingEdited (task, iter, path); if (CellEditingStarted != null) CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path)); }; renderer.EditingCanceled += delegate { EndCellEditing (); }; renderer.Edited += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (model.GetIter (out iter, path)) { TaskPriority newPriority; var newText = args.NewText; if (newText == Catalog.GetString ("3")) newPriority = TaskPriority.Low; else if (newText == Catalog.GetString ("2")) newPriority = TaskPriority.Medium; else if (newText == Catalog.GetString ("1")) newPriority = TaskPriority.High; else newPriority = TaskPriority.None; // Update the priority if it's different var task = model.GetValue (iter, 0) as ITask; if (task.Priority != newPriority) task.Priority = newPriority; } EndCellEditing (); }; TreeViewColumn.PackStart (renderer, true); TreeViewColumn.SetCellDataFunc (renderer, TaskPriorityCellDataFunc); }
public DueDateColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Due Date"), Sizing = TreeViewColumnSizing.Fixed, Alignment = 0f, FixedWidth = 90, Resizable = false, Clickable = true }; var dueDateStore = new ListStore (typeof (string)); var today = DateTime.Now; dueDateStore.AppendValues ( today.ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Today")); dueDateStore.AppendValues ( today.AddDays (1).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Tomorrow")); dueDateStore.AppendValues ( today.AddDays (2).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (3).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (4).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (5).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (6).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (7).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("In 1 Week")); dueDateStore.AppendValues (Catalog.GetString ("No Date")); dueDateStore.AppendValues (Catalog.GetString ("Choose Date...")); var renderer = new CellRendererCombo { Editable = true, HasEntry = false, Model = dueDateStore, TextColumn = 0, Xalign = 0.0f }; renderer.EditingStarted += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (!model.GetIter (out iter, path)) return; var task = model.GetValue (iter, 0) as ITask; if (task == null) return; taskBeingEdited = new TaskBeingEdited (task, iter, path); if (CellEditingStarted != null) CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path)); }; renderer.EditingCanceled += delegate { EndCellEditing (); }; renderer.Edited += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); var newText = args.NewText; if (newText != null && model.GetIter (out iter, path)) { // 2/11 - Today // 2/12 - Tomorrow // 2/13 - Wed // 2/14 - Thu // 2/15 - Fri // 2/16 - Sat // 2/17 - Sun // -------------- // 2/18 - In 1 Week // -------------- // No Date // --------------- // Choose Date... var newDate = DateTime.MinValue; var tday = DateTime.Now; var task = model.GetValue (iter, 0) as ITask; if (newText == tday.ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Today")) newDate = tday; else if (newText == tday.AddDays (1).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Tomorrow")) newDate = tday.AddDays (1); else if (newText == Catalog.GetString ("No Date")) newDate = DateTime.MinValue; else if (newText == tday.AddDays (7).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("In 1 Week")) newDate = tday.AddDays (7); else if (newText == Catalog.GetString ("Choose Date...")) { var tc = new TaskCalendar (task, view.TreeView.Parent); tc.ShowCalendar (); return; } else { for (int i = 2; i <= 6; i++) { DateTime testDate = tday.AddDays (i); if (testDate.ToString (Catalog.GetString ("M/d - ddd")) == newText) { newDate = testDate; break; } } } Logger.Debug ("task.State {0}", task.State); if (task.State != TaskState.Completed) { // Modify the due date task.DueDate = newDate; } } EndCellEditing (); }; TreeViewColumn.PackStart (renderer, true); TreeViewColumn.SetCellDataFunc (renderer, DueDateCellDataFunc); }
private void SetupMovesTree() { TreeViewColumn col = new TreeViewColumn (); CellRendererText moveno_renderer = new CellRendererText (); CellRendererText whitemove_renderer = new CellRendererText (); CellRendererText blackmove_renderer = new CellRendererText (); moveno_renderer.Xalign = 1; col.PackStart (moveno_renderer, false); col.SetCellDataFunc (moveno_renderer, new TreeCellDataFunc (MoveNumCellDataFunc)); col.Title = Catalog.GetString("No"); gameView.AppendColumn (col); col = new TreeViewColumn (); col.PackStart (whitemove_renderer, true); col.SetCellDataFunc (whitemove_renderer, new TreeCellDataFunc (WhiteMoveCellDataFunc)); col.Title = Catalog.GetString("White"); col.Resizable = true; col.Expand = true; gameView.AppendColumn (col); whitecol = col; whitecol.Spacing = 5; col = new TreeViewColumn (); col.PackStart (blackmove_renderer, false); col.SetCellDataFunc (blackmove_renderer, new TreeCellDataFunc (BlackMoveCellDataFunc)); col.Expand = true; col.Title = Catalog.GetString("Black"); gameView.AppendColumn (col); blackcol = col; gameView.HeadersVisible = true; }
private void SetupTree() { gamesStore = new ListStore (typeof (object)); tree.Model = gamesStore; tree.HeadersVisible = false; filter = new TreeModelFilter (gamesStore, null); filter.VisibleFunc = SearchFilterFunc; TreeViewColumn col; col = new TreeViewColumn (); idx_renderer = new CellRendererText (); idx_renderer.Yalign = 0; info_renderer = new CellRendererText (); col.Title = Catalog.GetString ("Games"); col.PackStart (idx_renderer, false); col.SetCellDataFunc (idx_renderer, new TreeCellDataFunc (IdxCellDataFunc)); col.PackStart (info_renderer, true); col.SetCellDataFunc (info_renderer, new TreeCellDataFunc (InfoCellDataFunc)); col.Resizable = false; col.Expand = true; tree.AppendColumn (col); }