Ejemplo n.º 1
0
        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.
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
             */
        }
Ejemplo n.º 4
0
 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());
 }
Ejemplo n.º 5
0
 // 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);
 }
Ejemplo n.º 6
0
        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.
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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;
        }
Ejemplo n.º 9
0
        // 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;
        }
Ejemplo n.º 10
0
 public ImageTextCellHandler()
 {
     imageCell = new ImageRenderer {
         Handler = this
     };
     Control = new Renderer {
         Handler = this
     };
 }
Ejemplo n.º 11
0
        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);
            }
        }
Ejemplo n.º 12
0
 public ImageTextCellHandler()
 {
     imageCell = new ImageRenderer {
         Handler = this
     };
     Control = new TextBoxCellHandler.Renderer {
         Handler = this
     };
     VerticalAlignment = VerticalAlignment.Center;
 }
Ejemplo n.º 13
0
 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);
     };
 }
Ejemplo n.º 14
0
        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();
        }
Ejemplo n.º 15
0
        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;
        }
Ejemplo n.º 16
0
        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();
            };
        }
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 20
0
 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 ());
 }
Ejemplo n.º 21
0
        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);
            }
        }
Ejemplo n.º 22
0
        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);
        }
Ejemplo n.º 23
0
        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);
            }
        }
Ejemplo n.º 24
0
        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;
        }
Ejemplo n.º 25
0
        /// <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);
            }
        }
Ejemplo n.º 26
0
		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);
					}
				}
			}
		}
Ejemplo n.º 27
0
        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);
        }
Ejemplo n.º 29
0
		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 ();
			};
		}
Ejemplo n.º 30
0
        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();
        }
Ejemplo n.º 31
0
        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);
            }
        }
Ejemplo n.º 32
0
        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);
        }
Ejemplo n.º 33
0
        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);
            }
        }
Ejemplo n.º 34
0
        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();
        }
Ejemplo n.º 35
0
        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 ();
        }
Ejemplo n.º 36
0
        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;
        }
Ejemplo n.º 37
0
		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 ();
		}
Ejemplo n.º 38
0
        /// <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);
						}
					}
				}
			}
		}
Ejemplo n.º 40
0
        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 ();
        }
Ejemplo n.º 41
0
        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);
                        });
                    }
                }
            }
        }
Ejemplo n.º 42
0
Archivo: Image.cs Proyecto: mono/stetic
        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 ();
        }
Ejemplo n.º 43
0
        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();
        }
Ejemplo n.º 44
0
        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);
        }
      }
    }
Ejemplo n.º 46
0
        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);
            */
        }