Exemple #1
0
        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();
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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;
        }