public void SetFormat(CodeFormatDescription description, T settings) { this.description = description; this.settings = settings; options.ShowLineNumberMargin = false; options.ShowFoldMargin = false; options.ShowIconMargin = false; options.ShowInvalidLines = false; options.ShowSpaces = options.ShowTabs = options.ShowEolMarkers = false; options.ColorScheme = PropertyService.Get("ColorScheme", "Default"); options.Zoom = 0.8; texteditor1.Options = options; texteditor1.Document.ReadOnly = true; texteditor1.Document.MimeType = description.MimeType; store.Clear(); if (description != null) { foreach (CodeFormatCategory category in description.SubCategories) { AppendCategory(store, TreeIter.Zero, category); } } TreeviewCategories.ShowAll(); }
void RenderIcon(TreeViewColumn col, CellRenderer cell, TreeModel model, TreeIter iter) { object o = store.GetValue(iter, objectColumn); if (o is CodeFormatCategory) { pixbufCellRenderer.Pixbuf = ImageService.GetPixbuf(TreeviewCategories.GetRowExpanded(store.GetPath(iter)) ? MonoDevelop.Ide.Gui.Stock.OpenFolder : MonoDevelop.Ide.Gui.Stock.ClosedFolder, IconSize.Menu); } else { pixbufCellRenderer.Pixbuf = ImageService.GetPixbuf(MonoDevelop.Ide.Gui.Stock.Property, IconSize.Menu); } }
public TypedCodeFormattingPolicyPanelWidget() { store = new Gtk.TreeStore(typeof(string), typeof(string), typeof(string), typeof(object), typeof(string), typeof(bool), typeof(bool), typeof(bool)); TreeViewColumn column = new TreeViewColumn(); // pixbuf column pixbufCellRenderer = new CellRendererPixbuf(); column.PackStart(pixbufCellRenderer, false); column.SetCellDataFunc(pixbufCellRenderer, new Gtk.TreeCellDataFunc(RenderIcon)); // text column CellRendererText cellRendererText = new CellRendererText(); cellRendererText.Ypad = 1; column.PackStart(cellRendererText, true); column.SetAttributes(cellRendererText, "text", keyColumn); TreeviewCategories.AppendColumn(column); column = new TreeViewColumn(); CellRendererCombo cellRendererCombo = new CellRendererCombo(); cellRendererCombo.Ypad = 1; cellRendererCombo.Mode = CellRendererMode.Editable; cellRendererCombo.TextColumn = 1; cellRendererCombo.Model = comboBoxStore; cellRendererCombo.HasEntry = false; cellRendererCombo.Editable = true; column.PackStart(cellRendererCombo, false); column.SetAttributes(cellRendererCombo, "markup", valueDisplayTextColumn, "visible", comboVisibleColumn); CellRendererToggle cellRendererToggle = new CellRendererToggle(); cellRendererToggle.Ypad = 1; cellRendererToggle.Toggled += CellRendererToggleToggled; column.PackStart(cellRendererToggle, false); column.SetAttributes(cellRendererToggle, "active", toggleColumn, "visible", toggleVisibleColumn); TreeviewCategories.AppendColumn(column); cellRendererCombo.EditingStarted += delegate(object o, EditingStartedArgs args) { CodeFormatType type = description.GetCodeFormatType(settings, option); comboBoxStore.Clear(); foreach (KeyValuePair <string, string> v in type.Values) { comboBoxStore.AppendValues(v.Key, GettextCatalog.GetString(v.Value)); } }; cellRendererCombo.Edited += delegate(object o, EditedArgs args) { CodeFormatType type = description.GetCodeFormatType(settings, option); foreach (KeyValuePair <string, string> v in type.Values) { if (args.NewText == GettextCatalog.GetString(v.Value)) { description.SetValue(settings, option, v.Key); TreeIter iter; if (store.GetIterFromString(out iter, args.Path)) { store.SetValue(iter, valueColumn, v.Key); store.SetValue(iter, valueDisplayTextColumn, args.NewText); } break; } } UpdateExample(); }; TreeviewCategories.HeadersVisible = false; TreeviewCategories.Selection.Changed += TreeSelectionChanged; TreeviewCategories.Model = store; }