Ejemplo n.º 1
0
        private int RemoveItemsFromTreeStore(Gtk.TreeStore treeStore, IList <FileNodeViewModel> itemsToRemove, int startingIndex, int indexForInsert)
        {
            Gtk.TreeIter treeIter;
            var          gotSelfIter = GetIterForItem(out treeIter, treeStore);

            for (int i = 0; i < itemsToRemove.Count; ++i)
            {
                var          item = itemsToRemove[i];
                Gtk.TreeIter itemIter;

                // TODO: This seems wrong w.r.t. using the index here - probably cause trouble w/ multiselect
                if (GetTreeIterForItem(out itemIter, treeIter, treeStore, item, startingIndex + i))
                {
                    if (item.Parent == Model)
                    {
                        // Moving something under the same parent, so adjust indexForInsert if needed.
                        // If the item is to be moved to an index after its current index, decrement the
                        // new location, because the item before it in the list will be removed.
                        if ((indexForInsert > startingIndex) && (indexForInsert < (this.Items.Count - 1)))
                        {
                            --indexForInsert;
                        }
                    }
                    var treePath = treeStore.GetPath(itemIter);
                    treeStore.Remove(ref itemIter);
                }
            }
            return(indexForInsert);
        }
Ejemplo n.º 2
0
        public ServerListView(Gtk.Window parent, Glade.XML gladeXml)
        {
            Trace.Call(parent, gladeXml);

            if (parent == null) {
                throw new ArgumentNullException("parent");
            }

            _Parent = parent;
            _Controller = new ServerListController(Frontend.UserConfig);

            gladeXml.BindFields(this);

            _AddButton.Clicked += new EventHandler(OnAddButtonClicked);
            _EditButton.Clicked += new EventHandler(OnEditButtonClicked);
            _RemoveButton.Clicked += new EventHandler(OnRemoveButtonClicked);

            _TreeView.AppendColumn(_("Protocol"), new Gtk.CellRendererText(), "text", 1);
            _TreeView.AppendColumn(_("Hostname"), new Gtk.CellRendererText(), "text", 2);

            _TreeStore = new Gtk.TreeStore(typeof(ServerModel),
                                           typeof(string), // protocol
                                           typeof(string) // hostname
                                           );
            _TreeView.RowActivated += OnTreeViewRowActivated;
            _TreeView.Selection.Changed += OnTreeViewSelectionChanged;
            _TreeView.Model = _TreeStore;
        }
Ejemplo n.º 3
0
        protected void attachSubTree(Gtk.TreeModel model, Gtk.TreeIter parent, params object[] elements)
        {
            Gtk.TreeStore store = model as Gtk.TreeStore;

            // remove the values if they were added before.
            Gtk.TreePath path = store.GetPath(parent);
            path.Down();
            Gtk.TreeIter iter;
            while (store.GetIter(out iter, path))
            {
                store.Remove(ref iter);
            }

            // Add the elements to the tree view.
            DirectoryInfo[] di = elements[0] as DirectoryInfo[];
            FileInfo[]      fi = elements[1] as FileInfo[];

            for (uint i = 0; i < di.Length; ++i)
            {
                store.AppendValues(parent, di[i].ToString());
            }

            for (uint i = 0; i < fi.Length; ++i)
            {
                store.AppendValues(parent, fi[i].ToString());
            }
        }
Ejemplo n.º 4
0
        private void AddToTreeStore(Gtk.TreeStore store, Gtk.TreeIter [] iters, int i, XmlNode node)
        {
            XmlElement tr = node as XmlElement;

            if (tr == null)
            {
                return;
            }
            if (i > 0)
            {
                iters [i] = store.AppendNode(iters [i - 1]);
            }
            else
            {
                iters [i] = store.AppendNode();
            }
            int j = 0;

            for (XmlNode child = node.FirstChild; child != null; child = child.NextSibling)
            {
                if (child.Name == "tr")
                {
                    AddToTreeStore(store, iters, i + 1, child);
                }
                else if (child.Name == "td")
                {
                    store.SetValue(iters [i], j++, child.InnerText);
                }
            }
        }
Ejemplo n.º 5
0
        public static void LoadIcon(this Gtk.TreeStore treeStore, Gtk.TreeIter iter, int column, string iconId, Gtk.IconSize size)
        {
            var ainfo = animatedTreeStoreIconImages.Select(a => (AnimatedTreeStoreIconInfo)a.Target).FirstOrDefault(a => a != null && a.TreeStore == treeStore && a.Iter.Equals(iter) && a.Column == column);

            if (ainfo != null)
            {
                if (ainfo.IconId == iconId)
                {
                    return;
                }
                UnregisterTreeAnimation(ainfo);
            }
            if (iconId == null)
            {
                treeStore.SetValue(iter, column, CellRendererImage.NullImage);
            }
            else if (IsAnimation(iconId, size))
            {
                var anim = GetAnimatedIcon(iconId);
                ainfo = new AnimatedTreeStoreIconInfo(treeStore, iter, column, anim, iconId);
                animatedTreeStoreIconImages.Add(new WeakReference(ainfo));
            }
            else
            {
                treeStore.SetValue(iter, column, ImageService.GetIcon(iconId));
            }
        }
Ejemplo n.º 6
0
        protected Gtk.TreeStore getTreeStoreWithData()
        {
            Gtk.TreeStore ts = getTreeStore();

            ts.DefaultSortFunc = null;

            if (this.Root != null)
            {
                addData(ts, Gtk.TreeIter.Zero, this.Root.RootRow, false);
            }
            else
            {
                //startStopWatch("AppendValues");

                foreach (VirtualGridRow row in Rows)
                {
                    //String[] values = row.Values;

                    ts.AppendValues(row.Datas);
                }

                //ts.AppendValues(

                //stopStopWatch("AppendValues");
            }
            return(ts);
        }
Ejemplo n.º 7
0
        protected void UpdateToolbox()
        {
            Gtk.TreeStore store = treeView.Model as Gtk.TreeStore;
            //if (store == null) store = new Gtk.TreeStore(typeof(string), typeof(Tool<Gdk.Event, Cairo.Context, Model>), typeof(Shape));

            IServiceContainer plugins  = solidIDE.GetServiceContainer();
            IDesigner         designer = plugins.GetService <IDesigner>();

            //TODO: Scan for Shape types
            var model = (designer.CurrentSheet as Sheet <Gdk.Event, Cairo.Context, Model>).Model;
            var view  = (designer.CurrentSheet as Sheet <Gdk.Event, Cairo.Context, Model>).View;
            ITool <Gdk.Event, Cairo.Context, Model> tool;

            //
            tool = new Tool <Gdk.Event, Cairo.Context, Model>(new FocusRectangleController(model, view), new AddNewShapeCommand(designer, null));
            (tool.Controller() as FocusRectangleController).FocusedRectangleFinish += HandleFocusedRectangleFinish;
            store.AppendValues("Rectangle", tool, new RectangleShape(new Rectangle(0, 0, 100, 50)));
            //
            tool = new Tool <Gdk.Event, Cairo.Context, Model>(new FocusRectangleController(model, view), new AddNewShapeCommand(designer, null));
            (tool.Controller() as FocusRectangleController).FocusedRectangleFinish += HandleFocusedRectangleFinish;
            store.AppendValues("Ellipse", tool, new EllipseShape(new Rectangle(0, 0, 50, 100)));
            //
            Shape Nowhere = new Glue(new Rectangle(0, 0, 0, 0));

            tool = new Tool <Gdk.Event, Cairo.Context, Model>(null, new AddNewBinaryRelationCommand(designer, new ArrowShape(Nowhere, Nowhere)));
            store.AppendValues("Arrow Connector", tool, new ArrowShape(Nowhere, Nowhere));
        }
		public SignalsEditorBackend (SignalsEditorFrontend frontend)
		{
			this.frontend = frontend;
			
			tree = new Gtk.TreeView ();
			store = new Gtk.TreeStore (typeof(string), typeof(string), typeof(bool), typeof(bool), typeof(bool), typeof(int));
			tree.Model = store;
			tree.RowActivated += new Gtk.RowActivatedHandler (OnRowActivated);
			
			Gtk.CellRendererText crtSignal = new Gtk.CellRendererText ();
			
			Gtk.CellRendererText crtHandler = new Gtk.CellRendererText ();
			crtHandler.Editable = true;
			crtHandler.Edited += new Gtk.EditedHandler (OnHandlerEdited);
			
			Gtk.CellRendererToggle crtogAfter = new Gtk.CellRendererToggle ();
			crtogAfter.Activatable = true;
			crtogAfter.Toggled += new Gtk.ToggledHandler (OnAfterToggled);
			
			tree.AppendColumn (Catalog.GetString ("Signal"), crtSignal, "text", ColSignal, "weight", ColSignalTextWeight);
			tree.AppendColumn (Catalog.GetString ("Handler"), crtHandler, "markup", ColHandler, "visible", ColIsSignal);
			tree.AppendColumn (Catalog.GetString ("After"), crtogAfter, "active", ColAfter, "visible", ColHasHandler);
			tree.Columns[0].Resizable = true;
			tree.Columns[1].Resizable = true;
			tree.Columns[2].Resizable = true;
			Add (tree);
			ShowAll ();
		}
Ejemplo n.º 9
0
        public ServerListView(Gtk.Window parent, Glade.XML gladeXml)
        {
            Trace.Call(parent, gladeXml);

            if (parent == null)
            {
                throw new ArgumentNullException("parent");
            }

            _Parent     = parent;
            _Controller = new ServerListController(Frontend.UserConfig);

            gladeXml.BindFields(this);

            _AddButton.Clicked    += new EventHandler(OnAddButtonClicked);
            _EditButton.Clicked   += new EventHandler(OnEditButtonClicked);
            _RemoveButton.Clicked += new EventHandler(OnRemoveButtonClicked);

            _TreeView.AppendColumn(_("Protocol"), new Gtk.CellRendererText(), "text", 1);
            _TreeView.AppendColumn(_("Hostname"), new Gtk.CellRendererText(), "text", 2);

            _TreeStore = new Gtk.TreeStore(typeof(ServerModel),
                                           typeof(string), // protocol
                                           typeof(string)  // hostname
                                           );
            _TreeView.RowActivated      += OnTreeViewRowActivated;
            _TreeView.Selection.Changed += OnTreeViewSelectionChanged;
            _TreeView.Model              = _TreeStore;
        }
Ejemplo n.º 10
0
        public QuickConnectDialog(Gtk.Window parent)
        {
            Trace.Call(parent);

            if (parent == null) {
                throw new ArgumentNullException("parent");
            }

            Build();

            TransientFor = parent;

            f_Controller = new ServerListController(Frontend.UserConfig);

            f_TreeView.AppendColumn(_("Protocol"), new Gtk.CellRendererText(), "text", 1);
            f_TreeView.AppendColumn(_("Hostname"), new Gtk.CellRendererText(), "text", 2);

            f_TreeStore = new Gtk.TreeStore(
                typeof(ServerModel),
                typeof(string), // protocol
                typeof(string) // hostname
            );
            f_TreeView.RowActivated += OnTreeViewRowActivated;
            f_TreeView.Selection.Changed += OnTreeViewSelectionChanged;
            f_TreeView.Model = f_TreeStore;
        }
    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);
    }
        Gtk.Widget IOutlinedDocument.GetOutlineWidget()
        {
            if (outlineTreeView != null)
            {
                return(outlineTreeView);
            }

            outlineTreeStore          = new Gtk.TreeStore(typeof(string), typeof(Gdk.Color), typeof(Mono.TextTemplating.ISegment));
            outlineTreeView           = new MonoDevelop.Ide.Gui.Components.PadTreeView(outlineTreeStore);
            outlineTreeView.Realized += delegate { RefillOutlineStore(); };

            outlineTreeView.TextRenderer.Xpad = 0;
            outlineTreeView.TextRenderer.Ypad = 0;
            outlineTreeView.AppendColumn("Node", outlineTreeView.TextRenderer, "text", 0, "foreground-gdk", 1);

            outlineTreeView.HeadersVisible = false;

            outlineTreeView.Selection.Changed += delegate {
                Gtk.TreeIter iter;
                if (!outlineTreeView.Selection.GetSelected(out iter))
                {
                    return;
                }
                SelectSegment((Mono.TextTemplating.ISegment)outlineTreeStore.GetValue(iter, 2));
            };

            RefillOutlineStore();
            var sw = new MonoDevelop.Components.CompactScrolledWindow();;

            sw.Add(outlineTreeView);
            sw.ShowAll();
            return(sw);
        }
 public TreeNodeNavigator(ExtensibleTreeView pad, Gtk.TreeIter iter)
 {
     this.pad = pad;
     tree     = pad.Tree;
     store    = pad.Store;
     MoveToIter(iter);
 }
Ejemplo n.º 14
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();
 }
Ejemplo n.º 15
0
        protected override void RefillOutlineStore(ParsedDocument doc, Gtk.TreeStore store)
        {
            ParentNode p = ((AspNetParsedDocument)doc).RootNode;

//			Gtk.TreeIter iter = outlineTreeStore.AppendValues (System.IO.Path.GetFileName (CU.Document.FilePath), p);
            BuildTreeChildren(store, Gtk.TreeIter.Zero, p);
        }
Ejemplo n.º 16
0
        public SignalsEditorBackend(SignalsEditorFrontend frontend)
        {
            this.frontend = frontend;

            tree               = new Gtk.TreeView();
            store              = new Gtk.TreeStore(typeof(string), typeof(string), typeof(bool), typeof(bool), typeof(bool), typeof(SignalDescriptor), typeof(Signal), typeof(int));
            tree.Model         = store;
            tree.RowActivated += new Gtk.RowActivatedHandler(OnRowActivated);

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

            Gtk.CellRendererText crtHandler = new Gtk.CellRendererText();
            crtHandler.Editable = true;
            crtHandler.Edited  += new Gtk.EditedHandler(OnHandlerEdited);

            Gtk.CellRendererToggle crtogAfter = new Gtk.CellRendererToggle();
            crtogAfter.Activatable = true;
            crtogAfter.Toggled    += new Gtk.ToggledHandler(OnAfterToggled);

            tree.AppendColumn(Catalog.GetString("Signal"), crtSignal, "text", ColSignal, "weight", ColSignalTextWeight);
            tree.AppendColumn(Catalog.GetString("Handler"), crtHandler, "markup", ColHandler, "visible", ColIsSignal);
            tree.AppendColumn(Catalog.GetString("After"), crtogAfter, "active", ColAfter, "visible", ColHasHandler);
            tree.Columns[0].Resizable = true;
            tree.Columns[1].Resizable = true;
            tree.Columns[2].Resizable = true;
            Add(tree);
            ShowAll();
        }
Ejemplo n.º 17
0
        public ChatTreeView()
        {
            ThemeSettings = new ThemeSettings();
            TreeStore = new Gtk.TreeStore(typeof(ChatView));
            TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending);
            TreeStore.SetSortFunc(0, SortTreeStore);

            Model = TreeStore;
            HeadersVisible = false;
            BorderWidth = 0;
            Selection.Mode = Gtk.SelectionMode.Browse;
            Selection.Changed += (sender, e) => {
                Gtk.TreeIter iter;
                if (!Selection.GetSelected(out iter)) {
                    return;
                }
                var path = TreeStore.GetPath(iter);
                f_CurrentChatNumber = GetRowNumber(path);
            };

            var iconRenderer = new Gtk.CellRendererPixbuf();
            var column = new Gtk.TreeViewColumn(null, iconRenderer);
            column.Spacing = 0;
            column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon));
            AppendColumn(column);

            var cellRenderer = new Gtk.CellRendererText();
            column = new Gtk.TreeViewColumn(null, cellRenderer);
            column.Spacing = 0;
            column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName));
            AppendColumn(column);
        }
Ejemplo n.º 18
0
 public TreeNodeNavigator(ExtensibleTreeView pad, Gtk.TreeIter iter)
 {
     this.pad = pad;
     tree = pad.Tree;
     store = pad.Store;
     MoveToIter (iter);
 }
Ejemplo n.º 19
0
        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();
        }
Ejemplo n.º 20
0
        public ChatTreeView()
        {
            ThemeSettings = new ThemeSettings();
            TreeStore     = new Gtk.TreeStore(typeof(ChatView));
            TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending);
            TreeStore.SetSortFunc(0, SortTreeStore);

            Model              = TreeStore;
            HeadersVisible     = false;
            BorderWidth        = 0;
            ShowExpanders      = false;
            LevelIndentation   = 12;
            Selection.Mode     = Gtk.SelectionMode.Browse;
            Selection.Changed += (sender, e) => {
                Gtk.TreeIter iter;
                if (!Selection.GetSelected(out iter) &&
                    TreeStore.GetIterFirst(out iter))
                {
                    Selection.SelectIter(iter);
                    return;
                }
                if (Gtk.TreeIter.Zero.Equals(iter))
                {
                    // no chat views available; this happens during shutdown
                    return;
                }
                var path = TreeStore.GetPath(iter);
                f_CurrentChatNumber = GetRowNumber(path);
            };

            var iconRenderer = new Gtk.CellRendererPixbuf();
            var column       = new Gtk.TreeViewColumn(null, iconRenderer);

            column.Spacing = 0;
            column.Sizing  = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon));
            AppendColumn(column);

            var cellRenderer = new Gtk.CellRendererText()
            {
                Ellipsize = Pango.EllipsizeMode.End
            };

            column         = new Gtk.TreeViewColumn(null, cellRenderer);
            column.Spacing = 0;
            column.Expand  = true;
            column.Sizing  = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName));
            AppendColumn(column);

            cellRenderer     = new Gtk.CellRendererText();
            column           = new Gtk.TreeViewColumn(null, cellRenderer);
            column.Spacing   = 0;
            column.Alignment = 1;
            column.Sizing    = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewActivity));
            AppendColumn(column);
            ActivityColumn = column;
        }
Ejemplo n.º 21
0
 /// <summary>
 /// Constructor to create a new group
 /// call PersonManager.AddGroup() to add this group to the store
 /// </summary>		
 public PersonGroup(string groupName)
 {
     //this.edsContact = new Contact();
     locker = new System.Object();
     personTreeStore = new Gtk.TreeStore(typeof(Person));
     //edsContact.FileAs = groupName;
     //edsContact.List = true;
 }
Ejemplo n.º 22
0
 protected override void RefillOutlineStore(ParsedDocument doc, Gtk.TreeStore store)
 {
     XDocument xdoc = ((XmlParsedDocument)doc).XDocument;
     if (xdoc == null)
     return;
     //			Gtk.TreeIter iter = outlineTreeStore.AppendValues (System.IO.Path.GetFileName (CU.Document.FilePath), p);
     BuildTreeChildren (store, Gtk.TreeIter.Zero, xdoc);
 }
Ejemplo n.º 23
0
 /// <summary>
 /// Constructor to create a new group
 /// call PersonManager.AddGroup() to add this group to the store
 /// </summary>
 public PersonGroup(string groupName)
 {
     //this.edsContact = new Contact();
     locker          = new System.Object();
     personTreeStore = new Gtk.TreeStore(typeof(Person));
     //edsContact.FileAs = groupName;
     //edsContact.List = true;
 }
Ejemplo n.º 24
0
        protected override void RefillOutlineStore(ParsedDocument doc, Gtk.TreeStore store)
        {
            var htmlRoot  = razorDocument.PageInfo.HtmlRoot;
            var razorRoot = razorDocument.PageInfo.RazorRoot;
            var blocks    = new List <Block> ();

            GetBlocks(razorRoot, blocks);
            BuildTreeChildren(store, Gtk.TreeIter.Zero, htmlRoot, blocks);
        }
        public static Gtk.TreeStore DataBind(this Gtk.TreeView tree, SyncItem data)
        {
            Gtk.TreeStore syncItems = new Gtk.TreeStore(typeof(SyncItem));

            var iter = syncItems.AppendValues(data);
            SetChildItems(syncItems, iter, data.ChildItems.Values);

            return syncItems;
        }
Ejemplo n.º 26
0
 static void SortColumnChanged_cb(IntPtr inst)
 {
     try {
         Gtk.TreeStore __obj = GLib.Object.GetObject(inst, false) as Gtk.TreeStore;
         __obj.OnSortColumnChanged();
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, false);
     }
 }
Ejemplo n.º 27
0
 static void RowDeleted_cb(IntPtr inst, IntPtr path)
 {
     try {
         Gtk.TreeStore __obj = GLib.Object.GetObject(inst, false) as Gtk.TreeStore;
         __obj.OnRowDeleted(path == IntPtr.Zero ? null : (Gtk.TreePath)GLib.Opaque.GetOpaque(path, typeof(Gtk.TreePath), false));
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, false);
     }
 }
Ejemplo n.º 28
0
        public static Gtk.TreeStore DataBind(this Gtk.TreeView tree, SyncItem data)
        {
            Gtk.TreeStore syncItems = new Gtk.TreeStore(typeof(SyncItem));

            var iter = syncItems.AppendValues(data);

            SetChildItems(syncItems, iter, data.ChildItems.Values);

            return(syncItems);
        }
Ejemplo n.º 29
0
        protected virtual void RefillOutlineStore(ParsedDocument doc, Gtk.TreeStore store)
        {
            XDocument xdoc = ((XmlParsedDocument)doc).XDocument;

            if (xdoc == null)
            {
                return;
            }
            BuildTreeChildren(store, Gtk.TreeIter.Zero, xdoc);
        }
Ejemplo n.º 30
0
 public AnimatedTreeStoreIconInfo(Gtk.TreeStore treeStore, Gtk.TreeIter iter, int column, AnimatedIcon anim, string iconId)
 {
     TreeStore             = treeStore;
     Iter                  = iter;
     Column                = column;
     AnimatedIcon          = anim;
     IconId                = iconId;
     TreeStore.RowDeleted += HandleRowDeleted;
     StartAnimation();
 }
Ejemplo n.º 31
0
 private static void SetChildItems(Gtk.TreeStore syncItems, Gtk.TreeIter iter, IEnumerable <SyncItem> items)
 {
     foreach (var item in items)
     {
         var childIter = syncItems.AppendValues(iter, item);
         if (item.ChildItems.Count > 0)
         {
             SetChildItems(syncItems, childIter, item.ChildItems.Values);
         }
     }
 }
Ejemplo n.º 32
0
        public TreeViewBuilder(Gtk.TreeView treeView)
        {
            _TreeView = treeView;
            _TreeStore = new Gtk.TreeStore (typeof (Gdk.Pixbuf),	typeof (Dossier));

            SetRenderers();
            SetColumns();

            SetDataFunctions();

            _TreeView.Model = _TreeStore;
        }
Ejemplo n.º 33
0
        public TreeViewBuilder(Gtk.TreeView treeView)
        {
            _TreeView  = treeView;
            _TreeStore = new Gtk.TreeStore(typeof(Gdk.Pixbuf), typeof(Dossier));

            SetRenderers();
            SetColumns();

            SetDataFunctions();

            _TreeView.Model = _TreeStore;
        }
Ejemplo n.º 34
0
 /// <summary>
 /// removes the row from the grid and the treemodel
 /// </summary>
 /// <param name="row"></param>
 /// <returns></returns>
 public override bool removeRow(VirtualGridRow row)
 {
     Gtk.TreeStore ts = Tree.Model as Gtk.TreeStore;
     if (ts != null)
     {
         Gtk.TreeIter iter;
         if (getIter(row, out iter))
         {
             ts.Remove(ref iter);
             return(base.removeRow(row));
         }
     }
     return(false);
 }
Ejemplo n.º 35
0
        public ChatTreeView()
        {
            ThemeSettings = new ThemeSettings();
            TreeStore = new Gtk.TreeStore(typeof(ChatView));
            TreeStore.SetSortColumnId(0, Gtk.SortType.Ascending);
            TreeStore.SetSortFunc(0, SortTreeStore);

            Model = TreeStore;
            HeadersVisible = false;
            BorderWidth = 0;
            ShowExpanders = false;
            LevelIndentation = 12;
            Selection.Mode = Gtk.SelectionMode.Browse;
            Selection.Changed += (sender, e) => {
                Gtk.TreeIter iter;
                if (!Selection.GetSelected(out iter) &&
                    TreeStore.GetIterFirst(out iter)) {
                    Selection.SelectIter(iter);
                    return;
                }
                var path = TreeStore.GetPath(iter);
                f_CurrentChatNumber = GetRowNumber(path);
            };

            var iconRenderer = new Gtk.CellRendererPixbuf();
            var column = new Gtk.TreeViewColumn(null, iconRenderer);
            column.Spacing = 0;
            column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(iconRenderer, new Gtk.TreeCellDataFunc(RenderChatViewIcon));
            AppendColumn(column);

            var cellRenderer = new Gtk.CellRendererText() {
                Ellipsize = Pango.EllipsizeMode.End
            };
            column = new Gtk.TreeViewColumn(null, cellRenderer);
            column.Spacing = 0;
            column.Expand = true;
            column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewName));
            AppendColumn(column);

            cellRenderer = new Gtk.CellRendererText();
            column = new Gtk.TreeViewColumn(null, cellRenderer);
            column.Spacing = 0;
            column.Alignment = 1;
            column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
            column.SetCellDataFunc(cellRenderer, new Gtk.TreeCellDataFunc(RenderChatViewActivity));
            AppendColumn(column);
            ActivityColumn = column;
        }
        void IOutlinedDocument.ReleaseOutlineWidget()
        {
            if (outlineTreeView == null)
            {
                return;
            }

            Gtk.ScrolledWindow w = (Gtk.ScrolledWindow)outlineTreeView.Parent;
            w.Destroy();
            outlineTreeView.Destroy();
            outlineTreeStore.Dispose();
            outlineTreeStore = null;
            outlineTreeView  = null;
        }
        void BuildTreeChildren(Gtk.TreeStore store, Gtk.TreeIter parent, ParentNode p, IList <Block> blocks)
        {
            foreach (Node node in p)
            {
                if (!(node is TagNode))
                {
                    var startLoc = new TextLocation(node.Location.BeginLine, node.Location.BeginColumn);
                    var endLoc   = new TextLocation(node.Location.EndLine, node.Location.EndColumn);
                    var doc      = defaultDocument.Editor.Document;

                    var blocksBetween = blocks.Where(n => n.Start.AbsoluteIndex >= doc.GetOffset(startLoc) &&
                                                     n.Start.AbsoluteIndex <= doc.GetOffset(endLoc));

                    foreach (var block in blocksBetween)
                    {
                        var outlineNode = new OutlineNode(block)
                        {
                            Location = new DomRegion(doc.OffsetToLocation(block.Start.AbsoluteIndex),
                                                     doc.OffsetToLocation(block.Start.AbsoluteIndex + block.Length))
                        };
                        if (!parent.Equals(Gtk.TreeIter.Zero))
                        {
                            store.AppendValues(parent, outlineNode);
                        }
                        else
                        {
                            store.AppendValues(outlineNode);
                        }
                    }
                    continue;
                }

                Gtk.TreeIter childIter;
                if (!parent.Equals(Gtk.TreeIter.Zero))
                {
                    childIter = store.AppendValues(parent, new OutlineNode(node as TagNode));
                }
                else
                {
                    childIter = store.AppendValues(new OutlineNode(node as TagNode));
                }

                ParentNode pChild = node as ParentNode;
                if (pChild != null)
                {
                    BuildTreeChildren(store, childIter, pChild, blocks);
                }
            }
        }
Ejemplo n.º 38
0
        static void BuildTreeChildren(Gtk.TreeStore store, Gtk.TreeIter parent, XContainer p)
        {
            foreach (XNode n in p.Nodes)
            {
            Gtk.TreeIter childIter;
            if (!parent.Equals (Gtk.TreeIter.Zero))
                childIter = store.AppendValues (parent, n);
            else
                childIter = store.AppendValues (n);

            XContainer c = n as XContainer;
            if (c != null && c.FirstChild != null)
                BuildTreeChildren (store, childIter, c);
            }
        }
Ejemplo n.º 39
0
        //SqliteCategory workCategory;
        //SqliteCategory projectsCategory;

        public SqliteBackend()
        {
            initialized = false;
            taskIters   = new Dictionary <int, Gtk.TreeIter> ();
            taskStore   = new Gtk.TreeStore(typeof(ITask));

            sortedTasksModel = new Gtk.TreeModelSort(taskStore);
            sortedTasksModel.SetSortFunc(0, new Gtk.TreeIterCompareFunc(CompareTasksSortFunc));
            sortedTasksModel.SetSortColumnId(0, Gtk.SortType.Ascending);

            categoryListStore = new Gtk.ListStore(typeof(ICategory));

            sortedCategoriesModel = new Gtk.TreeModelSort(categoryListStore);
            sortedCategoriesModel.SetSortFunc(0, new Gtk.TreeIterCompareFunc(CompareCategorySortFunc));
            sortedCategoriesModel.SetSortColumnId(0, Gtk.SortType.Ascending);
        }
Ejemplo n.º 40
0
        //SqliteCategory workCategory;
        //SqliteCategory projectsCategory;
        public SqliteBackend()
        {
            initialized = false;
            taskIters = new Dictionary<int, Gtk.TreeIter> ();
            taskStore = new Gtk.TreeStore (typeof (ITask));

            sortedTasksModel = new Gtk.TreeModelSort (taskStore);
            sortedTasksModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareTasksSortFunc));
            sortedTasksModel.SetSortColumnId (0, Gtk.SortType.Ascending);

            categoryListStore = new Gtk.ListStore (typeof (ICategory));

            sortedCategoriesModel = new Gtk.TreeModelSort (categoryListStore);
            sortedCategoriesModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareCategorySortFunc));
            sortedCategoriesModel.SetSortColumnId (0, Gtk.SortType.Ascending);
        }
Ejemplo n.º 41
0
        public EDSBackend()
        {
            initialized = false;

                       taskIters = new Dictionary<string, Gtk.TreeIter> ();
                       taskStore = new Gtk.TreeStore (typeof (ITask));
                       taskLock = new object ();

                       sortedTasksModel = new Gtk.TreeModelSort (taskStore);
                       sortedTasksModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareTasksSortFunc));
                       sortedTasksModel.SetSortColumnId (0, Gtk.SortType.Ascending);

                       categoryListStore = new Gtk.ListStore (typeof (ICategory));

                       sortedCategoriesModel = new Gtk.TreeModelSort (categoryListStore);
                       sortedCategoriesModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareCategorySortFunc));
                       sortedCategoriesModel.SetSortColumnId (0, Gtk.SortType.Ascending);

               defaultCategory = null;
        }
Ejemplo n.º 42
0
        public QuickConnectDialog(Gtk.Window parent)
            : base(null, parent,
                                  Gtk.DialogFlags.DestroyWithParent)
        {
            Trace.Call(parent);

            if (parent == null) {
                throw new ArgumentNullException("parent");
            }

            Build();

            TransientFor = parent;

            f_Controller = new ServerListController(Frontend.UserConfig);

            f_TreeView.AppendColumn(_("Protocol"), new Gtk.CellRendererText(), "text", 1);
            f_TreeView.AppendColumn(_("Hostname"), new Gtk.CellRendererText(), "text", 2);

            f_TreeStore = new Gtk.TreeStore(
                typeof(ServerModel),
                typeof(string), // protocol
                typeof(string) // hostname
            );
            f_TreeView.RowActivated += OnTreeViewRowActivated;
            f_TreeView.Selection.Changed += OnTreeViewSelectionChanged;
            f_TreeView.Model = f_TreeStore;

            f_Widget.InitProtocols(Frontend.Session.GetSupportedProtocols());
            // these fields doesn't make sense here
            f_Widget.OnStartupConnectCheckButton.Visible = false;
            f_Widget.NetworkComboBoxEntry.Sensitive = false;
            f_Widget.ProtocolComboBox.Changed += delegate {
                CheckConnectButton();
            };
            f_Widget.HostnameEntry.Changed += delegate {
                CheckConnectButton();
            };
        }
Ejemplo n.º 43
0
        public RtmBackend()
        {
            initialized = false;
            configured = false;

            taskIters = new Dictionary<string, Gtk.TreeIter> ();
            taskLock = new Object();

            categories = new Dictionary<string, RtmCategory> ();
            catLock = new Object();

            // *************************************
            // Data Model Set up
            // *************************************
            taskStore = new Gtk.TreeStore (typeof (ITask));

            sortedTasksModel = new Gtk.TreeModelSort (taskStore);
            sortedTasksModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareTasksSortFunc));
            sortedTasksModel.SetSortColumnId (0, Gtk.SortType.Ascending);

            categoryListStore = new Gtk.ListStore (typeof (ICategory));

            sortedCategoriesModel = new Gtk.TreeModelSort (categoryListStore);
            sortedCategoriesModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareCategorySortFunc));
            sortedCategoriesModel.SetSortColumnId (0, Gtk.SortType.Ascending);

            // make sure we have the all Category in our list
            Gtk.Application.Invoke ( delegate {
                AllCategory allCategory = new Tasque.AllCategory ();
                Gtk.TreeIter iter = categoryListStore.Append ();
                categoryListStore.SetValue (iter, 0, allCategory);
            });

            runRefreshEvent = new AutoResetEvent(false);

            runningRefreshThread = false;
            refreshThread  = new Thread(RefreshThreadLoop);
        }
Ejemplo n.º 44
0
        public HmBackend()
        {
            initialized = false;
            configured = false;

            newTaskId = 0;
            taskIters = new Dictionary<string, Gtk.TreeIter> ();
            taskStore = new Gtk.TreeStore (typeof (ITask));

            taskLock = new object ();

            sortedTasksModel = new Gtk.TreeModelSort (taskStore);
            sortedTasksModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareTasksSortFunc));
            sortedTasksModel.SetSortColumnId (0, Gtk.SortType.Ascending);

            categoryListStore = new Gtk.ListStore (typeof (ICategory));

            sortedCategoriesModel = new Gtk.TreeModelSort (categoryListStore);
            sortedCategoriesModel.SetSortFunc (0, new Gtk.TreeIterCompareFunc (CompareCategorySortFunc));
            sortedCategoriesModel.SetSortColumnId (0, Gtk.SortType.Ascending);

            runRefreshEvent = new AutoResetEvent(false);
            runningRefreshThread = false;
        }
Ejemplo n.º 45
0
		void IOutlinedDocument.ReleaseOutlineWidget ()
		{
			if (outlineTreeView == null)
				return;
			
			Gtk.ScrolledWindow w = (Gtk.ScrolledWindow) outlineTreeView.Parent;
			w.Destroy ();
			outlineTreeView.Destroy ();
			outlineTreeStore.Dispose ();
			outlineTreeStore = null;
			outlineTreeView = null;
		}
Ejemplo n.º 46
0
		Gtk.Widget IOutlinedDocument.GetOutlineWidget ()
		{
			if (outlineTreeView != null)
				return outlineTreeView;
			
			outlineTreeStore = new Gtk.TreeStore (typeof(string), typeof (Gdk.Color), typeof (Mono.TextTemplating.ISegment));
			outlineTreeView = new MonoDevelop.Ide.Gui.Components.PadTreeView (outlineTreeStore);
			outlineTreeView.Realized += delegate { RefillOutlineStore (); };
			
			outlineTreeView.TextRenderer.Xpad = 0;
			outlineTreeView.TextRenderer.Ypad = 0;
			outlineTreeView.AppendColumn ("Node", outlineTreeView.TextRenderer, "text", 0, "foreground-gdk", 1);
			
			outlineTreeView.HeadersVisible = false;
			
			outlineTreeView.Selection.Changed += delegate {
				Gtk.TreeIter iter;
				if (!outlineTreeView.Selection.GetSelected (out iter))
					return;
				SelectSegment ((Mono.TextTemplating.ISegment )outlineTreeStore.GetValue (iter, 2));
			};
			
			RefillOutlineStore ();
			var sw = new MonoDevelop.Components.CompactScrolledWindow ();;
			sw.Add (outlineTreeView);
			sw.ShowAll ();
			return sw;
		}
Ejemplo n.º 47
0
			public AnimatedTreeStoreIconInfo (Gtk.TreeStore treeStore, Gtk.TreeIter iter, int column, AnimatedIcon anim, string iconId)
			{
				TreeStore = treeStore;
				Iter = iter;
				Column = column;
				AnimatedIcon = anim;
				IconId = iconId;
				TreeStore.RowDeleted += HandleRowDeleted;
				StartAnimation ();
			}
Ejemplo n.º 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 ();
        }
Ejemplo n.º 49
0
 public TreeNodeNavigator(TreeViewPad pad, Gtk.TreeIter iter)
 {
     this.pad = pad;
     tree = pad.tree;
     store = pad.store;
     currentIter = iter;
 }
Ejemplo n.º 50
0
 /// <summary>
 /// Creates and attaches a ListStore object to the download tree view.
 /// </summary>
 protected void AttachDownloadTreeStore()
 {
     Gtk.TreeStore downloadTreeStore =
         new Gtk.TreeStore (typeof(string), typeof(int), typeof(string));
     downloadTree.Model = downloadTreeStore;
 }
Ejemplo n.º 51
0
 protected MultipleObjectViewer(IBroadcaster hub, string caption)
     : base(false, 0)
 {
     _hub = hub;
     // --- first line: caption and buttons
     Gtk.HBox hbxFirstLine = new Gtk.HBox(false, 2);
     // Caption label
     Gtk.Alignment labelAlign = new Gtk.Alignment(0F, 0F, 1F, 1F);
     labelAlign.Add(new Gtk.Label(caption));
     hbxFirstLine.PackStart(labelAlign, false, false, 0);
     hbxFirstLine.PackStart(new Gtk.Label(String.Empty), true, true, 0);
     // "Add" button
     Gtk.Image image = new Gtk.Image();
     image.Stock = Gtk.Stock.Add;
     _btnAdd = new Gtk.Button();
     _btnAdd.Add(image);
     _btnAdd.Relief = Gtk.ReliefStyle.None;
     _btnAdd.Clicked += new EventHandler(OnAddButtonClicked);
     _btnAdd.Sensitive = false;
     hbxFirstLine.PackStart(_btnAdd, false, false, 0);
     // "Edit" button
     image = new Gtk.Image();
     image.Stock = Gtk.Stock.JumpTo;
     _btnEdit = new Gtk.Button();
     _btnEdit.Add(image);
     _btnEdit.Relief = Gtk.ReliefStyle.None;
     _btnEdit.Clicked += new EventHandler(OnEditButtonClicked);
     _btnEdit.Sensitive = false;
     hbxFirstLine.PackStart(_btnEdit, false, false, 0);
     // "Delete" button
     image = new Gtk.Image();
     image.Stock = Gtk.Stock.Remove;
     _btnDelete = new Gtk.Button();
     _btnDelete.Add(image);
     _btnDelete.Relief = Gtk.ReliefStyle.None;
     _btnDelete.Clicked += new EventHandler(OnDeleteButtonClicked);
     _btnDelete.Sensitive = false;
     hbxFirstLine.PackStart(_btnDelete, false, false, 0);
     base.PackStart(hbxFirstLine, false, false, 0);
     // --- second line: element list
     _store = new Gtk.TreeStore(typeof(string));
     _tvList = new Gtk.TreeView();
     _tvList.HeadersVisible = false;
     _tvList.AppendColumn("", new Gtk.CellRendererText(), "text", 0);
     _tvList.Model = _store;
     _tvList.FocusInEvent += new Gtk.FocusInEventHandler(EnableButtons);
     _tvList.ButtonPressEvent += new Gtk.ButtonPressEventHandler(ListClickedHandler);
     Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow();
     sw.ShadowType = Gtk.ShadowType.In;
     sw.Add(_tvList);
     base.PackStart(sw, true, true, 0);
     sw.Show();
 }
        // override base method so that we can make the text cell render editable
        protected override void InitializeComponent()
        {
            treeStore = new Gtk.TreeStore (typeof (string), typeof (IDialogPanelDescriptor));

            TreeView.Model = treeStore;
            // need editable text cell so we can rename configs
            textRenderer = new Gtk.CellRendererText ();
            textRenderer.Edited += new Gtk.EditedHandler (HandleOnEdit);
            textColumn = TreeView.AppendColumn ("", textRenderer , "text", 0);
            TreeView.Selection.Changed += new EventHandler (SelectNode);
        }
        // this is virtual so that inheriting classes can extend (for example to make the text cell editable)
        protected virtual void InitializeComponent()
        {
            treeStore = new Gtk.TreeStore (typeof (string), typeof (IDialogPanelDescriptor));

            TreeView.Model = treeStore;
            TreeView.AppendColumn ("", new Gtk.CellRendererText (), "text", 0);
            TreeView.Selection.Changed += new EventHandler (SelectNode);
        }
    /// <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);
        }
      }
    }
		Gtk.Widget IOutlinedDocument.GetOutlineWidget ()
		{
			if (outlineTreeView != null)
				return outlineTreeView;
			
			outlineTreeStore = new Gtk.TreeStore (typeof (object));
			outlineTreeView = new MonoDevelop.Ide.Gui.Components.PadTreeView (outlineTreeStore);
			
			System.Reflection.PropertyInfo prop = typeof (Gtk.TreeView).GetProperty ("EnableTreeLines");
			if (prop != null)
				prop.SetValue (outlineTreeView, true, null);
			
			outlineTreeView.Realized += delegate { refillOutlineStore (); };
			
			InitializeOutlineColumns (outlineTreeView);
			
			outlineTreeView.HeadersVisible = false;
			
			outlineTreeView.Selection.Changed += delegate {
				Gtk.TreeIter iter;
				if (!outlineTreeView.Selection.GetSelected (out iter))
					return;
				OutlineSelectionChanged (outlineTreeStore.GetValue (iter, 0));
			};
			
			refillOutlineStore ();
			
			var sw = new MonoDevelop.Components.CompactScrolledWindow ();
			sw.Add (outlineTreeView);
			sw.ShowAll ();
			return sw;
		}