public NoteEditor() { this.Build(); var store = new Gtk.ListStore(typeof(string), typeof(string)); store.AppendValues("gtk-edit", "no, you are the fuel"); var column = new Gtk.TreeViewColumn(); var iconRenderer = new Gtk.CellRendererPixbuf(); column.PackStart(iconRenderer, false); column.AddAttribute(iconRenderer, "stock-id", 0); var textRenderer = new Gtk.CellRendererText(); column.PackStart(textRenderer, true); column.AddAttribute(textRenderer, "text", 1); NoteChildrenTreeView.Model = store; NoteChildrenTreeView.AppendColumn(column); // http://www.mono-project.com/GtkSharp_TreeView_Tutorial // http://afaikblog.files.wordpress.com/2012/05/edit-item1.png // http://james.newtonking.com/projects/json/help/ // http://mono.1490590.n4.nabble.com/NodeView-TreeView-Image-and-Text-into-the-same-column-td1546566.html // OKAY, I NEED TO DECIDE HOW I AM GOING TO BIND THINGS // I definitely want a ViewModel. }
public TreeViewHandler() { tree = new Gtk.TreeView(); UpdateModel(); tree.HeadersVisible = false; var col = new Gtk.TreeViewColumn(); var pbcell = new Gtk.CellRendererPixbuf(); col.PackStart(pbcell, false); col.SetAttributes(pbcell, "pixbuf", 1); textCell = new Gtk.CellRendererText(); col.PackStart(textCell, true); col.SetAttributes(textCell, "text", 0); tree.AppendColumn(col); tree.ShowExpanders = true; Control = new Gtk.ScrolledWindow(); Control.ShadowType = Gtk.ShadowType.In; Control.Add(tree); tree.Events |= Gdk.EventMask.ButtonPressMask; tree.ButtonPressEvent += HandleTreeButtonPressEvent; }
public void SetupColumns() { //setup columns Gtk.TreeViewColumn FlagCol = new Gtk.TreeViewColumn(); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf(); FlagCol.PackStart(pixbuf, false); treeEnableLang.AppendColumn(FlagCol); FlagCol.AddAttribute(pixbuf, "pixbuf", 0); Gtk.TreeViewColumn LanguageCol = new Gtk.TreeViewColumn(); Gtk.CellRendererText text = new Gtk.CellRendererText(); LanguageCol.PackStart(text, true); treeEnableLang.AppendColumn(LanguageCol); LanguageCol.AddAttribute(text, "text", 1); /* * Gtk.TreeViewColumn IsEnabled = new Gtk.TreeViewColumn (); * Gtk.CellRendererToggle EnabledToggle = new Gtk.CellRendererToggle (); * EnabledToggle.Activatable = true; * EnabledToggle.Toggled += CheckEnable; * IsEnabled.PackStart (EnabledToggle, false); * treeEnableLang.AppendColumn (IsEnabled); * IsEnabled.AddAttribute (EnabledToggle, "active", 2); * * //add a dummy column to fill the rest * Gtk.TreeViewColumn DummyCol = new Gtk.TreeViewColumn (); * Gtk.CellRendererText DummyText = new Gtk.CellRendererText (); * DummyCol.PackStart (DummyText, true); * treeEnableLang.AppendColumn (DummyCol); * DummyCol.AddAttribute (DummyText, "text", 3); */ }
public static Gtk.CellRenderer CreateCellRenderer(ICellRendererTarget col, object target, CellView view) { if (view is TextCellView) { Gtk.CellRendererText cr = new Gtk.CellRendererText(); col.PackStart(target, cr, false); col.AddAttribute(target, cr, "text", ((TextCellView)view).TextField.Index); return(cr); } else if (view is CheckBoxCellView) { Gtk.CellRendererToggle cr = new Gtk.CellRendererToggle(); col.PackStart(target, cr, false); col.AddAttribute(target, cr, "active", ((CheckBoxCellView)view).ActiveField.Index); return(cr); } else if (view is ImageCellView) { Gtk.CellRendererPixbuf cr = new Gtk.CellRendererPixbuf(); col.PackStart(target, cr, false); col.AddAttribute(target, cr, "pixbuf", ((ImageCellView)view).ImageField.Index); return(cr); } throw new NotSupportedException("Unknown cell view type: " + view.GetType()); }
// Delegate Functions :: Data Function // Delegate Functions :: Data Function :: PixbufCellDataFunc /// <summary>Delegate used to render the covers.</summary> private void PixbufCellDataFunc (Gtk.TreeViewColumn col, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { Gtk.CellRendererPixbuf cell_pb = (Gtk.CellRendererPixbuf)cell; SetCoverImage(cell_pb, iter); }
public ChatTreeView() { ThemeSettings = new ThemeSettings(); TreeStore = new Gtk.TreeStore(typeof(ChatView)); TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending); TreeStore.SetSortFunc(0, SortTreeStore); Model = TreeStore; HeadersVisible = false; BorderWidth = 0; Selection.Mode = Gtk.SelectionMode.Browse; Selection.Changed += (sender, e) => { Gtk.TreeIter iter; if (!Selection.GetSelected(out iter)) { return; } var path = TreeStore.GetPath(iter); f_CurrentChatNumber = GetRowNumber(path); }; var iconRenderer = new Gtk.CellRendererPixbuf(); var column = new Gtk.TreeViewColumn(null, iconRenderer); column.Spacing = 0; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon)); AppendColumn(column); var cellRenderer = new Gtk.CellRendererText(); column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName)); AppendColumn(column); }
public ChatTreeView() { ThemeSettings = new ThemeSettings(); TreeStore = new Gtk.TreeStore(typeof(ChatView)); TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending); TreeStore.SetSortFunc(0, SortTreeStore); Model = TreeStore; HeadersVisible = false; BorderWidth = 0; ShowExpanders = false; LevelIndentation = 12; Selection.Mode = Gtk.SelectionMode.Browse; Selection.Changed += (sender, e) => { Gtk.TreeIter iter; if (!Selection.GetSelected(out iter) && TreeStore.GetIterFirst(out iter)) { Selection.SelectIter(iter); return; } if (Gtk.TreeIter.Zero.Equals(iter)) { // no chat views available; this happens during shutdown return; } var path = TreeStore.GetPath(iter); f_CurrentChatNumber = GetRowNumber(path); }; var iconRenderer = new Gtk.CellRendererPixbuf(); var column = new Gtk.TreeViewColumn(null, iconRenderer); column.Spacing = 0; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon)); AppendColumn(column); var cellRenderer = new Gtk.CellRendererText() { Ellipsize = Pango.EllipsizeMode.End }; column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Expand = true; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName)); AppendColumn(column); cellRenderer = new Gtk.CellRendererText(); column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Alignment = 1; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewActivity)); AppendColumn(column); ActivityColumn = column; }
// Methods :: Private :: SetCoverImage private void SetCoverImage (Gtk.CellRendererPixbuf cell, Gtk.TreeIter iter) { Album album = GetAlbum(iter); cell.Pixbuf = GetCoverImage(album); cell.Width = cell.Height = pixbuf_column_width; }
public ImageTextCellHandler() { imageCell = new ImageRenderer { Handler = this }; Control = new Renderer { Handler = this }; }
public FileList() { Items = new ArrayList (); store = new Gtk.ListStore (typeof (string), typeof (string), typeof(string), typeof(FileListItem), typeof (Gdk.Pixbuf)); Model = store; HeadersVisible = true; HeadersClickable = true; Reorderable = true; RulesHint = true; Gtk.TreeViewColumn name_column = new Gtk.TreeViewColumn (); name_column.Title = GettextCatalog.GetString ("Files"); Gtk.TreeViewColumn size_column = new Gtk.TreeViewColumn (); size_column.Title = GettextCatalog.GetString ("Size"); Gtk.TreeViewColumn modi_column = new Gtk.TreeViewColumn (); modi_column.Title = GettextCatalog.GetString ("Last modified"); Gtk.CellRendererPixbuf pix_render = new Gtk.CellRendererPixbuf (); name_column.PackStart (pix_render, false); name_column.AddAttribute (pix_render, "pixbuf", 4); Gtk.CellRendererText render1 = new Gtk.CellRendererText (); name_column.PackStart (render1, false); name_column.AddAttribute (render1, "text", 0); Gtk.CellRendererText render2 = new Gtk.CellRendererText (); size_column.PackStart (render2, false); size_column.AddAttribute (render2, "text", 1); Gtk.CellRendererText render3 = new Gtk.CellRendererText (); modi_column.PackStart (render3, false); modi_column.AddAttribute (render3, "text", 2); AppendColumn(name_column); AppendColumn(size_column); AppendColumn(modi_column); this.PopupMenu += new Gtk.PopupMenuHandler (OnPopupMenu); this.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler (OnButtonReleased); this.Selection.Changed += new EventHandler (OnSelectionChanged); watcher = new FileSystemWatcher (); if(watcher != null) { watcher.NotifyFilter = NotifyFilters.FileName; watcher.EnableRaisingEvents = false; watcher.Renamed += new RenamedEventHandler(fileRenamed); watcher.Deleted += new FileSystemEventHandler(fileDeleted); watcher.Created += new FileSystemEventHandler(fileCreated); watcher.Changed += new FileSystemEventHandler(fileChanged); } }
public ImageTextCellHandler() { imageCell = new ImageRenderer { Handler = this }; Control = new TextBoxCellHandler.Renderer { Handler = this }; VerticalAlignment = VerticalAlignment.Center; }
public ImageTextCellHandler() { imageCell = new ImageRenderer { Handler = this }; Control = new Renderer { Handler = this }; this.Control.Edited += delegate(object o, Gtk.EditedArgs args) { SetValue(args.Path, args.NewText); }; }
public Image(bool allowStock, bool allowFile) : base(false, 6) { image = new Gtk.Image(Gnome.Stock.Blank, Gtk.IconSize.Button); PackStart(image, false, false, 0); if (allowStock) { store = new Gtk.ListStore(typeof(string), typeof(string)); store.AppendValues(Gnome.Stock.Blank, Catalog.GetString("(None)")); for (int i = 0; i < stockIds.Length; i++) { store.AppendValues(stockIds[i], stockLabels[i]); } combo = new Gtk.ComboBoxEntry(store, LabelColumn); Gtk.CellRendererPixbuf iconRenderer = new Gtk.CellRendererPixbuf(); iconRenderer.StockSize = (uint)Gtk.IconSize.Menu; combo.PackStart(iconRenderer, false); combo.Reorder(iconRenderer, 0); combo.AddAttribute(iconRenderer, "stock-id", IconColumn); combo.Changed += combo_Changed; // Pack the combo non-expandily into a VBox so it doesn't // get stretched to the file button's height Gtk.VBox vbox = new Gtk.VBox(false, 0); vbox.PackStart(combo, true, false, 0); PackStart(vbox, true, true, 0); entry = (Gtk.Entry)combo.Child; entry.Changed += entry_Changed; useStock = true; } if (allowFile) { if (!allowStock) { entry = new Gtk.Entry(); PackStart(entry, true, true, 0); entry.Changed += entry_Changed; } button = new Gtk.Button(); Gtk.Image icon = new Gtk.Image(Gtk.Stock.Open, Gtk.IconSize.Button); button.Add(icon); PackStart(button, false, false, 0); button.Clicked += button_Clicked; } ShowAll(); }
public ChatTreeView() { ThemeSettings = new ThemeSettings(); TreeStore = new Gtk.TreeStore(typeof(ChatView)); TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending); TreeStore.SetSortFunc(0, SortTreeStore); Model = TreeStore; HeadersVisible = false; BorderWidth = 0; ShowExpanders = false; LevelIndentation = 12; Selection.Mode = Gtk.SelectionMode.Browse; Selection.Changed += (sender, e) => { Gtk.TreeIter iter; if (!Selection.GetSelected(out iter) && TreeStore.GetIterFirst(out iter)) { Selection.SelectIter(iter); return; } var path = TreeStore.GetPath(iter); f_CurrentChatNumber = GetRowNumber(path); }; var iconRenderer = new Gtk.CellRendererPixbuf(); var column = new Gtk.TreeViewColumn(null, iconRenderer); column.Spacing = 0; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon)); AppendColumn(column); var cellRenderer = new Gtk.CellRendererText() { Ellipsize = Pango.EllipsizeMode.End }; column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Expand = true; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName)); AppendColumn(column); cellRenderer = new Gtk.CellRendererText(); column = new Gtk.TreeViewColumn(null, cellRenderer); column.Spacing = 0; column.Alignment = 1; column.Sizing = Gtk.TreeViewColumnSizing.Autosize; column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewActivity)); AppendColumn(column); ActivityColumn = column; }
public FileList() { Items = new ArrayList(); store = new Gtk.ListStore(typeof(string), typeof(string), typeof(string), typeof(FileListItem), typeof(Gdk.Pixbuf)); Model = store; HeadersVisible = true; HeadersClickable = true; RulesHint = true; Gtk.TreeViewColumn name_column = new Gtk.TreeViewColumn(); name_column.Title = GettextCatalog.GetString("Files"); Gtk.TreeViewColumn size_column = new Gtk.TreeViewColumn(); size_column.Title = GettextCatalog.GetString("Size"); Gtk.TreeViewColumn modi_column = new Gtk.TreeViewColumn(); modi_column.Title = GettextCatalog.GetString("Last modified"); Gtk.CellRendererPixbuf pix_render = new Gtk.CellRendererPixbuf(); name_column.PackStart(pix_render, false); name_column.AddAttribute(pix_render, "pixbuf", 4); name_column.PackStart(textRender, false); name_column.AddAttribute(textRender, "text", 0); size_column.PackStart(textRender, false); size_column.AddAttribute(textRender, "text", 1); modi_column.PackStart(textRender, false); modi_column.AddAttribute(textRender, "text", 2); AppendColumn(name_column); AppendColumn(size_column); AppendColumn(modi_column); this.PopupMenu += new Gtk.PopupMenuHandler(OnPopupMenu); this.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler(OnButtonReleased); this.Selection.Changed += new EventHandler(OnSelectionChanged); watcher = new FileSystemWatcher(); watcher.EnableRaisingEvents = false; watcher.NotifyFilter = NotifyFilters.FileName; watcher.Created += DispatchService.GuiDispatch(new FileSystemEventHandler(fileCreated)); watcher.Deleted += DispatchService.GuiDispatch(new FileSystemEventHandler(fileDeleted)); watcher.Changed += DispatchService.GuiDispatch(new FileSystemEventHandler(fileChanged)); watcher.Renamed += DispatchService.GuiDispatch(new RenamedEventHandler(fileRenamed)); }
public CodeFormattingPanelWidget(CodeFormattingPanel panel, OptionsDialog dialog) { this.Build(); this.panel = panel; this.dialog = dialog; store = new Gtk.ListStore(typeof(MimeTypePanelData), typeof(Gdk.Pixbuf), typeof(string)); tree.Model = store; boxButtons.Visible = panel.DataObject is PolicySet; Gtk.CellRendererText crt = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf crp = new Gtk.CellRendererPixbuf(); Gtk.TreeViewColumn col = new Gtk.TreeViewColumn(); col.Title = GettextCatalog.GetString("File Type"); col.PackStart(crp, false); col.PackStart(crt, true); col.AddAttribute(crp, "pixbuf", 1); col.AddAttribute(crt, "text", 2); tree.AppendColumn(col); store.SetSortColumnId(2, Gtk.SortType.Ascending); CellRendererComboBox comboCell = new CellRendererComboBox(); comboCell.Changed += OnPolicySelectionChanged; Gtk.TreeViewColumn polCol = tree.AppendColumn(GettextCatalog.GetString("Policy"), comboCell, new Gtk.TreeCellDataFunc(OnSetPolicyData)); tree.Selection.Changed += delegate { Gtk.TreeIter it; tree.Selection.GetSelected(out it); Gtk.TreeViewColumn ccol; Gtk.TreePath path; tree.GetCursor(out path, out ccol); if (ccol == polCol) { tree.SetCursor(path, ccol, true); } }; Fill(); UpdateButtons(); tree.Selection.Changed += delegate { UpdateButtons(); }; }
public void FillSourceCmb(ITranslateProvider Translator) { cmbDefaultSource.Clear(); Gtk.CellRendererText cell = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf(); cmbDefaultSource.PackStart(pixbuf, true); cmbDefaultSource.PackStart(cell, true); cmbDefaultSource.AddAttribute(pixbuf, "pixbuf", 0); cmbDefaultSource.AddAttribute(cell, "text", 1); Gtk.ListStore SourceList = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string)); Gdk.Pixbuf LanguageFlag = null; const int scale_height = 20; string[] Icon = null; if (Translator.SupportsAutoDetect) { SourceList.AppendValues(null, AddinManager.CurrentLocalizer.GetString("Auto Detect (Recommended)"), Translator.AutoDetectCode); } foreach (LanguageItem Lang in Translator.SupportedLanguages) { Icon = Lang.Icon.Split(new char[] { '@' }); using (Gdk.Pixbuf temp = Gdk.Pixbuf.LoadFromResource(Icon[0])) { LanguageFlag = temp.ScaleSimple((scale_height * temp.Width) / temp.Height, scale_height, Gdk.InterpType.Bilinear); } SourceList.AppendValues(LanguageFlag, Lang.Name, Lang.Code); } cmbDefaultSource.Model = SourceList; //set default source to auto if it's enabled, else try what's in gconf, else, just the first in the list Gtk.TreeIter ti; if ((Translator.SupportsAutoDetect) && (SearchCombobox(out ti, cmbDefaultSource, Translator.AutoDetectCode, 2))) { cmbDefaultSource.SetActiveIter(ti); } else if (SearchCombobox(out ti, cmbDefaultSource, SelectedSourceLang, 2)) { cmbDefaultSource.SetActiveIter(ti); } else { cmbDefaultSource.Model.GetIterFirst(out ti); cmbDefaultSource.SetActiveIter(ti); } }
Gtk.TreeView BuildTreeView() { var toret = new Gtk.TreeView(); // Index column var columnIndex = new Gtk.TreeViewColumn { Title = "#" }; var indexRenderer = new Gtk.CellRendererText(); columnIndex.PackStart(indexRenderer, expand: true); columnIndex.AddAttribute(indexRenderer, "text", 0); // Data column var columnData = new Gtk.TreeViewColumn { Title = "Mixed column" }; var dataRenderer1 = new Gtk.CellRendererPixbuf(); columnData.PackStart(dataRenderer1, expand: false); columnData.AddAttribute(dataRenderer1, "pixbuf", 1); var dataRenderer2 = new Gtk.CellRendererText(); columnData.PackStart(dataRenderer2, expand: true); columnData.AddAttribute(dataRenderer2, "text", 2); toret.AppendColumn(columnIndex); toret.AppendColumn(columnData); // Model var store = new Gtk.ListStore(typeof(string), typeof(Gdk.Pixbuf), typeof(string)); toret.Model = store; store.AppendValues("1", this.IconYes, "works"); store.AppendValues("2", this.IconNo, "does not work"); return(toret); }
public static Gtk.CellRenderer CreateCellRenderer(ICellRendererTarget col, object target, CellView view) { if (view is TextCellView) { Gtk.CellRendererText cr = new Gtk.CellRendererText (); col.PackStart (target, cr, false); col.AddAttribute (target, cr, "text", ((TextCellView)view).TextField.Index); return cr; } else if (view is CheckBoxCellView) { Gtk.CellRendererToggle cr = new Gtk.CellRendererToggle (); col.PackStart (target, cr, false); col.AddAttribute (target, cr, "active", ((CheckBoxCellView)view).ActiveField.Index); return cr; } else if (view is ImageCellView) { Gtk.CellRendererPixbuf cr = new Gtk.CellRendererPixbuf (); col.PackStart (target, cr, false); col.AddAttribute (target, cr, "pixbuf", ((ImageCellView)view).ImageField.Index); return cr; } throw new NotSupportedException ("Unknown cell view type: " + view.GetType ()); }
private void FillIfaceCmb(ITranslateProvider Translator) { cmbDefaultIface.Clear(); Gtk.CellRendererText cell = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf(); cmbDefaultIface.PackStart(pixbuf, true); cmbDefaultIface.PackStart(cell, true); cmbDefaultIface.AddAttribute(pixbuf, "pixbuf", 0); cmbDefaultIface.AddAttribute(cell, "text", 1); Gtk.ListStore IfaceList = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string)); Gdk.Pixbuf LanguageFlag = null; const int scale_height = 20; string[] Icon = null; foreach (LanguageItem Lang in Translator.SupportedLanguages) { Icon = Lang.Icon.Split(new char[] { '@' }); using (Gdk.Pixbuf temp = Gdk.Pixbuf.LoadFromResource(Icon[0])) { LanguageFlag = temp.ScaleSimple((scale_height * temp.Width) / temp.Height, scale_height, Gdk.InterpType.Bilinear); } IfaceList.AppendValues(LanguageFlag, Lang.Name, Lang.Code); } cmbDefaultIface.Model = IfaceList; //set selection to what's in GConf, if we can Gtk.TreeIter ti; if (SearchCombobox(out ti, cmbDefaultIface, SelectedIfaceLang, 2)) { cmbDefaultIface.SetActiveIter(ti); } else { cmbDefaultIface.Model.GetIterFirst(out ti); cmbDefaultIface.SetActiveIter(ti); } }
public void FillProviderCmb() { cmbProvider.Clear(); Gtk.CellRendererText cell = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf(); cmbProvider.PackStart(pixbuf, true); cmbProvider.PackStart(cell, true); cmbProvider.AddAttribute(pixbuf, "pixbuf", 0); cmbProvider.AddAttribute(cell, "text", 1); Gtk.ListStore ProvidersList = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string)); // Get an instance of each pastebin provider in this assembly. var providers = from type in Assembly.GetExecutingAssembly().GetTypes() where type.GetInterface("Translate.ITranslateProvider") != null select Activator.CreateInstance(type); Gdk.Pixbuf pb = null; string[] Icon = null; foreach (ITranslateProvider provider in providers) { Icon = provider.Icon.Split(new char[] { '@' }); using (Gdk.Pixbuf temp = Gdk.Pixbuf.LoadFromResource(Icon[0])) { pb = temp.ScaleSimple((20 * temp.Width) / temp.Height, 20, Gdk.InterpType.Bilinear); } ProvidersList.AppendValues(pb, provider.Name); } cmbProvider.Model = ProvidersList; //set selection to what's in GConf, if we can Gtk.TreeIter ti; if (SearchCombobox(out ti, cmbProvider, SelectedProvider, 1)) { cmbProvider.SetActiveIter(ti); } }
private void InitializeColorComboBox(Gtk.ComboBox colorChooser, ObservableCollection <FileNodeColorViewModel> colors, MenuLayoutViewModel dataContext) { colorChooser.SetValue(IFakeDependencyObjectHelpers.DataContextPropertyName, dataContext); colorChooser.TooltipText = MenuLayoutViewModel.ColorTip; foreach (var color in colors) { var pixbufColor = new Gdk.Pixbuf(Gdk.Colorspace.Rgb, true, 8, 14, 14); var uintColor = (uint)((color.Fill.Red & 0xFF) << 24) | (uint)((color.Fill.Green & 0xFF) << 16) | (uint)((color.Fill.Blue & 0xFF) << 8) | 0xFF; pixbufColor.Fill(uintColor); var pixbuf = new Gdk.Pixbuf(Gdk.Colorspace.Rgb, true, 8, 16, 16); pixbuf.Fill(0xFF); // black background pixbufColor.CopyArea(0, 0, 14, 14, pixbuf, 1, 1); ColorPixbufs[color.IntvColor] = pixbuf; } Gtk.CellRenderer cellRenderer = new Gtk.CellRendererPixbuf() { Xalign = 0 }; colorChooser.PackStart(cellRenderer, false); colorChooser.SetCellDataFunc(cellRenderer, (l, e, m, i) => VisualHelpers.CellImageRenderer <FileNodeColorViewModel>(l, e, m, i, c => ColorPixbufs[c.IntvColor])); cellRenderer = new Gtk.CellRendererCombo() { Xalign = 0, Xpad = 4 }; colorChooser.PackEnd(cellRenderer, true); colorChooser.SetCellDataFunc(cellRenderer, (l, e, m, i) => VisualHelpers.CellTextRenderer <FileNodeColorViewModel>(l, e, m, i, c => c.Name)); var colorListStore = new Gtk.ListStore(typeof(FileNodeColorViewModel)); colorListStore.SynchronizeCollection(colors); colorChooser.Model = colorListStore; MenuLayoutCommandGroup.SetColorCommand.CanExecuteChanged += HandleCanExecuteSetColorChanged; }
/// <summary> /// /// </summary> void prototype() { var pixbuf = new Gtk.CellRendererPixbuf(); // no need for text!: //var text = new Gtk.CellRendererText (); var store = new Gtk.ListStore( typeof(Gdk.Pixbuf), //typeof (string), typeof(int)); var combo = new Gtk.ComboBox(store); combo.PackStart(pixbuf, false); //combo.PackStart (text, false); combo.AddAttribute(pixbuf, "pixbuf", 0); //combo.AddAttribute (text, "text", 1); int id = 0; var stockIds = Gtk.Stock.ListIds(); foreach (var stockItemName in stockIds) { Gdk.Pixbuf image = combo.RenderIcon(stockItemName, Gtk.IconSize.SmallToolbar, ""); store.AppendValues(image, /* stockItemName,*/ id); id++; } Gtk.TreeIter iter; if (store.GetIterFirst(out iter)) { combo.SetActiveIter(iter); } }
public EditPackagesDialog(CProject project) { this.Build(); this.project = project; selectedPackages.AddRange (project.Packages); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText (); Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf (); pixbufRenderer.StockId = "md-package"; // <!-- Normal packages --> Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle (); normalPackageToggleRenderer.Activatable = true; normalPackageToggleRenderer.Toggled += OnNormalPackageToggled; normalPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn (); normalPackageColumn.Title = "Package"; normalPackageColumn.PackStart (pixbufRenderer, false); normalPackageColumn.PackStart (textRenderer, true); normalPackageColumn.AddAttribute (textRenderer, "text", 1); normalPackageTreeView.Model = normalPackageListStore; normalPackageTreeView.HeadersVisible = true; normalPackageTreeView.AppendColumn ("", normalPackageToggleRenderer, "active", 0); normalPackageTreeView.AppendColumn (normalPackageColumn); normalPackageTreeView.AppendColumn ("Version", textRenderer, "text", 2); // <!-- Project packages --> Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle (); projectPackageToggleRenderer.Activatable = true; projectPackageToggleRenderer.Toggled += OnProjectPackageToggled; projectPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn (); projectPackageColumn.Title = "Package"; projectPackageColumn.PackStart (pixbufRenderer, false); projectPackageColumn.PackStart (textRenderer, true); projectPackageColumn.AddAttribute (textRenderer, "text", 1); projectPackageTreeView.Model = projectPackageListStore; projectPackageTreeView.HeadersVisible = true; projectPackageTreeView.AppendColumn ("", projectPackageToggleRenderer, "active", 0); projectPackageTreeView.AppendColumn (projectPackageColumn); projectPackageTreeView.AppendColumn ("Version", textRenderer, "text", 2); // <!-- Selected packages --> Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn (); selectedPackageColumn.Title = "Package"; selectedPackageColumn.PackStart (pixbufRenderer, false); selectedPackageColumn.PackStart (textRenderer, true); selectedPackageColumn.AddAttribute (textRenderer, "text", 0); selectedPackagesTreeView.Model = selectedPackagesListStore; selectedPackagesTreeView.HeadersVisible = true; selectedPackagesTreeView.AppendColumn (selectedPackageColumn); selectedPackagesTreeView.AppendColumn ("Version", textRenderer, "text", 1); // Fill up the project tree view projectPackages = ProjectPackages (project); foreach (ProjectPackage p in projectPackages) { if (p.Name == project.Name) continue; string version = GetPackageVersion (p.File); bool inProject = IsInProject (p.File); projectPackageListStore.AppendValues (inProject, p.Name, version); if (inProject) selectedPackagesListStore.AppendValues (p.Name, version); } // Fill up the normal tree view foreach (string dir in ScanDirs ()) { if (Directory.Exists (dir)) { DirectoryInfo di = new DirectoryInfo (dir); FileInfo[] availablePackages = di.GetFiles ("*.pc"); foreach (FileInfo f in availablePackages) { if (!IsValidPackage (f.FullName)) { continue; } string name = f.Name.Substring (0, f.Name.LastIndexOf ('.')); string version = GetPackageVersion (f.FullName); bool inProject = IsInProject (name); normalPackageListStore.AppendValues (inProject, name, version); if (inProject) selectedPackagesListStore.AppendValues (name, version); } } } }
public void FillProviderCmb() { cmbProvider.Clear (); Gtk.CellRendererText cell = new Gtk.CellRendererText (); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf (); cmbProvider.PackStart (pixbuf, true); cmbProvider.PackStart (cell, true); cmbProvider.AddAttribute (pixbuf, "pixbuf" , 0); cmbProvider.AddAttribute (cell, "text", 1); Gtk.ListStore ProvidersList = new Gtk.ListStore (typeof (Gdk.Pixbuf), typeof (string)); // Get an instance of each pastebin provider in this assembly. var providers = from type in Assembly.GetExecutingAssembly ().GetTypes () where type.GetInterface ("Translate.ITranslateProvider") != null select Activator.CreateInstance (type); Gdk.Pixbuf pb = null; string[] Icon = null; foreach (ITranslateProvider provider in providers) { Icon = provider.Icon.Split (new char[] {'@'}); using (Gdk.Pixbuf temp = Gdk.Pixbuf.LoadFromResource(Icon[0])) { pb = temp.ScaleSimple ((20 * temp.Width)/temp.Height, 20, Gdk.InterpType.Bilinear); } ProvidersList.AppendValues (pb, provider.Name); } cmbProvider.Model = ProvidersList; //set selection to what's in GConf, if we can Gtk.TreeIter ti; if (SearchCombobox (out ti, cmbProvider, SelectedProvider,1)) cmbProvider.SetActiveIter (ti); }
public void Init() { this.Name = "OpenGraal.GraalIM.RCPlayerList"; this.Title = global::Mono.Unix.Catalog.GetString("Players"); this.Icon = global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rcicon.ico"); this.WidthRequest = 580; this.HeightRequest = 420; this._playerlistTabs = new global::Gtk.Notebook(); this._playerlistTabs.CanFocus = true; this._playerlistTabs.Name = "_playerlistTabs"; this._playerlistTabs.CurrentPage = 0; this._playerlistTabs.EnablePopup = true; this._playerlistTabs.Scrollable = true; this._thisServerLabel = new global::Gtk.Label(); this._thisServerLabel.CanDefault = true; this._thisServerLabel.Name = "StatusTabLabel"; this._thisServerLabel.LabelProp = global::Mono.Unix.Catalog.GetString("This server"); this._playerList = new Gtk.TreeView(); this._playerList.SetSizeRequest(230, 230); this._playerListModel = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(int)); //this.tree.Selection.Changed += new System.EventHandler(OnSelectionChanged); //this._playerList.CursorChanged += new System.EventHandler(OnSelectionChanged); /* * this._playerList.ButtonPressEvent += new ButtonPressEventHandler(delegate(object o, ButtonPressEventArgs args) * { * System.Console.WriteLine(args.ToString()); * }); */ Gtk.CellRendererPixbuf pixbufrender = new Gtk.CellRendererPixbuf(); Gtk.TreeViewColumn TypeCol = this._playerList.AppendColumn("", new Gtk.CellRendererPixbuf(), "pixbuf", 0); TypeCol.SortIndicator = true; TypeCol.SortColumnId = 0; Gtk.CellRendererPixbuf cellpb = new Gtk.CellRendererPixbuf(); Gtk.CellRendererText cell = new Gtk.CellRendererText(); TypeCol.PackStart(cellpb, false); TypeCol.PackStart(cell, false); Gtk.CellRendererText NickColText = new Gtk.CellRendererText(); Gtk.TreeViewColumn NickCol = new Gtk.TreeViewColumn(); NickCol.PackStart(NickColText, true); NickCol.Title = "Artist"; NickCol.SortIndicator = true; NickCol.SortColumnId = 1; NickCol.AddAttribute(NickColText, "text", 1); this._playerList.AppendColumn(NickCol); Gtk.TreeViewColumn AccCol = this._playerList.AppendColumn("Account", new Gtk.CellRendererText(), "text", 2); AccCol.SortIndicator = true; AccCol.SortColumnId = 2; Gtk.TreeViewColumn LvlCol = this._playerList.AppendColumn("Level", new Gtk.CellRendererText(), "text", 3); LvlCol.SortIndicator = true; LvlCol.SortColumnId = 3; Gtk.TreeViewColumn IdCol = this._playerList.AppendColumn("ID", new Gtk.CellRendererText(), "text", 4); IdCol.SortIndicator = true; IdCol.SortColumnId = 4; Gtk.TreeIter iter = _playerListModel.AppendValues("Admins"); _playerListModel.AppendValues(iter, "Fannypack", "Nu Nu (Yeah Yeah) (double j and haze radio edit)"); iter = _playerListModel.AppendValues("Players"); _playerListModel.AppendValues(iter, "Nelly", "Country Grammer"); this._playerList.FixedHeightMode = false; this._playerList.HeadersClickable = true; this._playerList.SearchColumn = 1; this._playerList.EnableSearch = true; this._playerList.EnableTreeLines = true; this._playerList.ShowExpanders = true; //this.tree.Vadjustment. //_playerListModel.AppendValues("", "Loading...", ""); Gtk.Frame frame2 = new Gtk.Frame(); this._playerList.Model = _playerListModel; this._playerListScroll = new global::Gtk.ScrolledWindow(); this._playerListScroll.Name = "GtkScrolledWindow"; this._playerListScroll.ShadowType = ((global::Gtk.ShadowType)(1)); // Container child GtkScrolledWindow.Gtk.Container+ContainerChild this._playerListScroll.Add(this._playerList); this._playerlistTabs.Add(this._playerListScroll); this._playerlistTabs.SetTabLabel(this._playerListScroll, this._thisServerLabel); this._thisServerLabel.ShowAll(); this.Add(this._playerlistTabs); }
public CodeFormattingPanelWidget (CodeFormattingPanel panel, OptionsDialog dialog) { this.Build(); this.panel = panel; this.dialog = dialog; store = new Gtk.ListStore (typeof(MimeTypePanelData), typeof(Gdk.Pixbuf), typeof(string)); tree.Model = store; boxButtons.Visible = panel.DataObject is PolicySet; Gtk.CellRendererText crt = new Gtk.CellRendererText (); Gtk.CellRendererPixbuf crp = new Gtk.CellRendererPixbuf (); Gtk.TreeViewColumn col = new Gtk.TreeViewColumn (); col.Title = GettextCatalog.GetString ("File Type"); col.PackStart (crp, false); col.PackStart (crt, true); col.AddAttribute (crp, "pixbuf", 1); col.AddAttribute (crt, "text", 2); tree.AppendColumn (col); store.SetSortColumnId (2, Gtk.SortType.Ascending); CellRendererComboBox comboCell = new CellRendererComboBox (); comboCell.Changed += OnPolicySelectionChanged; Gtk.TreeViewColumn polCol = tree.AppendColumn (GettextCatalog.GetString ("Policy"), comboCell, new Gtk.TreeCellDataFunc (OnSetPolicyData)); tree.Selection.Changed += delegate { Gtk.TreeIter it; tree.Selection.GetSelected (out it); Gtk.TreeViewColumn ccol; Gtk.TreePath path; tree.GetCursor (out path, out ccol); if (ccol == polCol) tree.SetCursor (path, ccol, true); }; Fill (); UpdateButtons (); tree.Selection.Changed += delegate { UpdateButtons (); }; }
public EditIconDialog(IProject project, ProjectIconSet iconSet) { Glade.XML xml = new Glade.XML(null, "stetic.glade", "EditIconDialog", null); xml.Autoconnect(this); dialog.Response += OnResponse; this.project = project; this.iconSet = iconSet; nameEntry.Text = iconSet.Name; if (iconSet.Sources.Count == 0) { radioSingle.Active = true; imageLabel.Text = ""; } else if (iconSet.Sources.Count == 1 && iconSet.Sources[0].AllWildcarded) { radioSingle.Active = true; singleIcon = iconSet.Sources[0].Image; if (singleIcon != null) { imageLabel.Text = singleIcon.Label; imageImage.Pixbuf = singleIcon.GetThumbnail(project, 16); } else { imageLabel.Text = ""; } } else { radioMultiple.Active = true; } hboxSingle.Sensitive = radioSingle.Active; hboxMultiple.Sensitive = !radioSingle.Active; // Build the tree sourceListStore = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(object)); sourceList.Model = sourceListStore; Gtk.TreeViewColumn col = new Gtk.TreeViewColumn(); Gtk.CellRendererPixbuf pr = new Gtk.CellRendererPixbuf(); col.Title = Catalog.GetString("Image"); col.PackStart(pr, false); col.AddAttribute(pr, "pixbuf", 0); Gtk.CellRendererText crt = new Gtk.CellRendererText(); col.PackStart(crt, true); col.AddAttribute(crt, "text", 1); sourceList.AppendColumn(col); col = new Gtk.TreeViewColumn(); col.Expand = true; col.Title = Catalog.GetString("Size"); CellRendererComboBox crtb = new CellRendererComboBox(); crtb.Changed += new ComboSelectionChangedHandler(OnSizeComboChanged); crtb.Values = sizes; col.PackStart(crtb, true); col.AddAttribute(crtb, "text", 2); sourceList.AppendColumn(col); col = new Gtk.TreeViewColumn(); col.Expand = true; col.Title = Catalog.GetString("State"); crtb = new CellRendererComboBox(); crtb.Changed += new ComboSelectionChangedHandler(OnStateComboChanged); crtb.Values = states; col.PackStart(crtb, true); col.AddAttribute(crtb, "text", 3); sourceList.AppendColumn(col); col = new Gtk.TreeViewColumn(); col.Expand = true; col.Title = Catalog.GetString("Direction"); crtb = new CellRendererComboBox(); crtb.Changed += new ComboSelectionChangedHandler(OnDirComboChanged); crtb.Values = directions; col.PackStart(crtb, true); col.AddAttribute(crtb, "text", 4); sourceList.AppendColumn(col); foreach (ProjectIconSource source in iconSet.Sources) { AddSource(source); } UpdateButtons(); }
private void FillIfaceCmb(ITranslateProvider Translator) { cmbDefaultIface.Clear (); Gtk.CellRendererText cell = new Gtk.CellRendererText (); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf (); cmbDefaultIface.PackStart (pixbuf, true); cmbDefaultIface.PackStart (cell, true); cmbDefaultIface.AddAttribute (pixbuf, "pixbuf" , 0); cmbDefaultIface.AddAttribute (cell, "text", 1); Gtk.ListStore IfaceList = new Gtk.ListStore (typeof (Gdk.Pixbuf), typeof (string), typeof (string)); Gdk.Pixbuf LanguageFlag = null; const int scale_height = 20; string[] Icon = null; foreach (LanguageItem Lang in Translator.SupportedLanguages) { Icon = Lang.Icon.Split(new char[] {'@'}); using (Gdk.Pixbuf temp = Gdk.Pixbuf.LoadFromResource(Icon[0])) { LanguageFlag = temp.ScaleSimple ((scale_height * temp.Width) / temp.Height, scale_height, Gdk.InterpType.Bilinear); } IfaceList.AppendValues (LanguageFlag, Lang.Name, Lang.Code); } cmbDefaultIface.Model = IfaceList; //set selection to what's in GConf, if we can Gtk.TreeIter ti; if (SearchCombobox (out ti, cmbDefaultIface, SelectedIfaceLang, 2)) cmbDefaultIface.SetActiveIter(ti); else { cmbDefaultIface.Model.GetIterFirst (out ti); cmbDefaultIface.SetActiveIter (ti); } }
public void Init() { this.Name = "OpenGraal.GraalIM.RCPlayerList"; this.Title = global::Mono.Unix.Catalog.GetString("Players"); this.Icon = global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rcicon.ico"); this.WidthRequest = 580; this.HeightRequest = 420; this._playerlistTabs = new global::Gtk.Notebook(); this._playerlistTabs.CanFocus = true; this._playerlistTabs.Name = "_playerlistTabs"; this._playerlistTabs.CurrentPage = 0; this._playerlistTabs.EnablePopup = true; this._playerlistTabs.Scrollable = true; this._thisServerLabel = new global::Gtk.Label(); this._thisServerLabel.CanDefault = true; this._thisServerLabel.Name = "StatusTabLabel"; this._thisServerLabel.LabelProp = global::Mono.Unix.Catalog.GetString("This server"); this._playerList = new Gtk.TreeView(); this._playerList.SetSizeRequest(230, 230); this._playerListModel = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(int)); //this.tree.Selection.Changed += new System.EventHandler(OnSelectionChanged); //this._playerList.CursorChanged += new System.EventHandler(OnSelectionChanged); /* this._playerList.ButtonPressEvent += new ButtonPressEventHandler(delegate(object o, ButtonPressEventArgs args) { System.Console.WriteLine(args.ToString()); }); */ Gtk.CellRendererPixbuf pixbufrender = new Gtk.CellRendererPixbuf(); Gtk.TreeViewColumn TypeCol = this._playerList.AppendColumn("", new Gtk.CellRendererPixbuf(), "pixbuf", 0); TypeCol.SortIndicator = true; TypeCol.SortColumnId = 0; Gtk.CellRendererPixbuf cellpb = new Gtk.CellRendererPixbuf(); Gtk.CellRendererText cell = new Gtk.CellRendererText(); TypeCol.PackStart(cellpb, false); TypeCol.PackStart(cell, false); Gtk.CellRendererText NickColText = new Gtk.CellRendererText(); Gtk.TreeViewColumn NickCol = new Gtk.TreeViewColumn (); NickCol.PackStart(NickColText,true); NickCol.Title = "Artist"; NickCol.SortIndicator = true; NickCol.SortColumnId = 1; NickCol.AddAttribute(NickColText, "text", 1); this._playerList.AppendColumn(NickCol); Gtk.TreeViewColumn AccCol = this._playerList.AppendColumn("Account", new Gtk.CellRendererText(), "text", 2); AccCol.SortIndicator = true; AccCol.SortColumnId = 2; Gtk.TreeViewColumn LvlCol = this._playerList.AppendColumn("Level", new Gtk.CellRendererText(), "text", 3); LvlCol.SortIndicator = true; LvlCol.SortColumnId = 3; Gtk.TreeViewColumn IdCol = this._playerList.AppendColumn("ID", new Gtk.CellRendererText(), "text", 4); IdCol.SortIndicator = true; IdCol.SortColumnId = 4; Gtk.TreeIter iter = _playerListModel.AppendValues("Admins"); _playerListModel.AppendValues(iter, "Fannypack", "Nu Nu (Yeah Yeah) (double j and haze radio edit)"); iter = _playerListModel.AppendValues("Players"); _playerListModel.AppendValues(iter, "Nelly", "Country Grammer"); this._playerList.FixedHeightMode = false; this._playerList.HeadersClickable = true; this._playerList.SearchColumn = 1; this._playerList.EnableSearch = true; this._playerList.EnableTreeLines = true; this._playerList.ShowExpanders = true; //this.tree.Vadjustment. //_playerListModel.AppendValues("", "Loading...", ""); Gtk.Frame frame2 = new Gtk.Frame(); this._playerList.Model = _playerListModel; this._playerListScroll = new global::Gtk.ScrolledWindow(); this._playerListScroll.Name = "GtkScrolledWindow"; this._playerListScroll.ShadowType = ((global::Gtk.ShadowType)(1)); // Container child GtkScrolledWindow.Gtk.Container+ContainerChild this._playerListScroll.Add(this._playerList); this._playerlistTabs.Add(this._playerListScroll); this._playerlistTabs.SetTabLabel(this._playerListScroll, this._thisServerLabel); this._thisServerLabel.ShowAll(); this.Add(this._playerlistTabs); }
public void FillSourceCmb(ITranslateProvider Translator) { cmbDefaultSource.Clear (); Gtk.CellRendererText cell = new Gtk.CellRendererText (); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf (); cmbDefaultSource.PackStart( pixbuf, true); cmbDefaultSource.PackStart (cell, true); cmbDefaultSource.AddAttribute (pixbuf, "pixbuf" , 0); cmbDefaultSource.AddAttribute (cell, "text", 1); Gtk.ListStore SourceList = new Gtk.ListStore (typeof (Gdk.Pixbuf), typeof (string), typeof (string)); Gdk.Pixbuf LanguageFlag = null; const int scale_height = 20; string[] Icon = null; if (Translator.SupportsAutoDetect) SourceList.AppendValues (null, AddinManager.CurrentLocalizer.GetString ("Auto Detect (Recommended)"), Translator.AutoDetectCode); foreach (LanguageItem Lang in Translator.SupportedLanguages) { Icon = Lang.Icon.Split (new char[] {'@'}); using (Gdk.Pixbuf temp = Gdk.Pixbuf.LoadFromResource (Icon[0])) { LanguageFlag = temp.ScaleSimple ((scale_height * temp.Width) / temp.Height, scale_height, Gdk.InterpType.Bilinear); } SourceList.AppendValues (LanguageFlag, Lang.Name, Lang.Code); } cmbDefaultSource.Model = SourceList; //set default source to auto if it's enabled, else try what's in gconf, else, just the first in the list Gtk.TreeIter ti; if ((Translator.SupportsAutoDetect) && (SearchCombobox (out ti, cmbDefaultSource, Translator.AutoDetectCode, 2))) cmbDefaultSource.SetActiveIter (ti); else if (SearchCombobox(out ti, cmbDefaultSource, SelectedSourceLang, 2)) cmbDefaultSource.SetActiveIter (ti); else { cmbDefaultSource.Model.GetIterFirst (out ti); cmbDefaultSource.SetActiveIter (ti); } }
public LitTreeView(Gtk.ITreeModel model) { sorter = new Gtk.TreeModelSort(model); columnsIconSettings = new BibliographerSettings("apps.bibliographer.columns.icon"); columnsAuthorSettings = new BibliographerSettings("apps.bibliographer.columns.author"); columnsTitleSettings = new BibliographerSettings("apps.bibliographer.columns.title"); columnsYearSettings = new BibliographerSettings("apps.bibliographer.columns.year"); columnsJournalSettings = new BibliographerSettings("apps.bibliographer.columns.journal"); columnsBibtexKeySettings = new BibliographerSettings("apps.bibliographer.columns.bibtexkey"); columnsVolumeSettings = new BibliographerSettings("apps.bibliographer.columns.volume"); columnsPagesSettings = new BibliographerSettings("apps.bibliographer.columns.pages"); Model = sorter; Gtk.CellRendererPixbuf columnIconRenderer; Gtk.CellRendererText columnAuthorRenderer; Gtk.CellRendererText columnTitleRenderer; Gtk.CellRendererText columnYearRenderer; Gtk.CellRendererText columnJournalRenderer; Gtk.CellRendererText columnBibtexKeyRenderer; Gtk.CellRendererText columnVolumeRenderer; Gtk.CellRendererText columnPagesRenderer; columnIconRenderer = new Gtk.CellRendererPixbuf(); columnAuthorRenderer = new Gtk.CellRendererText(); columnTitleRenderer = new Gtk.CellRendererText(); columnYearRenderer = new Gtk.CellRendererText(); columnJournalRenderer = new Gtk.CellRendererText(); columnBibtexKeyRenderer = new Gtk.CellRendererText(); columnVolumeRenderer = new Gtk.CellRendererText(); columnPagesRenderer = new Gtk.CellRendererText(); AppendColumn("Icon", columnIconRenderer, "image"); AppendColumn("Author", columnAuthorRenderer, "text"); AppendColumn("Title", columnTitleRenderer, "text"); AppendColumn("Year", columnYearRenderer, "text"); AppendColumn("Journal", columnJournalRenderer, "text"); AppendColumn("Bibtex Key", columnBibtexKeyRenderer, "text"); AppendColumn("Volume", columnVolumeRenderer, "text"); AppendColumn("Pages", columnPagesRenderer, "text"); HeadersClickable = true; var textDataFunc = new Gtk.TreeCellDataFunc(RenderColumnTextFromBibtexRecord); var pixmapDataFunc = new Gtk.TreeCellDataFunc(RenderColumnPixbufFromBibtexRecord); int idx = 0; foreach (Gtk.TreeViewColumn column in Columns) { column.Expand = false; column.Reorderable = true; column.Resizable = true; column.Clickable = true; if (column.Title == "Icon") { column.FixedWidth = columnsIconSettings.GetInt("width"); column.Visible = columnsIconSettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], pixmapDataFunc); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.Resizable = false; column.Reorderable = false; column.Clickable = false; column.MinWidth = 20; } else if (column.Title == "Author") { column.FixedWidth = columnsAuthorSettings.GetInt("width"); column.Visible = columnsAuthorSettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], textDataFunc); column.SortColumnId = 1; sorter.SetSortFunc(1, StringCompareAuthor); column.Clicked += OnColumnSort; if (column != Columns[columnsAuthorSettings.GetInt("order") - 1]) { MoveColumnAfter(column, Columns[columnsAuthorSettings.GetInt("order") - 1]); } } else if (column.Title == "Title") { column.Expand = true; column.FixedWidth = columnsTitleSettings.GetInt("width"); column.Visible = columnsTitleSettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], textDataFunc); column.SortColumnId = 2; sorter.SetSortFunc(2, StringCompare); column.Clicked += OnColumnSort; if (column != Columns[columnsTitleSettings.GetInt("order") - 1]) { MoveColumnAfter(column, Columns[columnsTitleSettings.GetInt("order") - 1]); } } else if (column.Title == "Year") { column.FixedWidth = columnsYearSettings.GetInt("width"); column.Visible = columnsYearSettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], textDataFunc); column.SortColumnId = 3; sorter.SetSortFunc(3, StringCompare); column.Clicked += OnColumnSort; if (column != Columns[columnsYearSettings.GetInt("order") - 1]) { MoveColumnAfter(column, Columns[columnsYearSettings.GetInt("order") - 1]); } } else if (column.Title == "Journal") { column.FixedWidth = columnsJournalSettings.GetInt("width"); column.Visible = columnsJournalSettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], textDataFunc); column.SortColumnId = 4; sorter.SetSortFunc(4, StringCompare); column.Clicked += OnColumnSort; if (column != Columns[columnsJournalSettings.GetInt("order") - 1]) { MoveColumnAfter(column, Columns[columnsJournalSettings.GetInt("order") - 1]); } } else if (column.Title == "Bibtex Key") { column.FixedWidth = columnsBibtexKeySettings.GetInt("width"); column.Visible = columnsBibtexKeySettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], textDataFunc); column.SortColumnId = 5; sorter.SetSortFunc(5, StringCompare); column.Clicked += OnColumnSort; if (column != Columns[columnsBibtexKeySettings.GetInt("order") - 1]) { MoveColumnAfter(column, Columns[columnsBibtexKeySettings.GetInt("order") - 1]); } } else if (column.Title == "Volume") { column.FixedWidth = columnsVolumeSettings.GetInt("width"); column.Visible = columnsVolumeSettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], textDataFunc); column.SortColumnId = 6; sorter.SetSortFunc(6, StringCompare); column.Clicked += OnColumnSort; if (column != Columns[columnsVolumeSettings.GetInt("order") - 1]) { MoveColumnAfter(column, Columns[columnsVolumeSettings.GetInt("order") - 1]); } } else if (column.Title == "Pages") { column.FixedWidth = columnsPagesSettings.GetInt("width"); column.Visible = columnsPagesSettings.GetBoolean("visible"); column.SetCellDataFunc(column.Cells[0], textDataFunc); column.SortColumnId = 7; sorter.SetSortFunc(7, StringCompare); column.Clicked += OnColumnSort; if (column != Columns[columnsPagesSettings.GetInt("order") - 1]) { MoveColumnAfter(column, Columns[columnsPagesSettings.GetInt("order") - 1]); } } idx++; } //RedrawColumns (); // Callbacks for the LitTreeView ColumnsChanged += OnColumnsChanged; DragMotion += OnDragMotion; RowActivated += OnRowActivated; DragLeave += OnDragLeave; Show(); }
public EditIconDialog(IProject project, ProjectIconSet iconSet) { Glade.XML xml = new Glade.XML (null, "stetic.glade", "EditIconDialog", null); xml.Autoconnect (this); dialog.Response += OnResponse; this.project = project; this.iconSet = iconSet; nameEntry.Text = iconSet.Name; if (iconSet.Sources.Count == 0) { radioSingle.Active = true; imageLabel.Text = ""; } else if (iconSet.Sources.Count == 1 && iconSet.Sources[0].AllWildcarded) { radioSingle.Active = true; singleIcon = iconSet.Sources[0].Image; if (singleIcon != null) { imageLabel.Text = singleIcon.Label; imageImage.Pixbuf = singleIcon.GetThumbnail (project, 16); } else imageLabel.Text = ""; } else { radioMultiple.Active = true; } hboxSingle.Sensitive = radioSingle.Active; hboxMultiple.Sensitive = !radioSingle.Active; // Build the tree sourceListStore = new Gtk.ListStore (typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(object)); sourceList.Model = sourceListStore; Gtk.TreeViewColumn col = new Gtk.TreeViewColumn (); Gtk.CellRendererPixbuf pr = new Gtk.CellRendererPixbuf (); col.Title = Catalog.GetString ("Image"); col.PackStart (pr, false); col.AddAttribute (pr, "pixbuf", 0); Gtk.CellRendererText crt = new Gtk.CellRendererText (); col.PackStart (crt, true); col.AddAttribute (crt, "text", 1); sourceList.AppendColumn (col); col = new Gtk.TreeViewColumn (); col.Expand = true; col.Title = Catalog.GetString ("Size"); CellRendererComboBox crtb = new CellRendererComboBox (); crtb.Changed += new ComboSelectionChangedHandler (OnSizeComboChanged); crtb.Values = sizes; col.PackStart (crtb, true); col.AddAttribute (crtb, "text", 2); sourceList.AppendColumn (col); col = new Gtk.TreeViewColumn (); col.Expand = true; col.Title = Catalog.GetString ("State"); crtb = new CellRendererComboBox (); crtb.Changed += new ComboSelectionChangedHandler (OnStateComboChanged); crtb.Values = states; col.PackStart (crtb, true); col.AddAttribute (crtb, "text", 3); sourceList.AppendColumn (col); col = new Gtk.TreeViewColumn (); col.Expand = true; col.Title = Catalog.GetString ("Direction"); crtb = new CellRendererComboBox (); crtb.Changed += new ComboSelectionChangedHandler (OnDirComboChanged); crtb.Values = directions; col.PackStart (crtb, true); col.AddAttribute (crtb, "text", 4); sourceList.AppendColumn (col); foreach (ProjectIconSource source in iconSet.Sources) AddSource (source); UpdateButtons (); }
private void InitializeMenuLayout(Gtk.TreeView menuLayout, MenuLayoutViewModel dataContext) { menuLayout.SetValue(IFakeDependencyObjectHelpers.DataContextPropertyName, dataContext); var column = new Gtk.TreeViewColumn(); Gtk.CellRenderer cellRenderer = new Gtk.CellRendererPixbuf(); column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellImageColumnRenderer <FileNodeViewModel>(l, c, m, i, p => p.Icon)); ////column.Sizing = Gtk.TreeViewColumnSizing.Fixed; ////column.FixedWidth = 20; menuLayout.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = MenuLayoutViewModel.LongNameHeader }; cellRenderer = new Gtk.CellRendererText(); _longNameEditor = new TextCellInPlaceEditor(menuLayout, column, cellRenderer as Gtk.CellRendererText, FileSystemConstants.MaxLongNameLength) { IsValidCharacter = INTV.Core.Model.Grom.Characters.Contains }; _longNameEditor.EditorClosed += HandleInPlaceEditorClosed; column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellTextColumnRenderer <FileNodeViewModel>(l, c, m, i, p => p.LongName.SafeString())); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = Properties.Settings.Default.MenuLayoutLongNameColWidth; column.Resizable = true; menuLayout.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = MenuLayoutViewModel.ShortNameHeader }; cellRenderer = new Gtk.CellRendererText(); _shortNameEditor = new TextCellInPlaceEditor(menuLayout, column, cellRenderer as Gtk.CellRendererText, FileSystemConstants.MaxShortNameLength) { IsValidCharacter = INTV.Core.Model.Grom.Characters.Contains }; _shortNameEditor.EditorClosed += HandleInPlaceEditorClosed; column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellTextColumnRenderer <FileNodeViewModel>(l, c, m, i, p => p.ShortName.SafeString())); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = Properties.Settings.Default.MenuLayoutShortNameColWidth; column.Resizable = true; menuLayout.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = MenuLayoutViewModel.ManualHeader }; cellRenderer = new Gtk.CellRendererText(); column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellTextColumnRenderer <FileNodeViewModel>(l, c, m, i, GetManualColumnStringValue)); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = Properties.Settings.Default.MenuLayoutManualColWidth; column.Resizable = true; menuLayout.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = MenuLayoutViewModel.SaveDataHeader }; cellRenderer = new Gtk.CellRendererText(); column.PackStart(cellRenderer, true); ////column.SetCellDataFunc(cellRenderer, (l,c,m,i) => VisualHelpers.CellTextColumnRenderer<ProgramDescriptionViewModel>(l,c,m,i, p => p.Name)); ////column.Sizing = Gtk.TreeViewColumnSizing.Fixed; ////column.FixedWidth = Properties.Settings.Default.MenuLayoutSaveDataColWidth; column.Resizable = true; column.Visible = Properties.Settings.Default.ShowAdvancedFeatures; menuLayout.AppendColumn(column); menuLayout.HasTooltip = true; menuLayout.QueryTooltip += HandleMenuLayoutQueryTooltip; var menuLayoutStore = new Gtk.TreeStore(typeof(FileNodeViewModel)); dataContext.SynchronizeToTreeStore(menuLayoutStore); menuLayout.Model = menuLayoutStore; menuLayout.EnableModelDragSource(Gdk.ModifierType.Button1Mask, DragDropSourceEntries, Gdk.DragAction.Move); menuLayout.EnableModelDragDest(DragDropTargetEntries, Gdk.DragAction.Copy | Gdk.DragAction.Move); menuLayout.Selection.Changed += HandleSelectionChanged; dataContext.PropertyChanged += HandleMenuLayoutPropertyChanged; }
public BugzillaPreferences () : base (false, 12) { last_opened_dir = Environment.GetEnvironmentVariable ("HOME"); Gtk.Label l = new Gtk.Label (Catalog.GetString ( "You can use any bugzilla just by dragging links " + "into notes. If you want a special icon for " + "certain hosts, add them here.")); l.Wrap = true; l.Xalign = 0; PackStart (l, false, false, 0); icon_store = CreateIconStore (); icon_tree = new Gtk.TreeView (icon_store); icon_tree.HeadersVisible = true; icon_tree.Selection.Mode = Gtk.SelectionMode.Single; icon_tree.Selection.Changed += SelectionChanged; Gtk.CellRenderer renderer; Gtk.TreeViewColumn host_col = new Gtk.TreeViewColumn (); host_col.Title = Catalog.GetString ("Host Name"); host_col.Sizing = Gtk.TreeViewColumnSizing.Autosize; host_col.Resizable = true; host_col.Expand = true; host_col.MinWidth = 200; renderer = new Gtk.CellRendererText (); host_col.PackStart (renderer, true); host_col.AddAttribute (renderer, "text", 1 /* host name */); host_col.SortColumnId = 1; /* host name */ host_col.SortIndicator = false; host_col.Reorderable = false; host_col.SortOrder = Gtk.SortType.Ascending; icon_tree.AppendColumn (host_col); Gtk.TreeViewColumn icon_col = new Gtk.TreeViewColumn (); icon_col.Title = Catalog.GetString ("Icon"); icon_col.Sizing = Gtk.TreeViewColumnSizing.Fixed; icon_col.MaxWidth = 50; icon_col.MinWidth = 50; icon_col.Resizable = false; renderer = new Gtk.CellRendererPixbuf (); icon_col.PackStart (renderer, false); icon_col.AddAttribute (renderer, "pixbuf", 0 /* icon */); icon_tree.AppendColumn (icon_col); Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow (); sw.ShadowType = Gtk.ShadowType.In; sw.HeightRequest = 200; sw.WidthRequest = 300; sw.SetPolicy (Gtk.PolicyType.Automatic, Gtk.PolicyType.Automatic); sw.Add (icon_tree); PackStart (sw, true, true, 0); add_button = new Gtk.Button (Gtk.Stock.Add); add_button.Clicked += AddClicked; remove_button = new Gtk.Button (Gtk.Stock.Remove); remove_button.Sensitive = false; remove_button.Clicked += RemoveClicked; Gtk.HButtonBox hbutton_box = new Gtk.HButtonBox (); hbutton_box.Layout = Gtk.ButtonBoxStyle.Start; hbutton_box.Spacing = 6; hbutton_box.PackStart (add_button); hbutton_box.PackStart (remove_button); PackStart (hbutton_box, false, false, 0); ShowAll (); }
/// <summary> /// Initializes a new instance of the <see cref="INTV.Shared.View.RomListView"/> class. /// </summary> /// <param name="viewModel">The data context for this visual.</param> public RomListView(RomListViewModel viewModel) { // TODO: Set up sorting! // TODO: DragDrop! DataContext = viewModel; this.Build(); var treeView = _romListView; treeView.Selection.Mode = Gtk.SelectionMode.Multiple; treeView.HasTooltip = true; treeView.EnableModelDragDest(RomListViewModel.DragDropTargetEntries, Gdk.DragAction.Private); treeView.EnableModelDragSource(Gdk.ModifierType.Button1Mask, RomListViewModel.DragDropSourceEntries, Gdk.DragAction.Copy); var column = new Gtk.TreeViewColumn(); Gtk.CellRenderer cellRenderer = new Gtk.CellRendererPixbuf(); column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellImageColumnRenderer <ProgramDescriptionViewModel>(l, c, m, i, p => p.RomFileStatusIcon)); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = 20; treeView.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = RomListViewModel.TitleHeader }; cellRenderer = new Gtk.CellRendererText(); column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellTextColumnRenderer <ProgramDescriptionViewModel>(l, c, m, i, p => p.Name)); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = Properties.Settings.Default.RomListNameColWidth; column.Resizable = true; treeView.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = RomListViewModel.CompanyHeader }; cellRenderer = new Gtk.CellRendererText(); column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellTextColumnRenderer <ProgramDescriptionViewModel>(l, c, m, i, p => p.Vendor)); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = Properties.Settings.Default.RomListVendorColWidth; column.Resizable = true; treeView.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = RomListViewModel.YearHeader }; cellRenderer = new Gtk.CellRendererText(); column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellTextColumnRenderer <ProgramDescriptionViewModel>(l, c, m, i, p => p.Year)); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = Properties.Settings.Default.RomListYearColWidth; column.Resizable = true; treeView.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = RomListViewModel.FeaturesHeader }; cellRenderer = new Gtk.CellRendererPixbuf(); cellRenderer.Xalign = 0; column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellImageColumnRenderer <ProgramDescriptionViewModel>(l, c, m, i, p => INTV.Shared.Converter.ProgramFeaturesToPixbufConverter.ConvertToPixbuf(p))); column.Sizing = Gtk.TreeViewColumnSizing.Fixed; column.FixedWidth = Properties.Settings.Default.RomListFeaturesColWidth; column.Resizable = true; treeView.AppendColumn(column); column = new Gtk.TreeViewColumn() { Title = RomListViewModel.RomFileHeader }; cellRenderer = new Gtk.CellRendererText(); column.PackStart(cellRenderer, true); column.SetCellDataFunc(cellRenderer, (l, c, m, i) => VisualHelpers.CellTextColumnRenderer <ProgramDescriptionViewModel>(l, c, m, i, p => p.Rom.RomPath)); ////column.Sizing = Gtk.TreeViewColumnSizing.Fixed; ////column.FixedWidth = Properties.Settings.Default.RomListPathColWidth; column.Resizable = true; treeView.AppendColumn(column); treeView.QueryTooltip += HandleQueryTooltip; ////column = new Gtk.TreeViewColumn() { Title = "Manual" }; ////cellRenderer = new Gtk.CellRendererText(); ////column.PackStart(cellRenderer, true); ////column.SetCellDataFunc(cellRenderer, (l,c,m,i) =>VisualHelpers.CellTextColumnRenderer<ProgramDescriptionViewModel>(l,c,m,i, p => p.ManualPath)); ////column.Sizing = Gtk.TreeViewColumnSizing.Fixed; ////column.FixedWidth = Properties.Settings.Default.RomListManualPathColWidth;; ////column.Resizable = true; ////treeView.AppendColumn(column); var romListStore = new Gtk.ListStore(typeof(ProgramDescriptionViewModel)); romListStore.SynchronizeCollection(viewModel.Programs); treeView.Model = romListStore; // Hackish way to get the visibility right. HandleSettingsChanged(Properties.Settings.Default, new System.ComponentModel.PropertyChangedEventArgs(Properties.Settings.ShowRomDetailsSettingName)); Properties.Settings.Default.PropertyChanged += HandleSettingsChanged; viewModel.Programs.CollectionChanged += HandleProgramsChanged; viewModel.Model.ProgramStatusChanged += HandleProgramStatusChanged; treeView.Selection.Changed += HandleSelectionChanged; ViewModel.CurrentSelection.CollectionChanged += HandleViewModelSelectionChanged; }
public EditPackagesDialog(CProject project) { this.Build(); this.project = project; selectedPackages.Project = project; selectedPackages.AddRange (project.Packages); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText (); Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf (); pixbufRenderer.StockId = "md-package"; normalPackageListStore.DefaultSortFunc = NormalPackageCompareNodes; projectPackageListStore.DefaultSortFunc = ProjectPackageCompareNodes; selectedPackageListStore.DefaultSortFunc = SelectedPackageCompareNodes; normalPackageListStore.SetSortColumnId (NormalPackageNameID, Gtk.SortType.Ascending); projectPackageListStore.SetSortColumnId (ProjectPackageNameID, Gtk.SortType.Ascending); selectedPackageListStore.SetSortColumnId (SelectedPackageNameID, Gtk.SortType.Ascending); normalPackageTreeView.SearchColumn = NormalPackageNameID; projectPackageTreeView.SearchColumn = ProjectPackageNameID; selectedPackageTreeView.SearchColumn = SelectedPackageNameID; // <!-- Normal packages --> Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle (); normalPackageToggleRenderer.Activatable = true; normalPackageToggleRenderer.Toggled += OnNormalPackageToggled; normalPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn (); normalPackageColumn.Title = "Package"; normalPackageColumn.PackStart (pixbufRenderer, false); normalPackageColumn.PackStart (textRenderer, true); normalPackageColumn.AddAttribute (textRenderer, "text", NormalPackageNameID); normalPackageTreeView.Model = normalPackageListStore; normalPackageTreeView.HeadersVisible = true; normalPackageTreeView.AppendColumn ("", normalPackageToggleRenderer, "active", NormalPackageToggleID); normalPackageTreeView.AppendColumn (normalPackageColumn); normalPackageTreeView.AppendColumn ("Version", textRenderer, "text", NormalPackageVersionID); // <!-- Project packages --> Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle (); projectPackageToggleRenderer.Activatable = true; projectPackageToggleRenderer.Toggled += OnProjectPackageToggled; projectPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn (); projectPackageColumn.Title = "Package"; projectPackageColumn.PackStart (pixbufRenderer, false); projectPackageColumn.PackStart (textRenderer, true); projectPackageColumn.AddAttribute (textRenderer, "text", ProjectPackageNameID); projectPackageTreeView.Model = projectPackageListStore; projectPackageTreeView.HeadersVisible = true; projectPackageTreeView.AppendColumn ("", projectPackageToggleRenderer, "active", ProjectPackageToggleID); projectPackageTreeView.AppendColumn (projectPackageColumn); projectPackageTreeView.AppendColumn ("Version", textRenderer, "text", ProjectPackageVersionID); // <!-- Selected packages --> Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn (); selectedPackageColumn.Title = "Package"; selectedPackageColumn.PackStart (pixbufRenderer, false); selectedPackageColumn.PackStart (textRenderer, true); selectedPackageColumn.AddAttribute (textRenderer, "text", SelectedPackageNameID); selectedPackageTreeView.Model = selectedPackageListStore; selectedPackageTreeView.HeadersVisible = true; selectedPackageTreeView.AppendColumn (selectedPackageColumn); selectedPackageTreeView.AppendColumn ("Version", textRenderer, "text", SelectedPackageVersionID); // Fill up the project tree view packagesOfProjects = GetPackagesOfProjects (project); foreach (Package p in packagesOfProjects) { if (p.Name == project.Name) continue; packages.Add (p); string version = p.Version; bool inProject = selectedPackages.Contains (p); if (!IsPackageInStore (projectPackageListStore, p.Name, version, ProjectPackageNameID, ProjectPackageVersionID)) { projectPackageListStore.AppendValues (inProject, p.Name, version); if (inProject) selectedPackageListStore.AppendValues (p.Name, version); } } // Fill up the normal tree view foreach (string dir in ScanDirs ()) { if (Directory.Exists (dir)) { DirectoryInfo di = new DirectoryInfo (dir); FileInfo[] availablePackages = di.GetFiles ("*.pc"); foreach (FileInfo f in availablePackages) { if (!IsValidPackage (f.FullName)) { continue; } Package package = new Package (f.FullName); packages.Add (package); string name = package.Name; string version = package.Version; bool inProject = selectedPackages.Contains (package); if (!IsPackageInStore (normalPackageListStore, name, version, NormalPackageNameID, NormalPackageVersionID)) { normalPackageListStore.AppendValues (inProject, name, version); if (inProject) selectedPackageListStore.AppendValues (name, version); } } } } }
public virtual void Initialize(string label, string icon, NodeBuilder[] builders, TreePadOption[] options) { // Create default options this.options = options; globalOptions = new TreeOptions (); foreach (TreePadOption op in options) globalOptions [op.Id] = op.DefaultValue; globalOptions.Pad = this; // Check that there is only one node builder per type Hashtable bc = new Hashtable (); foreach (NodeBuilder nb in builders) { TypeNodeBuilder tnb = nb as TypeNodeBuilder; if (tnb != null) { TypeNodeBuilder other = (TypeNodeBuilder) bc [tnb.NodeDataType]; if (other != null) throw new ApplicationException (string.Format ("The type node builder {0} can't be used in this context because the type {1} is already handled by {2}", nb.GetType(), tnb.NodeDataType, other.GetType())); bc [tnb.NodeDataType] = tnb; } else if (!(nb is NodeBuilderExtension)) throw new InvalidOperationException (string.Format ("Invalid NodeBuilder type: {0}. NodeBuilders must inherit either from TypeNodeBuilder or NodeBuilderExtension", nb.GetType())); } NodeBuilders = builders; Title = label; Icon = icon; builderContext = new TreeBuilderContext (this); tree = new Gtk.TreeView (); /* 0 -- Text 1 -- Icon (Open) 2 -- Icon (Closed) 3 -- Node Data 4 -- Builder chain 5 -- Pango weight 6 -- Expanded */ store = new Gtk.TreeStore (typeof (string), typeof (Gdk.Pixbuf), typeof (Gdk.Pixbuf), typeof (object), typeof (object), typeof(int), typeof(bool)); tree.Model = store; tree.EnableModelDragDest (target_table, Gdk.DragAction.Copy | Gdk.DragAction.Move); Gtk.Drag.SourceSet (tree, Gdk.ModifierType.Button1Mask, target_table, Gdk.DragAction.Copy | Gdk.DragAction.Move); store.DefaultSortFunc = new Gtk.TreeIterCompareFunc (CompareNodes); store.SetSortColumnId (/* GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID */ -1, Gtk.SortType.Ascending); tree.HeadersVisible = false; tree.SearchColumn = 0; tree.EnableSearch = true; complete_column = new Gtk.TreeViewColumn (); complete_column.Title = "column"; Gtk.CellRendererPixbuf pix_render = new Gtk.CellRendererPixbuf (); complete_column.PackStart (pix_render, false); complete_column.AddAttribute (pix_render, "pixbuf", OpenIconColumn); complete_column.AddAttribute (pix_render, "pixbuf-expander-open", OpenIconColumn); complete_column.AddAttribute (pix_render, "pixbuf-expander-closed", ClosedIconColumn); text_render = new Gtk.CellRendererText (); text_render.Edited += new Gtk.EditedHandler (HandleOnEdit); complete_column.PackStart (text_render, true); complete_column.AddAttribute (text_render, "text", TextColumn); complete_column.AddAttribute (text_render, "weight", WeightColumn); tree.AppendColumn (complete_column); Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow (); sw.Add(tree); contentPanel = new Gtk.Frame (); contentPanel.Add(sw); tree.TestExpandRow += new Gtk.TestExpandRowHandler (OnTestExpandRow); tree.RowActivated += new Gtk.RowActivatedHandler(OnNodeActivated); contentPanel.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler(OnButtonRelease); contentPanel.PopupMenu += new Gtk.PopupMenuHandler (OnPopupMenu); foreach (NodeBuilder nb in builders) nb.SetContext (builderContext); workNode = new TreeNodeNavigator (this); compareNode1 = new TreeNodeNavigator (this); compareNode2 = new TreeNodeNavigator (this); tree.DragBegin += new Gtk.DragBeginHandler (OnDragBegin); tree.DragDataReceived += new Gtk.DragDataReceivedHandler (OnDragDataReceived); tree.DragDrop += new Gtk.DragDropHandler (OnDragDrop); tree.DragEnd += new Gtk.DragEndHandler (OnDragEnd); tree.DragMotion += new Gtk.DragMotionHandler (OnDragMotion); tree.CursorChanged += new EventHandler (OnSelectionChanged); contentPanel.ShowAll (); }
public EditPackagesDialog(ValaProject project) { this.Build(); this.project = project; selectedPackages.Project = project; selectedPackages.AddRange(project.Packages); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf(); pixbufRenderer.StockId = "md-package"; normalPackageListStore.DefaultSortFunc = NormalPackageCompareNodes; projectPackageListStore.DefaultSortFunc = ProjectPackageCompareNodes; selectedPackageListStore.DefaultSortFunc = SelectedPackageCompareNodes; normalPackageListStore.SetSortColumnId(NormalPackageNameID, Gtk.SortType.Ascending); projectPackageListStore.SetSortColumnId(ProjectPackageNameID, Gtk.SortType.Ascending); selectedPackageListStore.SetSortColumnId(SelectedPackageNameID, Gtk.SortType.Ascending); normalPackageTreeView.SearchColumn = NormalPackageNameID; projectPackageTreeView.SearchColumn = ProjectPackageNameID; selectedPackageTreeView.SearchColumn = SelectedPackageNameID; // <!-- Normal packages --> Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle(); normalPackageToggleRenderer.Activatable = true; normalPackageToggleRenderer.Toggled += OnNormalPackageToggled; normalPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn(); normalPackageColumn.Title = "Package"; normalPackageColumn.PackStart(pixbufRenderer, false); normalPackageColumn.PackStart(textRenderer, true); normalPackageColumn.AddAttribute(textRenderer, "text", NormalPackageNameID); normalPackageTreeView.Model = normalPackageListStore; normalPackageTreeView.HeadersVisible = true; normalPackageTreeView.AppendColumn("", normalPackageToggleRenderer, "active", NormalPackageToggleID); normalPackageTreeView.AppendColumn(normalPackageColumn); normalPackageTreeView.AppendColumn("Version", textRenderer, "text", NormalPackageVersionID); // <!-- Project packages --> Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle(); projectPackageToggleRenderer.Activatable = true; projectPackageToggleRenderer.Toggled += OnProjectPackageToggled; projectPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn(); projectPackageColumn.Title = "Package"; projectPackageColumn.PackStart(pixbufRenderer, false); projectPackageColumn.PackStart(textRenderer, true); projectPackageColumn.AddAttribute(textRenderer, "text", ProjectPackageNameID); projectPackageTreeView.Model = projectPackageListStore; projectPackageTreeView.HeadersVisible = true; projectPackageTreeView.AppendColumn("", projectPackageToggleRenderer, "active", ProjectPackageToggleID); projectPackageTreeView.AppendColumn(projectPackageColumn); projectPackageTreeView.AppendColumn("Version", textRenderer, "text", ProjectPackageVersionID); // <!-- Selected packages --> Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn(); selectedPackageColumn.Title = "Package"; selectedPackageColumn.PackStart(pixbufRenderer, false); selectedPackageColumn.PackStart(textRenderer, true); selectedPackageColumn.AddAttribute(textRenderer, "text", SelectedPackageNameID); selectedPackageTreeView.Model = selectedPackageListStore; selectedPackageTreeView.HeadersVisible = true; selectedPackageTreeView.AppendColumn(selectedPackageColumn); selectedPackageTreeView.AppendColumn("Version", textRenderer, "text", SelectedPackageVersionID); // Fill up the project tree view packagesOfProjects = GetPackagesOfProjects(project); foreach (ProjectPackage p in packagesOfProjects) { if (p.Name == project.Name) { continue; } packages.Add(p); string version = p.Version; bool inProject = selectedPackages.Contains(p); if (!IsPackageInStore(projectPackageListStore, p.Name, version, ProjectPackageNameID, ProjectPackageVersionID)) { projectPackageListStore.AppendValues(inProject, p.Name, version); if (inProject) { selectedPackageListStore.AppendValues(p.Name, version); } } } // Fill up the normal tree view foreach (string dir in ScanDirs()) { if (Directory.Exists(dir)) { DirectoryInfo di = new DirectoryInfo(dir); FileInfo[] availablePackages = di.GetFiles("*.vapi"); foreach (FileInfo f in availablePackages) { if (!IsValidPackage(f.FullName)) { continue; } string packagename = f.FullName; GLib.Idle.Add(delegate { ProjectPackage package = new ProjectPackage(packagename); packages.Add(package); string name = package.Name; string version = package.Version; bool inProject = selectedPackages.Contains(package); if (!IsPackageInStore(normalPackageListStore, name, version, NormalPackageNameID, NormalPackageVersionID)) { normalPackageListStore.AppendValues(inProject, name, version); if (inProject) { selectedPackageListStore.AppendValues(name, version); } } return(false); }); } } } }
public Image(bool allowStock, bool allowFile) : base(false, 6) { image = new Gtk.Image (Gnome.Stock.Blank, Gtk.IconSize.Button); PackStart (image, false, false, 0); if (allowStock) { store = new Gtk.ListStore (typeof (string), typeof (string)); store.AppendValues (Gnome.Stock.Blank, Catalog.GetString ("(None)")); for (int i = 0; i < stockIds.Length; i++) store.AppendValues (stockIds[i], stockLabels[i]); combo = new Gtk.ComboBoxEntry (store, LabelColumn); Gtk.CellRendererPixbuf iconRenderer = new Gtk.CellRendererPixbuf (); iconRenderer.StockSize = (uint)Gtk.IconSize.Menu; combo.PackStart (iconRenderer, false); combo.Reorder (iconRenderer, 0); combo.AddAttribute (iconRenderer, "stock-id", IconColumn); combo.Changed += combo_Changed; // Pack the combo non-expandily into a VBox so it doesn't // get stretched to the file button's height Gtk.VBox vbox = new Gtk.VBox (false, 0); vbox.PackStart (combo, true, false, 0); PackStart (vbox, true, true, 0); entry = (Gtk.Entry)combo.Child; entry.Changed += entry_Changed; useStock = true; } if (allowFile) { if (!allowStock) { entry = new Gtk.Entry (); PackStart (entry, true, true, 0); entry.Changed += entry_Changed; } button = new Gtk.Button (); Gtk.Image icon = new Gtk.Image (Gtk.Stock.Open, Gtk.IconSize.Button); button.Add (icon); PackStart (button, false, false, 0); button.Clicked += button_Clicked; } ShowAll (); }
public BugzillaPreferences() : base(false, 12) { last_opened_dir = Environment.GetEnvironmentVariable("HOME"); Gtk.Label l = new Gtk.Label(Catalog.GetString( "You can use any bugzilla just by dragging links " + "into notes. If you want a special icon for " + "certain hosts, add them here.")); l.Wrap = true; l.Xalign = 0; PackStart(l, false, false, 0); icon_store = CreateIconStore(); icon_tree = new Gtk.TreeView(icon_store); icon_tree.HeadersVisible = true; icon_tree.Selection.Mode = Gtk.SelectionMode.Single; icon_tree.Selection.Changed += SelectionChanged; Gtk.CellRenderer renderer; Gtk.TreeViewColumn host_col = new Gtk.TreeViewColumn(); host_col.Title = Catalog.GetString("Host Name"); host_col.Sizing = Gtk.TreeViewColumnSizing.Autosize; host_col.Resizable = true; host_col.Expand = true; host_col.MinWidth = 200; renderer = new Gtk.CellRendererText(); host_col.PackStart(renderer, true); host_col.AddAttribute(renderer, "text", 1 /* host name */); host_col.SortColumnId = 1; /* host name */ host_col.SortIndicator = false; host_col.Reorderable = false; host_col.SortOrder = Gtk.SortType.Ascending; icon_tree.AppendColumn(host_col); Gtk.TreeViewColumn icon_col = new Gtk.TreeViewColumn(); icon_col.Title = Catalog.GetString("Icon"); icon_col.Sizing = Gtk.TreeViewColumnSizing.Fixed; icon_col.MaxWidth = 50; icon_col.MinWidth = 50; icon_col.Resizable = false; renderer = new Gtk.CellRendererPixbuf(); icon_col.PackStart(renderer, false); icon_col.AddAttribute(renderer, "pixbuf", 0 /* icon */); icon_tree.AppendColumn(icon_col); Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.In; sw.HeightRequest = 200; sw.WidthRequest = 300; sw.SetPolicy(Gtk.PolicyType.Automatic, Gtk.PolicyType.Automatic); sw.Add(icon_tree); PackStart(sw, true, true, 0); add_button = new Gtk.Button(Gtk.Stock.Add); add_button.Clicked += AddClicked; remove_button = new Gtk.Button(Gtk.Stock.Remove); remove_button.Sensitive = false; remove_button.Clicked += RemoveClicked; Gtk.HButtonBox hbutton_box = new Gtk.HButtonBox(); hbutton_box.Layout = Gtk.ButtonBoxStyle.Start; hbutton_box.Spacing = 6; hbutton_box.PackStart(add_button); hbutton_box.PackStart(remove_button); PackStart(hbutton_box, false, false, 0); ShowAll(); }
public EditPackagesDialog(CProject project) { this.Build(); this.project = project; selectedPackages.AddRange(project.Packages); Gtk.CellRendererText textRenderer = new Gtk.CellRendererText(); Gtk.CellRendererPixbuf pixbufRenderer = new Gtk.CellRendererPixbuf(); pixbufRenderer.StockId = "md-package"; // <!-- Normal packages --> Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle(); normalPackageToggleRenderer.Activatable = true; normalPackageToggleRenderer.Toggled += OnNormalPackageToggled; normalPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn(); normalPackageColumn.Title = "Package"; normalPackageColumn.PackStart(pixbufRenderer, false); normalPackageColumn.PackStart(textRenderer, true); normalPackageColumn.AddAttribute(textRenderer, "text", 1); normalPackageTreeView.Model = normalPackageListStore; normalPackageTreeView.HeadersVisible = true; normalPackageTreeView.AppendColumn("", normalPackageToggleRenderer, "active", 0); normalPackageTreeView.AppendColumn(normalPackageColumn); normalPackageTreeView.AppendColumn("Version", textRenderer, "text", 2); // <!-- Project packages --> Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle(); projectPackageToggleRenderer.Activatable = true; projectPackageToggleRenderer.Toggled += OnProjectPackageToggled; projectPackageToggleRenderer.Xalign = 0; Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn(); projectPackageColumn.Title = "Package"; projectPackageColumn.PackStart(pixbufRenderer, false); projectPackageColumn.PackStart(textRenderer, true); projectPackageColumn.AddAttribute(textRenderer, "text", 1); projectPackageTreeView.Model = projectPackageListStore; projectPackageTreeView.HeadersVisible = true; projectPackageTreeView.AppendColumn("", projectPackageToggleRenderer, "active", 0); projectPackageTreeView.AppendColumn(projectPackageColumn); projectPackageTreeView.AppendColumn("Version", textRenderer, "text", 2); // <!-- Selected packages --> Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn(); selectedPackageColumn.Title = "Package"; selectedPackageColumn.PackStart(pixbufRenderer, false); selectedPackageColumn.PackStart(textRenderer, true); selectedPackageColumn.AddAttribute(textRenderer, "text", 0); selectedPackagesTreeView.Model = selectedPackagesListStore; selectedPackagesTreeView.HeadersVisible = true; selectedPackagesTreeView.AppendColumn(selectedPackageColumn); selectedPackagesTreeView.AppendColumn("Version", textRenderer, "text", 1); // Fill up the project tree view projectPackages = ProjectPackages(project); foreach (ProjectPackage p in projectPackages) { if (p.Name == project.Name) { continue; } string version = GetPackageVersion(p.File); bool inProject = IsInProject(p.File); projectPackageListStore.AppendValues(inProject, p.Name, version); if (inProject) { selectedPackagesListStore.AppendValues(p.Name, version); } } // Fill up the normal tree view foreach (string dir in ScanDirs()) { if (Directory.Exists(dir)) { DirectoryInfo di = new DirectoryInfo(dir); FileInfo[] availablePackages = di.GetFiles("*.pc"); foreach (FileInfo f in availablePackages) { if (!IsValidPackage(f.FullName)) { continue; } string name = f.Name.Substring(0, f.Name.LastIndexOf('.')); string version = GetPackageVersion(f.FullName); bool inProject = IsInProject(name); normalPackageListStore.AppendValues(inProject, name, version); if (inProject) { selectedPackagesListStore.AppendValues(name, version); } } } } }
/// <summary> /// Initializes and fills the tree view. /// </summary> private void InitializeAndFillTreeView() { Gtk.CellRendererPixbuf rulePixBufRenderer = new Gtk.CellRendererPixbuf(); rulePixBufRenderer.Mode = Gtk.CellRendererMode.Activatable; Gtk.CellRendererText ruleTextRenderer = new Gtk.CellRendererText(); ruleTextRenderer.Mode = Gtk.CellRendererMode.Activatable; Gtk.CellRendererToggle ruleToggleRenderer = new Gtk.CellRendererToggle(); ruleToggleRenderer.Activatable = true; ruleToggleRenderer.Toggled += new Gtk.ToggledHandler(this.OnRuleToggled); Gtk.TreeViewColumn rulesColumn = new Gtk.TreeViewColumn(); rulesColumn.Clickable = false; rulesColumn.Reorderable = false; rulesColumn.Title = GettextCatalog.GetString("Enabled rules"); rulesColumn.PackStart(ruleToggleRenderer, false); rulesColumn.PackStart(rulePixBufRenderer, false); rulesColumn.PackStart(ruleTextRenderer, false); rulesColumn.AddAttribute(ruleToggleRenderer, "active", (int)TreeStoreColumns.Toggle); rulesColumn.AddAttribute(rulePixBufRenderer, "pixbuf", (int)TreeStoreColumns.PixBuf); rulesColumn.SetCellDataFunc(ruleTextRenderer, new Gtk.TreeCellDataFunc(this.RenderRule)); this.rulesTreeView.AppendColumn(rulesColumn); this.rulesStore = new Gtk.TreeStore(typeof(bool), typeof(Gdk.Pixbuf), typeof(object), typeof(SourceAnalyzer), typeof(bool)); this.rulesTreeView.Model = this.rulesStore; this.rulesTreeView.Selection.Changed += new EventHandler(this.OnTreeViewSelectionChanged); if (this.rulesStore != null) { // Add each of the parsers and analyzers to the tree. foreach (SourceParser parser in this.SettingsHandler.Core.Parsers) { Gtk.TreeIter parserIter = this.rulesStore.AppendValues(false, null, parser, null, false); // Add each of the boolean properties exposed by the parser. this.StoreAddinProperties(parser); // Iterate through each of the analyzers and add a checkbox for each. foreach (SourceAnalyzer analyzer in parser.Analyzers) { Gtk.TreeIter analyzerIter = this.rulesStore.AppendValues(parserIter, false, null, analyzer, null, false); // Add each of the boolean properties exposed by the analyzer. this.StoreAddinProperties(analyzer); this.FillAnalyzerRules(analyzer, analyzerIter); if ((bool)this.rulesStore.GetValue(analyzerIter, (int)TreeStoreColumns.Overridden)) { this.rulesStore.SetValue(parserIter, (int)TreeStoreColumns.Overridden, true); } } this.rulesTreeView.ExpandRow(this.rulesStore.GetPath(parserIter), false); } } }
public void SetupColumns() { //setup columns Gtk.TreeViewColumn FlagCol = new Gtk.TreeViewColumn (); Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf (); FlagCol.PackStart (pixbuf, false); treeEnableLang.AppendColumn (FlagCol); FlagCol.AddAttribute (pixbuf, "pixbuf", 0); Gtk.TreeViewColumn LanguageCol = new Gtk.TreeViewColumn (); Gtk.CellRendererText text = new Gtk.CellRendererText (); LanguageCol.PackStart (text, true); treeEnableLang.AppendColumn (LanguageCol); LanguageCol.AddAttribute (text, "text", 1); /* Gtk.TreeViewColumn IsEnabled = new Gtk.TreeViewColumn (); Gtk.CellRendererToggle EnabledToggle = new Gtk.CellRendererToggle (); EnabledToggle.Activatable = true; EnabledToggle.Toggled += CheckEnable; IsEnabled.PackStart (EnabledToggle, false); treeEnableLang.AppendColumn (IsEnabled); IsEnabled.AddAttribute (EnabledToggle, "active", 2); //add a dummy column to fill the rest Gtk.TreeViewColumn DummyCol = new Gtk.TreeViewColumn (); Gtk.CellRendererText DummyText = new Gtk.CellRendererText (); DummyCol.PackStart (DummyText, true); treeEnableLang.AppendColumn (DummyCol); DummyCol.AddAttribute (DummyText, "text", 3); */ }