コード例 #1
0
ファイル: FlagsSelectorDialog.cs プロジェクト: mono/stetic
        public FlagsSelectorDialog(Gtk.Window parent, EnumDescriptor enumDesc, uint flags, string title)
        {
            this.flags = flags;
            this.parent = parent;

            Glade.XML xml = new Glade.XML (null, "stetic.glade", "FlagsSelectorDialog", null);
            xml.Autoconnect (this);

            store = new Gtk.ListStore (typeof(bool), typeof(string), typeof(uint));
            treeView.Model = store;

            Gtk.TreeViewColumn col = new Gtk.TreeViewColumn ();

            Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle ();
            tog.Toggled += new Gtk.ToggledHandler (OnToggled);
            col.PackStart (tog, false);
            col.AddAttribute (tog, "active", 0);

            Gtk.CellRendererText crt = new Gtk.CellRendererText ();
            col.PackStart (crt, true);
            col.AddAttribute (crt, "text", 1);

            treeView.AppendColumn (col);

            foreach (Enum value in enumDesc.Values) {
                EnumValue eval = enumDesc[value];
                if (eval.Label == "")
                    continue;
                uint val = (uint) (int) eval.Value;
                store.AppendValues (((flags & val) != 0), eval.Label, val);
            }
        }
コード例 #2
0
        public FlagsSelectorDialog(Gtk.Window parent, EnumDescriptor enumDesc, uint flags, string title)
        {
            this.flags  = flags;
            this.parent = parent;

            Glade.XML xml = new Glade.XML(null, "stetic.glade", "FlagsSelectorDialog", null);
            xml.Autoconnect(this);

            store          = new Gtk.ListStore(typeof(bool), typeof(string), typeof(uint));
            treeView.Model = store;

            Gtk.TreeViewColumn col = new Gtk.TreeViewColumn();

            Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle();
            tog.Toggled += new Gtk.ToggledHandler(OnToggled);
            col.PackStart(tog, false);
            col.AddAttribute(tog, "active", 0);

            Gtk.CellRendererText crt = new Gtk.CellRendererText();
            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", 1);

            treeView.AppendColumn(col);

            foreach (Enum value in enumDesc.Values)
            {
                EnumValue eval = enumDesc[value];
                if (eval.Label == "")
                {
                    continue;
                }
                uint val = (uint)Convert.ToInt32(eval.Value);
                store.AppendValues(((flags & val) != 0), eval.Label, val);
            }
        }
コード例 #3
0
ファイル: NoteEditor.cs プロジェクト: Macadamian/snively
        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.
        }
コード例 #4
0
    void BuildTreeview()
    {
        this.TreeView = new Gtk.TreeView();
        var store = new Gtk.TreeStore(typeof(bool), typeof(string), typeof(string));

        this.TreeView.Model = store;
        // Create a column
        var column1 = new Gtk.TreeViewColumn();
        // Add a toggle render
        var toggleRenderer = new Gtk.CellRendererToggle();

        column1.PackStart(toggleRenderer, true);
        column1.AddAttribute(toggleRenderer, "active", 0);
        column1.Title = "Column 1";
        // And add a text renderer to the same column
        var textRenderer1 = new Gtk.CellRendererText();

        column1.PackStart(textRenderer1, true);
        column1.AddAttribute(textRenderer1, "text", 1);
        // Now add a plain text column
        var column2       = new Gtk.TreeViewColumn();
        var textRenderer2 = new Gtk.CellRendererText();

        column2.PackStart(textRenderer2, true);
        column2.AddAttribute(textRenderer2, "text", 2);
        column2.Title = "Column 2";
        this.TreeView.AppendColumn(column1);
        this.TreeView.AppendColumn(column2);
        this.Add(this.TreeView);
    }
コード例 #5
0
ファイル: NoteEditor.cs プロジェクト: orospakr/snively
        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.
        }
コード例 #6
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);
            }
        }
コード例 #7
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));
        }
コード例 #8
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();
            };
        }
コード例 #9
0
 public static void AddColumn(this Gtk.TreeView self, string name, int index)
 {
     var nameRenderer = new Gtk.CellRendererText();
     var nameColumn = new Gtk.TreeViewColumn(name, nameRenderer);
     nameColumn.AddAttribute(nameRenderer, "text", index);
     self.AppendColumn(nameColumn);
 }
コード例 #10
0
        void SetupVoteGrid()
        {
            grdVotes.Model = _votes;
            //grdVotes.ModifyFont (Pango.FontDescription.FromString ("normal 8"));

            Gtk.CellRendererText crt = new Gtk.CellRendererText();
            grdVotes.AppendColumn("player", crt, "text", 0);

            crt = new Gtk.CellRendererText();
            grdVotes.AppendColumn("votes", crt, "text", 1);

            crt = new Gtk.CellRendererText();
            grdVotes.AppendColumn("posts", crt, "text", 2);

            crt = new Gtk.CellRendererText();
            grdVotes.AppendColumn("post", crt, "text", 3);

            crt = new Gtk.CellRendererText();
            grdVotes.AppendColumn("time", crt, "text", 4);

            Gtk.CellRendererCombo crcb = new Gtk.CellRendererCombo();
            crcb.Editable   = true;
            crcb.Model      = _validVotes;
            crcb.TextColumn = 0;
            crcb.Edited    += VoteFixed;

            Gtk.TreeViewColumn tvColumn = new Gtk.TreeViewColumn();
            tvColumn.PackStart(crcb, true);
            tvColumn.Title = "votes for";
            tvColumn.AddAttribute(crcb, "text", 5);
            grdVotes.AppendColumn(tvColumn);

            crt = new Gtk.CellRendererText();
            grdVotes.AppendColumn("content", crt, "text", 6);
        }
コード例 #11
0
        Gtk.TreeView BuildTreeViewDest()
        {
            var toret        = new Gtk.TreeView();
            var artistColumn = new Gtk.TreeViewColumn {
                Title = "Selected artist"
            };
            var songColumn = new Gtk.TreeViewColumn {
                Title = "Selected song title"
            };

            // Add the columns to the TreeView
            toret.AppendColumn(artistColumn);
            toret.AppendColumn(songColumn);

            // Create a model that will hold two strings - Artist Name and Song Title
            var musicListStore = new Gtk.ListStore(typeof(string), typeof(string));
            var artistNameCell = new Gtk.CellRendererText();
            var songTitleCell  = new Gtk.CellRendererText();

            artistColumn.PackStart(artistNameCell, true);
            songColumn.PackStart(songTitleCell, true);

            artistColumn.AddAttribute(artistNameCell, "text", 0);
            songColumn.AddAttribute(songTitleCell, "text", 1);

            toret.Selection.Mode = Gtk.SelectionMode.None;
            toret.Model          = musicListStore;
            toret.Selection.Mode = Gtk.SelectionMode.Multiple;

            return(toret);
        }
コード例 #12
0
 public TreeViewExample()
 {
     Gtk.Window window = new Gtk.Window("TreeView Example");
     window.SetSizeRequest(500, 200);
     Gtk.TreeView tree = new Gtk.TreeView();
     window.Add(tree);
     Gtk.TreeViewColumn Parent = new Gtk.TreeViewColumn();
     Parent.Title = "Parent";
     Gtk.CellRendererText Parent1 = new Gtk.CellRendererText();
     Parent.PackStart(Parent1, true);
     Gtk.TreeViewColumn ChildColoumn1 = new Gtk.TreeViewColumn();
     ChildColoumn1.Title = "Column 1";
     Gtk.CellRendererText Child1 = new Gtk.CellRendererText();
     ChildColoumn1.PackStart(Child1, true);
     Gtk.TreeViewColumn ChildColumn2 = new Gtk.TreeViewColumn();
     ChildColumn2.Title = "Column 2";
     Gtk.CellRendererText Child2 = new Gtk.CellRendererText();
     ChildColumn2.PackStart(Child2, true);
     tree.AppendColumn(Parent);
     tree.AppendColumn(ChildColoumn1);
     tree.AppendColumn(ChildColumn2);
     Parent.AddAttribute(Parent1, "text", 0);
     ChildColoumn1.AddAttribute(Child1, "text", 1);
     ChildColumn2.AddAttribute(Child2, "text", 2);
     Gtk.TreeStore Tree = new Gtk.TreeStore(typeof(string), typeof(string), typeof(string));
     Gtk.TreeIter  iter = Tree.AppendValues("Parent1");
     Tree.AppendValues(iter, "Child1", "Node 1");
     iter = Tree.AppendValues("Parent2");
     Tree.AppendValues(iter, "Child1", "Node 1", "Node 2");
     tree.Model = Tree;
     window.ShowAll();
 }
コード例 #13
0
        protected override void OnElementChanged(ElementChangedEventArgs <TreeView> e)
        {
            if (Control == null)
            {
                _treeView = new Gtk.TreeView();
                _treeView.HeadersVisible = false;

                Gtk.TreeViewColumn   column = new Gtk.TreeViewColumn();
                Gtk.CellRendererText cell   = new Gtk.CellRendererText();
                column.PackStart(cell, true);
                column.AddAttribute(cell, "text", 0);
                column.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(OnTextFunc));

                _treeView.AppendColumn(column);

                _treeView.RowExpanded       += OnRowExpanded;
                _treeView.RowCollapsed      += OnRowCollapsed;
                _treeView.Selection.Changed += OnSelectionChanged;

                Add(_treeView);
                _treeView.ShowAll();

                SetNativeControl(_treeView);
            }

            if (e.NewElement != null)
            {
                UpdateItems();
                UpdateRowHeight();
                UpdateRowTextColor();
            }

            base.OnElementChanged(e);
        }
コード例 #14
0
        public SearchGroupWidget()
        {
            this.Build();
            image = new Gtk.Image();
            image.SetFromIconName("system-search", Gtk.IconSize.Dnd);

            label = new Gtk.Label(Mono.Unix.Catalog.GetString("Search Group"));
            label.Show();

            userTreeview.Selection.Mode = Gtk.SelectionMode.Multiple;


            user_id_column        = new Gtk.TreeViewColumn();
            user_id_column.Title  = Mono.Unix.Catalog.GetString("Group ID");
            user_id_cell_renderer = new Gtk.CellRendererText();
            user_id_column.PackStart(user_id_cell_renderer, true);
            user_id_column.AddAttribute(user_id_cell_renderer, "text", 0);
            userTreeview.AppendColumn(user_id_column);
            store = new Gtk.ListStore(typeof(string), typeof(string));
            userTreeview.Model = store;

            Gtk.TreeViewColumn user_name_column = new Gtk.TreeViewColumn();
            user_name_column.Title = Mono.Unix.Catalog.GetString("Description");
            Gtk.CellRendererText user_name_cell_renderer = new Gtk.CellRendererText();
            user_name_column.PackStart(user_name_cell_renderer, true);
            user_name_column.AddAttribute(user_name_cell_renderer, "text", 1);
            userTreeview.AppendColumn(user_name_column);
            userTreeview.ShowAll();

            //store.AppendValues("a","b");
        }
コード例 #15
0
        /// <summary>
        /// Creates the static columns in the downloader.
        /// </summary>
        /// TODO: i18n
        protected void BuildTreeColumns()
        {
            // New column for the filename
            Gtk.TreeViewColumn filenameColumn = new Gtk.TreeViewColumn ();
            filenameColumn.Title = "Filename";
            // Set this to be the largest column
            filenameColumn.Expand = true;

            // The cell that stores the filename
            Gtk.CellRendererText filenameCell = new Gtk.CellRendererText ();

            // Add the cell to the column and expand
            filenameColumn.PackStart (filenameCell, true);

            // Let's add a speed column
            Gtk.TreeViewColumn speedColumn = new Gtk.TreeViewColumn ();
            speedColumn.Title = "Speed";
            speedColumn.Expand = true;
            Gtk.CellRendererText speedCell = new Gtk.CellRendererText ();
            speedColumn.PackStart (speedCell, true);

            // Think about additional columns, but avoid redundant infos or
            // uninteresting stuff at all cost! Can always be added later if
            // it's possible to select wanted columns as in banshee.

            // Add all the columns to the tree view.
            downloadTree.AppendColumn (filenameColumn);
            downloadTree.AppendColumn (speedColumn);

            // Tell the cell renderers how to display the model
            filenameColumn.AddAttribute (filenameCell, "text", 0);
            speedColumn.AddAttribute (speedCell, "text", 1);
        }
コード例 #16
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);
             */
        }
コード例 #17
0
ファイル: FreezeWidget.cs プロジェクト: lliurex/llum
        public FreezeWidget()
        {
            this.Build();
            msgLabel.Text = "";

            image = new Gtk.Image();
            image.SetFromIconName("frostwire", Gtk.IconSize.Dnd);
            label = new Gtk.Label(Mono.Unix.Catalog.GetString("Freeze Users"));
            label.Show();

            searchImage.Animation = new Gdk.PixbufAnimation(null, "llum.watch.gif");

            Gtk.TreeViewColumn available_groups_column = new Gtk.TreeViewColumn();
            available_groups_column.Title = Mono.Unix.Catalog.GetString("Available groups");
            Gtk.CellRendererText available_groups_cell = new Gtk.CellRendererText();
            available_groups_column.PackStart(available_groups_cell, true);
            available_groups_column.AddAttribute(available_groups_cell, "text", 0);
            availableGroupsTreeview.AppendColumn(available_groups_column);
            available_groups_store                 = new Gtk.TreeStore(typeof(string));
            availableGroupsTreeview.Model          = available_groups_store;
            availableGroupsTreeview.Selection.Mode = Gtk.SelectionMode.Multiple;


            Gtk.TreeViewColumn frozen_groups_column = new Gtk.TreeViewColumn();
            frozen_groups_column.Title = Mono.Unix.Catalog.GetString("Frozen groups");
            Gtk.CellRendererText frozen_groups_cell = new Gtk.CellRendererText();
            frozen_groups_column.PackStart(frozen_groups_cell, true);
            frozen_groups_column.AddAttribute(frozen_groups_cell, "text", 0);
            frozenGroupsTreeview.AppendColumn(frozen_groups_column);
            frozen_groups_store                 = new Gtk.TreeStore(typeof(string));
            frozenGroupsTreeview.Model          = frozen_groups_store;
            frozenGroupsTreeview.Selection.Mode = Gtk.SelectionMode.Multiple;



            Gtk.TreeViewColumn available_users_column = new Gtk.TreeViewColumn();
            available_users_column.Title = Mono.Unix.Catalog.GetString("Available users");
            Gtk.CellRendererText available_users_cell = new Gtk.CellRendererText();
            available_users_column.PackStart(available_users_cell, true);
            available_users_column.AddAttribute(available_users_cell, "text", 0);
            availableUsersTreeview.AppendColumn(available_users_column);
            available_users_store                 = new Gtk.TreeStore(typeof(string));
            availableUsersTreeview.Model          = available_users_store;
            availableUsersTreeview.Selection.Mode = Gtk.SelectionMode.Multiple;


            Gtk.TreeViewColumn frozen_users_column = new Gtk.TreeViewColumn();
            frozen_users_column.Title = Mono.Unix.Catalog.GetString("Frozen users");
            Gtk.CellRendererText frozen_users_cell = new Gtk.CellRendererText();
            frozen_users_column.PackStart(frozen_users_cell, true);
            frozen_users_column.AddAttribute(frozen_users_cell, "text", 0);
            frozenUsersTreeview.AppendColumn(frozen_users_column);
            frozen_users_store                 = new Gtk.TreeStore(typeof(string));
            frozenUsersTreeview.Model          = frozen_users_store;
            frozenUsersTreeview.Selection.Mode = Gtk.SelectionMode.Multiple;


            disable_gui();
        }
コード例 #18
0
        public FlagsSelectorDialog(Gtk.Window parent, Type enumDesc, ulong flags, string title)
        {
            this.flags  = flags;
            this.parent = parent;

            Gtk.ScrolledWindow sc = new Gtk.ScrolledWindow();
            sc.HscrollbarPolicy = Gtk.PolicyType.Automatic;
            sc.VscrollbarPolicy = Gtk.PolicyType.Automatic;
            sc.ShadowType       = Gtk.ShadowType.In;
            sc.BorderWidth      = 6;

            treeView = new Gtk.TreeView();
            sc.Add(treeView);

            dialog = new Gtk.Dialog();
            IdeTheme.ApplyTheme(dialog);
            dialog.VBox.Add(sc);
            dialog.AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
            dialog.AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok);

            store                   = new Gtk.ListStore(typeof(bool), typeof(string), typeof(ulong));
            treeView.Model          = store;
            treeView.HeadersVisible = false;

            Gtk.TreeViewColumn col = new Gtk.TreeViewColumn();

            Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle();
            tog.Toggled += new Gtk.ToggledHandler(OnToggled);
            col.PackStart(tog, false);
            col.AddAttribute(tog, "active", 0);

            Gtk.CellRendererText crt = new Gtk.CellRendererText();
            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", 1);

            treeView.AppendColumn(col);

            values = System.Enum.GetValues(enumDesc);
            foreach (object value in values)
            {
                ulong val = Convert.ToUInt64(value);
                store.AppendValues((flags == 0 && val == 0) || ((flags & val) != 0), value.ToString(), val);
            }
        }
コード例 #19
0
		public FlagsSelectorDialog (Gtk.Window parent, Type enumDesc, ulong flags, string title)
		{
			this.flags = flags;
			this.parent = parent;

			Gtk.ScrolledWindow sc = new Gtk.ScrolledWindow ();
			sc.HscrollbarPolicy = Gtk.PolicyType.Automatic;
			sc.VscrollbarPolicy = Gtk.PolicyType.Automatic;
			sc.ShadowType = Gtk.ShadowType.In;
			sc.BorderWidth = 6;
			
			treeView = new Gtk.TreeView ();
			sc.Add (treeView);
			
			dialog = new Gtk.Dialog ();
			IdeTheme.ApplyTheme (dialog);
			dialog.VBox.Add (sc);
			dialog.AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel);
			dialog.AddButton (Gtk.Stock.Ok, Gtk.ResponseType.Ok);
			
			store = new Gtk.ListStore (typeof(bool), typeof(string), typeof(ulong));
			treeView.Model = store;
			treeView.HeadersVisible = false;
			
			Gtk.TreeViewColumn col = new Gtk.TreeViewColumn ();
			
			Gtk.CellRendererToggle tog = new Gtk.CellRendererToggle ();
			tog.Toggled += new Gtk.ToggledHandler (OnToggled);
			col.PackStart (tog, false);
			col.AddAttribute (tog, "active", 0);
			
			Gtk.CellRendererText crt = new Gtk.CellRendererText ();
			col.PackStart (crt, true);
			col.AddAttribute (crt, "text", 1);
			
			treeView.AppendColumn (col);

			values = System.Enum.GetValues (enumDesc);
			foreach (object value in values) {
				ulong val = Convert.ToUInt64 (value);
				store.AppendValues ((flags == 0 && val == 0) || ((flags & val) != 0), value.ToString (), val);
			}
		}
コード例 #20
0
        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);
        }
コード例 #21
0
        void IPlugin.Init(object context)
        {
            solidIDE   = context as ISolidIDE;
            mainWindow = solidIDE.GetMainWindow();

            // Dock with Tree
            Gtk.ScrolledWindow treeViewScrollWindow = new Gtk.ScrolledWindow();
            Gtk.Viewport       treeViewViewport     = new Gtk.Viewport();
            treeViewScrollWindow.Add(treeViewViewport);
            treeView = new Gtk.TreeView();
            treeViewViewport.Add(treeView);
            treeViewScrollWindow.ShowAll();
            Gtk.TreeViewColumn   col             = new Gtk.TreeViewColumn();
            Gtk.CellRendererText colAssemblyCell = new Gtk.CellRendererText();
            col.PackStart(colAssemblyCell, true);
            col.AddAttribute(colAssemblyCell, "text", 0);
            treeView.AppendColumn(col);
            treeView.Model          = new Gtk.TreeStore(typeof(string), typeof(Tool <Gdk.Event, Cairo.Context, Model>), typeof(Shape));
            treeView.RowActivated  += HandleRowActivated;
            treeView.CursorChanged += HandleCursorChanged;
            Gtk.Drag.SourceSet(
                treeView,
                Gdk.ModifierType.Button1Mask,
                new Gtk.TargetEntry[] { new Gtk.TargetEntry("application/x-solidide.shape", Gtk.TargetFlags.App, 0) },
                Gdk.DragAction.Copy
                );

            /*treeView.EnableModelDragSource(
             * Gdk.ModifierType.None,
             * new Gtk.TargetEntry[] { new TargetEntry("application/SolidIDE", 0, 0) },
             * Gdk.DragAction.Default);*/
            treeView.DragBegin   += HandleTreeViewDragBegin;
            treeView.DragDataGet += HandleTreeViewDragDataGet;
            //treeView.DragDrop += HandleTreeViewDragDrop;

            toolboxDockItem                = mainWindow.DockFrame.AddItem("Toolbox");
            toolboxDockItem.Behavior       = DockItemBehavior.Normal;
            toolboxDockItem.Expand         = true;
            toolboxDockItem.DrawFrame      = true;
            toolboxDockItem.Label          = "Toolbox";
            toolboxDockItem.Content        = treeViewScrollWindow;
            toolboxDockItem.DefaultVisible = true;
            toolboxDockItem.Visible        = true;

            UpdateToolbox();

            // Menu
            var viewMenuItem = solidIDE.GetMenuItem <Gtk.ImageMenuItem>("View");

            solidIDE.GetMenuItem <Gtk.TearoffMenuItem>("View", "TearoffView");
            var toolboxMenuItem = solidIDE.GetMenuItem <Gtk.ImageMenuItem>("View", "Toolbox");

            toolboxMenuItem.Activated += HandleShowToolboxActivated;
        }
コード例 #22
0
ファイル: ListBoxBackend.cs プロジェクト: m13253/xwt
		public override void Initialize ()
		{
			base.Initialize ();
			Widget.HeadersVisible = false;
			
			theColumn = new Gtk.TreeViewColumn ();
			Widget.AppendColumn (theColumn);
			
			var cr = new Gtk.CellRendererText ();
			theColumn.PackStart (cr, false);
			theColumn.AddAttribute (cr, "text", 0);
		}
コード例 #23
0
 public OpenGame(POG.Forum.TwoPlusTwoForum forum)
 {
     _lobby = forum.Lobby();
     this.Build();
     Gtk.TreeViewColumn c = new Gtk.TreeViewColumn();
     c.Title = "POG Games";
     treeThreads.AppendColumn(c);
     treeThreads.Model = _threads;
     Gtk.CellRendererText crt = new Gtk.CellRendererText();
     c.PackStart(crt, true);
     c.AddAttribute(crt, "text", 0);
     //treeThreads.ModifyFont (Pango.FontDescription.FromString ("normal 8"));
 }
コード例 #24
0
ファイル: ListBoxBackend.cs プロジェクト: thereverand/xwt
        public override void Initialize()
        {
            base.Initialize();
            Widget.HeadersVisible = false;

            theColumn = new Gtk.TreeViewColumn();
            Widget.AppendColumn(theColumn);

            var cr = new Gtk.CellRendererText();

            theColumn.PackStart(cr, false);
            theColumn.AddAttribute(cr, "text", 0);
        }
コード例 #25
0
    public TreeViewExample()
    {
        // Create a Window
        Gtk.Window window = new Gtk.Window("TreeView Example");
        window.SetSizeRequest(500, 200);

        // Create our TreeView
        Gtk.TreeView tree = new Gtk.TreeView();

        // Add our tree to the window
        window.Add(tree);

        // Create a column for the artist name
        Gtk.TreeViewColumn artistColumn = new Gtk.TreeViewColumn();
        artistColumn.Title = "Artist";

        // Create the text cell that will display the artist name
        Gtk.CellRendererText artistNameCell = new Gtk.CellRendererText();

        // Add the cell to the column
        artistColumn.PackStart(artistNameCell, true);

        // Create a column for the song title
        Gtk.TreeViewColumn songColumn = new Gtk.TreeViewColumn();
        songColumn.Title = "Song Title";

        // Do the same for the song title column
        Gtk.CellRendererText songTitleCell = new Gtk.CellRendererText();
        songColumn.PackStart(songTitleCell, true);

        // Add the columns to the TreeView
        tree.AppendColumn(artistColumn);
        tree.AppendColumn(songColumn);

        // Tell the Cell Renderers which items in the model to display
        artistColumn.AddAttribute(artistNameCell, "text", 0);
        songColumn.AddAttribute(songTitleCell, "text", 1);

        // Create a model that will hold two strings - Artist Name and Song Title
        Gtk.ListStore musicListStore = new Gtk.ListStore(typeof(string), typeof(string));

        // Add some data to the store
        musicListStore.AppendValues("Garbage", "Dog New Tricks");

        // Assign the model to the TreeView
        tree.Model = musicListStore;

        // Show the window and everything on it
        window.ShowAll();
    }
コード例 #26
0
		public SendMessagesOverviewWindow()
		{
			// Create window
			Gtk.Window window = new Gtk.Window ( "Verzonden Berichten" );
			window.SetSizeRequest (700, 200);

			// Add tree to window
			Gtk.TreeView tree = new Gtk.TreeView ();
			window.Add (tree);

			// Create the column for displaying the telephone number.
			Gtk.TreeViewColumn numberReceiverColumn = new Gtk.TreeViewColumn ();
			numberReceiverColumn.Title = "Telefoon nummer";
			numberReceiverColumn.MinWidth = 200;
			// Create the text cell that will display the telephone number.
			Gtk.CellRendererText numberReceiverCell = new Gtk.CellRendererText ();
			// Add the cell to the column.
			numberReceiverColumn.PackStart (numberReceiverCell, true);

			// Create the column for displaing the message.
			Gtk.TreeViewColumn messageColumn = new Gtk.TreeViewColumn ();
			messageColumn.Title = "Bericht";
			messageColumn.MinWidth = 300;
			// Create the text cell that will display the message.
			Gtk.CellRendererText messageCell = new Gtk.CellRendererText ();
			messageColumn.PackStart (messageCell, true);

			// Create the column for displaying the date send.
			Gtk.TreeViewColumn sendAtColumn = new Gtk.TreeViewColumn ();
			sendAtColumn.Title = "Verstuurd op";
			sendAtColumn.MinWidth = 200;
			// Create the text cell that will display the date send.
			Gtk.CellRendererText sendAtCell = new Gtk.CellRendererText ();
			sendAtColumn.PackStart (sendAtCell, true);

			tree.AppendColumn (numberReceiverColumn);
			tree.AppendColumn (messageColumn);
			tree.AppendColumn (sendAtColumn);

			// Tell the cell renderers which items in the model to display
			numberReceiverColumn.AddAttribute (numberReceiverCell, "text", 0);
			messageColumn.AddAttribute (messageCell, "text", 1);
			sendAtColumn.AddAttribute (sendAtCell, "text", 2);

			// Assign the model to the TreeView
			tree.Model = this.getMessageList ();
			// Show the window and everythin on it.
			window.ShowAll ();
		}
コード例 #27
0
        public RTPrefs()
        {
            RTPreferences prefs = new RTPreferences();

            this.Build();

            nameColumn       = new Gtk.TreeViewColumn();
            nameColumn.Title = "Name";
            urlColumn        = new Gtk.TreeViewColumn();
            urlColumn.Title  = "URL";

            RTTree.AppendColumn(nameColumn);
            RTTree.AppendColumn(urlColumn);

            rtListStore  = new Gtk.ListStore(typeof(string), typeof(string));
            RTTree.Model = rtListStore;

            Gtk.CellRendererText nameNameCell = new Gtk.CellRendererText();
            nameNameCell.Editable = true;
            nameNameCell.Edited  += OnNameCellEdited;
            nameColumn.PackStart(nameNameCell, true);

            Gtk.CellRendererText urlTitleCell = new Gtk.CellRendererText();
            urlTitleCell.Editable = true;
            urlTitleCell.Edited  += OnURLCellEdited;
            urlColumn.PackStart(urlTitleCell, true);

            nameColumn.AddAttribute(nameNameCell, "text", 0);
            urlColumn.AddAttribute(urlTitleCell, "text", 1);

            if (!string.IsNullOrEmpty(prefs.URLs))
            {
                string[] urlbits = prefs.URLs.Split('|');
                for (int i = 0; i < urlbits.Length; i++)
                {
                    string name = urlbits[i];
                    string uri  = urlbits[++i];
                    Uri    url;
                    try {
                        url = new System.Uri(uri);
                    } catch (System.UriFormatException) {
                        continue;
                    }

                    rtListStore.AppendValues(name, url.ToString());
                }
            }
        }
コード例 #28
0
ファイル: LogWindow.cs プロジェクト: yuraklb/AISModel
		public LogWindow() : base("Log Model")
		{
			this.Move(0,0);

			this.SetSizeRequest(600, 500);

			Gtk.TreeView treeviewLog = new Gtk.TreeView();

			Gtk.TreeViewColumn idColumn = new Gtk.TreeViewColumn ();
			idColumn.Title = "Id";

			Gtk.TreeViewColumn typeColumn = new Gtk.TreeViewColumn ();
			typeColumn.Title = "Type";

			Gtk.TreeViewColumn descriptionColumn = new Gtk.TreeViewColumn ();
			descriptionColumn.Title = "Description";

			logListStore = new Gtk.ListStore (typeof (string), typeof (string), typeof (string));

			treeviewLog.AppendColumn(idColumn);
			treeviewLog.AppendColumn(typeColumn);
			treeviewLog.AppendColumn(descriptionColumn);

			treeviewLog.Model = logListStore;




			Gtk.CellRendererText idCell = new Gtk.CellRendererText ();
			idColumn.PackStart(idCell, true);

			Gtk.CellRendererText typeCell = new Gtk.CellRendererText ();
			typeColumn.PackStart(typeCell, true);

			Gtk.CellRendererText descriptionCell = new Gtk.CellRendererText ();
			descriptionColumn.PackStart(descriptionCell, true);

			idColumn.AddAttribute(idCell, "text", 0);
			typeColumn.AddAttribute(typeCell, "text", 1);
			descriptionColumn.AddAttribute(descriptionCell, "text", 2);

			Gtk.ScrolledWindow scWindow = new Gtk.ScrolledWindow();
			scWindow.Add(treeviewLog);

			this.Add(scWindow);

		}
コード例 #29
0
ファイル: Configuration.cs プロジェクト: jrudolph/do-plugins
        public RTPrefs()
        {
            RTPreferences prefs = new RTPreferences();

            this.Build();

            nameColumn = new Gtk.TreeViewColumn ();
            nameColumn.Title = "Name";
            urlColumn = new Gtk.TreeViewColumn ();
            urlColumn.Title = "URL";

            RTTree.AppendColumn (nameColumn);
            RTTree.AppendColumn (urlColumn);

            rtListStore = new Gtk.ListStore (typeof (string), typeof (string));
            RTTree.Model = rtListStore;

            Gtk.CellRendererText nameNameCell = new Gtk.CellRendererText ();
            nameNameCell.Editable = true;
            nameNameCell.Edited += OnNameCellEdited;
            nameColumn.PackStart (nameNameCell, true);

            Gtk.CellRendererText urlTitleCell = new Gtk.CellRendererText ();
            urlTitleCell.Editable = true;
            urlTitleCell.Edited += OnURLCellEdited;
            urlColumn.PackStart (urlTitleCell, true);

            nameColumn.AddAttribute (nameNameCell, "text", 0);
            urlColumn.AddAttribute (urlTitleCell, "text", 1);

            if (!string.IsNullOrEmpty (prefs.URLs)) {
                string[] urlbits = prefs.URLs.Split('|');
                for (int i = 0; i < urlbits.Length; i++) {
                    string name = urlbits[i];
                    string uri = urlbits[++i];
                    Uri url;
                    try {
                        url = new System.Uri(uri);
                    } catch (System.UriFormatException) {
                        continue;
                    }

                    rtListStore.AppendValues (name, url.ToString());
                }
            }
        }
コード例 #30
0
        public ParamsWindow(string[] parameters)
            : base(Gtk.WindowType.Toplevel, "ParamsWindow")
        {
            ((Gtk.Dialog)Window).AddButton("gtk-close", Gtk.ResponseType.Cancel);

            treeModel = new Gtk.ListStore(typeof(int), typeof(string), typeof(string), typeof(string));
            ParamsTree.Model = treeModel;

            var indexColumn = new Gtk.TreeViewColumn { Title = "Index" };
            ParamsTree.AppendColumn(indexColumn);

            var nameColumn = new Gtk.TreeViewColumn { Title = "Name" };
            ParamsTree.AppendColumn(nameColumn);

            var typeColumn = new Gtk.TreeViewColumn { Title = "Type" };
            ParamsTree.AppendColumn(typeColumn);

            var dataColumn = new Gtk.TreeViewColumn { Title = "Data" };
            ParamsTree.AppendColumn(dataColumn);

            var indexCell = new Gtk.CellRendererText();
            indexColumn.PackStart(indexCell, true);

            var nameCell = new Gtk.CellRendererText();
            nameColumn.PackStart(nameCell, true);

            var typeCell = new Gtk.CellRendererText();
            typeColumn.PackStart(typeCell, true);

            var dataCell = new Gtk.CellRendererText();
            dataColumn.PackStart(dataCell, true);

            indexColumn.AddAttribute(indexCell, "text", 0);
            nameColumn.AddAttribute(nameCell, "text", 1);
            typeColumn.AddAttribute(nameCell, "text", 2);
            dataColumn.AddAttribute(dataCell, "text", 3);

            var index = 0;
            foreach (var param in parameters)
            {
                treeModel.AppendValues(index, "#" + index, "unknown", param);
                index++;
            }

            Window.SetSizeRequest(500, System.Math.Min(500, 100 + index * 20));
        }
コード例 #31
0
ファイル: LogWindow.cs プロジェクト: yuraklb/AISModel
        public LogWindow() : base("Log Model")
        {
            this.Move(0, 0);

            this.SetSizeRequest(600, 500);

            Gtk.TreeView treeviewLog = new Gtk.TreeView();

            Gtk.TreeViewColumn idColumn = new Gtk.TreeViewColumn();
            idColumn.Title = "Id";

            Gtk.TreeViewColumn typeColumn = new Gtk.TreeViewColumn();
            typeColumn.Title = "Type";

            Gtk.TreeViewColumn descriptionColumn = new Gtk.TreeViewColumn();
            descriptionColumn.Title = "Description";

            logListStore = new Gtk.ListStore(typeof(string), typeof(string), typeof(string));

            treeviewLog.AppendColumn(idColumn);
            treeviewLog.AppendColumn(typeColumn);
            treeviewLog.AppendColumn(descriptionColumn);

            treeviewLog.Model = logListStore;



            Gtk.CellRendererText idCell = new Gtk.CellRendererText();
            idColumn.PackStart(idCell, true);

            Gtk.CellRendererText typeCell = new Gtk.CellRendererText();
            typeColumn.PackStart(typeCell, true);

            Gtk.CellRendererText descriptionCell = new Gtk.CellRendererText();
            descriptionColumn.PackStart(descriptionCell, true);

            idColumn.AddAttribute(idCell, "text", 0);
            typeColumn.AddAttribute(typeCell, "text", 1);
            descriptionColumn.AddAttribute(descriptionCell, "text", 2);

            Gtk.ScrolledWindow scWindow = new Gtk.ScrolledWindow();
            scWindow.Add(treeviewLog);

            this.Add(scWindow);
        }
コード例 #32
0
 void SetupTreeView()
 {
     for (int i = 0; i < 4; i++)
     {
         var text_column   = new Gtk.TreeViewColumn();
         var text_renderer = new Gtk.CellRendererText();
         text_column.PackStart(text_renderer, true);
         text_column.AddAttribute(text_renderer, "text", i);
         if (i == 1 || i == 2)
         {
             text_renderer.Xalign = 1;
         }
         logView.AppendColumn(text_column);
     }
     //
     logModel      = new Gtk.TreeStore(typeof(string), typeof(string), typeof(string), typeof(string));
     logView.Model = logModel;
 }
コード例 #33
0
        private void SetupColumns()
        {
            //setup columns

            /*
             * Gtk.TreeViewColumn IconCol = new Gtk.TreeViewColumn();
             * Gtk.CellRendererPixbuf pixbuf = new Gtk.CellRendererPixbuf ();
             * IconCol.PackStart(pixbuf, false);
             * treeCodes.AppendColumn(IconCol);
             * IconCol.AddAttribute(pixbuf, "pixbuf", 0);
             */

            Gtk.TreeViewColumn   CodeCol = new Gtk.TreeViewColumn();
            Gtk.CellRendererText text    = new Gtk.CellRendererText();
            CodeCol.PackStart(text, true);
            treeCodes.AppendColumn(CodeCol);
            CodeCol.AddAttribute(text, "text", 0);
        }
コード例 #34
0
ファイル: GtkListTreeView.cs プロジェクト: sharpend/Sharpend
        protected override void addHeaderColumn(VirtualGridHeaderColumn headercolumn)
        {
            //throw new Exception("is it used ??");
            base.addHeaderColumn(headercolumn);

            Gtk.TreeViewColumn column = new Gtk.TreeViewColumn();
            column.Visible   = headercolumn.Visible;
            column.Title     = headercolumn.ColumnName;
            column.Resizable = true;
            //Gtk.CellRendererText artistNameCell = new Gtk.CellRendererText();
            Gtk.CellRenderer renderer;
            //Gtk.CellRendererCombo artistNameCell = new Gtk.CellRendererCombo();


            if (!String.IsNullOrEmpty(headercolumn.Renderer))
            {
                Type tp = Type.GetType(headercolumn.Renderer);
                renderer = (Gtk.CellRenderer)Sharpend.Utils.Reflection.createInstance(tp);
            }
            else
            {
                renderer = new Gtk.CellRendererText();
                //renderer = treecellrenderer;
            }


            column.PackStart(renderer, true);
            Tree.AppendColumn(column);

            String attribute = "text";

            if (headercolumn.ColumnType.Equals("Gdk.Pixbuf,gdk-sharp", StringComparison.OrdinalIgnoreCase))
            {
                attribute = "pixbuf";
            }


            if (OnTreeCellData != null)
            {
                column.SetCellDataFunc(renderer, OnTreeCellData);
            }

            column.AddAttribute(renderer, attribute, HeaderColumns.Count - 1);
        }
コード例 #35
0
        /// <summary>
        /// Loads the files in the Assemblies.env into the TreeView.
        /// </summary>
        /// <param name='files'>
        /// Files.
        /// </param>
        ///
        private void LoadFilesInTreeView(string [] files)
        {
            Gtk.TreeViewColumn   col             = new Gtk.TreeViewColumn();
            Gtk.CellRendererText colAssemblyCell = new Gtk.CellRendererText();

            col.PackStart(colAssemblyCell, true);
            col.AddAttribute(colAssemblyCell, "text", 0);

            if (assemblyTree.GetColumn(0) != null)
            {
                assemblyTree.Columns[0] = col;
            }
            else
            {
                assemblyTree.AppendColumn(col);
            }

            store = assemblyTree.Model as Gtk.TreeStore;
            if (store == null)
            {
                store = new Gtk.TreeStore(typeof(object));
            }

            foreach (string file in files)
            {
                if (File.Exists(file))
                {
                    store.AppendValues(AssemblyDefinition.ReadAssembly(file));
                }
                else
                {
                    ShowMessageGtk(String.Format("File {0} doesn't exits.", file));
                }
            }

            // Add functions managinig the visualization of those assembly definitions
            col.SetCellDataFunc(colAssemblyCell, new Gtk.TreeCellDataFunc(RenderAssemblyDefinition));

            assemblyTree.Model = store;
            assemblyTree.ShowAll();
        }
コード例 #36
0
    public TreeViewExample()
    {
        Gtk.Window window = new Gtk.Window("TreeView Example");
        window.SetSizeRequest(500, 200);

        Gtk.TreeView tree = new Gtk.TreeView();
        window.Add(tree);

        Gtk.TreeViewColumn artistColumn = new Gtk.TreeViewColumn();
        artistColumn.Title = "Artist";

        Gtk.CellRendererText artistNameCell = new Gtk.CellRendererText();

        artistColumn.PackStart(artistNameCell, true);

        Gtk.TreeViewColumn songColumn = new Gtk.TreeViewColumn();
        songColumn.Title = "Song Title";

        Gtk.CellRendererText songTitleCell = new Gtk.CellRendererText();
        songColumn.PackStart(songTitleCell, true);

        tree.AppendColumn(artistColumn);
        tree.AppendColumn(songColumn);

        artistColumn.AddAttribute(artistNameCell, "text", 0);
        songColumn.AddAttribute(songTitleCell, "text", 1);

        Gtk.TreeStore musicListStore = new Gtk.TreeStore(typeof(string), typeof(string));

        Gtk.TreeIter iter = musicListStore.AppendValues("Dance");
        musicListStore.AppendValues(iter, "Fannypack", "Nu Nu (Yeah Yeah) (double j and haze radio edit)");

        iter = musicListStore.AppendValues("Hip-hop");
        musicListStore.AppendValues(iter, "Nelly", "Country Grammer");

        tree.Model = musicListStore;

        window.ShowAll();
    }
コード例 #37
0
        public WindowCommandList() :
            base(Gtk.WindowType.Toplevel)
        {
            this.Build();

            Gtk.TreeViewColumn column1 = new Gtk.TreeViewColumn();
            column1.Title    = "Name";
            column1.MinWidth = 100;
            _commandsTree.AppendColumn(column1);
            Gtk.CellRendererText column1Renderer = new Gtk.CellRendererText();
            column1.PackStart(column1Renderer, true);
            column1.AddAttribute(column1Renderer, "text", 0);

            Gtk.TreeViewColumn column2 = new Gtk.TreeViewColumn();
            column2.Title = "Description";
            _commandsTree.AppendColumn(column2);
            Gtk.CellRendererText column2Renderer = new Gtk.CellRendererText();
            column2.PackStart(column2Renderer, true);
            column2.AddAttribute(column2Renderer, "text", 1);

            Gtk.ListStore lstore = new Gtk.ListStore(typeof(string), typeof(string));
            _commandsTree.Model = lstore;

            List <KeyValuePair <string, string> > commandsSorted = new List <KeyValuePair <string, string> >();
            Dictionary <string, string>           commands       = MainApp.GetInstance().GetCommands().GetCommands();

            foreach (KeyValuePair <string, string> keyCommand in commands)
            {
                commandsSorted.Add(keyCommand);
            }
            commandsSorted.Sort((keyPair1, keyPair2) => string.Compare(keyPair1.Key, keyPair2.Key));
            foreach (KeyValuePair <string, string> commandPair in commandsSorted)
            {
                lstore.AppendValues(commandPair.Key, commandPair.Value);
            }

            _commandsTree.CursorChanged += OnCursorChanged;
            _commandsTree.Show();
        }
コード例 #38
0
 public static Gtk.Window CreateTreeWindow()
 {
     Gtk.Window           window = new Gtk.Window("Sortable TreeView");
     Gtk.TreeIter         iter;
     Gtk.TreeViewColumn   col;
     Gtk.CellRendererText cell;
     Gtk.TreeView         tree = new Gtk.TreeView();
     cell      = new Gtk.CellRendererText();
     col       = new Gtk.TreeViewColumn();
     col.Title = "Column 1";
     col.PackStart(cell, true);
     col.AddAttribute(cell, "text", 0);
     col.SortColumnId = 0;
     tree.AppendColumn(col);
     cell      = new Gtk.CellRendererText();
     col       = new Gtk.TreeViewColumn();
     col.Title = "Column 2";
     col.PackStart(cell, true);
     col.AddAttribute(cell, "text", 1);
     tree.AppendColumn(col);
     Gtk.TreeStore store = new Gtk.TreeStore(typeof(string), typeof(string));
     iter = store.AppendValues("BBB");
     store.AppendValues(iter, "AAA", "Zzz");
     store.AppendValues(iter, "DDD", "Ttt");
     store.AppendValues(iter, "CCC", "Ggg");
     iter = store.AppendValues("AAA");
     store.AppendValues(iter, "ZZZ", "Zzz");
     store.AppendValues(iter, "GGG", "Ggg");
     store.AppendValues(iter, "TTT", "Ttt");
     Gtk.TreeModelSort sortable = new Gtk.TreeModelSort(store);
     sortable.SetSortFunc(0, delegate(TreeModel model, TreeIter a, TreeIter b) {
         string s1 = (string)model.GetValue(a, 0);
         string s2 = (string)model.GetValue(b, 0);
         return(String.Compare(s1, s2));
     });
     tree.Model = sortable;
     window.Add(tree);
     return(window);
 }
コード例 #39
0
        protected void BuildSwap()
        {
            SwapList   = new Gtk.ListStore(typeof(string), typeof(string), typeof(string));
            Swap.Model = SwapList;

            Gtk.CellRendererText ProcesscellView = new Gtk.CellRendererText();
            var process = new Gtk.TreeViewColumn("Process", ProcesscellView);

            process.AddAttribute(ProcesscellView, "text", 0);
            Swap.AppendColumn(process);

            Gtk.CellRendererText TimeCellView = new Gtk.CellRendererText();
            var time = new Gtk.TreeViewColumn("Time", TimeCellView);

            time.AddAttribute(TimeCellView, "text", 1);
            Swap.AppendColumn(time);

            Gtk.CellRendererText SizeCellView = new Gtk.CellRendererText();
            var size = new Gtk.TreeViewColumn("Size", SizeCellView);

            size.AddAttribute(SizeCellView, "text", 2);
            Swap.AppendColumn(size);
        }
コード例 #40
0
ファイル: Grid.cs プロジェクト: ricksam/Framework
        private void AddColumns(string[] Names)
        {
            for (int i = 0; i < Names.Length; i++)
            {
                // Create a column for the artist name
                Gtk.TreeViewColumn col = new Gtk.TreeViewColumn();
                col.Title = Names[i];

                // Create the text cell that will display the artist name
                Gtk.CellRendererText cell = new Gtk.CellRendererText();

                // Add the cell to the column
                col.PackStart(cell, true);

                // Tell the Cell Renderers which items in the model to display
                col.AddAttribute(cell, "text", i);

                // Add the columns to the TreeView
                tree.AppendColumn(col);
            }

            Renderize();
        }
コード例 #41
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);
        }
コード例 #42
0
		protected void Build()
		{
			// Widget OpenGraal.GraalIM.PMWindow
			this.CanFocus = true;
			this.Name = "OpenGraal.GraalIM.RCFileBrowser";
			this.Title = global::Mono.Unix.Catalog.GetString("File Browser");
			this.Icon = global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rcicon.ico");
			this.WindowPosition = ((global::Gtk.WindowPosition)(1));
			// Container child OpenGraal.GraalIM.PMWindow.Gtk.Container+ContainerChild
			this.table1 = new global::Gtk.Table(((uint)(2)), ((uint)(2)), false);
			this.table1.Name = "table1";
			this.table1.WidthRequest = 600;
			this.table1.HeightRequest = 434;
			Gtk.Frame frame = new Gtk.Frame();
			frame.Label = " Files ";
			//this.table1.Add(frame);
			this.table1.Attach(frame, 0, 1, 0, 1, Gtk.AttachOptions.Fill | Gtk.AttachOptions.Expand, Gtk.AttachOptions.Fill | Gtk.AttachOptions.Expand, 5, 4);
			Gtk.HBox hbox = new Gtk.HBox(true, 5);
			Gtk.Alignment halign = new Gtk.Alignment(1, 0, 0, 0);
			hbox.Add(new Gtk.Button("_Close"));
			halign.Add(hbox);
			this.table1.Attach(halign, 0, 1, 1, 2, Gtk.AttachOptions.Fill, Gtk.AttachOptions.Fill, 5, 5);
			// Container child table1.Gtk.Table+TableChild
			this.GtkScrolledWindow = new global::Gtk.ScrolledWindow();
			this.GtkScrolledWindow.Name = "GtkScrolledWindow";
			this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1));
			// Container child GtkScrolledWindow.Gtk.Container+ContainerChild
			this.FileBrowserMessage = new global::Gtk.TextView();
			this.FileBrowserMessage.Name = "FileBrowserMessage";
			this.FileBrowserMessage.Editable = false;
			this.FileBrowserMessage.AcceptsTab = false;
			this.FileBrowserMessage.WrapMode = ((global::Gtk.WrapMode)(3));
			this.GtkScrolledWindow.Add(this.FileBrowserMessage);
			//frame.Add(this.GtkScrolledWindow);
			Gtk.Label currentFolder = new Gtk.Label("Current folder: ");
			//Gtk.HBox currentFolderHorizontalBox = new Gtk.HBox();
			Gtk.Alignment currentFolderAlignment = new Gtk.Alignment(0, 0, 0, 0);
			currentFolderAlignment.Add(currentFolder);
			Gtk.Table table2 = new global::Gtk.Table(((uint)(4)), ((uint)(2)), false);
			table2.Name = "table2";
			frame.Add(table2);
			Gtk.Label spacer = new Gtk.Label();
			spacer.SetSizeRequest(10, 1);

			#region Folder List
			
			tree.HeadersVisible = false;

			Gtk.TreeViewColumn artistColumn = new Gtk.TreeViewColumn();
			//artistColumn.Title = "Artist";
			artistColumn.Resizable = false;
			//artistColumn.Clickable = false;
			//artistColumn.Visible = false;

			Gtk.CellRendererText artistNameCell = new Gtk.CellRendererText();
			artistNameCell.Visible = true;
			artistColumn.PackStart(artistNameCell, true);

			tree.AppendColumn("Icon", new Gtk.CellRendererPixbuf(), "pixbuf", 0);
			tree.AppendColumn(artistColumn);
			

			artistColumn.AddAttribute(artistNameCell, "text", 1);

			//this.musicListStore = new Gtk.TreeStore(typeof(Gdk.Pixbuf), typeof(string));
			//this.musicListStore.AppendValues("", "Loading...");
			Gtk.TreeIter iter;
			//iter = musicListStore.AppendValues(global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rc_images.rcfiles_folderclosed.png"), "levels/");
			
			//musicListStore.AppendValues(iter, global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rc_images.rcfiles_folderclosed.png"), "staff/");
			//musicListStore.RowChanged += RowChanged;
			tree.RowExpanded += RowExpanded;
			tree.RowCollapsed += RowCollapsed;
			tree.CursorChanged += new System.EventHandler(RowSelected); 
			tree.SearchColumn = 1;
			tree.EnableSearch = true;
			//tree.

			tree.Model = musicListStore;

			#endregion

			table2.Attach(tree, 0, 1, 2, 3, Gtk.AttachOptions.Fill, Gtk.AttachOptions.Fill, 4, 0);
			table2.Attach(spacer, 0, 2, 0, 1, Gtk.AttachOptions.Fill, Gtk.AttachOptions.Fill, 0, 0);
			table2.Attach(currentFolderAlignment, 0, 2, 1, 2, Gtk.AttachOptions.Fill, Gtk.AttachOptions.Fill, 4, 0);
			table2.Attach(this.GtkScrolledWindow, 0, 2, 3, 4, Gtk.AttachOptions.Fill | Gtk.AttachOptions.Expand, Gtk.AttachOptions.Fill | Gtk.AttachOptions.Expand, 4, 4);

			this.Add(this.table1);
			if ((this.Child != null))
			{
				this.Child.ShowAll();
			}
			this.DefaultWidth = 616;
			this.DefaultHeight = 472;
			this.DefaultSize = new Gdk.Size(616,472);

			this.DeleteEvent += new global::Gtk.DeleteEventHandler(this.RemoveRCFileBrowserWindow);
			this.HideOnDelete();
			
			//this.SendToallMessageButton.Clicked += new global::System.EventHandler(this.SendToallMessageButtonClicked);
		}
コード例 #43
0
ファイル: GtkListTreeView.cs プロジェクト: sharpend/Sharpend
        protected override void addHeaderColumn(VirtualGridHeaderColumn headercolumn)
        {
            //throw new Exception("is it used ??");
            base.addHeaderColumn(headercolumn);

            Gtk.TreeViewColumn column = new Gtk.TreeViewColumn();
            column.Visible = headercolumn.Visible;
            column.Title = headercolumn.ColumnName;
            column.Resizable = true;
            //Gtk.CellRendererText artistNameCell = new Gtk.CellRendererText();
            Gtk.CellRenderer renderer;
            //Gtk.CellRendererCombo artistNameCell = new Gtk.CellRendererCombo();

            if (!String.IsNullOrEmpty(headercolumn.Renderer))
            {
                Type tp = Type.GetType(headercolumn.Renderer);
                renderer = (Gtk.CellRenderer)Sharpend.Utils.Reflection.createInstance(tp);
            }
            else
            {
                renderer = new Gtk.CellRendererText();
                //renderer = treecellrenderer;
            }

            column.PackStart(renderer, true);
            Tree.AppendColumn(column);

            String attribute = "text";

            if (headercolumn.ColumnType.Equals("Gdk.Pixbuf,gdk-sharp", StringComparison.OrdinalIgnoreCase))
            {
                attribute = "pixbuf";
            }

            if (OnTreeCellData != null)
            {
                column.SetCellDataFunc(renderer, OnTreeCellData);
            }

            column.AddAttribute(renderer, attribute, HeaderColumns.Count - 1);
        }
コード例 #44
0
ファイル: GtkListTreeView.cs プロジェクト: sharpend/Sharpend
        public void reloadColumns()
        {
            int i=0;

            columns = new ArrayList(HeaderColumns.Count);
            List<EditableColumn> editablecolums = new List<EditableColumn>(10);
            foreach (VirtualGridHeaderColumn c in getHeaderColumns())
            {
                Gtk.TreeViewColumn column = new Gtk.TreeViewColumn();
                column.Visible = c.Visible;
                column.Title = c.ColumnName;
                column.Resizable = true;
                Gtk.CellRenderer cell;
                TreeListCellRendererText treecellrenderer = null;
                //DL rempixbuf
            //                if (c.CustomOption.Equals("pixbuf", StringComparison.OrdinalIgnoreCase))
            //                {
            //                    cell = new Gtk.CellRendererPixbuf ();
            //                }
                if (!String.IsNullOrEmpty(c.Renderer))
                {
                    Type tp = Type.GetType(c.Renderer);
                    cell = (Gtk.CellRenderer)Sharpend.Utils.Reflection.createInstance(tp);
                }
                else
                {
                    treecellrenderer = new TreeListCellRendererText(c.ColumnName, i);
                    cell = treecellrenderer;
                }

                columns.Add(cell);
                column.PackStart(cell, true);
                Tree.AppendColumn(column);

                String attribute = "text";
                //DL rempixbuf
            //                if (c.CustomOption.Equals("pixbuf", StringComparison.OrdinalIgnoreCase))
            //                {
            //                    attribute = "pixbuf";
            //                }

                if (cell is Gtk.CellRendererPixbuf)
                {
                    attribute = "pixbuf";
                }

                if (OnTreeCellData != null)
                {
                    column.SetCellDataFunc(treecellrenderer, OnTreeCellData);
                }

                column.AddAttribute(cell, attribute, i);

                if (cell is Gtk.CellRendererToggle)
                {
                    (cell as Gtk.CellRendererToggle).Toggled += HandleToggled;
                    (cell as Gtk.CellRendererToggle).Activatable = true;
                    (cell as Gtk.CellRendererToggle).Mode = Gtk.CellRendererMode.Activatable;
                    column.AddAttribute(cell,"active",i);
                }

                if ((treecellrenderer != null) && (c.Editable))
                {
                    if (String.IsNullOrEmpty(c.EditableColumn))
                    {
                        treecellrenderer.Editable = true;
                    } else
                    {
                        editablecolums.Add(new EditableColumn{ColumnName=c.EditableColumn, Cellrenderer = treecellrenderer,Column = column});
                    }

                    treecellrenderer.Edited += new Gtk.EditedHandler(cell_Edited);
                    treecellrenderer.EditingStarted += HandleTreecellrendererEditingStarted;
                }

                i++;
            }

            foreach(EditableColumn c in editablecolums)
            {
                int idx = getColumnIndex(c.ColumnName);
                c.Column.AddAttribute(c.Cellrenderer,"editable",idx);
            }
        }
コード例 #45
0
ファイル: SourceView.cs プロジェクト: Bert6623/Gedcom.Net
		public SourceView()
		{
			this.Build();
			
			_eventModel = new EventModel(EventModel.EventModelType.All);
			Gtk.TreeViewColumn eventNameCol = new Gtk.TreeViewColumn();
			Gtk.CellRenderer rend = new Gtk.CellRendererToggle();
			eventNameCol.Title = "Event";
			eventNameCol.PackStart(rend, false);
			eventNameCol.AddAttribute(rend, "active", (int)EventModel.Columns.Included);
			((Gtk.CellRendererToggle)rend).Activatable = true;
			((Gtk.CellRendererToggle)rend).Toggled += new Gtk.ToggledHandler(OnIncluded_Toggle);
			rend = new Gtk.CellRendererText();
			eventNameCol.PackStart(rend, true);
			eventNameCol.AddAttribute(rend, "text", (int)EventModel.Columns.Readable);

			EventTypeTreeView.AppendColumn(eventNameCol);		
			EventTypeTreeView.Model = _eventModel;

			
			Gtk.TreeViewColumn buttonCol = new Gtk.TreeViewColumn();
			GtkCellRendererButton butRend = new GtkCellRendererButton();
			butRend.StockId = "gtk-remove";
			buttonCol.PackStart(butRend,true);
			
			Gtk.TreeViewColumn noteCountCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererText();
			noteCountCol.Title = "No.";
			noteCountCol.PackStart(rend,true);
			noteCountCol.SetCellDataFunc(rend, new Gtk.TreeCellDataFunc(ListModelUtil.RenderEventRecordedCount));
		
			EventGroupTreeView.AppendColumn(buttonCol);
			EventGroupTreeView.AppendColumn(noteCountCol);

			Gtk.TreeSelection selection = EventGroupTreeView.Selection;
			selection.Changed += new EventHandler(OnEventGroupSelection_Changed);
			
			_eventGroups = new GenericListModel<GedcomRecordedEvent>();
			EventGroupTreeView.Model = _eventGroups.Adapter;
			
			Gtk.TreeViewColumn callNumberCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererText();
			callNumberCol.Title = "Call Number";
			callNumberCol.PackStart(rend,true);
			callNumberCol.AddAttribute(rend, "text", 0);
			
			Gtk.TreeViewColumn mediaTypeCol = new Gtk.TreeViewColumn();
			rend = new Gtk.CellRendererText();
			mediaTypeCol.Title = "Media Type";
			mediaTypeCol.PackStart(rend,true);
			mediaTypeCol.AddAttribute(rend, "text", 1);
			
			CallNumberTreeView.AppendColumn(callNumberCol);
			CallNumberTreeView.AppendColumn(mediaTypeCol);
			
			RepositoryCitationListModel repoCitationListModel = new RepositoryCitationListModel();
			CallNumberTreeView.Model = repoCitationListModel;
			
			selection = CallNumberTreeView.Selection;
			selection.Changed += new EventHandler(OnCallNumberSelection_Changed);
					
			// How to handle SourceMediaType.Other ?
			// don't include in initial and if the select one is SourceMediaType.Other
			// add an item into the dropdown for its value?
			// as other isn't really valid this seems like a reasonable idea
			Gtk.ListStore mediaTypes = new Gtk.ListStore(typeof(string));
			foreach (SourceMediaType mediaType in Enum.GetValues(typeof(SourceMediaType)))
			{
				if (mediaType != SourceMediaType.Other)
				{
					Gtk.TreeIter iter = mediaTypes.Append();
					mediaTypes.SetValue(iter, 0, mediaType.ToString());
				}
			}
			rend = new Gtk.CellRendererText();
			MediaTypeCombo.PackStart(rend,true);
			MediaTypeCombo.AddAttribute(rend, "text", 0);
			MediaTypeCombo.Model = mediaTypes;
			
			Notebook.Page = 0;
		}
コード例 #46
0
    /// <summary>
    /// Initializes the node view.
    /// </summary>
    private void InitializeNodeView()
    {
      Gtk.CellRendererText detailedSettingsTextRenderer = new Gtk.CellRendererText();
      detailedSettingsTextRenderer.Mode = Gtk.CellRendererMode.Activatable;
      Gtk.CellRendererToggle detailedSettingsToggleRenderer = new Gtk.CellRendererToggle();
      detailedSettingsToggleRenderer.Activatable = true;
      detailedSettingsToggleRenderer.Toggled += new Gtk.ToggledHandler(this.OnDetailedSettingsToggled);

      Gtk.TreeViewColumn detailedSettingsColumn = new Gtk.TreeViewColumn();
      detailedSettingsColumn.Clickable = false;
      detailedSettingsColumn.Reorderable = false;
      detailedSettingsColumn.Title = GettextCatalog.GetString("Detailed settings");
      detailedSettingsColumn.PackStart(detailedSettingsToggleRenderer, false);
      detailedSettingsColumn.PackStart(detailedSettingsTextRenderer, false);
      detailedSettingsColumn.AddAttribute(detailedSettingsToggleRenderer, "active", (int)ListStoreColumns.Toggle);
      detailedSettingsColumn.AddAttribute(detailedSettingsTextRenderer, "markup", (int)ListStoreColumns.Markup);
      this.detailedSettingsNodeView.AppendColumn(detailedSettingsColumn);

      this.detailedSettingsStore = new Gtk.ListStore(typeof(bool), typeof(string), typeof(PropertyAddInPair));
      this.detailedSettingsNodeView.Model = this.detailedSettingsStore;
      this.detailedSettingsNodeView.Selection.Changed += new EventHandler(this.OnNodeViewSelectionChanged);
    }
コード例 #47
0
ファイル: EditIconDialog.cs プロジェクト: mono/stetic
        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 ();
        }
コード例 #48
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 ();
        }
コード例 #49
0
        public BlogPreferences()
            : base(false, 12)
        {
            this.doc = Utils.OpenXmlfile();
            Gtk.Label l = new Gtk.Label (Catalog.GetString (
                "If your blog supports the Atom Publishing Protocol " +
                "(APP), you can add it here, and you'll then be able " +
                "to post notes directly from Tomboy to your blog. " +
                "You need the URL to either your service document, " +
                "or your collection document."));
            l.Wrap = true;
            l.Xalign = 0;

            PackStart (l, false, false, 0);

            blog_store = CreateBlogStore ();

            blog_tree = new Gtk.TreeView (blog_store);
            blog_tree.HeadersVisible = true;
            blog_tree.Selection.Mode = Gtk.SelectionMode.Single;
            blog_tree.Selection.Changed += SelectionChanged;
            Gtk.CellRenderer renderer;

            Gtk.TreeViewColumn label_col = new Gtk.TreeViewColumn ();
            label_col.Title = Catalog.GetString ("Label");
            label_col.Sizing = Gtk.TreeViewColumnSizing.Autosize;
            label_col.Resizable = true;
            label_col.Expand = true;

            renderer = new Gtk.CellRendererText ();
            label_col.PackStart (renderer, true);
            label_col.AddAttribute (renderer, "text", 0 /* label */);
            label_col.SortColumnId = 1; /* label */
            label_col.SortIndicator = false;
            label_col.Reorderable = false;
            label_col.SortOrder = Gtk.SortType.Ascending;

            blog_tree.AppendColumn (label_col);
            Gtk.TreeViewColumn url_col = new Gtk.TreeViewColumn ();
            url_col.Title = Catalog.GetString ("Location");
            url_col.Sizing = Gtk.TreeViewColumnSizing.Fixed;
            url_col.Resizable = true;

            renderer = new Gtk.CellRendererText ();
            url_col.PackStart (renderer, false);
            url_col.AddAttribute (renderer, "text", 1 /* url */);

            blog_tree.AppendColumn (url_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 (blog_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;

            edit_button = new Gtk.Button (Gtk.Stock.Edit);
            edit_button.Sensitive = false;
            edit_button.Clicked += EditClicked;

            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);
            hbutton_box.PackStart (edit_button);
            PackStart (hbutton_box, false, false, 0);
            XmlText draft_state;
            draft_state = (XmlText) this.doc.SelectSingleNode ("preferences/settings/draft/text()");
            if (draft_state == null)
            {
                XmlNode node = this.doc.DocumentElement;
                Console.Write ("aa");
                if (node.SelectNodes("settings").Count == 0)
                {
                    XmlElement childelement = this.doc.CreateElement ("settings");
                    node.AppendChild (childelement);
                }
                node = node.SelectSingleNode ("settings");
                if (node.SelectNodes("draft").Count == 0)
                {
                    XmlElement child_element = this.doc.CreateElement ("draft");
                    node.AppendChild (child_element);
                }
                XmlText text = this.doc.CreateTextNode ("yes");
                node.SelectSingleNode ("draft").AppendChild (text);
                draft_state = (XmlText) this.doc.SelectSingleNode ("preferences/settings/draft/text()");
            }
            bool draftbool = (draft_state.Value == "yes" ? true : false);

            Gtk.CheckButton button = new Gtk.CheckButton ("Create posts as drafts");
            button.Active = draftbool;
            button.Clicked += DraftChanged;

            PackStart (button, false, false, 0);

            ShowAll ();
        }
コード例 #50
0
ファイル: ConfigUI.cs プロジェクト: jrudolph/do-plugins
        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);
            */
        }
コード例 #51
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 ();
		}
コード例 #52
0
        public static void Load()
        {
            Style.Add <FormHandler>("MainWindow", h =>
            {
                if (!Global.UseHeaderBar)
                {
                    return;
                }

                h.Menu    = null;
                h.ToolBar = null;

                var builder   = new Gtk.Builder(null, "MainWindow.glade", null);
                var headerBar = new Gtk.Widget(builder.GetObject("headerbar").Handle);
                var separator = new Gtk.Widget(builder.GetObject("separator1").Handle);

                popovermenu1 = new Gtk.Widget(builder.GetObject("popovermenu1").Handle);
                popovermenu2 = new Gtk.Widget(builder.GetObject("popovermenu2").Handle);

                Gtk3Wrapper.gtk_window_set_titlebar(h.Control.Handle, headerBar.Handle);
                Gtk3Wrapper.gtk_header_bar_set_show_close_button(headerBar.Handle, true);

                Connect(builder.GetObject("new_button").Handle, MainWindow.Instance.cmdNew);
                Connect(builder.GetObject("save_button").Handle, MainWindow.Instance.cmdSave);
                Connect(builder.GetObject("build_button").Handle, MainWindow.Instance.cmdBuild, false);
                Connect(builder.GetObject("rebuild_button").Handle, MainWindow.Instance.cmdRebuild, false);
                Connect(builder.GetObject("cancel_button").Handle, MainWindow.Instance.cmdCancelBuild, false);
                Connect(builder.GetObject("open_other_button").Handle, MainWindow.Instance.cmdOpen);
                Connect(builder.GetObject("import_button").Handle, MainWindow.Instance.cmdImport);
                Connect(builder.GetObject("saveas_button").Handle, MainWindow.Instance.cmdSaveAs);
                Connect(builder.GetObject("undo_button").Handle, MainWindow.Instance.cmdUndo);
                Connect(builder.GetObject("redo_button").Handle, MainWindow.Instance.cmdRedo);
                Connect(builder.GetObject("close_button").Handle, MainWindow.Instance.cmdClose);
                Connect(builder.GetObject("clean_button").Handle, MainWindow.Instance.cmdClean);
                Connect(builder.GetObject("help_button").Handle, MainWindow.Instance.cmdHelp);
                Connect(builder.GetObject("about_button").Handle, MainWindow.Instance.cmdAbout);
                Connect(builder.GetObject("exit_button").Handle, MainWindow.Instance.cmdExit);
                Connect(builder.GetObject("debugmode_button").Handle, MainWindow.Instance.cmdDebugMode);

                MainWindow.Instance.cmdBuild.EnabledChanged += (sender, e) =>
                                                               separator.Visible = MainWindow.Instance.cmdBuild.Enabled || MainWindow.Instance.cmdCancelBuild.Enabled;
                MainWindow.Instance.cmdCancelBuild.EnabledChanged += (sender, e) =>
                                                                     separator.Visible = MainWindow.Instance.cmdBuild.Enabled || MainWindow.Instance.cmdCancelBuild.Enabled;

                MainWindow.Instance.TitleChanged += delegate
                {
                    var title    = MainWindow.TitleBase;
                    var subtitle = "";

                    if (PipelineController.Instance.ProjectOpen)
                    {
                        title    = (PipelineController.Instance.ProjectDirty) ? "*" : "";
                        title   += Path.GetFileName(PipelineController.Instance.ProjectItem.OriginalPath);
                        subtitle = Path.GetDirectoryName(PipelineController.Instance.ProjectItem.OriginalPath);
                    }

                    h.Control.Title = title;
                    Gtk3Wrapper.gtk_header_bar_set_subtitle(headerBar.Handle, subtitle);
                };

                var treeview1    = new Gtk.TreeView(builder.GetObject("treeview1").Handle);
                var store        = new Gtk.TreeStore(typeof(string), typeof(string));
                var column       = new Gtk.TreeViewColumn();
                var textCell     = new Gtk.CellRendererText();
                var dataCell     = new Gtk.CellRendererText();
                dataCell.Visible = false;
                column.PackStart(textCell, false);
                column.PackStart(dataCell, false);
                treeview1.AppendColumn(column);
                column.AddAttribute(textCell, "markup", 0);
                column.AddAttribute(dataCell, "text", 1);
                treeview1.Model = store;

                MainWindow.Instance.RecentChanged += (sender, e) =>
                {
                    store.Clear();
                    var recentList = sender as List <string>;

                    foreach (var project in recentList)
                    {
                        store.InsertWithValues(0, "<b>" + Path.GetFileName(project) + "</b>\n" +
                                               Path.GetDirectoryName(project), project);
                    }
                };

                treeview1.RowActivated += (o, args) =>
                {
                    popovermenu2.Hide();

                    Gtk.TreeIter iter;
                    if (!store.GetIter(out iter, args.Path))
                    {
                        return;
                    }

                    var project = store.GetValue(iter, 1).ToString();
                    PipelineController.Instance.OpenProject(project);
                };

                h.Control.ShowAll();
            });

            Style.Add <DialogHandler>("HeaderBar", h =>
            {
                var title     = h.Title;
                var headerBar = Gtk3Wrapper.gtk_header_bar_new();
                Gtk3Wrapper.gtk_window_set_titlebar(h.Control.Handle, headerBar);
                h.Title = title;

                if (h.AbortButton.Text == "Close")
                {
                    Gtk3Wrapper.gtk_header_bar_set_show_close_button(headerBar, true);
                    return;
                }

                var defButton = (Gtk.Button)h.DefaultButton.ControlObject;
                defButton.StyleContext.AddClass("suggested-action");

                Gtk3Wrapper.gtk_header_bar_pack_end(headerBar, defButton.Handle);
                Gtk3Wrapper.gtk_header_bar_pack_start(headerBar, ((Gtk.Button)h.AbortButton.ControlObject).Handle);
            });

            Style.Add <LabelHandler>("Wrap", h => h.Control.MaxWidthChars = 55);

            Style.Add <ToolBarHandler>("ToolBar", h =>
            {
                h.Control.ToolbarStyle = Gtk.ToolbarStyle.Icons;
                h.Control.IconSize     = Gtk.IconSize.SmallToolbar;
            });

            Style.Add <TreeViewHandler>("Scroll", h =>
            {
                var treeView = h.Control.Child as Gtk.TreeView;

                Gtk.TreeIter lastIter, iter;

                if (treeView.Model.GetIterFirst(out iter))
                {
                    do
                    {
                        lastIter = iter;
                    }while (treeView.Model.IterNext(ref iter));

                    var path = treeView.Model.GetPath(lastIter);
                    treeView.ScrollToCell(path, null, false, 0, 0);
                }
            });

            Style.Add <DrawableHandler>("Stretch", h =>
            {
                var parent = h.Control.Parent.Parent.Parent.Parent.Parent.Parent;

                parent.SizeAllocated += delegate
                {
                    var al   = h.Control.Allocation;
                    al.Width = parent.AllocatedWidth - 2;
                    h.Control.SetAllocation(al);
                };
            });

            Style.Add <PixelLayoutHandler>("Stretch", h =>
            {
                var parent = h.Control.Parent.Parent.Parent.Parent.Parent;

                parent.SizeAllocated += delegate
                {
                    var al   = h.Control.Allocation;
                    al.Width = parent.AllocatedWidth;
                    h.Control.SetAllocation(al);
                };
            });

            Style.Add <TextBoxHandler>("OverrideSize", h =>
            {
                h.Control.WidthChars = 0;
            });

            Style.Add <ScrollableHandler>("BuildOutput", h =>
            {
                var child = ((((h.Control.Child as Gtk.Viewport).Child as Gtk.VBox).Children[0] as Gtk.HBox).Children[0] as Gtk.Alignment).Child;
                var ok    = false;

                h.Control.SizeAllocated += delegate
                {
                    // Set Width of the Drawable
                    var al   = child.Allocation;
                    al.Width = h.Control.AllocatedWidth - 2;
                    if (BuildOutput.ReqWidth > al.Width)
                    {
                        al.Width = BuildOutput.ReqWidth;
                    }
                    child.SetAllocation(al);

                    if (PipelineSettings.Default.AutoScrollBuildOutput)
                    {
                        // Scroll to bottom
                        if (BuildOutput.Count == -1)
                        {
                            ok = false;
                        }

                        if (!ok)
                        {
                            var adj   = h.Control.Vadjustment;
                            adj.Value = adj.Upper - adj.PageSize;

                            if (adj.Upper >= BuildOutput.Count && BuildOutput.Count != -1)
                            {
                                ok = true;
                            }
                        }
                    }
                };
            });
        }
コード例 #53
0
    /// <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);
        }
      }
    }
コード例 #54
0
		public EditPackagesDialog(CProject project)
		{
			this.Build();
			
			this.project = project;
			
			selectedPackages.Project = project;
			selectedPackages.AddRange (project.Packages);
			
			Gtk.CellRendererText textRenderer = new Gtk.CellRendererText ();
			
			CellRendererImage pixbufRenderer = new CellRendererImage ();
			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);
						}
					}
				}
			}
		}
コード例 #55
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);
					}
				}
			}
		}
コード例 #56
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 ();
			};
		}