private void SetupTree()
            {
                tree = new TreeView ();
                this.store = new ListStore (typeof (object));
                tree.Model = store;

                TreeViewColumn col = new TreeViewColumn ();
                col.Sizing = TreeViewColumnSizing.Fixed;
                col.Spacing = 4;

                CellRendererText text_renderer =
                    new CellRendererText ();
                text_renderer.WrapMode = Pango.WrapMode.Word;
                col.PackStart (text_renderer, true);
                col.SetCellDataFunc (text_renderer,
                             new
                             TreeCellDataFunc
                             (PluginInfoCellDataFunc));

                CellRendererToggle loaded_renderer =
                    new CellRendererToggle ();
                loaded_renderer.Activatable = false;
                col.PackStart (loaded_renderer, false);
                col.SetCellDataFunc (loaded_renderer,
                             new
                             TreeCellDataFunc
                             (LoadedStatusCellDataFunc));

                col.Title = Catalog.GetString("Plugins Details");
                tree.AppendColumn (col);
            }
Exemplo n.º 2
0
        public CodeTemplatePanelWidget(OptionsDialog parent)
        {
            this.Build();
            scrolledwindow1.Child = textEditor;
            textEditor.ShowAll();

            templateStore = new TreeStore(typeof(CodeTemplate), typeof(string), typeof(string));


            TreeViewColumn column = new TreeViewColumn();

            column.Title = GettextCatalog.GetString("Key");

            pixbufCellRenderer = new CellRendererPixbuf();
            column.PackStart(pixbufCellRenderer, false);
            column.SetCellDataFunc(pixbufCellRenderer, new Gtk.TreeCellDataFunc(RenderIcon));

            templateCellRenderer = new CellRendererText();
            column.PackStart(templateCellRenderer, true);
            column.SetCellDataFunc(templateCellRenderer, new Gtk.TreeCellDataFunc(RenderTemplateName));


            treeviewCodeTemplates.AppendColumn(column);

            treeviewCodeTemplates.Model = templateStore;
            templates = new List <CodeTemplate> (CodeTemplateService.Templates);
            templates.ForEach(t => InsertTemplate(t));

            treeviewCodeTemplates.ExpandAll();
            treeviewCodeTemplates.Selection.Changed += HandleChanged;

            options = new MonoDevelop.Ide.Gui.CommonTextEditorOptions();
            options.ShowLineNumberMargin    = false;
            options.ShowFoldMargin          = false;
            options.ShowIconMargin          = false;
            options.ShowInvalidLines        = false;
            options.ShowSpaces              = options.ShowTabs = options.ShowEolMarkers = false;
            textEditor.Options              = options;
            textEditor.Document.ReadOnly    = true;
            this.buttonAdd.Clicked         += ButtonAddClicked;
            this.buttonEdit.Clicked        += ButtonEditClicked;
            this.buttonRemove.Clicked      += ButtonRemoveClicked;
            checkbuttonWhiteSpaces.Toggled += CheckbuttonWhiteSpacesToggled;
            this.treeviewCodeTemplates.Selection.Changed += SelectionChanged;
            SelectionChanged(null, null);
        }
Exemplo n.º 3
0
        /// <summary>Default constructor for ExplorerView</summary>
        public ExplorerView(ViewBase owner) : base(owner)
        {
            Builder builder = BuilderFromResource("ApsimNG.Resources.Glade.ExplorerView.glade");

            vbox1                    = (VBox)builder.GetObject("vbox1");
            toolStrip                = (Toolbar)builder.GetObject("toolStrip");
            treeview1                = (TreeView)builder.GetObject("treeview1");
            RightHandView            = (Viewport)builder.GetObject("RightHandView");
            _mainWidget              = vbox1;
            RightHandView.ShadowType = ShadowType.EtchedOut;
            treeview1.Model          = treemodel;
            TreeViewColumn     column     = new TreeViewColumn();
            CellRendererPixbuf iconRender = new Gtk.CellRendererPixbuf();

            column.PackStart(iconRender, false);
            textRender                 = new Gtk.CellRendererText();
            textRender.Editable        = false;
            textRender.EditingStarted += OnBeforeLabelEdit;
            textRender.Edited         += OnAfterLabelEdit;
            column.PackStart(textRender, true);
            column.SetCellDataFunc(textRender, OnSetCellData);

            CellRendererText tickCell = new CellRendererText();

            tickCell.Editable = false;
            column.PackEnd(tickCell, false);
            column.SetAttributes(iconRender, "pixbuf", 1);
            column.SetAttributes(textRender, "text", 0);
            column.SetAttributes(tickCell, "text", 3);
            // column.SetCellDataFunc(textRender, treecelldatafunc);
            treeview1.AppendColumn(column);
            treeview1.TooltipColumn = 2;

            treeview1.CursorChanged      += OnAfterSelect;
            treeview1.ButtonReleaseEvent += OnButtonUp;
            treeview1.ButtonPressEvent   += OnButtonPress;
            treeview1.RowActivated       += OnRowActivated;

            TargetEntry[] target_table = new TargetEntry[] {
                new TargetEntry(modelMime, TargetFlags.App, 0)
            };

            Gdk.DragAction actions = Gdk.DragAction.Copy | Gdk.DragAction.Link | Gdk.DragAction.Move;
            // treeview1.EnableModelDragDest(target_table, actions);
            // treeview1.EnableModelDragSource(Gdk.ModifierType.Button1Mask, target_table, actions);
            Drag.SourceSet(treeview1, Gdk.ModifierType.Button1Mask, target_table, actions);
            Drag.DestSet(treeview1, 0, target_table, actions);
            treeview1.DragMotion       += OnDragOver;
            treeview1.DragDrop         += OnDragDrop;
            treeview1.DragBegin        += OnDragBegin;
            treeview1.DragDataGet      += OnDragDataGet;
            treeview1.DragDataReceived += OnDragDataReceived;
            treeview1.DragEnd          += OnDragEnd;
            treeview1.FocusInEvent     += Treeview1_FocusInEvent;
            treeview1.FocusOutEvent    += Treeview1_FocusOutEvent;
            timer.Elapsed         += Timer_Elapsed;
            _mainWidget.Destroyed += _mainWidget_Destroyed;
        }
Exemplo n.º 4
0
        public MovieListGui()
        {
            this.Build();
            store = new TreeStore(typeof(object));

            treeview.Model          = store;
            treeview.Selection.Mode = SelectionMode.Multiple;
            treeview.BorderWidth    = 0;
            treeview.RowActivated  += HandleTreeviewRowActivated;

            string[] titles = new string[] { "Title", "Year", "Set", "Rating", "Filename" };
            for (int i = 0; i < titles.Length; i++)
            {
                if (i == 0)
                {
                    TreeViewColumn       col  = new Gtk.TreeViewColumn();
                    TreeItemCellRenderer cell = new TreeItemCellRenderer();
                    col.PackStart(cell, true);
                    col.SortColumnId  = i;
                    col.Title         = titles[i];
                    col.MinWidth      = 300;
                    col.MaxWidth      = 400;
                    col.SortIndicator = false;
                    col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell));
                    treeview.AppendColumn(col);
                }
                else if (i == 3)
                {
                    TreeViewColumn     col  = new TreeViewColumn();
                    CellRendererPixbuf cell = new CellRendererPixbuf();
                    col.PackStart(cell, true);
                    col.SortColumnId  = i;
                    col.Title         = titles[i];
                    col.SortIndicator = false;
                    col.SetCellDataFunc(cell, new TreeCellDataFunc(RenderTreeCell));
                    treeview.AppendColumn(col);
                }
                else
                {
                    TreeViewColumn   col  = new Gtk.TreeViewColumn();
                    CellRendererText cell = new Gtk.CellRendererText();
                    col.PackStart(cell, true);
                    col.SortColumnId  = i;
                    col.SortIndicator = false;
                    if (i == 1)
                    {
                        col.MinWidth = 80;
                    }
                    else if (i == 2)
                    {
                        col.MinWidth = 200;
                    }
                    col.Title = titles[i];
                    col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell));
                    treeview.AppendColumn(col);
                }
            }
        }
Exemplo n.º 5
0
        public TvShowGui()
        {
            this.Build();

            store                = new TreeStore(typeof(object));
            treeview.Model       = store;
            treeview.BorderWidth = 0;

            string[] titles = new string[] { "Episodes", "Title", "Rating", "Filename" };
            for (int i = 0; i < titles.Length; i++)
            {
                if (i == 0)
                {
                    TreeViewColumn       col  = new Gtk.TreeViewColumn();
                    TreeItemCellRenderer cell = new TreeItemCellRenderer();
                    col.PackStart(cell, true);
                    col.SortColumnId = i;
                    col.Title        = titles[i];
                    col.MinWidth     = 85;
                    col.MaxWidth     = 85;
                    col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell));
                    treeview.AppendColumn(col);
                }
                else if (i == 2)
                {
                    TreeViewColumn     col  = new TreeViewColumn();
                    CellRendererPixbuf cell = new CellRendererPixbuf();
                    col.PackStart(cell, true);
                    col.SortColumnId = i;
                    col.Title        = titles[i];
                    col.SetCellDataFunc(cell, new TreeCellDataFunc(RenderTreeCell));
                    treeview.AppendColumn(col);
                }
                else
                {
                    TreeViewColumn   col  = new Gtk.TreeViewColumn();
                    CellRendererText cell = new Gtk.CellRendererText();
                    col.PackStart(cell, true);
                    col.SortColumnId = i;

                    /*
                     * if(i == 1)
                     *      col.MinWidth = 80;
                     * else if(i == 2)
                     *      col.MinWidth = 200;
                     */
                    col.Title = titles[i];
                    col.SetCellDataFunc(cell, new Gtk.TreeCellDataFunc(RenderTreeCell));
                    treeview.AppendColumn(col);
                }
            }

            treeview.RowActivated += HandleNodeview1RowActivated;

            this.ExposeEvent += delegate(object o, ExposeEventArgs args) {
                //ExposeIt();
            };
        }
Exemplo n.º 6
0
        public AddAddinReferenceDialog(Addin[] allAddins)
        {
            if (allAddins == null || allAddins.Length == 0)
                throw new ArgumentException ();

            Title = GettextCatalog.GetString ("Add Extension Reference");
            DestroyWithParent = true;
            Modal = true;
            HasSeparator = false;
            WidthRequest = 400;
            HeightRequest = 400;
            AllowShrink = false;
            Resizable = true;

            AddActionWidget (new Button (Stock.Cancel), ResponseType.Cancel);
            AddActionWidget (addButton, ResponseType.Ok);

            treeView.HeadersVisible = false;
            treeView.Model = store;

            var column = new TreeViewColumn ();
            var toggleRenderer = new CellRendererToggle ();
            column.PackStart (toggleRenderer, false);
            column.SetCellDataFunc (toggleRenderer, ToggleCellDataFunc);

            toggleRenderer.Toggled += HandleToggled;

            var textRenderer = new CellRendererText ();
            column.PackStart (textRenderer, true);
            column.SetCellDataFunc (textRenderer, TextCellDataFunc);

            treeView.AppendColumn (column);
            var sw = new CompactScrolledWindow {
                Child = treeView
            };
            VBox.PackStart (sw);

            foreach (var addin in allAddins.OrderBy (a => a.Id)) {
                store.AppendValues (addin, false);
            }

            addButton.Sensitive = false;

            ShowAll ();
        }
Exemplo n.º 7
0
        // END HERZUM BUG FIX: alignment input-output TLAB-255


        /// <summary>
        /// Creates the input mapping column with combo box.
        /// TODO improve the input mapping combo box:
        /// 1. it doesn't set values until combo box loses focus within table view confirm change - Edited event is raised only then
        /// 2. there is no indication that the field can be modified - render combo box always, OR show some icon that it can be modified
        /// </summary>
        /// <returns>
        /// The input mapping column with combo box.
        /// </returns>
        /// <param name='inputStore'>
        /// Input store.
        /// </param>
        private TreeViewColumn CreateInputMappingColumnWithComboBox(NodeStore inputStore, string columntTitle)
        {
            Gtk.CellRendererCombo comboRenderer = new Gtk.CellRendererCombo();

            comboRenderer.HasEntry   = false;
            comboRenderer.Mode       = CellRendererMode.Editable;
            comboRenderer.TextColumn = 0;
            comboRenderer.Editable   = true;

            ListStore comboBoxStore = new ListStore(typeof(string));

            comboRenderer.Model = comboBoxStore;

            //when user activates combo box, refresh combobox store with available input mapping per node
            comboRenderer.EditingStarted += delegate(object o, EditingStartedArgs args)
            {
                comboBoxStore.Clear();
                IOItemNode     currentItem = (IOItemNode)inputStore.GetNode(new TreePath(args.Path));
                ExperimentNode currentNode = m_component.ExperimentNode;
                string         currentType = currentItem.Type;
                // HERZUM SPRINT 2.4: TLAB-162
                //InputMappings availableInputMappingsPerNode = new InputMappings (currentNode.Owner);
                InputMappings availableInputMappingsPerNode = new InputMappings(m_applicationContext.Application.Experiment);
                // END HERZUM SPRINT 2.4: TLAB-162
                if (currentNode != null && availableInputMappingsPerNode.ContainsMappingsForNode(currentNode))
                {
                    foreach (string incomingOutput in availableInputMappingsPerNode[currentNode].Keys)
                    {
                        if (string.Equals(currentType, availableInputMappingsPerNode [currentNode] [incomingOutput]))
                        {
                            comboBoxStore.AppendValues(Mono.Unix.Catalog.GetString(incomingOutput));
                        }
                    }
                }
            };

            //when edition has been completed set current item node with proper mapping
            comboRenderer.Edited += delegate(object o, EditedArgs args) {
                IOItemNode n = (IOItemNode)inputStore.GetNode(new TreePath(args.Path));
                n.MappedTo = args.NewText;
                RefreshIOHighlightInExperiment(n.MappedTo);
            };

            //finally create the column with above combo renderer
            var mappedToColumn = new TreeViewColumn();

            mappedToColumn.Title = columntTitle;
            mappedToColumn.PackStart(comboRenderer, true);

            //this method sets the text view to current mapping, when combo box is not active
            mappedToColumn.SetCellDataFunc(comboRenderer, delegate(TreeViewColumn tree_column, CellRenderer cell, ITreeNode node) {
                IOItemNode currentItem = (IOItemNode)node;
                comboRenderer.Text     = currentItem.MappedTo;
            });

            return(mappedToColumn);
        }
Exemplo n.º 8
0
        private TreeView MakeTreeView()
        {
            TreeView tree = new TreeView();

            tree.Selection.Changed += treeSelection_Changed;

            tree.Mapped += delegate(object sender, EventArgs args) {
                // Set bg color
                Gdk.Color color = Gdk.Color.Zero;
                Gdk.Color.Parse("#CFD7E2", ref color);
                //tree.ModifyBase(StateType.Normal, color);
            };

            tree.HeadersVisible = false;
            tree.CanFocus       = false;

            CellRendererPixbuf pixbufCell    = new CellRendererPixbuf();
            CellRendererText   textCell      = new CellRendererText();
            CellRendererText   countTextCell = new CellRendererText();

            countTextCell.Sensitive = false;
            countTextCell.Alignment = Pango.Alignment.Right;
            countTextCell.Xalign    = 1;
            CellRendererPixbuf closeCell = new CellRendererPixbuf();

            TreeViewColumn column = new TreeViewColumn();

            column.PackStart(pixbufCell, false);
            column.PackStart(textCell, true);
            column.PackStart(countTextCell, false);
            column.PackStart(closeCell, false);
            column.SetCellDataFunc(pixbufCell, new TreeCellDataFunc(ItemPixbufCellFunc));
            column.SetCellDataFunc(textCell, new TreeCellDataFunc(ItemTextCellFunc));
            column.SetCellDataFunc(countTextCell, new TreeCellDataFunc(ItemCountCellFunc));

            tree.AppendColumn(column);
            tree.ExpanderColumn   = column;
            tree.RowSeparatorFunc = delegate(TreeModel m, TreeIter i) {
                return(m.GetValue(i, 0) is SeparatorItem);
            };

            return(tree);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Removes all grid columns, and cleans up any associated event handlers
        /// </summary>
        private void ClearGridColumns()
        {
            if (refColWidget != null)
            {
                refColWidget.SizeAllocated -= RefColWidget_SizeAllocated;
                refColWidget = null;
            }
            while (Fixedcolview.Columns.Length > 0)
            {
                TreeViewColumn col = Fixedcolview.GetColumn(0);
                foreach (CellRenderer render in col.Cells)
                {
                    if (render is CellRendererText)
                    {
                        CellRendererText textRender = render as CellRendererText;
                        col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null);
                    }
                }

                Fixedcolview.RemoveColumn(Fixedcolview.GetColumn(0));
            }
            while (Grid.Columns.Length > 0)
            {
                TreeViewColumn col = Grid.GetColumn(0);

                foreach (CellRenderer render in col.Cells)

                {
                    if (render is CellRendererText)
                    {
                        CellRendererText textRender = render as CellRendererText;
                        col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null);
                    }
                    else if (render is CellRendererPixbuf)
                    {
                        CellRendererPixbuf pixRender = render as CellRendererPixbuf;
                        col.SetCellDataFunc(pixRender, (CellLayoutDataFunc)null);
                    }
                    render.Dispose();
                }
                Grid.RemoveColumn(Grid.GetColumn(0));
            }
        }
Exemplo n.º 10
0
        public ChatRoomSubpage(ChatRoom room)
        {
            thisRoom = room;
            network  = room.Network;

            userListStore  = new ListStore(typeof(Node));
            userList.Model = userListStore;

            var iconCell = new CellRendererPixbuf();
            var textCell = new CellRendererText();

            var column = new TreeViewColumn();

            column.PackStart(iconCell, false);
            column.SetCellDataFunc(iconCell, UserListIconFunc);

            column.PackStart(textCell, true);
            column.SetCellDataFunc(textCell, UserListTextFunc);

            userList.AppendColumn(column);

            userList.HeadersVisible      = false;
            userList.RowActivated       += on_userList_RowActivated;
            userList.ButtonReleaseEvent += on_userList_button_release_event;

            foreach (Node n in room.Users.Values)
            {
                userListStore.AppendValues(n);
            }

            AddToChat(null, string.Format("You have joined {0}.", thisRoom.Name));

            if (room.HasPassword)
            {
                AddToChat(null, "This chatroom is password-protected. Other users on the network who do not have the password are not able to evesdrop on the conversation.\n");
            }
            else
            {
                AddToChat(null, "This chatroom is not password-protected. Other users on the network are able to evesdrop on the conversation, regardless of if they appear to be in the room or not.\n");
            }

            SendMessage += base_SendMessage;
        }
Exemplo n.º 11
0
        public CodeTemplatePanelWidget(OptionsDialog parent)
        {
            this.Build();
            Gtk.Widget control = textEditor;
            scrolledwindow1.Add(control);
            control.ShowAll();

            templateStore = new TreeStore(typeof(CodeTemplate), typeof(string), typeof(string));


            TreeViewColumn column = new TreeViewColumn();

            column.Title = GettextCatalog.GetString("Key");

            pixbufCellRenderer = new CellRendererImage();
            column.PackStart(pixbufCellRenderer, false);
            column.SetCellDataFunc(pixbufCellRenderer, new Gtk.TreeCellDataFunc(RenderIcon));

            templateCellRenderer = new CellRendererText();
            column.PackStart(templateCellRenderer, true);
            column.SetCellDataFunc(templateCellRenderer, new Gtk.TreeCellDataFunc(RenderTemplateName));


            treeviewCodeTemplates.AppendColumn(column);

            treeviewCodeTemplates.Model        = templateStore;
            treeviewCodeTemplates.SearchColumn = -1;             // disable the interactive search
            templates = new List <CodeTemplate> (CodeTemplateService.Templates);
            templates.ForEach(t => InsertTemplate(t));

            treeviewCodeTemplates.ExpandAll();
            treeviewCodeTemplates.Selection.Changed += HandleChanged;

            textEditor.Options         = DefaultSourceEditorOptions.PlainEditor;
            textEditor.IsReadOnly      = true;
            this.buttonAdd.Clicked    += ButtonAddClicked;
            this.buttonEdit.Clicked   += ButtonEditClicked;
            this.buttonRemove.Clicked += ButtonRemoveClicked;
            this.treeviewCodeTemplates.Selection.Changed += SelectionChanged;
            SelectionChanged(null, null);
            checkbuttonWhiteSpaces.Hide();
        }
        public OptionsDialog(Gtk.Window parentWindow, object dataObject, string extensionPath, bool removeEmptySections)
        {
            this.Build();
            this.removeEmptySections = removeEmptySections;
            extensionContext         = AddinManager.CreateExtensionContext();

            this.mainDataObject = dataObject;
            this.extensionPath  = extensionPath;

            if (parentWindow != null)
            {
                TransientFor = parentWindow;
            }

            ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon, treeIconSize);
            ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon, headerIconSize);

            store               = new TreeStore(typeof(OptionsDialogSection));
            tree.Model          = store;
            tree.HeadersVisible = false;

            TreeViewColumn col = new TreeViewColumn();
            var            crp = new CellRendererPixbuf();

            col.PackStart(crp, false);
            col.SetCellDataFunc(crp, PixbufCellDataFunc);
            var crt = new CellRendererText();

            col.PackStart(crt, true);
            col.SetCellDataFunc(crt, TextCellDataFunc);
            tree.AppendColumn(col);

            tree.Selection.Changed += OnSelectionChanged;

            Child.ShowAll();

            InitializeContext(extensionContext);

            FillTree();
            ExpandCategories();
            this.DefaultResponse = Gtk.ResponseType.Ok;
        }
Exemplo n.º 13
0
        public ApacheModsList()
        {
            this.Build();

            // TreeView

            model                   = new TreeStore(typeof(ApacheMod));
            treeView.Model          = model;
            treeView.HeadersVisible = true;

            // Name Column
            TreeViewColumn nameColumn = new TreeViewColumn();

            nameColumn.Title = "Mods";
            CellRendererText modsNameCell = new CellRendererText();

            nameColumn.PackStart(modsNameCell, true);
            // Status Column
            TreeViewColumn statusColumn = new TreeViewColumn();

            statusColumn.Title = "Status";
            CellRendererText modsStatusCell = new CellRendererText();

            statusColumn.PackStart(modsStatusCell, true);
            // Config Column
            TreeViewColumn configColumn = new TreeViewColumn();

            configColumn.Title = "Config File";
            CellRendererText modsConfigCell = new CellRendererText();

            configColumn.PackStart(modsConfigCell, true);

            treeView.AppendColumn(nameColumn);
            treeView.AppendColumn(statusColumn);
            treeView.AppendColumn(configColumn);

            nameColumn.SetCellDataFunc(modsNameCell, new TreeCellDataFunc(RenderModName));
            statusColumn.SetCellDataFunc(modsStatusCell, new TreeCellDataFunc(RenderModStatus));
            configColumn.SetCellDataFunc(modsConfigCell, new TreeCellDataFunc(RenderModConfig));

            treeView.Selection.Changed += OnSelectionChanged;

            // Buttons

            iconLabelStatusButton = new JLWidgets.IconLabel();
            iconLabelStatusButton.SetImageFromIcon("gtk-ok");
            iconLabelStatusButton.SetText("Activate");

            statusButton.Remove(statusButton.Child);
            statusButton.Add(iconLabelStatusButton);

            statusButton.Sensitive = false;
            editButton.Sensitive   = false;
        }
Exemplo n.º 14
0
        protected void AddColumn(string name, CellRenderer renderer, TreeCellDataFunc tcdf)
        {
            var column = new TreeViewColumn();

            column.Title = name;
            column.PackStart(renderer, true);
            column.Resizable = true;
            column.SetCellDataFunc(renderer, new TreeCellDataFunc(tcdf));

            importView.AppendColumn(column);
        }
Exemplo n.º 15
0
        private void AddColumn(string label)
        {
            TreeViewColumn column = new TreeViewColumn()
            {
                Title = label,
            };

            column.PackStart(cellRendererText, true);
            column.SetCellDataFunc(cellRendererText, new TreeCellDataFunc(ShowDataEntry));
            treeView.AppendColumn(column);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Populate the grid from the DataSource.
        /// </summary>
        private void PopulateGrid()
        {
            // Begin by creating a new ListStore with the appropriate number of
            // columns. Use the string column type for everything.
            int nCols = DataSource != null ? this.DataSource.Columns.Count : 0;

            Type[] colTypes = new Type[nCols];
            for (int i = 0; i < nCols; i++)
            {
                colTypes[i] = typeof(string);
            }
            gridmodel = new ListStore(colTypes);

            while (gridview.Columns.Length > 0)
            {
                gridview.RemoveColumn(gridview.GetColumn(0));
            }
            colLookup.Clear();
            image1.Visible = false;
            // Now set up the grid columns
            for (int i = 0; i < nCols; i++)
            {
                /// Design plan: include renderers for text, toggles and combos, but hide all but one of them
                CellRendererText textRender = new Gtk.CellRendererText();
                colLookup.Add(textRender, i);

                textRender.Editable        = !isReadOnly;
                textRender.EditingStarted += OnCellBeginEdit;
                textRender.Edited         += OnCellValueChanged;

                TreeViewColumn column = new TreeViewColumn(this.DataSource.Columns[i].ColumnName, textRender, "text", i);
                gridview.AppendColumn(column);
                column.Sizing    = TreeViewColumnSizing.Autosize;
                column.Resizable = true;
                column.SetCellDataFunc(textRender, OnSetCellData);
            }

            int nRows = DataSource != null ? this.DataSource.Rows.Count : 0;

            for (int row = 0; row < nRows; row++)
            {
                string[] cells = new string[this.DataSource.Columns.Count];
                // Put everything into the ListStore as a string, but set the actual text
                // on the fly using the SetCellDataFunc callback
                for (int col = 0; col < this.DataSource.Columns.Count; col++)
                {
                    cells[col] = this.DataSource.Rows[row][col].ToString();
                }
                gridmodel.AppendValues(cells);
            }
            gridview.Model          = gridmodel;
            gridview.Selection.Mode = SelectionMode.Multiple;
            gridview.ShowAll();
        }
        public void BuildTextResourcesTreeView()
        {
            TreeViewColumn keysColumn = new TreeViewColumn
            {
                Title     = string.Empty,
                Resizable = true
            };

            keysColumn.AddNotification("width", (object o, GLib.NotifyArgs args) => OnColumnWidthChanged(keysColumn));
            _textResourcesTreeView.AppendColumn(keysColumn);

            CellRendererText keyCell = new Gtk.CellRendererText
            {
                Editable   = true,
                Width      = 300,
                Background = "black"
            };

            keyCell.Edited += OnKeyCellEdited;
            keysColumn.PackStart(keyCell, true);

            keysColumn.SetCellDataFunc(keyCell, new Gtk.TreeCellDataFunc(HandleKeyCellDataFunc));

            foreach (var textResource in _textResourcesManager.TextResources)
            {
                TreeViewColumn resourcesColumn = new TreeViewColumn
                {
                    Title     = textResource.Name,
                    Resizable = true
                };
                keysColumn.AddNotification("width", (object o, GLib.NotifyArgs args) => OnColumnWidthChanged(resourcesColumn));
                _textResourcesTreeView.AppendColumn(resourcesColumn);

                CellRendererText valueCell = new Gtk.CellRendererText
                {
                    Width               = 200,
                    Editable            = true,
                    WrapWidth           = 200,
                    SingleParagraphMode = false,
                    WrapMode            = Pango.WrapMode.WordChar,
                };
                valueCell.Edited += (o, args) => OnValueCellEdited((CellRendererText)o, args, textResource);
                resourcesColumn.PackStart(valueCell, true);

                resourcesColumn.SetCellDataFunc(valueCell, new Gtk.TreeCellDataFunc(HandleValueCellDataFunc));
            }

            foreach (var key in _textResourcesManager.GetAllKeys())
            {
                _resourcesListStore.AppendValues(key);
            }

            _textResourcesTreeView.Model = _filter;
        }
//		IWorkbenchWindow workbenchWindow;
//		RegexToolkitWidget regexWidget;

        public ElementHelpWidget(IWorkbenchWindow workbenchWindow, RegexToolkitWidget regexWidget)
        {
//			this.workbenchWindow = workbenchWindow;
//			this.regexWidget = regexWidget;
            this.Build();

            elementsStore = new Gtk.TreeStore(typeof(string), typeof(string), typeof(string), typeof(string));
            this.elementsTreeview.Model          = this.elementsStore;
            this.elementsTreeview.HeadersVisible = false;
            this.elementsTreeview.Selection.Mode = SelectionMode.Browse;

            var col = new TreeViewColumn();

            this.elementsTreeview.AppendColumn(col);
            var pix          = new CellRendererPixbuf();
            var cellRendText = new CellRendererText();

            col.PackStart(pix, false);
            col.AddAttribute(pix, "stock_id", 0);
            col.PackStart(cellRendText, false);

            col.AddAttribute(cellRendText, "text", 1);

            var cellRendText2 = new CellRendererText();

            col.PackStart(cellRendText2, true);
            col.SetCellDataFunc(cellRendText2, ElementDescriptionFunc);


//			this.elementsTreeview.Selection.Changed += delegate {
//				ShowTooltipForSelectedEntry ();
//			};
//			this.elementsTreeview.MotionNotifyEvent += HandleMotionNotifyEvent;

            this.elementsTreeview.RowActivated += delegate(object sender, RowActivatedArgs e)
            {
                Gtk.TreeIter iter;
                if (elementsStore.GetIter(out iter, e.Path))
                {
                    string text = elementsStore.GetValue(iter, 3) as string;
                    if (!System.String.IsNullOrEmpty(text))
                    {
                        regexWidget.InsertText(text);
                        workbenchWindow.SwitchView(0);
                    }
                }
            };
            this.LeaveNotifyEvent += delegate
            {
                this.HideTooltipWindow();
            };
            FillElementsBox();
            Show();
        }
Exemplo n.º 19
0
        void AddColumn(string title, CellRenderer cellRenderer, TreeCellDataFunc func, Array attributes)
        {
            var column = new TreeViewColumn(title, cellRenderer, attributes);

            if (func != null)
            {
                column.SetCellDataFunc(cellRenderer, func);
            }
            column.Clickable = true;
            column.Title     = title;
            tasksTreeView.AppendColumn(column);
        }
    // Constructor.
    public TagSelectionWidget(TagStore tag_store)
        : base(new TreeStore(typeof(uint), typeof(string)))
    {
        HeadersVisible = false;
        Selection.Mode = SelectionMode.Multiple;

        complete_column = new TreeViewColumn();

        pix_render = new CellRendererPixbuf();
        complete_column.PackStart(pix_render, false);
        complete_column.SetCellDataFunc(pix_render, new TreeCellDataFunc(IconDataFunc));
        //complete_column.AddAttribute (pix_render, "pixbuf", OpenIconColumn);

        //icon_column = AppendColumn ("icon",
        //, new TreeCellDataFunc (IconDataFunc));
        //icon_column = AppendColumn ("icon", new CellRendererPixbuf (), new TreeCellDataFunc (IconDataFunc));

        text_render = new CellRendererText();
        complete_column.PackStart(text_render, true);
        complete_column.SetCellDataFunc(text_render, new TreeCellDataFunc(NameDataFunc));

        AppendColumn(complete_column);

        this.tag_store = tag_store;

        Update();

        ExpandDefaults();

        tag_store.ItemsAdded   += HandleTagsAdded;
        tag_store.ItemsRemoved += HandleTagsRemoved;
        tag_store.ItemsChanged += HandleTagsChanged;

        // TODO make the search find tags that are not currently expanded
        EnableSearch = true;
        SearchColumn = NameColumn;

        // Transparent white
        empty_pixbuf.Fill(0xffffff00);
    }
Exemplo n.º 21
0
        /// <summary>
        /// Removes all grid columns, and cleans up any associated event handlers
        /// </summary>
        private void ClearGridColumns()
        {
            while (Grid.Columns.Length > 0)
            {
                TreeViewColumn col = Grid.GetColumn(0);
#if NETFRAMEWORK
                foreach (CellRenderer render in col.CellRenderers)
#else
                foreach (CellRenderer render in col.Cells)
#endif
                {
                    if (render is CellRendererText)
                    {
                        CellRendererText textRender = render as CellRendererText;
                        col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null);
                    }
                    else if (render is CellRendererPixbuf)
                    {
                        CellRendererPixbuf pixRender = render as CellRendererPixbuf;
                        col.SetCellDataFunc(pixRender, (CellLayoutDataFunc)null);
                    }
                    render.Dispose();
                }
                Grid.RemoveColumn(Grid.GetColumn(0));
            }
            while (Fixedcolview.Columns.Length > 0)
            {
                TreeViewColumn col = Fixedcolview.GetColumn(0);
                foreach (CellRenderer render in col.GetCells())
                {
                    if (render is CellRendererText)
                    {
                        CellRendererText textRender = render as CellRendererText;
                        col.SetCellDataFunc(textRender, (CellLayoutDataFunc)null);
                    }
                }

                Fixedcolview.RemoveColumn(Fixedcolview.GetColumn(0));
            }
        }
Exemplo n.º 22
0
        private Gtk.Widget CreateWorkspaceView()
        {
            ScrolledWindow sw = new ScrolledWindow();

            m_treeView = new Gtk.TreeView();

            //first column has workspaceUnit but presents its friendly name, 2nd column displays type and 3rd displays value
            m_workspaceStore = new Gtk.ListStore(typeof(WorkspaceUnit), typeof(WorkspaceUnit), typeof(WorkspaceUnit));
            m_treeView.Model = m_workspaceStore;

            //create columns with associated cell renderings
            CellRendererText nameRenderer = new CellRendererText();
            TreeViewColumn   nameColumn   = m_treeView.AppendColumn("Name", nameRenderer);

            nameColumn.SetCellDataFunc(nameRenderer, new TreeCellDataFunc(RenderName));

            CellRendererText typeRenderer = new CellRendererText();
            TreeViewColumn   typeColumn   = m_treeView.AppendColumn("Type", typeRenderer);

            typeColumn.SetCellDataFunc(typeRenderer, new TreeCellDataFunc(RenderType));

            TreeViewColumn valueColumn = new TreeViewColumn();

            valueColumn.Title = "Value";
            CellRendererPixbuf valueViewerIconCellRenderer = new CellRendererPixbuf();
            CellRendererText   valueTextRenderer           = new CellRendererText();

            valueViewerIconCellRenderer.Xalign = 0.0f;
            valueColumn.PackEnd(valueTextRenderer, true);
            valueColumn.PackStart(valueViewerIconCellRenderer, false);
            valueColumn.SetCellDataFunc(valueViewerIconCellRenderer, new TreeCellDataFunc(RenderViewerIcon));
            valueColumn.SetCellDataFunc(valueTextRenderer, new TreeCellDataFunc(RenderValue));
            m_treeView.AppendColumn(valueColumn);

            m_treeView.RowActivated += HandleRowActivated;

            sw.Add(m_treeView);
            sw.ShowAll();
            return(sw);
        }
Exemplo n.º 23
0
        private void InitComponent()
        {
            Resize(500, 500);

            var vbox = new VBox();

            Gdk.Color grey      = new Gdk.Color(0xA0, 0xA0, 0xA0);
            Gdk.Color lightBlue = new Gdk.Color(207, 207, 239);
            var       infoFont  = Pango.FontDescription.FromString(AppSettings.Get("info-font", "Verdana"));
            var       textFont  = Pango.FontDescription.FromString(AppSettings.Get("text-font", "Courier New"));

            _searchTextView = new TextView();
            _searchTextView.ModifyBase(StateType.Normal, lightBlue);
            _searchTextView.Buffer.Changed += (s, e) => { UpdateSearchBox(); };
            _searchTextView.KeyPressEvent  += _searchTextView_KeyPressEvent;
            _searchTextView.ModifyFont(textFont);
            _searchTextView.Buffer.Text = "";


            _searchResultsStore = new ListStore(typeof(TitleSearchResult));

            _searchResultsView = new TreeView(_searchResultsStore);
            TreeViewColumn column = new TreeViewColumn();

            column.Title = "Value";
            var valueRenderer = new CellRendererText();

            column.PackStart(valueRenderer, true);
            column.SetCellDataFunc(valueRenderer, (TreeViewColumn col, CellRenderer cell, TreeModel model, TreeIter iter) =>
            {
                TitleSearchResult item        = (TitleSearchResult)model.GetValue(iter, 0);
                ((CellRendererText)cell).Text = item.Title;
            });
            _searchResultsView.AppendColumn(column);


            _searchResultsView.ModifyBase(StateType.Normal, lightBlue);
            _searchResultsView.ButtonPressEvent += _searchResultsView_ButtonPressEvent;

            var scrolledResults = new ScrolledWindow();

            scrolledResults.Add(_searchResultsView);

            vbox.PackStart(_searchTextView, false, false, 0);
            vbox.PackStart(scrolledResults, true, true, 0);

            Add(vbox);

            BorderWidth = 5;

            UpdateSearchBox();
        }
Exemplo n.º 24
0
        TreeViewColumn CreateTemplateListTreeViewColumn()
        {
            var column = new TreeViewColumn();

            templateTextRenderer                   = new GtkTemplateCellRenderer();
            templateTextRenderer.Xpad              = 14;
            templateTextRenderer.Ypad              = 0;
            templateTextRenderer.Ellipsize         = Pango.EllipsizeMode.End;
            templateTextRenderer.CellBackgroundGdk = templateListBackgroundColor;

            column.PackStart(templateTextRenderer, true);
            column.AddAttribute(templateTextRenderer, "markup", column: 0);

            column.SetCellDataFunc(templateTextRenderer, SetTemplateTextCellData);

            languageCellRenderer = new LanguageCellRenderer();
            languageCellRenderer.CellBackgroundGdk = templateListBackgroundColor;

            column.PackEnd(languageCellRenderer, false);
            column.SetCellDataFunc(languageCellRenderer, SetLanguageCellData);
            return(column);
        }
Exemplo n.º 25
0
        static TreeViewColumn CreateColumn(TreeView view, string title, CellRenderer cell, TreeCellDataFunc dataFunc, int sortOrderId)
        {
            //var col = view.AppendColumn(title, cell, dataFunc);
            var col = new TreeViewColumn()
            {
                Resizable = true, Clickable = true, Title = title, SortColumnId = sortOrderId
            };

            col.PackStart(cell, true);
            view.AppendColumn(col);
            col.SetCellDataFunc(cell, dataFunc);
            return(col);
        }
Exemplo n.º 26
0
    private Gtk.TreeViewColumn getCol(string title)
    {
        Gtk.TreeViewColumn retval = new TreeViewColumn();
        retval.Title = title;
        Gtk.CellRendererText cr = new Gtk.CellRendererText();
        cr.Edited += textcellEdited;
//    cr.EditingStarted += Cr_EditingStarted;
//    cr.EditingCanceled += Cr_EditingCanceled;
        cr.Data.Add("_colTitle", title);
        retval.PackStart(cr, true);
        retval.SetCellDataFunc(cr, new TreeCellDataFunc(renderDragonCell));
        return(retval);
    }
Exemplo n.º 27
0
        private void BuildTree()
        {
            // Setup thumbnail column
            using (CellRendererPixbuf renderer = new CellRendererPixbuf())
            {
                TreeViewColumn column = new TreeViewColumn("", renderer);
                column.SetCellDataFunc(renderer, (TreeViewColumn _column, CellRenderer _cell, TreeModel _model, TreeIter _iter) =>
                {
                    var model_item = _model.GetValue(_iter, 0) as UIComponentDescriptor;
                    (_cell as Gtk.CellRendererPixbuf).Pixbuf = model_item.Icon;
                });
                m_View.AppendColumn(column);
            }

            // Setup name column
            using (CellRendererText renderer = new CellRendererText())
            {
                TreeViewColumn column = new TreeViewColumn("Name", renderer);

                // set data in cell
                column.SetCellDataFunc(renderer, (TreeViewColumn _column, CellRenderer _cell, TreeModel _model, TreeIter _iter) =>
                {
                    Gtk.CellRendererText cell = _cell as Gtk.CellRendererText;
                    var model_item            = _model.GetValue(_iter, 0) as UIComponentDescriptor;
                    cell.Text = model_item.Text;
                });
                m_View.AppendColumn(column);
            }

            // setup checkbox column
            {
                var renderer = new CellRendererToggle();
                renderer.Toggled += new ToggledHandler(OnComponentSelected);

                TreeViewColumn column = new TreeViewColumn("", renderer);
                column.SetCellDataFunc(renderer, (TreeViewColumn _column, CellRenderer _cell, TreeModel _model, TreeIter _iter) =>
                {
                    var model_item = _model.GetValue(_iter, 0) as UIComponentDescriptor;
                    if (null != model_item.ComponentFactoryInformation)
                    {
                        (_cell as CellRendererToggle).Active  = (model_item as UIComponentDescriptor).Selected;
                        (_cell as CellRendererToggle).Visible = true;
                    }
                    else
                    {
                        (_cell as CellRendererToggle).Visible = false;
                    }
                });
                m_View.AppendColumn(column);
            }
        }
Exemplo n.º 28
0
        private void buildColumns()
        {
            addressColumn    = new TreeViewColumn();
            clientColumn     = new TreeViewColumn();
            downColumn       = new TreeViewColumn();
            upColumn         = new TreeViewColumn();
            seedingColumn    = new TreeViewColumn();
            interestedColumn = new TreeViewColumn();

            addressColumn.Title    = _("IP Address");
            clientColumn.Title     = _("Client");
            downColumn.Title       = _("DL Speed");
            upColumn.Title         = _("UP Speed");
            seedingColumn.Title    = _("Seeding");
            interestedColumn.Title = _("Interested");

            addressColumn.Expand    = true;
            clientColumn.Expand     = true;
            downColumn.Expand       = true;
            upColumn.Expand         = true;
            seedingColumn.Expand    = true;
            interestedColumn.Expand = true;

            Gtk.CellRendererText   addressCell    = new Gtk.CellRendererText();
            Gtk.CellRendererText   clientCell     = new Gtk.CellRendererText();
            Gtk.CellRendererText   downCell       = new Gtk.CellRendererText();
            Gtk.CellRendererText   upCell         = new Gtk.CellRendererText();
            Gtk.CellRendererToggle seedingCell    = new Gtk.CellRendererToggle();
            Gtk.CellRendererToggle interestedCell = new Gtk.CellRendererToggle();

            addressColumn.PackStart(addressCell, true);
            clientColumn.PackStart(clientCell, true);
            downColumn.PackStart(downCell, true);
            upColumn.PackStart(upCell, true);
            seedingColumn.PackStart(seedingCell, true);
            interestedColumn.PackStart(interestedCell, true);

            addressColumn.SetCellDataFunc(addressCell, new Gtk.TreeCellDataFunc(RenderAddress));
            clientColumn.SetCellDataFunc(clientCell, new Gtk.TreeCellDataFunc(RenderClient));
            downColumn.SetCellDataFunc(downCell, new Gtk.TreeCellDataFunc(RenderDown));
            upColumn.SetCellDataFunc(upCell, new Gtk.TreeCellDataFunc(RenderUp));
            seedingColumn.SetCellDataFunc(seedingCell, new Gtk.TreeCellDataFunc(RenderSeeding));
            interestedColumn.SetCellDataFunc(interestedCell, new Gtk.TreeCellDataFunc(RenderInterested));

            AppendColumn(addressColumn);
            AppendColumn(clientColumn);
            AppendColumn(downColumn);
            AppendColumn(upColumn);
            AppendColumn(seedingColumn);
            AppendColumn(interestedColumn);
        }
Exemplo n.º 29
0
        public PropertyGridTree(EditorManager editorManager, PropertyGrid parentGrid)
        {
            this.editorManager = editorManager;
            this.parentGrid    = parentGrid;

            propertyRows = new Hashtable();

            store = new TreeStore(typeof(string), typeof(object), typeof(bool), typeof(object));

            tree = new InternalTree(this, store);

            CellRendererText crt;

            TreeViewColumn col;

            col       = new TreeViewColumn();
            col.Title = Catalog.GetString("Property");
            crt       = new CellRendererPropertyGroup(tree);
            crt.Xpad  = 0;
            col.PackStart(crt, true);
            col.SetCellDataFunc(crt, new TreeCellDataFunc(GroupData));
            col.Resizable  = true;
            col.Expand     = false;
            col.Sizing     = TreeViewColumnSizing.Fixed;
            col.FixedWidth = 180;

            tree.AppendColumn(col);

            editorColumn       = new TreeViewColumn();
            editorColumn.Title = Catalog.GetString("Value");

            CellRendererProperty crp = new CellRendererProperty(tree);

            editorColumn.PackStart(crp, true);
            editorColumn.SetCellDataFunc(crp, new TreeCellDataFunc(PropertyData));
            editorColumn.Sizing    = TreeViewColumnSizing.Fixed;
            editorColumn.Resizable = false;
            editorColumn.Expand    = true;
            tree.AppendColumn(editorColumn);

            tree.HeadersVisible = false;
            this.ShadowType     = Gtk.ShadowType.None;

            this.HscrollbarPolicy = Gtk.PolicyType.Never;

            Add(tree);

            ShowAll();

            tree.Selection.Changed += OnSelectionChanged;
        }
Exemplo n.º 30
0
        public FolderTreeView(FolderTreeModel tree_model) : base(tree_model)
        {
            folder_tree_model = tree_model;

            HeadersVisible = false;

            var column = new TreeViewColumn();

            var pixbuf_renderer = new CellRendererPixbuf();

            column.PackStart(pixbuf_renderer, false);
            column.SetCellDataFunc(pixbuf_renderer, PixbufDataFunc);

            var folder_renderer = new CellRendererTextProgress();

            column.PackStart(folder_renderer, true);
            column.SetCellDataFunc(folder_renderer, FolderDataFunc);

            AppendColumn(column);

            Drag.SourceSet(this, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask,
                           (TargetEntry[])folderTreeSourceTargetList, Gdk.DragAction.Copy | Gdk.DragAction.Move);
        }
Exemplo n.º 31
0
        protected override void Initialise(ViewBase ownerView, GLib.Object gtkControl)
        {
            treeview1       = (Gtk.TreeView)gtkControl;
            mainWidget      = treeview1;
            treeview1.Model = treemodel;
            TreeViewColumn     column     = new TreeViewColumn();
            CellRendererPixbuf iconRender = new Gtk.CellRendererPixbuf();

            iconRender.SetPadding(2, 1);
            column.PackStart(iconRender, false);
            textRender                 = new Gtk.CellRendererText();
            textRender.Editable        = false;
            textRender.EditingStarted += OnBeforeLabelEdit;
            textRender.Edited         += OnAfterLabelEdit;
            column.PackStart(textRender, true);
            column.SetCellDataFunc(textRender, OnSetCellData);

            CellRendererText tickCell = new CellRendererText();

            tickCell.Editable = false;
            column.PackEnd(tickCell, false);
            column.SetAttributes(iconRender, "pixbuf", 1);
            column.SetAttributes(textRender, "text", 0);
            column.SetAttributes(tickCell, "text", 3);
            treeview1.AppendColumn(column);
            treeview1.TooltipColumn = 2;

            treeview1.CursorChanged      += OnAfterSelect;
            treeview1.ButtonReleaseEvent += OnButtonUp;
            treeview1.ButtonPressEvent   += OnButtonPress;
            treeview1.RowActivated       += OnRowActivated;
            treeview1.FocusInEvent       += OnTreeGainFocus;
            treeview1.FocusOutEvent      += OnTreeLoseFocus;

            TargetEntry[] target_table = new TargetEntry[] {
                new TargetEntry(modelMime, TargetFlags.App, 0)
            };

            Gdk.DragAction actions = Gdk.DragAction.Copy | Gdk.DragAction.Link | Gdk.DragAction.Move;
            Drag.SourceSet(treeview1, Gdk.ModifierType.Button1Mask, target_table, actions);
            Drag.DestSet(treeview1, 0, target_table, actions);
            treeview1.DragMotion       += OnDragOver;
            treeview1.DragDrop         += OnDragDrop;
            treeview1.DragBegin        += OnDragBegin;
            treeview1.DragDataGet      += OnDragDataGet;
            treeview1.DragDataReceived += OnDragDataReceived;
            treeview1.DragEnd          += OnDragEnd;
            timer.Elapsed        += OnTimerElapsed;
            mainWidget.Destroyed += OnDestroyed;
        }
Exemplo n.º 32
0
        public CompleteWithTimerColumn()
        {
            TreeViewColumn = new TreeViewColumn {
                Title = Catalog.GetString ("Completed"),
                Sizing = TreeViewColumnSizing.Autosize,
                Resizable = false,
                Clickable = true
            };

            var renderer = new CellRendererToggle ();
            renderer.Toggled += OnTaskToggled;
            TreeViewColumn.PackStart (renderer, false);
            TreeViewColumn.SetCellDataFunc (renderer, TaskToggleCellDataFunc);
        }
Exemplo n.º 33
0
        public TimerColumn()
        {
            timeoutTargets = new ConcurrentDictionary<ITask, TaskCompleteTimer> ();

            TreeViewColumn = new TreeViewColumn {
                Title = Catalog.GetString ("Timer"),
                Sizing = TreeViewColumnSizing.Fixed,
                FixedWidth = 20,
                Resizable = false
            };

            var renderer = new CellRendererPixbuf {	Xalign = 0.5f };
            TreeViewColumn.PackStart (renderer, false);
            TreeViewColumn.SetCellDataFunc (renderer, TaskTimerCellDataFunc);
        }
Exemplo n.º 34
0
        public TaskNameColumn()
        {
            TreeViewColumn = new TreeViewColumn {
                Title = Catalog.GetString ("Task Name"),
                Sizing = TreeViewColumnSizing.Autosize,
                Expand = true,
                Resizable = true
            };

            // TODO: Add in code to determine how wide we should make the name
            // column.
            // TODO: Add in code to readjust the size of the name column if the
            // user resizes the Task Window.
            //column.FixedWidth = 250;

            var renderer = new CellRendererText { Editable = true };

            renderer.EditingStarted += (o, args) => {
                TreeIter iter;
                var path = new TreePath (args.Path);
                if (!model.GetIter (out iter, path))
                    return;

                var task = model.GetValue (iter, 0) as ITask;
                if (task == null)
                    return;

                taskBeingEdited = new TaskBeingEdited (task, iter, path);
                if (CellEditingStarted != null)
                    CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path));
            };

            renderer.EditingCanceled += delegate { EndCellEditing (); };

            renderer.Edited += (o, args) => {
                TreeIter iter;
                var path = new TreePath (args.Path);
                if (model.GetIter (out iter, path)) {
                    var task = model.GetValue (iter, 0) as ITask;
                    if (task == null)
                        return;

                    var newText = args.NewText;
                    // Attempt to derive due date information from text.
                    if (preferences.GetBool (PreferencesKeys.ParseDateEnabledKey) &&
                        task.State == TaskState.Active &&
                        task.DueDate == DateTime.MinValue) {

                        string parsedTaskText;
                        DateTime parsedDueDate;
                        TaskParser.Instance.TryParse (newText, out parsedTaskText, out parsedDueDate);

                        if (parsedDueDate != DateTime.MinValue)
                            task.DueDate = parsedDueDate;
                        newText = parsedTaskText;
                    }

                    task.Text = newText;
                }
                EndCellEditing ();
            };

            TreeViewColumn.PackStart (renderer, true);
            TreeViewColumn.SetCellDataFunc (renderer, TaskNameTextCellDataFunc);
        }
Exemplo n.º 35
0
        public PriorityColumn()
        {
            TreeViewColumn = new TreeViewColumn {
                Title = Catalog.GetString ("Priority"),
                Sizing = TreeViewColumnSizing.Fixed,
                Alignment = 0.5f,
                FixedWidth = 30,
                Resizable = false,
                Clickable = true
            };

            var priorityStore = new ListStore (typeof (string));
            priorityStore.AppendValues (Catalog.GetString ("1")); // High
            priorityStore.AppendValues (Catalog.GetString ("2")); // Medium
            priorityStore.AppendValues (Catalog.GetString ("3")); // Low
            priorityStore.AppendValues (Catalog.GetString ("-")); // None

            var renderer = new CellRendererCombo {
                Editable = true,
                HasEntry = false,
                Model = priorityStore,
                TextColumn = 0,
                Xalign = 0.5f
            };

            renderer.EditingStarted += (o, args) => {
                TreeIter iter;
                var path = new TreePath (args.Path);
                if (!model.GetIter (out iter, path))
                    return;

                var task = model.GetValue (iter, 0) as ITask;
                if (task == null)
                    return;

                taskBeingEdited = new TaskBeingEdited (task, iter, path);
                if (CellEditingStarted != null)
                    CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path));
            };

            renderer.EditingCanceled += delegate { EndCellEditing (); };

            renderer.Edited += (o, args) => {
                TreeIter iter;
                var path = new TreePath (args.Path);
                if (model.GetIter (out iter, path)) {
                    TaskPriority newPriority;
                    var newText = args.NewText;
                    if (newText == Catalog.GetString ("3"))
                        newPriority = TaskPriority.Low;
                    else if (newText == Catalog.GetString ("2"))
                        newPriority = TaskPriority.Medium;
                    else if (newText == Catalog.GetString ("1"))
                        newPriority = TaskPriority.High;
                    else
                        newPriority = TaskPriority.None;

                    // Update the priority if it's different
                    var task = model.GetValue (iter, 0) as ITask;
                    if (task.Priority != newPriority)
                        task.Priority = newPriority;
                }
                EndCellEditing ();
            };

            TreeViewColumn.PackStart (renderer, true);
            TreeViewColumn.SetCellDataFunc (renderer, TaskPriorityCellDataFunc);
        }
Exemplo n.º 36
0
        public DueDateColumn()
        {
            TreeViewColumn = new TreeViewColumn {
                Title = Catalog.GetString ("Due Date"),
                Sizing = TreeViewColumnSizing.Fixed,
                Alignment = 0f,
                FixedWidth = 90,
                Resizable = false,
                Clickable = true
            };

            var dueDateStore = new ListStore (typeof (string));
            var today = DateTime.Now;
            dueDateStore.AppendValues (
                today.ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Today"));
            dueDateStore.AppendValues (
                today.AddDays (1).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Tomorrow"));
            dueDateStore.AppendValues (
                today.AddDays (2).ToString (Catalog.GetString ("M/d - ddd")));
            dueDateStore.AppendValues (
                today.AddDays (3).ToString (Catalog.GetString ("M/d - ddd")));
            dueDateStore.AppendValues (
                today.AddDays (4).ToString (Catalog.GetString ("M/d - ddd")));
            dueDateStore.AppendValues (
                today.AddDays (5).ToString (Catalog.GetString ("M/d - ddd")));
            dueDateStore.AppendValues (
                today.AddDays (6).ToString (Catalog.GetString ("M/d - ddd")));
            dueDateStore.AppendValues (
                today.AddDays (7).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("In 1 Week"));
            dueDateStore.AppendValues (Catalog.GetString ("No Date"));
            dueDateStore.AppendValues (Catalog.GetString ("Choose Date..."));

            var renderer = new CellRendererCombo {
                Editable = true,
                HasEntry = false,
                Model = dueDateStore,
                TextColumn = 0,
                Xalign = 0.0f
            };

            renderer.EditingStarted += (o, args) => {
                TreeIter iter;
                var path = new TreePath (args.Path);
                if (!model.GetIter (out iter, path))
                    return;

                var task = model.GetValue (iter, 0) as ITask;
                if (task == null)
                    return;

                taskBeingEdited = new TaskBeingEdited (task, iter, path);
                if (CellEditingStarted != null)
                    CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path));
            };

            renderer.EditingCanceled += delegate { EndCellEditing (); };

            renderer.Edited += (o, args) => {
                TreeIter iter;
                var path = new TreePath (args.Path);
                var newText = args.NewText;
                if (newText != null && model.GetIter (out iter, path)) {

                    //  2/11 - Today
                    //  2/12 - Tomorrow
                    //  2/13 - Wed
                    //  2/14 - Thu
                    //  2/15 - Fri
                    //  2/16 - Sat
                    //  2/17 - Sun
                    // --------------
                    //  2/18 - In 1 Week
                    // --------------
                    //  No Date
                    // ---------------
                    //  Choose Date...

                    var newDate = DateTime.MinValue;
                    var tday = DateTime.Now;
                    var task = model.GetValue (iter, 0) as ITask;

                    if (newText == tday.ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Today"))
                        newDate = tday;
                    else if (newText == tday.AddDays (1).ToString (Catalog.GetString ("M/d - "))
                             + Catalog.GetString ("Tomorrow"))
                        newDate = tday.AddDays (1);
                    else if (newText == Catalog.GetString ("No Date"))
                        newDate = DateTime.MinValue;
                    else if (newText == tday.AddDays (7).ToString (Catalog.GetString ("M/d - "))
                             + Catalog.GetString ("In 1 Week"))
                        newDate = tday.AddDays (7);
                    else if (newText == Catalog.GetString ("Choose Date...")) {
                        var tc = new TaskCalendar (task, view.TreeView.Parent);
                        tc.ShowCalendar ();
                        return;
                    } else {
                        for (int i = 2; i <= 6; i++) {
                            DateTime testDate = tday.AddDays (i);
                            if (testDate.ToString (Catalog.GetString ("M/d - ddd")) == newText) {
                                newDate = testDate;
                                break;
                            }
                        }
                    }

                    Logger.Debug ("task.State {0}", task.State);

                    if (task.State != TaskState.Completed) {
                        // Modify the due date
                        task.DueDate = newDate;
                    }
                }
                EndCellEditing ();
            };

            TreeViewColumn.PackStart (renderer, true);
            TreeViewColumn.SetCellDataFunc (renderer, DueDateCellDataFunc);
        }
Exemplo n.º 37
0
            private void SetupMovesTree()
            {
                TreeViewColumn col = new TreeViewColumn ();
                CellRendererText moveno_renderer =
                    new CellRendererText ();
                CellRendererText whitemove_renderer =
                    new CellRendererText ();
                CellRendererText blackmove_renderer =
                    new CellRendererText ();
                moveno_renderer.Xalign = 1;
                col.PackStart (moveno_renderer, false);
                col.SetCellDataFunc (moveno_renderer,
                             new
                             TreeCellDataFunc
                             (MoveNumCellDataFunc));
                col.Title = Catalog.GetString("No");
                gameView.AppendColumn (col);

                col = new TreeViewColumn ();
                col.PackStart (whitemove_renderer, true);
                col.SetCellDataFunc (whitemove_renderer,
                             new
                             TreeCellDataFunc
                             (WhiteMoveCellDataFunc));
                col.Title = Catalog.GetString("White");
                col.Resizable = true;
                col.Expand = true;
                gameView.AppendColumn (col);
                whitecol = col;
                whitecol.Spacing = 5;

                col = new TreeViewColumn ();
                col.PackStart (blackmove_renderer, false);
                col.SetCellDataFunc (blackmove_renderer,
                             new
                             TreeCellDataFunc
                             (BlackMoveCellDataFunc));
                col.Expand = true;
                col.Title = Catalog.GetString("Black");
                gameView.AppendColumn (col);
                blackcol = col;

                gameView.HeadersVisible = true;
            }
Exemplo n.º 38
0
            private void SetupTree()
            {
                gamesStore = new ListStore (typeof (object));
                tree.Model = gamesStore;
                tree.HeadersVisible = false;
                filter = new TreeModelFilter (gamesStore,
                                  null);
                filter.VisibleFunc = SearchFilterFunc;

                TreeViewColumn col;

                col = new TreeViewColumn ();
                idx_renderer = new CellRendererText ();
                idx_renderer.Yalign = 0;
                info_renderer = new CellRendererText ();
                col.Title = Catalog.GetString ("Games");
                col.PackStart (idx_renderer, false);
                col.SetCellDataFunc (idx_renderer,
                             new
                             TreeCellDataFunc
                             (IdxCellDataFunc));
                col.PackStart (info_renderer, true);
                col.SetCellDataFunc (info_renderer,
                             new
                             TreeCellDataFunc
                             (InfoCellDataFunc));
                col.Resizable = false;
                col.Expand = true;
                tree.AppendColumn (col);
            }