Ejemplo n.º 1
0
        protected void AjustIconCol()
        {
            var col = GetColumn(ColumnNrIcon);

            col.Visible = showIcons;

            if (!showIcons)
            {
                // HACK best solution to reduce row heights so far
                treeView.ColumnsAutosize();
            }
            else
            {
                var iconSizing = this.viewModel.IconSizing;
                cellRendererPixbuf.SetFixedSize(iconSizing.Width, iconSizing.Height);

                // need some more width for PixBuf to be completely visible
                // HACK icon column FixedWidth
                col.FixedWidth = iconSizing.Width + 10;
                col.Sizing     = TreeViewColumnSizing.Fixed;
            }
        }
Ejemplo n.º 2
0
        public PluginUpdateNodeView(AddinRegistry reg, string [] addinIds) :
            base()
        {
            CellRenderer cell;

            setup         = new SetupService(reg);
            this.addinIds = addinIds;

            RulesHint      = true;
            HeadersVisible = false;
            Model          = new ListStore(typeof(string), typeof(string));

            cell = new CellRendererPixbuf();
            cell.SetFixedSize(IconSize + 8, IconSize + 8);
            AppendColumn("Icon", cell, new TreeCellDataFunc(IconDataFunc));

            cell = new Gtk.CellRendererText();
            (cell as CellRendererText).WrapWidth = WrapWidth;
            (cell as CellRendererText).WrapMode  = Pango.WrapMode.Word;
            AppendColumn("Plugin", cell, "markup", Column.Description);

            Refresh();
        }
Ejemplo n.º 3
0
        public PluginNodeView() :
            base()
        {
            ListStore    store;
            CellRenderer cell;

            filter   = "";
            category = "";

            RulesHint      = true;
            HeadersVisible = false;
            Model          = store = new ListStore(
                typeof(bool),
                typeof(string),
                typeof(string));

            cell = new CellRendererToggle();
            (cell as CellRendererToggle).Activatable = true;
            (cell as CellRendererToggle).Toggled    += OnPluginToggle;
            AppendColumn("Enable", cell, "active", Column.Enabled);

            cell = new CellRendererPixbuf();
            cell.SetFixedSize(IconSize + IconPadding, IconSize + IconPadding);
            AppendColumn("Icon", cell, (TreeCellDataFunc)IconDataFunc);

            cell = new Gtk.CellRendererText();
            (cell as CellRendererText).WrapWidth = WrapWidth;
            (cell as CellRendererText).WrapMode  = Pango.WrapMode.Word;
            AppendColumn("Plugin", cell, "markup", Column.Description);

            store.SetSortFunc((int)Column.Id, SortAlphabeticallyWithFilter);
            store.SetSortColumnId((int)Column.Id, SortType.Descending);

            Selection.Changed += OnSelectionChanged;

            Refresh(true);
        }
Ejemplo n.º 4
0
        protected virtual void Build()
        {
            Alignment      align;
            TreeViewColumn column;
            CellRenderer   cell;
            HBox           hbox;

            KeepAbove    = true;
            AppPaintable = true;
            AcceptFocus  = false;
            // This typehint gets the window to raise all the way to top.
            TypeHint = WindowTypeHint.Splashscreen;

            SetColormap();

            frame            = new Frame();
            frame.DrawFill   = true;
            frame.DrawFrame  = true;
            frame.FillColor  = frame.FrameColor = backgroundColor;
            frame.FillAlpha  = .55;
            frame.FrameAlpha = .7;
            frame.Radius     = 0;
            frame.Show();

            vbox = new VBox(false, 0);
            Add(frame);
            frame.Add(vbox);
            vbox.BorderWidth = 3;
            vbox.Show();

            //---------The breadcrum bar---------
            hbox         = new HBox();
            toolbar      = new Toolbar();
            align        = new Alignment(0, .5f, 0, 0);
            resultsLabel = new Label();
            queryLabel   = new Label();
            align.Add(queryLabel);
            hbox.PackStart(align, true, true, 4);
            hbox.PackStart(resultsLabel, false, false, 0);
            hbox.WidthRequest = DefaultWindowWidth - 10;
            toolbar.Add(hbox);
            toolbar.ShowAll();
            vbox.PackStart(toolbar, false, false, 0);


            //---------Results Window
            resultsScrolledWindow = new ScrolledWindow();
            resultsScrolledWindow.SetPolicy(PolicyType.Never, PolicyType.Never);
            resultsScrolledWindow.ShadowType = ShadowType.None;
            vbox.PackStart(resultsScrolledWindow, true, true, 0);
            resultsScrolledWindow.Show();

            resultsTreeview = new TreeView();
            resultsTreeview.EnableSearch   = false;
            resultsTreeview.HeadersVisible = false;
            // If this is not set the tree will call IconDataFunc for all rows to
            // determine the total height of the tree
            resultsTreeview.FixedHeightMode = true;

            resultsScrolledWindow.Add(resultsTreeview);
            resultsTreeview.Show();

            resultsTreeview.Model = new ListStore(new Type[] {
                typeof(Do.Universe.Item),
                typeof(string),
            });

            column        = new TreeViewColumn();
            column.Sizing = Gtk.TreeViewColumnSizing.Fixed;
            // because resultsTreeview.FixedHeightMode = true:

            cell = new CellRendererPixbuf();
            cell.SetFixedSize(-1, 4 + DefaultResultIconSize - (int)cell.Ypad);

            int width, height;

            cell.GetFixedSize(out width, out height);

            column.PackStart(cell, false);
            column.SetCellDataFunc(cell, new TreeCellDataFunc(IconDataFunc));

            vbox.SetSizeRequest(DefaultWindowWidth,
                                (height + 2) * NumberResultsDisplayed +
                                (int)(vbox.BorderWidth * 2) + 20);

            cell = new CellRendererText();
            (cell as CellRendererText).Ellipsize = Pango.EllipsizeMode.End;
            column.PackStart(cell, true);
            column.AddAttribute(cell, "markup", (int)Column.NameColumn);

            resultsTreeview.AppendColumn(column);

            resultsTreeview.Selection.Changed += OnResultRowSelected;
            Shown += OnShown;
        }