Exemplo n.º 1
0
        public MergeDialog(GitRepository repo, bool rebasing)
        {
            this.Build();

            this.UseNativeContextMenus();

            this.repo     = repo;
            this.rebasing = rebasing;

            store             = new TreeStore(typeof(string), typeof(Xwt.Drawing.Image), typeof(string), typeof(string));
            tree.Model        = store;
            tree.SearchColumn = -1;             // disable the interactive search

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

            col.PackStart(crp, false);
            col.AddAttribute(crp, "image", 1);
            var crt = new CellRendererText();

            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", 2);
            tree.AppendColumn(col);

            tree.Selection.Changed += HandleTreeSelectionChanged;

            if (rebasing)
            {
                labelHeader.Text = GettextCatalog.GetString("Select the branch to which to rebase:");
                checkStage.Label = GettextCatalog.GetString("Stash/unstash local changes before/after rebasing");
                buttonOk.Label   = GettextCatalog.GetString("Rebase");
            }

            checkStage.Active = true;

            Fill();
        }
Exemplo n.º 2
0
        public DeployDialog(SolutionItem defaultEntry, bool createBuilderOnly)
        {
            this.Build();
            notebook.ShowTabs = false;
            this.defaultEntry = defaultEntry;

            if (createBuilderOnly)
            {
                vboxSaveProject.Hide();
                checkSave.Active = true;
                checkSave.Hide();
                saveSeparator.Hide();
            }
            else
            {
                pageSave.Hide();
                FillProjectSelectors();
            }

            store             = new ListStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(object));
            targetsTree.Model = store;

            targetsTree.HeadersVisible = false;
            CellRendererImage cr = new CellRendererImage();

            cr.Yalign = 0;
            targetsTree.AppendColumn("", cr, "image", 0);
            targetsTree.AppendColumn("", new Gtk.CellRendererText(), "markup", 1);

            targetsTree.Selection.Changed += delegate(object s, EventArgs a) {
                UpdateButtons();
            };

            FillBuilders();

            UpdateButtons();
        }
Exemplo n.º 3
0
        public EntrySelectionTree()
        {
            this.Build();

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

            tree.HeadersVisible = false;
            TreeViewColumn col = new TreeViewColumn();

            Gtk.CellRendererToggle ctog = new CellRendererToggle();
            ctog.Toggled += OnToggled;
            col.PackStart(ctog, false);
            CellRendererImage cr = new CellRendererImage();

            col.PackStart(cr, false);
            Gtk.CellRendererText crt = new Gtk.CellRendererText();
            col.PackStart(crt, true);
            col.AddAttribute(cr, "stock-id", 0);
            col.AddAttribute(crt, "markup", 1);
            col.AddAttribute(ctog, "active", 3);
            col.AddAttribute(ctog, "visible", 4);
            tree.AppendColumn(col);
        }
Exemplo n.º 4
0
        public IncludeNewFilesDialog(string title, FilePath baseDirectory)
        {
            this.Build();
            this.Title         = title;
            this.baseDirectory = baseDirectory;

            treeviewFiles.Model        = store;
            treeviewFiles.SearchColumn = -1;             // disable the interactive search

            treeviewFiles.HeadersVisible = false;        // Headers are untranslated because they're hidden as default

            TreeViewColumn textColumn = new TreeViewColumn();

            CellRendererToggle toggleRender = new CellRendererToggle();

            toggleRender.Toggled += ToggleRenderToggled;
            textColumn.PackStart(toggleRender, false);
            textColumn.AddAttribute(toggleRender, "active", Columns.IsToggled);

            textColumn.Title = "Name";
            var pixbufRenderer = new CellRendererImage();

            textColumn.PackStart(pixbufRenderer, false);
            textColumn.AddAttribute(pixbufRenderer, "image", Columns.IconOpened);
            textColumn.AddAttribute(pixbufRenderer, "image-expander-open", Columns.IconOpened);
            textColumn.AddAttribute(pixbufRenderer, "image-expander-closed", Columns.IconClosed);

            CellRendererText textRenderer = new CellRendererText();

            textColumn.PackStart(textRenderer, false);
            textColumn.AddAttribute(textRenderer, "text", Columns.Text);
            treeviewFiles.AppendColumn(textColumn);
            buttonExcludeAll.Clicked += ButtonExcludeAllClicked;
            buttonIncludeAll.Clicked += ButtonIncludeAllClicked;
            buttonOk.Clicked         += ButtonOkClicked;
        }
Exemplo n.º 5
0
        GenerateCodeWindow(CodeGenerationOptions options, MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext) : base(Gtk.WindowType.Toplevel)
        {
            this.options = options;
            this.Build();
            scrolledwindow1.Child = treeviewGenerateActions;
            scrolledwindow1.ShowAll();

            scrolledwindow2.Child = treeviewSelection;
            scrolledwindow2.ShowAll();

            treeviewGenerateActions.Cancel += delegate {
                Destroy();
            };
            treeviewGenerateActions.Submit += delegate {
                treeviewSelection.GrabFocus();
            };

            treeviewSelection.Cancel += delegate {
                treeviewGenerateActions.GrabFocus();
            };

            treeviewSelection.Submit += delegate {
                if (curInitializeObject != null)
                {
                    curInitializeObject.GenerateCode();
                    curInitializeObject = null;
                }
                Destroy();
            };

            WindowTransparencyDecorator.Attach(this);

            treeviewSelection.HeadersVisible = false;

            treeviewGenerateActions.HeadersVisible = false;
            treeviewGenerateActions.Model          = generateActionsStore;
            TreeViewColumn column         = new TreeViewColumn();
            var            pixbufRenderer = new CellRendererImage();

            column.PackStart(pixbufRenderer, false);
            column.AddAttribute(pixbufRenderer, "image", 0);

            CellRendererText textRenderer = new CellRendererText();

            column.PackStart(textRenderer, true);
            column.AddAttribute(textRenderer, "text", 1);
            column.Expand = true;
            treeviewGenerateActions.AppendColumn(column);

            treeviewGenerateActions.Selection.Changed += TreeviewGenerateActionsSelectionChanged;
            this.Remove(this.vbox1);
            BorderBox messageArea = new BorderBox();

            messageArea.Add(vbox1);
            this.Add(messageArea);
            this.ShowAll();

            int x = completionContext.TriggerXCoord;
            int y = completionContext.TriggerYCoord;

            int w, h;

            GetSize(out w, out h);

            int myMonitor = Screen.GetMonitorAtPoint(x, y);

            Gdk.Rectangle geometry = DesktopService.GetUsableMonitorGeometry(Screen, myMonitor);

            if (x + w > geometry.Right)
            {
                x = geometry.Right - w;
            }

            if (y + h > geometry.Bottom)
            {
                y = y - completionContext.TriggerTextHeight - h;
            }

            Move(x, y);
        }
Exemplo n.º 6
0
        public LogWidget(VersionControlDocumentInfo info)
        {
            this.Build();
            this.info = info;
            if (info.Document != null)
            {
                this.preselectFile = info.Item.Path;
            }

            var separator = new HeaderBox();

            separator.SetMargins(1, 0, 0, 0);
            separator.HeightRequest = 4;
            separator.ShowAll();

            hpaned1 = hpaned1.ReplaceWithWidget(new HPanedThin(), true);
            vpaned1 = vpaned1.ReplaceWithWidget(new VPanedThin()
            {
                HandleWidget = separator
            }, true);

            revertButton = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert changes from this revision"));
            revertButton.GetNativeWidget <Gtk.Widget> ().Sensitive = false;
            revertButton.Clicked += new EventHandler(RevertRevisionClicked);

            revertToButton = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert to this revision"));
            revertToButton.GetNativeWidget <Gtk.Widget> ().Sensitive = false;
            revertToButton.Clicked += new EventHandler(RevertToRevisionClicked);

            refreshButton          = new DocumentToolButton(Gtk.Stock.Refresh, GettextCatalog.GetString("Refresh"));
            refreshButton.Clicked += new EventHandler(RefreshClicked);

            searchEntry = new SearchEntry();
            searchEntry.WidthRequest             = 200;
            searchEntry.ForceFilterButtonVisible = true;
            searchEntry.EmptyMessage             = GettextCatalog.GetString("Search");
            searchEntry.Changed += HandleSearchEntryFilterChanged;
            searchEntry.Ready    = true;
            searchEntry.Show();

            messageRenderer.Ellipsize = Pango.EllipsizeMode.End;
            TreeViewColumn colRevMessage = new TreeViewColumn();

            colRevMessage.Title = GettextCatalog.GetString("Message");
            var graphRenderer = new RevisionGraphCellRenderer();

            colRevMessage.PackStart(graphRenderer, false);
            colRevMessage.SetCellDataFunc(graphRenderer, GraphFunc);

            colRevMessage.PackStart(messageRenderer, true);
            colRevMessage.SetCellDataFunc(messageRenderer, MessageFunc);
            colRevMessage.Sizing = TreeViewColumnSizing.Autosize;

            treeviewLog.AppendColumn(colRevMessage);
            colRevMessage.MinWidth  = 350;
            colRevMessage.Resizable = true;

            TreeViewColumn colRevDate = new TreeViewColumn(GettextCatalog.GetString("Date"), textRenderer);

            colRevDate.SetCellDataFunc(textRenderer, DateFunc);
            colRevDate.Resizable = true;
            treeviewLog.AppendColumn(colRevDate);

            TreeViewColumn colRevAuthor = new TreeViewColumn();

            colRevAuthor.Title = GettextCatalog.GetString("Author");
            colRevAuthor.PackStart(pixRenderer, false);
            colRevAuthor.PackStart(textRenderer, true);
            colRevAuthor.SetCellDataFunc(textRenderer, AuthorFunc);
            colRevAuthor.SetCellDataFunc(pixRenderer, AuthorIconFunc);
            colRevAuthor.Resizable = true;
            treeviewLog.AppendColumn(colRevAuthor);

            TreeViewColumn colRevNum = new TreeViewColumn(GettextCatalog.GetString("Revision"), textRenderer);

            colRevNum.SetCellDataFunc(textRenderer, RevisionFunc);
            colRevNum.Resizable = true;
            treeviewLog.AppendColumn(colRevNum);

            treeviewLog.Model              = logstore;
            treeviewLog.Selection.Changed += TreeSelectionChanged;

            treeviewFiles = new FileTreeView();
            treeviewFiles.DiffLineActivated += HandleTreeviewFilesDiffLineActivated;
            scrolledwindowFiles.Child        = treeviewFiles;
            scrolledwindowFiles.ShowAll();

            changedpathstore = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), // icon/file name
                                             typeof(Xwt.Drawing.Image), typeof(string), // icon/operation
                                             typeof(string),                            // path
                                             typeof(string),                            // revision path (invisible)
                                             typeof(string [])                          // diff
                                             );

            TreeViewColumn colChangedFile = new TreeViewColumn();
            var            crp            = new CellRendererImage();
            var            crt            = new CellRendererText();

            colChangedFile.Title = GettextCatalog.GetString("File");
            colChangedFile.PackStart(crp, false);
            colChangedFile.PackStart(crt, true);
            colChangedFile.AddAttribute(crp, "image", 2);
            colChangedFile.AddAttribute(crt, "text", 3);
            treeviewFiles.AppendColumn(colChangedFile);

            TreeViewColumn colOperation = new TreeViewColumn();

            colOperation.Title = GettextCatalog.GetString("Operation");
            colOperation.PackStart(crp, false);
            colOperation.PackStart(crt, true);
            colOperation.AddAttribute(crp, "image", 0);
            colOperation.AddAttribute(crt, "text", 1);
            treeviewFiles.AppendColumn(colOperation);

            TreeViewColumn colChangedPath = new TreeViewColumn();

            colChangedPath.Title = GettextCatalog.GetString("Path");

            diffRenderer.DrawLeft = true;
            colChangedPath.PackStart(diffRenderer, true);
            colChangedPath.SetCellDataFunc(diffRenderer, SetDiffCellData);
            treeviewFiles.AppendColumn(colChangedPath);
            treeviewFiles.Model          = changedpathstore;
            treeviewFiles.TestExpandRow += HandleTreeviewFilesTestExpandRow;
            treeviewFiles.Events        |= Gdk.EventMask.PointerMotionMask;

            textviewDetails.WrapMode = Gtk.WrapMode.Word;

            labelAuthor.Text   = "";
            labelDate.Text     = "";
            labelRevision.Text = "";

            vbox2.Remove(scrolledwindow1);
            HeaderBox tb = new HeaderBox();

            tb.Show();
            tb.SetMargins(1, 0, 0, 0);
            tb.ShowTopShadow = true;
            tb.ShadowSize    = 4;
            tb.SetPadding(8, 8, 8, 8);
            tb.UseChildBackgroundColor = true;
            tb.Add(scrolledwindow1);
            vbox2.PackStart(tb, true, true, 0);

            UpdateStyle();
            Ide.Gui.Styles.Changed += HandleStylesChanged;
        }
Exemplo n.º 7
0
        public TestResultsPad()
        {
            UnitTestService.TestSuiteChanged     += new EventHandler(OnTestSuiteChanged);
            IdeApp.Workspace.WorkspaceItemClosed += OnWorkspaceItemClosed;

            panel = new VBox {
                Name = "testResultBox"
            };

            // Results notebook

            book = new HPaned();
            panel.PackStart(book, true, true, 0);
            panel.FocusChain = new Gtk.Widget [] { book };

            // Failures tree
            failuresTreeView = new MonoDevelop.Ide.Gui.Components.PadTreeView {
                Name = "testResultsTree"
            };
            failuresTreeView.HeadersVisible = false;
            failuresStore = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(object), typeof(string), typeof(int), typeof(int));
            SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__Image", "store__Message", "store__RootTest",
                                                                          "store__FileName", "store__FileNumber", "store__ErrorOrStackTrace");

            TypeDescriptor.AddAttributes(failuresStore, modelAttr);

            var pr = new CellRendererImage();
            CellRendererText tr  = new CellRendererText();
            TreeViewColumn   col = new TreeViewColumn();

            col.PackStart(pr, false);
            col.AddAttribute(pr, "image", 0);
            col.PackStart(tr, false);
            col.AddAttribute(tr, "markup", 1);
            failuresTreeView.AppendColumn(col);
            failuresTreeView.Model = failuresStore;

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

            sw.ShadowType = ShadowType.None;
            sw.Add(failuresTreeView);
            book.Pack1(sw, true, true);

            outputView = new MonoDevelop.Ide.Gui.Components.LogView.LogTextView {
                Name = "testResultOutput"
            };
            outputView.ModifyFont(IdeServices.FontService.MonospaceFont);
            outputView.Editable = false;
            bold        = new TextTag("bold");
            bold.Weight = Pango.Weight.Bold;
            outputView.Buffer.TagTable.Add(bold);
            sw            = new MonoDevelop.Components.CompactScrolledWindow();
            sw.ShadowType = ShadowType.None;
            sw.Add(outputView);
            book.Pack2(sw, true, true);
            outputViewScrolled = sw;

            failuresTreeView.RowActivated      += OnRowActivated;
            failuresTreeView.Selection.Changed += OnRowSelected;
            failuresTreeView.DoPopupMenu        = delegate(EventButton evt) {
                IdeApp.CommandService.ShowContextMenu(failuresTreeView, evt,
                                                      "/MonoDevelop/UnitTesting/ContextMenu/TestResultsPad");
            };

            panel.ShowAll();

            outputViewScrolled.Hide();
        }
Exemplo n.º 8
0
        public RegexToolkitWidget()
        {
            this.Build();
            optionsStore = new ListStore(typeof(bool), typeof(string), typeof(Options));
            resultStore  = new Gtk.TreeStore(typeof(string), typeof(string), typeof(int), typeof(int));

            FillOptionsBox();

            this.entryRegEx.Changed           += UpdateStartButtonSensitivity;
            this.inputTextview.Buffer.Changed += UpdateStartButtonSensitivity;

            SetFindMode(true);

            var cellRendText = new CellRendererText();

            cellRendText.Ellipsize = Pango.EllipsizeMode.End;

            this.optionsTreeview.Model          = this.optionsStore;
            this.optionsTreeview.HeadersVisible = false;

            CellRendererToggle cellRendToggle = new CellRendererToggle();

            cellRendToggle.Toggled    += new ToggledHandler(OptionToggled);
            cellRendToggle.Activatable = true;
            this.optionsTreeview.AppendColumn("", cellRendToggle, "active", 0);
            this.optionsTreeview.AppendColumn("", cellRendText, "text", 1);

            this.resultsTreeview.Model          = this.resultStore;
            this.resultsTreeview.HeadersVisible = false;
            var col = new TreeViewColumn();

            this.resultsTreeview.AppendColumn(col);
            var pix = new CellRendererImage();

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

            this.resultsTreeview.RowActivated += delegate(object sender, RowActivatedArgs e) {
                Gtk.TreeIter iter;
                if (resultStore.GetIter(out iter, e.Path))
                {
                    int index  = (int)resultStore.GetValue(iter, 2);
                    int length = (int)resultStore.GetValue(iter, 3);
                    if (index >= 0)
                    {
                        this.inputTextview.Buffer.SelectRange(this.inputTextview.Buffer.GetIterAtOffset(index),
                                                              this.inputTextview.Buffer.GetIterAtOffset(index + length));
                    }
                    else
                    {
                        this.inputTextview.Buffer.SelectRange(this.inputTextview.Buffer.GetIterAtOffset(0), this.inputTextview.Buffer.GetIterAtOffset(0));
                    }
                }
            };

            this.entryReplace.Sensitive = this.checkbuttonReplace.Active = false;
            this.entryReplace.Changed  += delegate {
                UpdateRegex();
            };
            this.checkbuttonReplace.Toggled += delegate {
                this.entryReplace.Sensitive = this.checkbuttonReplace.Active;
                UpdateRegex();
            };
            this.expandMatches.Toggled += delegate {
                UpdateRegex();
            };
            this.vbox4.WidthRequest            = 380;
            this.scrolledwindow5.HeightRequest = 150;
            this.scrolledwindow1.HeightRequest = 150;
            Show();
        }
        public TranslationProjectOptionsDialog(TranslationProject project)
        {
            this.project = project;
            this.Build();

            entryPackageName.Text        = project.PackageName;
            entryRelPath.Text            = project.RelPath;
            radiobuttonRelPath.Active    = project.OutputType == TranslationOutputType.RelativeToOutput;
            radiobuttonSystemPath.Active = project.OutputType == TranslationOutputType.SystemPath;

            entryPackageName.Changed        += new EventHandler(UpdateInitString);
            entryRelPath.Changed            += new EventHandler(UpdateInitString);
            radiobuttonRelPath.Activated    += new EventHandler(UpdateInitString);
            radiobuttonSystemPath.Activated += new EventHandler(UpdateInitString);

            UpdateInitString(this, EventArgs.Empty);
            this.buttonOk.Clicked += delegate {
                project.PackageName = entryPackageName.Text;
                project.RelPath     = entryRelPath.Text;
                if (radiobuttonRelPath.Active)
                {
                    project.OutputType = TranslationOutputType.RelativeToOutput;
                }
                else
                {
                    project.OutputType = TranslationOutputType.SystemPath;
                }
                this.Destroy();
            };
            this.buttonCancel.Clicked += delegate {
                this.Destroy();
            };

            store = new TreeStore(typeof(string), typeof(bool), typeof(string), typeof(SolutionFolderItem), typeof(bool));
            treeviewProjectList.Model          = store;
            treeviewProjectList.HeadersVisible = false;

            TreeViewColumn col = new TreeViewColumn();

            CellRendererToggle cellRendererToggle = new CellRendererToggle();

            cellRendererToggle.Toggled    += new ToggledHandler(ActiveToggled);
            cellRendererToggle.Activatable = true;
            col.PackStart(cellRendererToggle, false);
            col.AddAttribute(cellRendererToggle, "active", 1);
            col.AddAttribute(cellRendererToggle, "visible", 4);

            CellRendererImage crp = new CellRendererImage();

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

            CellRendererText crt = new CellRendererText();

            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", 2);

            treeviewProjectList.AppendColumn(col);

            FillTree(TreeIter.Zero, project.ParentSolution.RootFolder);
        }
        public CSharpFormattingProfileDialog(CSharpFormattingPolicy profile)
        {
            // ReSharper disable once DoNotCallOverridableMethodsInConstructor
            this.Build();
            this.profile = profile;
            this.Title   = profile.IsBuiltIn ? GettextCatalog.GetString("Show built-in profile") : GettextCatalog.GetString("Edit Profile");

            notebookCategories.SwitchPage += delegate {
                TreeView treeView;
                switch (notebookCategories.Page)
                {
                case 0:
                    treeView = treeviewIndentOptions;
                    break;

                case 1:
                    treeView = treeviewNewLines;
                    break;

                case 2:                 // Blank lines
                    treeView = treeviewSpacing;
                    break;

                case 3:
                    treeView = treeviewWrapping;
                    break;

                default:
                    return;
                }

                TreeModel model;
                TreeIter  iter;
                if (treeView.Selection.GetSelected(out model, out iter))
                {
                    UpdateExample(model, iter);
                }
            };
            notebookCategories.ShowTabs = false;
            comboboxCategories.AppendText(GettextCatalog.GetString("Indentation"));
            comboboxCategories.AppendText(GettextCatalog.GetString("New Lines"));
            comboboxCategories.AppendText(GettextCatalog.GetString("Spacing"));
//			comboboxCategories.AppendText (GettextCatalog.GetString ("Style"));
            comboboxCategories.AppendText(GettextCatalog.GetString("Wrapping"));
            comboboxCategories.Changed += delegate {
                texteditor.Text         = "";
                notebookCategories.Page = comboboxCategories.Active;
            };
            comboboxCategories.Active = 0;

            var options = DefaultSourceEditorOptions.Instance;

            texteditor.Options    = DefaultSourceEditorOptions.PlainEditor;
            texteditor.IsReadOnly = true;
            texteditor.MimeType   = CSharpFormatter.MimeType;
            scrolledwindow.Child  = texteditor;
            ShowAll();

            #region Indent options
            indentationOptions = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(bool), typeof(bool));

            var column = new TreeViewColumn();
            // pixbuf column
            var pixbufCellRenderer = new CellRendererImage();
            column.PackStart(pixbufCellRenderer, false);
            column.SetCellDataFunc(pixbufCellRenderer, RenderIcon);

            // text column
            var cellRendererText = new CellRendererText();
            cellRendererText.Ypad = 1;
            column.PackStart(cellRendererText, true);
            column.SetAttributes(cellRendererText, "text", 1);

            treeviewIndentOptions.Model              = indentationOptions;
            treeviewIndentOptions.HeadersVisible     = false;
            treeviewIndentOptions.Selection.Changed += TreeSelectionChanged;
            treeviewIndentOptions.AppendColumn(column);

            column = new TreeViewColumn();
            var cellRendererCombo = new CellRendererCombo();
            cellRendererCombo.Ypad       = 1;
            cellRendererCombo.Mode       = CellRendererMode.Editable;
            cellRendererCombo.TextColumn = 1;
            cellRendererCombo.Model      = ComboBoxStore;
            cellRendererCombo.HasEntry   = false;
            cellRendererCombo.Editable   = !profile.IsBuiltIn;

            cellRendererCombo.Edited += new ComboboxEditedHandler(this, indentationOptions).ComboboxEdited;

            column.PackStart(cellRendererCombo, false);
            column.SetAttributes(cellRendererCombo, "visible", comboVisibleColumn);
            column.SetCellDataFunc(cellRendererCombo, ComboboxDataFunc);

            var cellRendererToggle = new CellRendererToggle();
            cellRendererToggle.Ypad        = 1;
            cellRendererToggle.Activatable = !profile.IsBuiltIn;
            cellRendererToggle.Toggled    += new CellRendererToggledHandler(this, treeviewIndentOptions, indentationOptions).Toggled;
            column.PackStart(cellRendererToggle, false);
            column.SetAttributes(cellRendererToggle, "visible", toggleVisibleColumn);
            column.SetCellDataFunc(cellRendererToggle, ToggleDataFunc);
            treeviewIndentOptions.AppendColumn(column);


            AddOption(indentationOptions, "IndentBlock", GettextCatalog.GetString("Indent block contents"), "namespace Test { class AClass { void Method () { int x; int y; } } }");
            AddOption(indentationOptions, "IndentBraces", GettextCatalog.GetString("Indent open and close braces"), "class AClass { int aField; void AMethod () {}}");
            AddOption(indentationOptions, "IndentSwitchSection", GettextCatalog.GetString("Indent case contents"), "class AClass { void Method (int x) { switch (x) { case 1: break; } } }");
            AddOption(indentationOptions, "IndentSwitchCaseSection", GettextCatalog.GetString("Indent case labels"), "class AClass { void Method (int x) { switch (x) { case 1: break; } } }");
            AddOption(indentationOptions, "LabelPositioning", GettextCatalog.GetString("Label indentation"), "enum AEnum { A, B, C }");
            treeviewIndentOptions.ExpandAll();
            #endregion

            #region New line options
            newLineOptions = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(bool), typeof(bool));

            column = new TreeViewColumn();
            // pixbuf column
            column.PackStart(pixbufCellRenderer, false);
            column.SetCellDataFunc(pixbufCellRenderer, RenderIcon);

            // text column
            cellRendererText      = new CellRendererText();
            cellRendererText.Ypad = 1;
            column.PackStart(cellRendererText, true);
            column.SetAttributes(cellRendererText, "text", 1);

            treeviewNewLines.Model              = newLineOptions;
            treeviewNewLines.HeadersVisible     = false;
            treeviewNewLines.Selection.Changed += TreeSelectionChanged;
            treeviewNewLines.AppendColumn(column);

            column                       = new TreeViewColumn();
            cellRendererCombo            = new CellRendererCombo();
            cellRendererCombo.Ypad       = 1;
            cellRendererCombo.Mode       = CellRendererMode.Editable;
            cellRendererCombo.TextColumn = 1;
            cellRendererCombo.Model      = ComboBoxStore;
            cellRendererCombo.HasEntry   = false;
            cellRendererCombo.Editable   = !profile.IsBuiltIn;
            cellRendererCombo.Edited    += new ComboboxEditedHandler(this, newLineOptions).ComboboxEdited;

            column.PackStart(cellRendererCombo, false);
            column.SetAttributes(cellRendererCombo, "visible", comboVisibleColumn);
            column.SetCellDataFunc(cellRendererCombo, ComboboxDataFunc);

            cellRendererToggle             = new CellRendererToggle();
            cellRendererToggle.Activatable = !profile.IsBuiltIn;
            cellRendererToggle.Ypad        = 1;
            cellRendererToggle.Toggled    += new CellRendererToggledHandler(this, treeviewNewLines, newLineOptions).Toggled;
            column.PackStart(cellRendererToggle, false);
            column.SetAttributes(cellRendererToggle, "visible", toggleVisibleColumn);
            column.SetCellDataFunc(cellRendererToggle, ToggleDataFunc);

            treeviewNewLines.AppendColumn(column);

            var category = AddOption(newLineOptions, null, GettextCatalog.GetString("New line options for braces"), null);
            AddOption(newLineOptions, category, "NewLinesForBracesInTypes", GettextCatalog.GetString("Place open brace on new line for types"), @"class Example
{
}");
            AddOption(newLineOptions, category, "NewLinesForBracesInMethods", GettextCatalog.GetString("Place open brace on new line for methods"), @"void Example()
{
}");
            AddOption(newLineOptions, category, "NewLinesForBracesInProperties", GettextCatalog.GetString("Place open brace on new line for properties"), @"int Example { 
	get  { 
		return 1;
	}
	set {
		// nothing
	}
}
"
                      );

            AddOption(newLineOptions, category, "NewLinesForBracesInAccessors", GettextCatalog.GetString("Place open brace on new line for property accessors"), @"int Example { 
	get  { 
		return 1;
	}
	set {
		// nothing
	}
}
"
                      );


            AddOption(newLineOptions, category, "NewLinesForBracesInAnonymousMethods", GettextCatalog.GetString("Place open brace on new line for anonymous methods"), @"void Example()
{
	var del = new delegate (int i, int j) {
	};
}");
            AddOption(newLineOptions, category, "NewLinesForBracesInControlBlocks", GettextCatalog.GetString("Place open brace on new line for control blocks"), @"void Example()
{
	if (true)
	{
	}
}");
            AddOption(newLineOptions, category, "NewLinesForBracesInAnonymousTypes", GettextCatalog.GetString("Place open brace on new line for anonymous types"), @"void Example()
{
	var c = new
	{
		A = 1,
		B = 2
	};
}");
            AddOption(newLineOptions, category, "NewLinesForBracesInObjectCollectionArrayInitializers", GettextCatalog.GetString("Place open brace on new line for object initializers"), @"void Example()
{
	new MyObject
	{
		A = 1,
		B = 2 
	};
}");
            AddOption(newLineOptions, category, "NewLinesForBracesInLambdaExpressionBody", GettextCatalog.GetString("Place open brace on new line for lambda expression"), @"void Example()
{
	Action act = () =>
	{
	};
}");

            category = AddOption(newLineOptions, null, GettextCatalog.GetString("New line options for keywords"), null);
            AddOption(newLineOptions, category, "NewLineForElse", GettextCatalog.GetString("Place \"else\" on new line"), @"void Example()
{
	if (true) {
		// ...
	} else {
		// ...
	}
}");
            AddOption(newLineOptions, category, "NewLineForCatch", GettextCatalog.GetString("Place \"catch\" on new line"), @"void Example()
{
	try {
	} catch {
	} finally {
	}
}");
            AddOption(newLineOptions, category, "NewLineForFinally", GettextCatalog.GetString("Place \"finally\" on new line"), @"void Example()
{
	try {
	} catch {
	} finally {
	}
}");

            category = AddOption(newLineOptions, null, GettextCatalog.GetString("New line options for expressions"), null);
            AddOption(newLineOptions, category, "NewLineForMembersInObjectInit", GettextCatalog.GetString("Place members in object initializers on new line"), @"void Example()
{
	new MyObject {
		A = 1,
		B = 2
	};
}");
            AddOption(newLineOptions, category, "NewLineForMembersInAnonymousTypes", GettextCatalog.GetString("Place members in anonymous types on new line"), @"void Example()
{
	var c = new
	{
		A = 1,
		B = 2
	};
}");
            AddOption(newLineOptions, category, "NewLineForClausesInQuery", GettextCatalog.GetString("Place query expression clauses on new line"), @"void Example()
{
	from o in col select o.Foo;
}");
            treeviewNewLines.ExpandAll();
            #endregion

            #region Spacing options
            spacingOptions = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(bool), typeof(bool));

            column = new TreeViewColumn();
            // pixbuf column
            column.PackStart(pixbufCellRenderer, false);
            column.SetCellDataFunc(pixbufCellRenderer, RenderIcon);

            // text column
            cellRendererText.Ypad = 1;
            column.PackStart(cellRendererText, true);
            column.SetAttributes(cellRendererText, "text", 1);

            treeviewSpacing.Model              = spacingOptions;
            treeviewSpacing.HeadersVisible     = false;
            treeviewSpacing.Selection.Changed += TreeSelectionChanged;
            treeviewSpacing.AppendColumn(column);

            column                       = new TreeViewColumn();
            cellRendererCombo            = new CellRendererCombo();
            cellRendererCombo.Ypad       = 1;
            cellRendererCombo.Mode       = CellRendererMode.Editable;
            cellRendererCombo.TextColumn = 1;
            cellRendererCombo.Model      = ComboBoxStore;
            cellRendererCombo.HasEntry   = false;
            cellRendererCombo.Editable   = !profile.IsBuiltIn;
            cellRendererCombo.Edited    += new ComboboxEditedHandler(this, spacingOptions).ComboboxEdited;

            column.PackStart(cellRendererCombo, false);
            column.SetAttributes(cellRendererCombo, "visible", comboVisibleColumn);
            column.SetCellDataFunc(cellRendererCombo, ComboboxDataFunc);

            cellRendererToggle             = new CellRendererToggle();
            cellRendererToggle.Activatable = !profile.IsBuiltIn;
            cellRendererToggle.Ypad        = 1;
            cellRendererToggle.Toggled    += new CellRendererToggledHandler(this, treeviewSpacing, spacingOptions).Toggled;
            column.PackStart(cellRendererToggle, false);
            column.SetAttributes(cellRendererToggle, "visible", toggleVisibleColumn);
            column.SetCellDataFunc(cellRendererToggle, ToggleDataFunc);

            treeviewSpacing.AppendColumn(column);

            category = AddOption(spacingOptions, null, GettextCatalog.GetString("Set spacing for method declarations"), null);
            AddOption(spacingOptions, category, "SpacingAfterMethodDeclarationName", GettextCatalog.GetString("Insert space between method name and its opening parenthesis"),
                      @"void Example()
{
}");

            AddOption(spacingOptions, category, "SpaceWithinMethodDeclarationParenthesis", GettextCatalog.GetString("Insert space withing argument list parentheses"),
                      @"void Example(int i, int j)
{
}");
            AddOption(spacingOptions, category, "SpaceBetweenEmptyMethodDeclarationParentheses", GettextCatalog.GetString("Insert space within empty argument list parentheses"), @"void Example()
{
}");

            category = AddOption(spacingOptions, null, GettextCatalog.GetString("Set spacing for method calls"), null);
            AddOption(spacingOptions, category, "SpaceAfterMethodCallName", GettextCatalog.GetString("Insert space between method name and its opening parenthesis"), @"void Example()
{
	Test();
}");
            AddOption(spacingOptions, category, "SpaceWithinMethodCallParentheses", GettextCatalog.GetString("Insert space withing argument list parentheses"), @"void Example()
{
	Test(1, 2);
}");
            AddOption(spacingOptions, category, "SpaceBetweenEmptyMethodCallParentheses", GettextCatalog.GetString("Insert space within empty argument list parentheses"), @"void Example()
{
	Test();
}");

            category = AddOption(spacingOptions, null, GettextCatalog.GetString("Set other spacing options"), null);
            AddOption(spacingOptions, category, "SpaceAfterControlFlowStatementKeyword", GettextCatalog.GetString("Insert space after keywords in control flow statements"), @"void Example()
{
	if (condition)
	{
	}
}");

            AddOption(spacingOptions, category, "SpaceWithinExpressionParentheses", GettextCatalog.GetString("Insert space within parentheses of expressions"), @"void Example()
{
	i = (5 + 3) * 2;
}");
            AddOption(spacingOptions, category, "SpaceWithinCastParentheses", GettextCatalog.GetString("Insert space within parentheses of type casts"), @"void Example()
{
	test = (ITest)o;
}");
            AddOption(spacingOptions, category, "SpaceWithinOtherParentheses", GettextCatalog.GetString("Insert space within parentheses of control flow statements"), @"void Example()
{
	if (condition)
	{
	}
}");

            AddOption(spacingOptions, category, "SpaceAfterCast", GettextCatalog.GetString("Insert space after casts"), @"void Example()
{
	test = (ITest)o;
}");
            AddOption(spacingOptions, category, "SpacesIgnoreAroundVariableDeclaration", GettextCatalog.GetString("Ignore spaces in declaration statements"), @"void Example()
{
	int x=5;
}");

            category = AddOption(spacingOptions, null, GettextCatalog.GetString("Set spacing for brackets"), null);
            AddOption(spacingOptions, category, "SpaceBeforeOpenSquareBracket", GettextCatalog.GetString("Insert space before open square bracket"), @"void Example()
{
	i[5] = 3;
}");
            AddOption(spacingOptions, category, "SpaceBetweenEmptySquareBrackets", GettextCatalog.GetString("Insert space within empty square brackets"), @"void Example()
{
	new int[] {1, 2};
}");
            AddOption(spacingOptions, category, "SpaceWithinSquareBrackets", GettextCatalog.GetString("Insert space within square brackets"), @"void Example()
{
	i[5] = 3;
}");

            category = AddOption(spacingOptions, null, GettextCatalog.GetString("Set spacing for brackets"), null);
            AddOption(spacingOptions, category, "SpaceAfterColonInBaseTypeDeclaration", GettextCatalog.GetString("Insert space after colon for base or interface in type declaration"), @"class Foo : Bar
{
}");
            AddOption(spacingOptions, category, "SpaceAfterComma", GettextCatalog.GetString("Insert space after comma"), @"void Example()
{
	for (int i =0; i < 10, i >5;i++)
	{
	}
}");
            AddOption(spacingOptions, category, "SpaceAfterDot", GettextCatalog.GetString("Insert space after dot"), @"void Example()
{
	Foo.Bar.Test();
}");
            AddOption(spacingOptions, category, "SpaceAfterSemicolonsInForStatement", GettextCatalog.GetString("Insert space after semicolon in \"for\" statement"), @"void Example()
{
	for (int i = 0; i< 10; i++)
	{
	}
}");
            AddOption(spacingOptions, category, "SpaceBeforeColonInBaseTypeDeclaration", GettextCatalog.GetString("Insert space before colon for base or interface in type declaration"), @"class Foo : Bar
{
}");
            AddOption(spacingOptions, category, "SpaceBeforeComma", GettextCatalog.GetString("Insert space before comma"), @"void Example()
{
	for (int i =0; i < 10, i >5;i++)
	{
	}
}");
            AddOption(spacingOptions, category, "SpaceBeforeDot", GettextCatalog.GetString("Insert space before dot"), @"void Example()
{
	Foo.Bar.Test();
}");
            AddOption(spacingOptions, category, "SpaceBeforeSemicolonsInForStatement", GettextCatalog.GetString("Insert space before semicolon in \"for\" statement"), @"void Example()
{
	for (int i = 0; i< 10; i++)
	{
	}
}");

            AddOption(spacingOptions, category, "SpacingAroundBinaryOperator", GettextCatalog.GetString("Set spacing for operators"), @"void Example()
{
	i = (5 + 3) * 2;
}");

            treeviewSpacing.ExpandAll();
            #endregion

            #region Style options
            styleOptions = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(bool), typeof(bool));

            column = new TreeViewColumn();
            // pixbuf column
            column.PackStart(pixbufCellRenderer, false);
            column.SetCellDataFunc(pixbufCellRenderer, RenderIcon);

            // text column
            cellRendererText.Ypad = 1;
            column.PackStart(cellRendererText, true);
            column.SetAttributes(cellRendererText, "text", 1);


            treeviewStyle.Model              = styleOptions;
            treeviewStyle.HeadersVisible     = false;
            treeviewStyle.Selection.Changed += TreeSelectionChanged;
            treeviewStyle.AppendColumn(column);

            column                       = new TreeViewColumn();
            cellRendererCombo            = new CellRendererCombo();
            cellRendererCombo.Ypad       = 1;
            cellRendererCombo.Mode       = CellRendererMode.Editable;
            cellRendererCombo.TextColumn = 1;
            cellRendererCombo.Model      = ComboBoxStore;
            cellRendererCombo.HasEntry   = false;
            cellRendererCombo.Editable   = !profile.IsBuiltIn;
            cellRendererCombo.Edited    += new ComboboxEditedHandler(this, styleOptions).ComboboxEdited;

            column.PackStart(cellRendererCombo, false);
            column.SetAttributes(cellRendererCombo, "visible", comboVisibleColumn);
            column.SetCellDataFunc(cellRendererCombo, ComboboxDataFunc);

            cellRendererToggle             = new CellRendererToggle();
            cellRendererToggle.Activatable = !profile.IsBuiltIn;
            cellRendererToggle.Ypad        = 1;
            cellRendererToggle.Toggled    += new CellRendererToggledHandler(this, treeviewSpacing, styleOptions).Toggled;
            column.PackStart(cellRendererToggle, false);
            column.SetAttributes(cellRendererToggle, "visible", toggleVisibleColumn);
            column.SetCellDataFunc(cellRendererToggle, ToggleDataFunc);

            treeviewStyle.AppendColumn(column);

            AddOption(styleOptions, category, null, GettextCatalog.GetString("Qualify member access with 'this'"), null);
            AddOption(styleOptions, category, null, GettextCatalog.GetString("Use 'var' when generating locals"), null);

            treeviewStyle.ExpandAll();
            #endregion

            #region Wrapping options
            wrappingOptions = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(bool), typeof(bool));

            column = new TreeViewColumn();
            // pixbuf column
            column.PackStart(pixbufCellRenderer, false);
            column.SetCellDataFunc(pixbufCellRenderer, RenderIcon);

            // text column
            cellRendererText.Ypad = 1;
            column.PackStart(cellRendererText, true);
            column.SetAttributes(cellRendererText, "text", 1);

            treeviewWrapping.Model              = wrappingOptions;
            treeviewWrapping.HeadersVisible     = false;
            treeviewWrapping.Selection.Changed += TreeSelectionChanged;
            treeviewWrapping.AppendColumn(column);

            column                       = new TreeViewColumn();
            cellRendererCombo            = new CellRendererCombo();
            cellRendererCombo.Ypad       = 1;
            cellRendererCombo.Mode       = CellRendererMode.Editable;
            cellRendererCombo.TextColumn = 1;
            cellRendererCombo.Model      = ComboBoxStore;
            cellRendererCombo.HasEntry   = false;
            cellRendererCombo.Editable   = !profile.IsBuiltIn;
            cellRendererCombo.Edited    += new ComboboxEditedHandler(this, wrappingOptions).ComboboxEdited;

            column.PackStart(cellRendererCombo, false);
            column.SetAttributes(cellRendererCombo, "visible", comboVisibleColumn);
            column.SetCellDataFunc(cellRendererCombo, ComboboxDataFunc);

            cellRendererToggle             = new CellRendererToggle();
            cellRendererToggle.Activatable = !profile.IsBuiltIn;
            cellRendererToggle.Ypad        = 1;
            cellRendererToggle.Toggled    += new CellRendererToggledHandler(this, treeviewSpacing, wrappingOptions).Toggled;
            column.PackStart(cellRendererToggle, false);
            column.SetAttributes(cellRendererToggle, "visible", toggleVisibleColumn);
            column.SetCellDataFunc(cellRendererToggle, ToggleDataFunc);

            treeviewWrapping.AppendColumn(column);

            AddOption(wrappingOptions, "WrappingPreserveSingleLine", GettextCatalog.GetString("Leave block on single line"), "");
            AddOption(wrappingOptions, "WrappingKeepStatementsOnSingleLine", GettextCatalog.GetString("Leave statements and member declarations on the same line"), "");

            treeviewWrapping.ExpandAll();
            #endregion
        }
Exemplo n.º 11
0
        public override void Initialize(NodeBuilder[] builders, TreePadOption[] options, string menuPath)
        {
            base.Initialize(builders, options, menuPath);

            testChangedHandler            = (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnDetailsTestChanged));
            testService.TestSuiteChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnTestSuiteChanged));
            paned = new VPaned();

            VBox            vbox       = new VBox();
            DockItemToolbar topToolbar = Window.GetToolbar(PositionType.Top);

            var hbox = new HBox {
                Spacing = 6
            };

            hbox.PackStart(new ImageView(ImageService.GetIcon("nunit-run", IconSize.Menu)), false, false, 0);
            hbox.PackStart(new Label(GettextCatalog.GetString("Run All")), false, false, 0);
            buttonRunAll             = new Button(hbox);
            buttonRunAll.Clicked    += new EventHandler(OnRunAllClicked);
            buttonRunAll.Sensitive   = true;
            buttonRunAll.TooltipText = GettextCatalog.GetString("Run all tests");
            topToolbar.Add(buttonRunAll);

            buttonStop             = new Button(new Gtk.Image(Ide.Gui.Stock.Stop, IconSize.Menu));
            buttonStop.Clicked    += new EventHandler(OnStopClicked);
            buttonStop.Sensitive   = false;
            buttonStop.TooltipText = GettextCatalog.GetString("Cancel running test");
            topToolbar.Add(buttonStop);
            topToolbar.ShowAll();

            vbox.PackEnd(base.Control, true, true, 0);
            vbox.FocusChain = new Gtk.Widget [] { base.Control };

            paned.Pack1(vbox, true, true);

            detailsPad = new VBox();

            EventBox eb     = new EventBox();
            HBox     header = new HBox();

            eb.Add(header);

            detailLabel         = new HeaderLabel();
            detailLabel.Padding = 6;

            Button hb = new Button(new Gtk.Image("gtk-close", IconSize.SmallToolbar));

            hb.Relief   = ReliefStyle.None;
            hb.Clicked += new EventHandler(OnCloseDetails);
            header.PackEnd(hb, false, false, 0);

            hb          = new Button(new Gtk.Image("gtk-go-back", IconSize.SmallToolbar));
            hb.Relief   = ReliefStyle.None;
            hb.Clicked += new EventHandler(OnGoBackTest);
            header.PackEnd(hb, false, false, 0);

            header.Add(detailLabel);
            Gdk.Color hcol = eb.Style.Background(StateType.Normal);
            hcol.Red   = (ushort)(((double)hcol.Red) * 0.9);
            hcol.Green = (ushort)(((double)hcol.Green) * 0.9);
            hcol.Blue  = (ushort)(((double)hcol.Blue) * 0.9);
            //	eb.ModifyBg (StateType.Normal, hcol);

            detailsPad.PackStart(eb, false, false, 0);

            VPaned panedDetails = new VPaned();

            panedDetails.BorderWidth = 3;
            VBox boxPaned1 = new VBox();

            chart = new TestChart();
            chart.ButtonPressEvent += OnChartButtonPress;
            chart.SelectionChanged += new EventHandler(OnChartDateChanged);
            chart.HeightRequest     = 50;

            Toolbar toolbar = new Toolbar();

            toolbar.IconSize     = IconSize.SmallToolbar;
            toolbar.ToolbarStyle = ToolbarStyle.Icons;
            toolbar.ShowArrow    = false;
            ToolButton but = new ToolButton("gtk-zoom-in");

            but.Clicked += new EventHandler(OnZoomIn);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-zoom-out");
            but.Clicked += new EventHandler(OnZoomOut);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-go-back");
            but.Clicked += new EventHandler(OnChartBack);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-go-forward");
            but.Clicked += new EventHandler(OnChartForward);
            toolbar.Insert(but, -1);

            but          = new ToolButton("gtk-goto-last");
            but.Clicked += new EventHandler(OnChartLast);
            toolbar.Insert(but, -1);

            boxPaned1.PackStart(toolbar, false, false, 0);
            boxPaned1.PackStart(chart, true, true, 0);

            panedDetails.Pack1(boxPaned1, false, false);

            // Detailed test information --------

            infoBook = new ButtonNotebook();
            infoBook.PageLoadRequired += new EventHandler(OnPageLoadRequired);

            // Info - Group summary

            Frame          tf = new Frame();
            ScrolledWindow sw = new ScrolledWindow();

            detailsTree = new TreeView();

            detailsTree.HeadersVisible = true;
            detailsTree.RulesHint      = true;
            detailsStore = new ListStore(typeof(object), typeof(string), typeof(string), typeof(string), typeof(string));

            CellRendererText trtest = new CellRendererText();
            CellRendererText tr;

            TreeViewColumn col3 = new TreeViewColumn();

            col3.Expand = false;
//			col3.Alignment = 0.5f;
            col3.Widget = new ImageView(TestStatusIcon.Success);
            col3.Widget.Show();
            tr = new CellRendererText();
//			tr.Xalign = 0.5f;
            col3.PackStart(tr, false);
            col3.AddAttribute(tr, "markup", 2);
            detailsTree.AppendColumn(col3);

            TreeViewColumn col4 = new TreeViewColumn();

            col4.Expand = false;
//			col4.Alignment = 0.5f;
            col4.Widget = new ImageView(TestStatusIcon.Failure);
            col4.Widget.Show();
            tr = new CellRendererText();
//			tr.Xalign = 0.5f;
            col4.PackStart(tr, false);
            col4.AddAttribute(tr, "markup", 3);
            detailsTree.AppendColumn(col4);

            TreeViewColumn col5 = new TreeViewColumn();

            col5.Expand = false;
//			col5.Alignment = 0.5f;
            col5.Widget = new ImageView(TestStatusIcon.NotRun);
            col5.Widget.Show();
            tr = new CellRendererText();
//			tr.Xalign = 0.5f;
            col5.PackStart(tr, false);
            col5.AddAttribute(tr, "markup", 4);
            detailsTree.AppendColumn(col5);

            TreeViewColumn col1 = new TreeViewColumn();

//			col1.Resizable = true;
//			col1.Expand = true;
            col1.Title = "Test";
            col1.PackStart(trtest, true);
            col1.AddAttribute(trtest, "markup", 1);
            detailsTree.AppendColumn(col1);

            detailsTree.Model = detailsStore;

            sw.Add(detailsTree);
            tf.Add(sw);
            tf.ShowAll();

            TestSummaryPage = infoBook.AddPage(GettextCatalog.GetString("Summary"), tf);

            // Info - Regressions list

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            regressionTree = new TreeView();
            regressionTree.HeadersVisible = false;
            regressionTree.RulesHint      = true;
            regressionStore = new ListStore(typeof(object), typeof(string), typeof(Xwt.Drawing.Image));

            CellRendererText trtest2 = new CellRendererText();
            var pr = new CellRendererImage();

            TreeViewColumn col = new TreeViewColumn();

            col.PackStart(pr, false);
            col.AddAttribute(pr, "image", 2);
            col.PackStart(trtest2, false);
            col.AddAttribute(trtest2, "markup", 1);
            regressionTree.AppendColumn(col);
            regressionTree.Model = regressionStore;
            sw.Add(regressionTree);
            tf.ShowAll();

            TestRegressionsPage = infoBook.AddPage(GettextCatalog.GetString("Regressions"), tf);

            // Info - Failed tests list

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            failedTree = new TreeView();
            failedTree.HeadersVisible = false;
            failedTree.RulesHint      = true;
            failedStore = new ListStore(typeof(object), typeof(string), typeof(Xwt.Drawing.Image));

            trtest2 = new CellRendererText();
            pr      = new CellRendererImage();

            col = new TreeViewColumn();
            col.PackStart(pr, false);
            col.AddAttribute(pr, "image", 2);
            col.PackStart(trtest2, false);
            col.AddAttribute(trtest2, "markup", 1);
            failedTree.AppendColumn(col);
            failedTree.Model = failedStore;
            sw.Add(failedTree);
            tf.ShowAll();

            TestFailuresPage = infoBook.AddPage(GettextCatalog.GetString("Failed tests"), tf);

            // Info - results

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            resultView          = new TextView();
            resultView.Editable = false;
            sw.Add(resultView);
            tf.ShowAll();
            TestResultPage = infoBook.AddPage(GettextCatalog.GetString("Result"), tf);

            // Info - Output

            tf = new Frame();
            sw = new ScrolledWindow();
            tf.Add(sw);
            outputView          = new TextView();
            outputView.Editable = false;
            sw.Add(outputView);
            tf.ShowAll();
            TestOutputPage = infoBook.AddPage(GettextCatalog.GetString("Output"), tf);

            panedDetails.Pack2(infoBook, true, true);
            detailsPad.PackStart(panedDetails, true, true, 0);
            paned.Pack2(detailsPad, true, true);

            paned.ShowAll();

            infoBook.HidePage(TestResultPage);
            infoBook.HidePage(TestOutputPage);
            infoBook.HidePage(TestSummaryPage);
            infoBook.HidePage(TestRegressionsPage);
            infoBook.HidePage(TestFailuresPage);

            detailsPad.Sensitive = false;
            detailsPad.Hide();

            detailsTree.RowActivated    += new Gtk.RowActivatedHandler(OnTestActivated);
            regressionTree.RowActivated += new Gtk.RowActivatedHandler(OnRegressionTestActivated);
            failedTree.RowActivated     += new Gtk.RowActivatedHandler(OnFailedTestActivated);

            foreach (UnitTest t in testService.RootTests)
            {
                TreeView.AddChild(t);
            }
        }
Exemplo n.º 12
0
        public StackTracePadWidget()
        {
            this.ShadowType = ShadowType.None;

            store = new ListStore(typeof(bool), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style), typeof(object), typeof(int), typeof(bool));
            SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__Icon", "store__Method", "store_File",
                                                                          "store_Lang", "store_Addr", "store_Foreground", "store_Style", "store_Frame", "store_FrameIndex");

            TypeDescriptor.AddAttributes(store, modelAttr);

            tree                 = new PadTreeView(store);
            tree.RulesHint       = true;
            tree.HeadersVisible  = true;
            tree.Selection.Mode  = SelectionMode.Multiple;
            tree.SearchEqualFunc = Search;
            tree.EnableSearch    = true;
            tree.SearchColumn    = 1;
            tree.DoPopupMenu     = ShowPopup;

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

            col.PackStart(crp, false);
            crp.Image = pointerImage;
            col.AddAttribute(crp, "visible", IconColumn);
            tree.AppendColumn(col);

            col       = new TreeViewColumn();
            col.Title = GettextCatalog.GetString("Name");
            col.PackStart(tree.TextRenderer, true);
            col.AddAttribute(tree.TextRenderer, "text", MethodColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            col.AddAttribute(tree.TextRenderer, "style", StyleColumn);
            col.Resizable = true;
            col.Alignment = 0.0f;
            tree.AppendColumn(col);

            col       = new TreeViewColumn();
            col.Title = GettextCatalog.GetString("File");
            col.PackStart(tree.TextRenderer, false);
            col.AddAttribute(tree.TextRenderer, "text", FileColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            tree.AppendColumn(col);

            col       = new TreeViewColumn();
            col.Title = GettextCatalog.GetString("Language");
            col.PackStart(tree.TextRenderer, false);
            col.AddAttribute(tree.TextRenderer, "text", LangColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            col.Visible = false;            //By default Language column is hidden
            tree.AppendColumn(col);

            col       = new TreeViewColumn();
            col.Title = GettextCatalog.GetString("Address");
            col.PackStart(tree.TextRenderer, false);
            col.AddAttribute(tree.TextRenderer, "text", AddrColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            col.Visible = false;            //By default Address column is hidden
            tree.AppendColumn(col);

            Add(tree);

            LoadColumnsVisibility();
            LoadSettings();

            ShowAll();
            UpdateDisplay();

            DebuggingService.CallStackChanged    += OnClassStackChanged;
            DebuggingService.CurrentFrameChanged += OnFrameChanged;
            DebuggingService.StoppedEvent        += OnDebuggingServiceStopped;

            tree.RowActivated += OnRowActivated;
        }
        public ComponentSelectorDialog(IToolboxConsumer currentConsumer)
        {
            using (ProgressMonitor monitor = new MessageDialogProgressMonitor(true, true, false, true)) {
                index = DesignerSupport.Service.ToolboxService.GetComponentIndex(monitor);
            }

            this.Build();

            store = new TreeStore(typeof(bool), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Xwt.Drawing.Image), typeof(ItemToolboxNode), typeof(bool), typeof(int));

            TreeViewColumn col;

            col = new TreeViewColumn();
            Gtk.CellRendererToggle crt = new CellRendererToggle();
            col.PackStart(crt, false);
            col.AddAttribute(crt, "active", ColChecked);
            col.AddAttribute(crt, "visible", ColShowCheck);
            crt.Toggled     += OnToggleItem;
            col.SortColumnId = ColChecked;
            listView.AppendColumn(col);

            col         = new TreeViewColumn();
            col.Spacing = 3;
            col.Title   = GettextCatalog.GetString("Name");
            var crp = new CellRendererImage();
            CellRendererText crx = new CellRendererText();

            crx.Width = 150;
            col.PackStart(crp, false);
            col.PackStart(crx, false);
            col.AddAttribute(crp, "image", ColIcon);
            col.AddAttribute(crp, "visible", ColShowCheck);
            col.AddAttribute(crx, "text", ColName);
            col.AddAttribute(crx, "weight", ColBold);
            listView.AppendColumn(col);
            col.Resizable    = true;
            col.SortColumnId = ColName;

            col              = listView.AppendColumn(GettextCatalog.GetString("Library"), new CellRendererText(), "text", ColLibrary);
            col.Resizable    = true;
            col.SortColumnId = ColLibrary;

            col              = listView.AppendColumn(GettextCatalog.GetString("Location"), new CellRendererText(), "text", ColPath);
            col.Resizable    = true;
            col.SortColumnId = ColPath;

            store.SetSortColumnId(ColName, SortType.Ascending);
            listView.SearchColumn = ColName;
            listView.Model        = store;

            foreach (ItemToolboxNode it in DesignerSupport.Service.ToolboxService.UserItems)
            {
                currentItems [it] = it;
            }

            List <string> list = new List <string> ();

            foreach (ComponentIndexFile ifile in index.Files)
            {
                foreach (ItemToolboxNode co in ifile.Components)
                {
                    if (!list.Contains(co.ItemDomain))
                    {
                        list.Add(co.ItemDomain);
                    }
                }
            }

            string defaultDomain = null;

            if (currentConsumer != null)
            {
                defaultDomain = currentConsumer.DefaultItemDomain;
            }

            comboType.AppendText(GettextCatalog.GetString("All"));
            comboType.Active = 0;

            for (int n = 0; n < list.Count; n++)
            {
                string s = list [n];
                comboType.AppendText(s);
                if (s == defaultDomain)
                {
                    comboType.Active = n + 1;
                }
            }
        }
        public ProjectFileSelectorDialog(Project project, string defaultFilterName, string defaultFilterPattern, string [] buildActions)
        {
            this.project       = project;
            this.defaultFilter = new SelectFileDialogFilter(defaultFilterName, defaultFilterPattern ?? "*");
            this.buildActions  = buildActions;

            this.Build();

            projBuf      = ImageService.GetIcon(project.StockIcon, IconSize.Menu);
            dirClosedBuf = ImageService.GetIcon(MonoDevelop.Ide.Gui.Stock.ClosedFolder, IconSize.Menu);
            dirOpenBuf   = ImageService.GetIcon(MonoDevelop.Ide.Gui.Stock.OpenFolder, IconSize.Menu);

            TreeViewColumn projectCol = new TreeViewColumn();

            projectCol.Title = GettextCatalog.GetString("Project Folders");
            var pixRenderer = new CellRendererImage();
            CellRendererText txtRenderer = new CellRendererText();

            projectCol.PackStart(pixRenderer, false);
            projectCol.PackStart(txtRenderer, true);
            projectCol.SetCellDataFunc(pixRenderer, new TreeCellDataFunc(PixDataFunc));
            projectCol.SetCellDataFunc(txtRenderer, new TreeCellDataFunc(TxtDataFunc));
            projectTree.Model = dirStore;
            projectTree.AppendColumn(projectCol);
            TreeIter projectIter = dirStore.AppendValues("", FilePath.Empty);

            InitDirs(projectIter);
            projectTree.ExpandAll();
            projectTree.RowActivated += delegate {
                fileList.GrabFocus();
            };
            projectTree.KeyPressEvent += ProjectListKeyPressEvent;

            TreeViewColumn fileCol         = new TreeViewColumn();
            var            filePixRenderer = new CellRendererImage();

            fileCol.Title = GettextCatalog.GetString("Files");
            fileCol.PackStart(filePixRenderer, false);
            fileCol.PackStart(txtRenderer, true);
            fileCol.AddAttribute(filePixRenderer, "image", 1);
            fileCol.SetCellDataFunc(txtRenderer, new TreeCellDataFunc(TxtFileDataFunc));
            fileList.Model = fileStore;
            fileList.AppendColumn(fileCol);
            fileList.RowActivated += delegate {
                TreeIter iter;
                if (fileList.Selection.GetSelected(out iter))
                {
                    Respond(ResponseType.Ok);
                }
            };
            fileList.KeyPressEvent   += FileListKeyPressEvent;
            fileList.KeyReleaseEvent += FileListKeyReleaseEvent;

            TreeIter root;

            if (dirStore.GetIterFirst(out root))
            {
                projectTree.Selection.SelectIter(root);
            }

            UpdateFileList(null, null);

            projectTree.Selection.Changed += UpdateFileList;
            fileList.Selection.Changed    += UpdateSensitivity;


            this.DefaultResponse = ResponseType.Cancel;
            this.Modal           = true;
        }
Exemplo n.º 15
0
        public CommitDialog(ChangeSet changeSet)
        {
            Build();

            store          = new ListStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(string), typeof(bool), typeof(object));
            fileList.Model = store;
            this.changeSet = changeSet;
            oldMessage     = changeSet.GlobalComment;

            CellRendererText crt     = new CellRendererText();
            var            crp       = new CellRendererImage();
            TreeViewColumn colStatus = new TreeViewColumn();

            colStatus.Title = GettextCatalog.GetString("Status");
            colStatus.PackStart(crp, false);
            colStatus.PackStart(crt, true);
            colStatus.Spacing = 2;
            colStatus.AddAttribute(crp, "image", 0);
            colStatus.AddAttribute(crt, "text", 1);
            CellRendererToggle cellToggle = new CellRendererToggle();

            cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler);
            TreeViewColumn colCommit = new TreeViewColumn("", cellToggle, "active", 3);
            TreeViewColumn colFile   = new TreeViewColumn(GettextCatalog.GetString("File"), new CellRendererText(), "text", 2);

            fileList.AppendColumn(colCommit);
            fileList.AppendColumn(colStatus);
            fileList.AppendColumn(colFile);

            colCommit.Visible = false;

            object[] exts = AddinManager.GetExtensionObjects("/MonoDevelop/VersionControl/CommitDialogExtensions", false);
            bool     separatorRequired = false;

            foreach (object ob in exts)
            {
                CommitDialogExtension ext = ob as CommitDialogExtension;
                if (ext == null)
                {
                    MessageService.ShowError("Commit extension type " + ob.GetType() + " must be a subclass of CommitDialogExtension");
                    continue;
                }
                if (ext.Initialize(changeSet))
                {
                    var newTitle = ext.FormatDialogTitle(changeSet, Title);
                    if (newTitle != null)
                    {
                        Title = newTitle;
                    }

                    ext.CommitMessageTextViewHook(textview);
                    if (separatorRequired)
                    {
                        HSeparator sep = new HSeparator();
                        sep.Show();
                        vboxExtensions.PackEnd(sep, false, false, 0);
                    }
                    vboxExtensions.PackEnd(ext, false, false, 0);
                    extensions.Add(ext);
                    ext.AllowCommitChanged += HandleAllowCommitChanged;
                    separatorRequired       = true;
                }
                else
                {
                    ext.Destroy();
                }
            }
            HandleAllowCommitChanged(null, null);

            foreach (ChangeSetItem info in changeSet.Items)
            {
                Xwt.Drawing.Image statusicon = VersionControlService.LoadIconForStatus(info.Status);
                string            lstatus    = VersionControlService.GetStatusLabel(info.Status);
                string            localpath;

                if (info.IsDirectory)
                {
                    localpath = (!info.LocalPath.IsChildPathOf(changeSet.BaseLocalPath)?
                                 ".":
                                 (string)info.LocalPath.ToRelative(changeSet.BaseLocalPath));
                }
                else
                {
                    localpath = System.IO.Path.GetFileName((string)info.LocalPath);
                }

                if (localpath.Length > 0 && localpath[0] == System.IO.Path.DirectorySeparatorChar)
                {
                    localpath = localpath.Substring(1);
                }
                if (localpath == "")
                {
                    localpath = ".";
                }                                                         // not sure if this happens

                store.AppendValues(statusicon, lstatus, localpath, true, info);
                selected.Add(info.LocalPath);
            }

            if (string.IsNullOrEmpty(changeSet.GlobalComment))
            {
                AuthorInformation   aInfo;
                CommitMessageFormat fmt = VersionControlService.GetCommitMessageFormat(changeSet, out aInfo);
                Message = changeSet.GenerateGlobalComment(fmt, aInfo);
            }
            else
            {
                Message = changeSet.GlobalComment;
            }

            textview.Buffer.Changed += OnTextChanged;
            responseSensitive        = !string.IsNullOrEmpty(Message);

            // Focus the text view and move the insert point to the beginning. Makes it easier to insert
            // a comment header.
            textview.Buffer.MoveMark(textview.Buffer.InsertMark, textview.Buffer.StartIter);
            textview.Buffer.MoveMark(textview.Buffer.SelectionBound, textview.Buffer.StartIter);
            textview.GrabFocus();
            textview.Buffer.MarkSet += OnMarkSet;

            SetResponseSensitive(ResponseType.Ok, responseSensitive);
        }
Exemplo n.º 16
0
        protected override void Initialize(IPadWindow window)
        {
            Id = "MonoDevelop.Debugger.BreakpointPad";
            // Toolbar and menu definitions

            gotoCmd = new ActionCommand(LocalCommands.GoToFile, GettextCatalog.GetString("Go to Breakpoint"));
            var propertiesCmd = new ActionCommand(LocalCommands.Properties, GettextCatalog.GetString("Edit Breakpoint…"), Stock.Properties);

            // The toolbar registers the Properties command with the CommandManager for us,
            // but gotoCmd isn't used in the toolbar so we need to register it ourselves for the menu to work
            IdeApp.CommandService.RegisterCommand(gotoCmd);

            menuSet = new CommandEntrySet();
            menuSet.Add(propertiesCmd);
            menuSet.Add(gotoCmd);
            menuSet.AddSeparator();
            menuSet.AddItem(DebugCommands.EnableDisableBreakpoint);
            menuSet.AddItem(DebugCommands.DisableAllBreakpoints);
            menuSet.AddSeparator();
            menuSet.AddItem(EditCommands.DeleteKey);
            menuSet.AddItem(DebugCommands.ClearAllBreakpoints);

            var toolbarSet = new CommandEntrySet();

            toolbarSet.AddItem(DebugCommands.EnableDisableBreakpoint);
            toolbarSet.AddItem(DebugCommands.ClearAllBreakpoints);
            toolbarSet.AddItem(DebugCommands.DisableAllBreakpoints);
            toolbarSet.AddItem(EditCommands.Delete);
            toolbarSet.AddSeparator();
            toolbarSet.Add(propertiesCmd);
            toolbarSet.AddSeparator();
            toolbarSet.Add(new CommandEntry(DebugCommands.NewFunctionBreakpoint)
            {
                DisplayType = CommandEntryDisplayType.IconAndText
            });
            toolbarSet.Add(new CommandEntry(DebugCommands.NewCatchpoint)
            {
                DisplayType = CommandEntryDisplayType.IconAndText
            });

            // The breakpoint list

            store = new TreeStore(typeof(string), typeof(bool), typeof(string), typeof(object), typeof(string), typeof(string), typeof(string), typeof(string));
            var modelAttr = new SemanticModelAttribute("store__Icon", "store__Selected", "store_FileName",
                                                       "store_Breakpoint", "store_Condition", "store_TraceExp", "store_HitCount", "store_LastTrace");

            TypeDescriptor.AddAttributes(store, modelAttr);

            tree                = new PadTreeView();
            tree.Model          = store;
            tree.RulesHint      = true;
            tree.HeadersVisible = true;
            tree.DoPopupMenu    = ShowPopup;
            tree.KeyPressEvent += OnKeyPressEvent;
            tree.Selection.Mode = SelectionMode.Multiple;

            treeState = new TreeViewState(tree, (int)Columns.Breakpoint);

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

            col.PackStart(crp, false);
            col.AddAttribute(crp, "stock_id", (int)Columns.Icon);
            tree.AppendColumn(col);

            var toggleRender = new Gtk.CellRendererToggle();

            toggleRender.Toggled += new ToggledHandler(ItemToggled);
            col = new TreeViewColumn();
            col.PackStart(toggleRender, false);
            col.AddAttribute(toggleRender, "active", (int)Columns.Selected);
            tree.AppendColumn(col);

            var FrameCol = new TreeViewColumn();
            var crt      = tree.TextRenderer;

            FrameCol.Title = GettextCatalog.GetString("Name");
            FrameCol.PackStart(crt, true);
            FrameCol.AddAttribute(crt, "text", (int)Columns.FileName);
            FrameCol.Resizable = true;
            FrameCol.Alignment = 0.0f;
            tree.AppendColumn(FrameCol);

            col           = tree.AppendColumn(GettextCatalog.GetString("Condition"), crt, "text", (int)Columns.Condition);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Trace Expression"), crt, "text", (int)Columns.TraceExp);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Hit Count"), crt, "text", (int)Columns.HitCount);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Last Trace"), crt, "text", (int)Columns.LastTrace);
            col.Resizable = true;

            sw            = new Gtk.ScrolledWindow();
            sw.ShadowType = ShadowType.None;
            sw.Add(tree);

            control = sw;

            control.ShowAll();

            breakpoints = DebuggingService.Breakpoints;

            UpdateDisplay();

            breakpoints.BreakpointAdded   += OnBreakpointAdded;
            breakpoints.BreakpointRemoved += OnBreakpointRemoved;
            breakpoints.Changed           += OnBreakpointChanged;
            breakpoints.BreakpointUpdated += OnBreakpointUpdated;

            DebuggingService.PausedEvent  += OnDebuggerStatusCheck;
            DebuggingService.ResumedEvent += OnDebuggerStatusCheck;
            DebuggingService.StoppedEvent += OnDebuggerStatusCheck;

            tree.RowActivated += OnRowActivated;

            var toolbar = window.GetToolbar(DockPositionType.Top);

            toolbar.Add(toolbarSet, sw);
            toolbar.ShowAll();
        }
Exemplo n.º 17
0
        Widget IOutlinedDocument.GetOutlineWidget()
        {
            if (outlineTreeView != null)
            {
                return(outlineTreeView);
            }

            outlineTreeStore     = new TreeStore(typeof(object));
            outlineTreeModelSort = new TreeModelSort(outlineTreeStore);

            settings = OutlineSettings.Load();
            comparer = new OutlineNodeComparer(new AstAmbience(TypeSystemService.Workspace.Options), settings, outlineTreeModelSort);

            outlineTreeModelSort.SetSortFunc(0, comparer.CompareNodes);
            outlineTreeModelSort.SetSortColumnId(0, SortType.Ascending);

            outlineTreeView = new MonoDevelop.Ide.Gui.Components.PadTreeView(outlineTreeStore);

            var pixRenderer = new CellRendererImage();

            pixRenderer.Xpad = 0;
            pixRenderer.Ypad = 0;

            outlineTreeView.TextRenderer.Xpad = 0;
            outlineTreeView.TextRenderer.Ypad = 0;

            TreeViewColumn treeCol = new TreeViewColumn();

            treeCol.PackStart(pixRenderer, false);

            treeCol.SetCellDataFunc(pixRenderer, new TreeCellDataFunc(OutlineTreeIconFunc));
            treeCol.PackStart(outlineTreeView.TextRenderer, true);

            treeCol.SetCellDataFunc(outlineTreeView.TextRenderer, new TreeCellDataFunc(OutlineTreeTextFunc));
            outlineTreeView.AppendColumn(treeCol);

            outlineTreeView.HeadersVisible = false;

            outlineTreeView.Selection.Changed += delegate {
                JumpToDeclaration(false);
            };

            outlineTreeView.RowActivated += delegate {
                JumpToDeclaration(true);
            };

            var analysisDocument = DocumentContext.ParsedDocument;

            if (analysisDocument != null)
            {
                lastCU = analysisDocument.GetAst <SemanticModel> ();
            }

            outlineTreeView.Realized += delegate { RefillOutlineStore(); };
            UpdateSorting();

            var sw = new CompactScrolledWindow();

            sw.Add(outlineTreeView);
            sw.ShowAll();
            return(sw);
        }
Exemplo n.º 18
0
        public EditPackagesDialog(CProject project)
        {
            this.Build();

            this.project = project;

            selectedPackages.Project = project;
            selectedPackages.AddRange(project.Packages);

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

            CellRendererImage pixbufRenderer = new CellRendererImage();

            pixbufRenderer.StockId = "md-package";

            normalPackageListStore.DefaultSortFunc   = NormalPackageCompareNodes;
            projectPackageListStore.DefaultSortFunc  = ProjectPackageCompareNodes;
            selectedPackageListStore.DefaultSortFunc = SelectedPackageCompareNodes;

            normalPackageListStore.SetSortColumnId(NormalPackageNameID, Gtk.SortType.Ascending);
            projectPackageListStore.SetSortColumnId(ProjectPackageNameID, Gtk.SortType.Ascending);
            selectedPackageListStore.SetSortColumnId(SelectedPackageNameID, Gtk.SortType.Ascending);

            normalPackageTreeView.SearchColumn   = NormalPackageNameID;
            projectPackageTreeView.SearchColumn  = ProjectPackageNameID;
            selectedPackageTreeView.SearchColumn = SelectedPackageNameID;

            // <!-- Normal packages -->

            Gtk.CellRendererToggle normalPackageToggleRenderer = new Gtk.CellRendererToggle();
            normalPackageToggleRenderer.Activatable = true;
            normalPackageToggleRenderer.Toggled    += OnNormalPackageToggled;
            normalPackageToggleRenderer.Xalign      = 0;

            Gtk.TreeViewColumn normalPackageColumn = new Gtk.TreeViewColumn();
            normalPackageColumn.Title = "Package";
            normalPackageColumn.PackStart(pixbufRenderer, false);
            normalPackageColumn.PackStart(textRenderer, true);
            normalPackageColumn.AddAttribute(textRenderer, "text", NormalPackageNameID);

            normalPackageTreeView.Model          = normalPackageListStore;
            normalPackageTreeView.HeadersVisible = true;
            normalPackageTreeView.AppendColumn("", normalPackageToggleRenderer, "active", NormalPackageToggleID);
            normalPackageTreeView.AppendColumn(normalPackageColumn);
            normalPackageTreeView.AppendColumn("Version", textRenderer, "text", NormalPackageVersionID);

            // <!-- Project packages -->

            Gtk.CellRendererToggle projectPackageToggleRenderer = new Gtk.CellRendererToggle();
            projectPackageToggleRenderer.Activatable = true;
            projectPackageToggleRenderer.Toggled    += OnProjectPackageToggled;
            projectPackageToggleRenderer.Xalign      = 0;

            Gtk.TreeViewColumn projectPackageColumn = new Gtk.TreeViewColumn();
            projectPackageColumn.Title = "Package";
            projectPackageColumn.PackStart(pixbufRenderer, false);
            projectPackageColumn.PackStart(textRenderer, true);
            projectPackageColumn.AddAttribute(textRenderer, "text", ProjectPackageNameID);

            projectPackageTreeView.Model          = projectPackageListStore;
            projectPackageTreeView.HeadersVisible = true;
            projectPackageTreeView.AppendColumn("", projectPackageToggleRenderer, "active", ProjectPackageToggleID);
            projectPackageTreeView.AppendColumn(projectPackageColumn);
            projectPackageTreeView.AppendColumn("Version", textRenderer, "text", ProjectPackageVersionID);


            // <!-- Selected packages -->

            Gtk.TreeViewColumn selectedPackageColumn = new Gtk.TreeViewColumn();
            selectedPackageColumn.Title = "Package";
            selectedPackageColumn.PackStart(pixbufRenderer, false);
            selectedPackageColumn.PackStart(textRenderer, true);
            selectedPackageColumn.AddAttribute(textRenderer, "text", SelectedPackageNameID);

            selectedPackageTreeView.Model          = selectedPackageListStore;
            selectedPackageTreeView.HeadersVisible = true;
            selectedPackageTreeView.AppendColumn(selectedPackageColumn);
            selectedPackageTreeView.AppendColumn("Version", textRenderer, "text", SelectedPackageVersionID);

            // Fill up the project tree view
            packagesOfProjects = GetPackagesOfProjects(project);

            foreach (Package p in packagesOfProjects)
            {
                if (p.Name == project.Name)
                {
                    continue;
                }

                packages.Add(p);
                string version   = p.Version;
                bool   inProject = selectedPackages.Contains(p);

                if (!IsPackageInStore(projectPackageListStore, p.Name, version, ProjectPackageNameID, ProjectPackageVersionID))
                {
                    projectPackageListStore.AppendValues(inProject, p.Name, version);

                    if (inProject)
                    {
                        selectedPackageListStore.AppendValues(p.Name, version);
                    }
                }
            }

            // Fill up the normal tree view
            foreach (string dir in ScanDirs())
            {
                if (Directory.Exists(dir))
                {
                    DirectoryInfo di = new DirectoryInfo(dir);
                    FileInfo[]    availablePackages = di.GetFiles("*.pc");

                    foreach (FileInfo f in availablePackages)
                    {
                        if (!IsValidPackage(f.FullName))
                        {
                            continue;
                        }

                        Package package = new Package(f.FullName);

                        packages.Add(package);

                        string name      = package.Name;
                        string version   = package.Version;
                        bool   inProject = selectedPackages.Contains(package);

                        if (!IsPackageInStore(normalPackageListStore, name, version, NormalPackageNameID, NormalPackageVersionID))
                        {
                            normalPackageListStore.AppendValues(inProject, name, version);

                            if (inProject)
                            {
                                selectedPackageListStore.AppendValues(name, version);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 19
0
        public KeyBindingsPanel()
        {
            this.Build();

            keyStore                  = new TreeStore(typeof(Command), typeof(string), typeof(string), typeof(string), typeof(int), typeof(string), typeof(bool), typeof(bool));
            keyTreeView.Model         = filterModel = new TreeModelFilter(keyStore, null);
            filterModel.VisibleColumn = visibleCol;

            TreeViewColumn col = new TreeViewColumn();

            col.Title   = GettextCatalog.GetString("Command");
            col.Spacing = 4;
            CellRendererImage crp = new CellRendererImage();

            col.PackStart(crp, false);
            col.AddAttribute(crp, "stock-id", iconCol);
            col.AddAttribute(crp, "visible", iconVisibleCol);
            CellRendererText crt = new CellRendererText();

            col.PackStart(crt, true);
            col.AddAttribute(crt, "text", labelCol);
            col.AddAttribute(crt, "weight", boldCol);
            keyTreeView.AppendColumn(col);

            TreeViewColumn bindingTVCol = new TreeViewColumn();

            bindingTVCol.Title = GettextCatalog.GetString("Key Binding");
            CellRendererText bindingRenderer = new CellRendererText();

            bindingTVCol.PackStart(bindingRenderer, false);
            bindingTVCol.SetCellDataFunc(bindingRenderer, BindingTVDataFunc);
            keyTreeView.AppendColumn(bindingTVCol);

            keyTreeView.AppendColumn(GettextCatalog.GetString("Description"), new CellRendererText(), "text", descCol);

            keyTreeView.Selection.Changed += OnKeysTreeViewSelectionChange;

            accelEntry.KeyPressEvent   += OnAccelEntryKeyPress;
            accelEntry.KeyReleaseEvent += OnAccelEntryKeyRelease;
            accelEntry.Changed         += delegate {
                UpdateWarningLabel();
            };
            updateButton.Clicked += OnUpdateButtonClick;

            currentBindings = KeyBindingService.CurrentKeyBindingSet.Clone();

            schemes = new List <KeyBindingScheme> (KeyBindingService.Schemes);
            schemeCombo.AppendText(GettextCatalog.GetString("Custom"));

            foreach (KeyBindingScheme s in schemes)
            {
                schemeCombo.AppendText(s.Name);
            }

            SelectCurrentScheme();
            schemeCombo.Changed += OnKeyBindingSchemeChanged;

            searchEntry.Ready    = true;
            searchEntry.Visible  = true;
            searchEntry.Changed += delegate {
                processedFilterTerms = searchEntry.Entry.Text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                       .Select(s => s.ToLower()).ToArray();;
                filterChanged = true;
                if (!filterTimeoutRunning)
                {
                    filterTimeoutRunning = true;
                    GLib.Timeout.Add(50, delegate {
                        if (!filterChanged)
                        {
                            if (filterTimeoutRunning)
                            {
                                Refilter();
                            }
                            filterTimeoutRunning = false;
                            return(false);
                        }
                        filterChanged = false;
                        return(true);
                    });
                }
                ;
            };

            //HACK: workaround for MD Bug 608021: Stetic loses values assigned to "new" properties of custom widget
            conflicButton.Label        = GettextCatalog.GetString("_View Conflicts");
            conflicButton.UseUnderline = true;
        }
Exemplo n.º 20
0
        public CommitDialog(ChangeSet changeSet)
        {
            Build();

            store                 = new ListStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(string), typeof(bool), typeof(object));
            fileList.Model        = store;
            fileList.SearchColumn = -1;             // disable the interactive search
            this.changeSet        = changeSet;
            oldMessage            = changeSet.GlobalComment;

            CellRendererText crt     = new CellRendererText();
            var            crp       = new CellRendererImage();
            TreeViewColumn colStatus = new TreeViewColumn();

            colStatus.Title = GettextCatalog.GetString("Status");
            colStatus.PackStart(crp, false);
            colStatus.PackStart(crt, true);
            colStatus.Spacing = 2;
            colStatus.AddAttribute(crp, "image", 0);
            colStatus.AddAttribute(crt, "text", 1);
            CellRendererToggle cellToggle = new CellRendererToggle();

            cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler);
            TreeViewColumn colCommit = new TreeViewColumn("", cellToggle, "active", 3);
            TreeViewColumn colFile   = new TreeViewColumn(GettextCatalog.GetString("File"), new CellRendererText(), "text", 2);

            fileList.AppendColumn(colCommit);
            fileList.AppendColumn(colStatus);
            fileList.AppendColumn(colFile);

            colCommit.Visible = false;

            object[] exts = AddinManager.GetExtensionObjects("/MonoDevelop/VersionControl/CommitDialogExtensions", false);
            bool     separatorRequired = false;

            foreach (object ob in exts)
            {
                CommitDialogExtension ext = ob as CommitDialogExtension;
                if (ext == null)
                {
                    LoggingService.LogError("Commit extension type " + ob.GetType() + " must be a subclass of CommitDialogExtension");
                    continue;
                }
                if (ext.Initialize(changeSet))
                {
                    var newTitle = ext.FormatDialogTitle(changeSet, Title);
                    if (newTitle != null)
                    {
                        Title = newTitle;
                    }

                    ext.CommitMessageTextViewHook(textview);
                    if (separatorRequired)
                    {
                        HSeparator sep = new HSeparator();
                        sep.Show();
                        vboxExtensions.PackEnd(sep, false, false, 0);
                    }
                    vboxExtensions.PackEnd(ext, false, false, 0);
                    extensions.Add(ext);
                    ext.AllowCommitChanged += HandleAllowCommitChanged;
                    separatorRequired       = true;
                }
                else
                {
                    ext.Destroy();
                }
            }
            HandleAllowCommitChanged(null, null);

            LoadChangeset(changeSet.Items);

            if (string.IsNullOrEmpty(changeSet.GlobalComment))
            {
                AuthorInformation   aInfo;
                CommitMessageFormat fmt = VersionControlService.GetCommitMessageFormat(changeSet, out aInfo);
                Message = changeSet.GenerateGlobalComment(fmt, aInfo);
            }
            else
            {
                Message = changeSet.GlobalComment;
            }

            textview.Buffer.Changed += OnTextChanged;
            responseSensitive        = !string.IsNullOrEmpty(Message);

            // Focus the text view and move the insert point to the beginning. Makes it easier to insert
            // a comment header.
            textview.Buffer.MoveMark(textview.Buffer.InsertMark, textview.Buffer.StartIter);
            textview.Buffer.MoveMark(textview.Buffer.SelectionBound, textview.Buffer.StartIter);
            textview.GrabFocus();
            textview.Buffer.MarkSet += OnMarkSet;

            SetResponseSensitive(ResponseType.Ok, responseSensitive);

            VersionControlService.FileStatusChanged += OnFileStatusChanged;
        }
        public ConfirmProjectDeleteDialog(IWorkspaceFileObject item)
        {
            this.Build();
            this.item = item;

            store          = new TreeStore(typeof(bool), typeof(Xwt.Drawing.Image), typeof(string), typeof(string), typeof(string));
            fileList.Model = store;

            TreeViewColumn col = new TreeViewColumn();

            CellRendererToggle crt = new CellRendererToggle();

            crt.Toggled += CrtToggled;
            col.PackStart(crt, false);
            col.AddAttribute(crt, "active", 0);

            CellRendererImage crp = new CellRendererImage();

            col.PackStart(crp, false);
            col.AddAttribute(crp, "image", 1);

            CellRendererText cre = new CellRendererText();

            col.PackStart(cre, true);
            col.AddAttribute(cre, "text", 2);
            col.AddAttribute(cre, "foreground", 4);

            fileList.AppendColumn(col);
            store.SetSortColumnId(2, SortType.Ascending);

            labelProjectDir.Text = item.BaseDirectory.FullPath;

            HashSet <string> itemFiles  = new HashSet <string> ();
            HashSet <string> knownPaths = new HashSet <string> ();

            foreach (FilePath file in item.GetItemFiles(true))
            {
                itemFiles.Add(file.FullPath);
                knownPaths.Add(file.FullPath + "~");
            }

            foreach (string ext in knownExtensions)
            {
                knownPaths.Add(item.FileName.ChangeExtension(ext));
            }

            FillDirRec(TreeIter.Zero, item, itemFiles, knownPaths, item.BaseDirectory, false);

            if (item.BaseDirectory != item.ItemDirectory)
            {
                // If the project has a custom base directory, make sure the project files
                // from the item directory are shown in the list
                foreach (FilePath f in item.GetItemFiles(false))
                {
                    if (!f.IsChildPathOf(item.BaseDirectory))
                    {
                        var pix = DesktopService.GetIconForFile(f, IconSize.Menu);
                        paths [f] = store.AppendValues(true, pix, f.FileName, f.ToString());
                    }
                }
            }

            if (item is SolutionFolderItem)
            {
                var sol  = ((SolutionFolderItem)item).ParentSolution;
                var bdir = item.BaseDirectory;
                if (sol.GetItemFiles(false).Any(f => f.IsChildPathOf(bdir)) || sol.GetAllItems <SolutionItem> ().Any(it => it != item && it.GetItemFiles(true).Any(f => f.IsChildPathOf(bdir))))
                {
                    radioDeleteAll.Sensitive = false;
                    labelProjectDir.Text     = GettextCatalog.GetString("Project directory can't be deleted since it contains files from other projects or solutions");
                }
            }

            if (item.BaseDirectory.FileName == item.Name && radioDeleteAll.Sensitive)
            {
                radioDeleteAll.Active = true;
                fileList.Sensitive    = false;
            }
            else
            {
                radioDeleteSel.Active = true;
                Focus = radioDeleteSel;
            }
        }
Exemplo n.º 22
0
        public SearchResultWidget()
        {
            var vbox    = new VBox();
            var toolbar = new Toolbar()
            {
                Orientation  = Orientation.Vertical,
                IconSize     = IconSize.Menu,
                ToolbarStyle = ToolbarStyle.Icons,
            };

            this.PackStart(vbox, true, true, 0);
            this.PackStart(toolbar, false, false, 0);
            labelStatus = new Label()
            {
                Xalign  = 0,
                Justify = Justification.Left,
            };
            var hpaned = new HPaned();

            vbox.PackStart(hpaned, true, true, 0);
            vbox.PackStart(labelStatus, false, false, 0);
            var resultsScroll = new CompactScrolledWindow();

            hpaned.Pack1(resultsScroll, true, true);
            scrolledwindowLogView = new CompactScrolledWindow();
            hpaned.Pack2(scrolledwindowLogView, true, true);
            textviewLog = new TextView()
            {
                Editable = false,
            };
            scrolledwindowLogView.Add(textviewLog);

            store = new ListStore(typeof(SearchResult),
                                  typeof(bool) // didRead
                                  );

            treeviewSearchResults = new PadTreeView()
            {
                Model            = store,
                HeadersClickable = true,
                RulesHint        = true,
            };

            treeviewSearchResults.Selection.Mode = Gtk.SelectionMode.Multiple;
            resultsScroll.Add(treeviewSearchResults);

            var projectColumn = new TreeViewColumn {
                Resizable    = true,
                SortColumnId = 1,
                Title        = GettextCatalog.GetString("Project"),
                Sizing       = TreeViewColumnSizing.Fixed,
                FixedWidth   = 100
            };

            var projectPixbufRenderer = new CellRendererImage();

            projectColumn.PackStart(projectPixbufRenderer, false);
            projectColumn.SetCellDataFunc(projectPixbufRenderer, ResultProjectIconDataFunc);

            var renderer = treeviewSearchResults.TextRenderer;

            renderer.Ellipsize = Pango.EllipsizeMode.End;
            projectColumn.PackStart(renderer, true);
            projectColumn.SetCellDataFunc(renderer, ResultProjectDataFunc);
            treeviewSearchResults.AppendColumn(projectColumn);

            var fileNameColumn = new TreeViewColumn {
                Resizable    = true,
                SortColumnId = 2,
                Title        = GettextCatalog.GetString("File"),
                Sizing       = TreeViewColumnSizing.Fixed,
                FixedWidth   = 200
            };

            var fileNamePixbufRenderer = new CellRendererImage();

            fileNameColumn.PackStart(fileNamePixbufRenderer, false);
            fileNameColumn.SetCellDataFunc(fileNamePixbufRenderer, FileIconDataFunc);

            fileNameColumn.PackStart(renderer, true);
            fileNameColumn.SetCellDataFunc(renderer, FileNameDataFunc);
            treeviewSearchResults.AppendColumn(fileNameColumn);


            TreeViewColumn textColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Text"),
                                                                           renderer, ResultTextDataFunc);

            textColumn.Resizable  = true;
            textColumn.Sizing     = TreeViewColumnSizing.Fixed;
            textColumn.FixedWidth = 300;

            pathColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Path"),
                                                            renderer, ResultPathDataFunc);
            pathColumn.SortColumnId = 3;
            pathColumn.Resizable    = true;
            pathColumn.Sizing       = TreeViewColumnSizing.Fixed;
            pathColumn.FixedWidth   = 500;

            store.DefaultSortFunc = DefaultSortFunc;
            store.SetSortFunc(1, CompareProjectFileNames);
            store.SetSortFunc(2, CompareFileNames);
            store.SetSortFunc(3, CompareFilePaths);

            treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated;

            buttonStop = new ToolButton(new ImageView(Gui.Stock.Stop, Gtk.IconSize.Menu), null)
            {
                Sensitive = false
            };
            buttonStop.Clicked    += ButtonStopClicked;
            buttonStop.TooltipText = GettextCatalog.GetString("Stop");
            toolbar.Insert(buttonStop, -1);

            var buttonClear = new ToolButton(new ImageView(Gui.Stock.Clear, Gtk.IconSize.Menu), null);

            buttonClear.Clicked    += ButtonClearClicked;
            buttonClear.TooltipText = GettextCatalog.GetString("Clear results");
            toolbar.Insert(buttonClear, -1);

            var buttonOutput = new ToggleToolButton();

            buttonOutput.IconWidget  = new ImageView(Gui.Stock.OutputIcon, Gtk.IconSize.Menu);
            buttonOutput.Clicked    += ButtonOutputClicked;
            buttonOutput.TooltipText = GettextCatalog.GetString("Show output");
            toolbar.Insert(buttonOutput, -1);

            buttonPin             = new ToggleToolButton();
            buttonPin.IconWidget  = new ImageView(Gui.Stock.PinUp, Gtk.IconSize.Menu);
            buttonPin.Clicked    += ButtonPinClicked;
            buttonPin.TooltipText = GettextCatalog.GetString("Pin results pad");
            toolbar.Insert(buttonPin, -1);

            // store.SetSortColumnId (3, SortType.Ascending);
            ShowAll();

            scrolledwindowLogView.Hide();
            treeviewSearchResults.FixedHeightMode = true;

            UpdateStyles();
            IdeApp.Preferences.ColorScheme.Changed += UpdateStyles;
        }
Exemplo n.º 23
0
        public StackTracePad()
        {
            this.ShadowType = ShadowType.None;

            var evalCmd = new ActionCommand("StackTracePad.EvaluateMethodParams", GettextCatalog.GetString("Evaluate Method Parameters"));
            var gotoCmd = new ActionCommand("StackTracePad.ActivateFrame", GettextCatalog.GetString("Activate Stack Frame"));

            menuSet = new CommandEntrySet();
            menuSet.Add(evalCmd);
            menuSet.Add(gotoCmd);
            menuSet.AddSeparator();
            menuSet.AddItem(EditCommands.SelectAll);
            menuSet.AddItem(EditCommands.Copy);

            store = new ListStore(typeof(bool), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style), typeof(object), typeof(int), typeof(bool));

            tree                   = new PadTreeView(store);
            tree.RulesHint         = true;
            tree.HeadersVisible    = true;
            tree.Selection.Mode    = SelectionMode.Multiple;
            tree.SearchEqualFunc   = Search;
            tree.EnableSearch      = true;
            tree.SearchColumn      = 1;
            tree.ButtonPressEvent += HandleButtonPressEvent;
            tree.DoPopupMenu       = ShowPopup;

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

            col.PackStart(crp, false);
            crp.Image = pointerImage;
            col.AddAttribute(crp, "visible", IconColumn);
            tree.AppendColumn(col);

            col           = new TreeViewColumn();
            col.Title     = GettextCatalog.GetString("Name");
            refresh       = new CellRendererImage();
            refresh.Image = ImageService.GetIcon(Gtk.Stock.Refresh).WithSize(12, 12);
            col.PackStart(refresh, false);
            col.AddAttribute(refresh, "visible", CanRefreshColumn);
            col.PackStart(tree.TextRenderer, true);
            col.AddAttribute(tree.TextRenderer, "text", MethodColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            col.AddAttribute(tree.TextRenderer, "style", StyleColumn);
            col.Resizable = true;
            col.Alignment = 0.0f;
            tree.AppendColumn(col);

            col       = new TreeViewColumn();
            col.Title = GettextCatalog.GetString("File");
            col.PackStart(tree.TextRenderer, false);
            col.AddAttribute(tree.TextRenderer, "text", FileColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            tree.AppendColumn(col);

            col       = new TreeViewColumn();
            col.Title = GettextCatalog.GetString("Language");
            col.PackStart(tree.TextRenderer, false);
            col.AddAttribute(tree.TextRenderer, "text", LangColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            tree.AppendColumn(col);

            col       = new TreeViewColumn();
            col.Title = GettextCatalog.GetString("Address");
            col.PackStart(tree.TextRenderer, false);
            col.AddAttribute(tree.TextRenderer, "text", AddrColumn);
            col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn);
            tree.AppendColumn(col);

            Add(tree);
            ShowAll();
            UpdateDisplay();

            DebuggingService.CallStackChanged    += OnClassStackChanged;
            DebuggingService.CurrentFrameChanged += OnFrameChanged;
            DebuggingService.StoppedEvent        += OnDebuggingServiceStopped;

            tree.RowActivated += OnRowActivated;
        }
        public SelectReferenceDialog()
        {
            Build();

            combinedBox = new CombinedBox();
            combinedBox.Show();
            mainBook = new Notebook();
            combinedBox.Add(mainBook);
            alignment1.Add(combinedBox);
            mainBook.ShowAll();

            filterEntry = combinedBox.FilterEntry;

            boxRefs.WidthRequest = 200;

            refTreeStore             = new ListStore(typeof(string), typeof(string), typeof(string), typeof(ProjectReference), typeof(Xwt.Drawing.Image));
            ReferencesTreeView.Model = refTreeStore;

            TreeViewColumn col = new TreeViewColumn();

            col.Title = GettextCatalog.GetString("Reference");
            CellRendererImage crp = new CellRendererImage();

            crp.Yalign = 0f;
            col.PackStart(crp, false);
            col.AddAttribute(crp, "image", IconColumn);
            CellRendererText text_render = new CellRendererText();

            col.PackStart(text_render, true);
            col.AddAttribute(text_render, "markup", NameColumn);
            text_render.Ellipsize = Pango.EllipsizeMode.End;

            ReferencesTreeView.AppendColumn(col);
//			ReferencesTreeView.AppendColumn (GettextCatalog.GetString ("Type"), new CellRendererText (), "text", TypeNameColumn);
//			ReferencesTreeView.AppendColumn (GettextCatalog.GetString ("Location"), new CellRendererText (), "text", LocationColumn);

            projectRefPanel  = new ProjectReferencePanel(this);
            packageRefPanel  = new PackageReferencePanel(this, false);
            allRefPanel      = new PackageReferencePanel(this, true);
            assemblyRefPanel = new AssemblyReferencePanel(this);
            panels.Add(allRefPanel);
            panels.Add(packageRefPanel);
            panels.Add(projectRefPanel);
            panels.Add(assemblyRefPanel);

            //mainBook.RemovePage (mainBook.CurrentPage);

            HBox tab = new HBox(false, 3);

//			tab.PackStart (new Image (ImageService.GetPixbuf (MonoDevelop.Ide.Gui.Stock.Reference, IconSize.Menu)), false, false, 0);
            tab.PackStart(new Label(GettextCatalog.GetString("_All")), true, true, 0);
            tab.BorderWidth = 3;
            tab.ShowAll();
            mainBook.AppendPage(allRefPanel, tab);

            tab = new HBox(false, 3);
//			tab.PackStart (new Image (ImageService.GetPixbuf (MonoDevelop.Ide.Gui.Stock.Package, IconSize.Menu)), false, false, 0);
            tab.PackStart(new Label(GettextCatalog.GetString("_Packages")), true, true, 0);
            tab.BorderWidth = 3;
            tab.ShowAll();
            mainBook.AppendPage(packageRefPanel, tab);

            tab = new HBox(false, 3);
//			tab.PackStart (new Image (ImageService.GetPixbuf (MonoDevelop.Ide.Gui.Stock.Project, IconSize.Menu)), false, false, 0);
            tab.PackStart(new Label(GettextCatalog.GetString("Pro_jects")), true, true, 0);
            tab.BorderWidth = 3;
            tab.ShowAll();
            mainBook.AppendPage(projectRefPanel, tab);

            tab = new HBox(false, 3);
//			tab.PackStart (new Image (ImageService.GetPixbuf (MonoDevelop.Ide.Gui.Stock.OpenFolder, IconSize.Menu)), false, false, 0);
            tab.PackStart(new Label(GettextCatalog.GetString(".Net A_ssembly")), true, true, 0);
            tab.BorderWidth = 3;
            tab.ShowAll();
            mainBook.AppendPage(assemblyRefPanel, tab);

            mainBook.Page = 0;

            var w = selectedHeader.Child;

            selectedHeader.Remove(w);
            HeaderBox header = new HeaderBox(1, 0, 1, 1);

            header.SetPadding(6, 6, 6, 6);
            header.GradientBackground = true;
            header.Add(w);
            selectedHeader.Add(header);

            RemoveReferenceButton.CanFocus        = false;
            ReferencesTreeView.Selection.Changed += new EventHandler(OnChanged);
            Child.ShowAll();
            OnChanged(null, null);
            InsertFilterEntry();
        }
Exemplo n.º 25
0
        public ChangeSetView()
        {
            ShadowType = Gtk.ShadowType.In;
            filelist   = new FileTreeView();
            filelist.Selection.Mode = SelectionMode.Multiple;

            Add(filelist);
            HscrollbarPolicy            = PolicyType.Automatic;
            VscrollbarPolicy            = PolicyType.Automatic;
            filelist.RowActivated      += OnRowActivated;
            filelist.DiffLineActivated += OnDiffLineActivated;

            CellRendererToggle cellToggle = new CellRendererToggle();
//			cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler);
            var crc = new CellRendererImage();

            crc.StockId       = "vc-comment";
            colCommit         = new TreeViewColumn();
            colCommit.Spacing = 2;
            colCommit.Widget  = new Xwt.ImageView(commitImage).ToGtkWidget();
            colCommit.Widget.Show();
            colCommit.PackStart(cellToggle, false);
            colCommit.PackStart(crc, false);
            colCommit.AddAttribute(cellToggle, "active", ColCommit);
            colCommit.AddAttribute(cellToggle, "visible", ColShowToggle);
            colCommit.AddAttribute(crc, "visible", ColShowComment);
            colCommit.Visible = false;

            CellRendererText crt     = new CellRendererText();
            var            crp       = new CellRendererImage();
            TreeViewColumn colStatus = new TreeViewColumn();

            colStatus.Title = GettextCatalog.GetString("Status");
            colStatus.PackStart(crp, false);
            colStatus.PackStart(crt, true);
            colStatus.AddAttribute(crp, "image", ColIcon);
            colStatus.AddAttribute(crp, "visible", ColShowStatus);
            colStatus.AddAttribute(crt, "text", ColStatus);
            colStatus.AddAttribute(crt, "foreground", ColStatusColor);

            TreeViewColumn colFile = new TreeViewColumn();

            colFile.Title   = GettextCatalog.GetString("File");
            colFile.Spacing = 2;
            crp             = new CellRendererImage();
            diffRenderer    = new CellRendererDiff();
            colFile.PackStart(crp, false);
            colFile.PackStart(diffRenderer, true);
            colFile.AddAttribute(crp, "image", ColIconFile);
            colFile.AddAttribute(crp, "visible", ColShowStatus);
            colFile.SetCellDataFunc(diffRenderer, new TreeCellDataFunc(SetDiffCellData));

            filelist.AppendColumn(colStatus);
            filelist.AppendColumn(colCommit);
            filelist.AppendColumn(colFile);

            filestore               = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(string[]), typeof(bool), typeof(bool), typeof(string), typeof(bool), typeof(bool), typeof(Xwt.Drawing.Image), typeof(bool), typeof(string));
            filelist.Model          = filestore;
            filelist.SearchColumn   = -1;           // disable the interactive search
            filelist.TestExpandRow += new Gtk.TestExpandRowHandler(OnTestExpandRow);

            ShowAll();

            filelist.Selection.Changed += new EventHandler(OnCursorChanged);

            filelist.HeadersClickable = true;
            filestore.SetSortFunc(0, CompareNodes);
            colStatus.SortColumnId = 0;
            filestore.SetSortFunc(1, CompareNodes);
            colCommit.SortColumnId = 1;
            filestore.SetSortFunc(2, CompareNodes);
            colFile.SortColumnId = 2;

            filestore.SetSortColumnId(2, Gtk.SortType.Ascending);
        }
Exemplo n.º 26
0
        public void Initialize(IPadWindow window)
        {
            // Toolbar and menu definitions

            ActionCommand gotoCmd       = new ActionCommand(LocalCommands.GoToFile, GettextCatalog.GetString("Go to File"));
            ActionCommand propertiesCmd = new ActionCommand(LocalCommands.Properties, GettextCatalog.GetString("Properties"), Gtk.Stock.Properties);

            menuSet = new CommandEntrySet();
            menuSet.Add(gotoCmd);
            menuSet.AddSeparator();
            menuSet.AddItem(DebugCommands.EnableDisableBreakpoint);
            menuSet.AddItem(DebugCommands.ClearAllBreakpoints);
            menuSet.AddItem(DebugCommands.DisableAllBreakpoints);
            menuSet.AddItem(EditCommands.DeleteKey);
            menuSet.AddSeparator();
            menuSet.Add(propertiesCmd);

            CommandEntrySet toolbarSet = new CommandEntrySet();

            toolbarSet.AddItem(DebugCommands.EnableDisableBreakpoint);
            toolbarSet.AddItem(DebugCommands.ClearAllBreakpoints);
            toolbarSet.AddItem(DebugCommands.DisableAllBreakpoints);
            toolbarSet.AddItem(EditCommands.Delete);
            toolbarSet.AddSeparator();
            toolbarSet.Add(propertiesCmd);
            toolbarSet.AddSeparator();
            toolbarSet.Add(new CommandEntry(DebugCommands.NewFunctionBreakpoint)
            {
                DispayType = CommandEntryDisplayType.IconAndText
            });
            toolbarSet.Add(new CommandEntry(DebugCommands.NewCatchpoint)
            {
                DispayType = CommandEntryDisplayType.IconAndText
            });

            // The breakpoint list

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

            tree                = new PadTreeView();
            tree.Model          = store;
            tree.RulesHint      = true;
            tree.HeadersVisible = true;
            tree.DoPopupMenu    = ShowPopup;
            tree.KeyPressEvent += OnKeyPressEvent;
            tree.Selection.Mode = SelectionMode.Multiple;

            treeState = new TreeViewState(tree, (int)Columns.Breakpoint);

            TreeViewColumn col = new TreeViewColumn();
            CellRenderer   crp = new CellRendererImage();

            col.PackStart(crp, false);
            col.AddAttribute(crp, "stock_id", (int)Columns.Icon);
            tree.AppendColumn(col);

            Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle();
            toggleRender.Toggled += new ToggledHandler(ItemToggled);
            col = new TreeViewColumn();
            col.PackStart(toggleRender, false);
            col.AddAttribute(toggleRender, "active", (int)Columns.Selected);
            tree.AppendColumn(col);

            TreeViewColumn FrameCol = new TreeViewColumn();
            CellRenderer   crt      = tree.TextRenderer;

            FrameCol.Title = GettextCatalog.GetString("Name");
            FrameCol.PackStart(crt, true);
            FrameCol.AddAttribute(crt, "text", (int)Columns.FileName);
            FrameCol.Resizable = true;
            FrameCol.Alignment = 0.0f;
            tree.AppendColumn(FrameCol);

            col           = tree.AppendColumn(GettextCatalog.GetString("Condition"), crt, "text", (int)Columns.Condition);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Trace Expression"), crt, "text", (int)Columns.TraceExp);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Hit Count"), crt, "text", (int)Columns.HitCount);
            col.Resizable = true;

            col           = tree.AppendColumn(GettextCatalog.GetString("Last Trace"), crt, "text", (int)Columns.LastTrace);
            col.Resizable = true;

            sw            = new Gtk.ScrolledWindow();
            sw.ShadowType = ShadowType.None;
            sw.Add(tree);

            control = sw;

            control.ShowAll();

            breakpoints = DebuggingService.Breakpoints;

            UpdateDisplay();

            breakpoints.BreakpointAdded   += OnBreakpointAdded;
            breakpoints.BreakpointRemoved += OnBreakpointRemoved;
            breakpoints.Changed           += OnBreakpointChanged;
            breakpoints.BreakpointUpdated += OnBreakpointUpdated;

            DebuggingService.PausedEvent  += OnDebuggerStatusCheck;
            DebuggingService.ResumedEvent += OnDebuggerStatusCheck;
            DebuggingService.StoppedEvent += OnDebuggerStatusCheck;

            tree.RowActivated += OnRowActivated;

            DockItemToolbar toolbar = window.GetToolbar(PositionType.Top);

            toolbar.Add(toolbarSet, sw);
            toolbar.ShowAll();
        }
Exemplo n.º 27
0
        public RegexToolkitWidget()
        {
            this.Build();
            optionsStore = new ListStore(typeof(bool), typeof(string), typeof(Options));
            resultStore  = new Gtk.TreeStore(typeof(string), typeof(string), typeof(int), typeof(int));

            FillOptionsBox();

            this.buttonStart.Sensitive         = false;
            this.entryRegEx.Changed           += UpdateStartButtonSensitivity;
            this.inputTextview.Buffer.Changed += UpdateStartButtonSensitivity;

            this.buttonStart.Clicked += delegate {
                if (regexThread != null && regexThread.IsAlive)
                {
                    regexThread.Abort();
                    regexThread.Join();
                    SetButtonStart(GettextCatalog.GetString("Start Regular E_xpression"), "gtk-media-play");
                    regexThread = null;
                    return;
                }

                regexThread = new Thread(delegate() {
                    PerformQuery(inputTextview.Buffer.Text, this.entryRegEx.Text, this.entryReplace.Text, GetOptions());
                });

                regexThread.IsBackground = true;
                regexThread.Name         = "regex thread";
                regexThread.Start();
                SetButtonStart(GettextCatalog.GetString("Stop e_xecution"), "gtk-media-stop");

                SetFindMode(!checkbuttonReplace.Active);
            };

            SetFindMode(true);

            var cellRendText = new CellRendererText();

            cellRendText.Ellipsize = Pango.EllipsizeMode.End;

            this.optionsTreeview.Model          = this.optionsStore;
            this.optionsTreeview.HeadersVisible = false;

            CellRendererToggle cellRendToggle = new CellRendererToggle();

            cellRendToggle.Toggled    += new ToggledHandler(OptionToggled);
            cellRendToggle.Activatable = true;
            this.optionsTreeview.AppendColumn("", cellRendToggle, "active", 0);
            this.optionsTreeview.AppendColumn("", cellRendText, "text", 1);

            this.resultsTreeview.Model          = this.resultStore;
            this.resultsTreeview.HeadersVisible = false;
            var col = new TreeViewColumn();

            this.resultsTreeview.AppendColumn(col);
            var pix = new CellRendererImage();

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

            this.resultsTreeview.RowActivated += delegate(object sender, RowActivatedArgs e) {
                Gtk.TreeIter iter;
                if (resultStore.GetIter(out iter, e.Path))
                {
                    int index  = (int)resultStore.GetValue(iter, 2);
                    int length = (int)resultStore.GetValue(iter, 3);
                    if (index >= 0)
                    {
                        this.inputTextview.Buffer.SelectRange(this.inputTextview.Buffer.GetIterAtOffset(index),
                                                              this.inputTextview.Buffer.GetIterAtOffset(index + length));
                    }
                    else
                    {
                        this.inputTextview.Buffer.SelectRange(this.inputTextview.Buffer.GetIterAtOffset(0), this.inputTextview.Buffer.GetIterAtOffset(0));
                    }
                }
            };

            this.entryReplace.Sensitive      = this.checkbuttonReplace.Active = false;
            this.checkbuttonReplace.Toggled += delegate {
                this.entryReplace.Sensitive = this.checkbuttonReplace.Active;
            };
            this.vbox4.WidthRequest            = 380;
            this.scrolledwindow5.HeightRequest = 150;
            this.scrolledwindow1.HeightRequest = 150;
            Show();
        }
Exemplo n.º 28
0
        public OptionsDialog(MonoDevelop.Components.Window parentWindow, object dataObject, string extensionPath, bool removeEmptySections)
        {
            buttonCancel = new Gtk.Button(Gtk.Stock.Cancel);
            AddActionWidget(this.buttonCancel, ResponseType.Cancel);

            buttonOk = new Gtk.Button(Gtk.Stock.Ok);
            this.ActionArea.PackStart(buttonOk);
            buttonOk.Clicked += OnButtonOkClicked;

            mainHBox = new HBox();
            tree     = new TreeView();
            var sw = new ScrolledWindow();

            sw.Add(tree);
            sw.HscrollbarPolicy = PolicyType.Never;
            sw.VscrollbarPolicy = PolicyType.Automatic;
            sw.ShadowType       = ShadowType.None;

            var fboxTree = new HeaderBox();

            fboxTree.SetMargins(0, 1, 0, 1);
            fboxTree.SetPadding(0, 0, 0, 0);
            fboxTree.BackgroundColor = new Gdk.Color(255, 255, 255);
            fboxTree.Add(sw);
            mainHBox.PackStart(fboxTree, false, false, 0);

            Realized += delegate {
                fboxTree.BackgroundColor = tree.Style.Base(Gtk.StateType.Normal);
            };

            var vbox = new VBox();

            mainHBox.PackStart(vbox, true, true, 0);
            var headerBox = new HBox(false, 6);

            labelTitle        = new Label();
            labelTitle.Xalign = 0;
            textHeader        = new Alignment(0, 0, 1, 1);
            textHeader.Add(labelTitle);
            textHeader.BorderWidth = 12;
            headerBox.PackStart(textHeader, true, true, 0);

            imageHeader = new OptionsDialogHeader();
            imageHeader.Hide();
            headerBox.PackStart(imageHeader.ToGtkWidget());

            var fboxHeader = new HeaderBox();

            fboxHeader.SetMargins(0, 1, 0, 0);
            fboxHeader.Add(headerBox);
//			fbox.GradientBackround = true;
//			fbox.BackgroundColor = new Gdk.Color (255, 255, 255);
            Realized += delegate {
                var c = Style.Background(Gtk.StateType.Normal).ToXwtColor();
                c.Light += 0.09;
                fboxHeader.BackgroundColor = c.ToGdkColor();
            };
            StyleSet += delegate {
                if (IsRealized)
                {
                    var c = Style.Background(Gtk.StateType.Normal).ToXwtColor();
                    c.Light += 0.09;
                    fboxHeader.BackgroundColor = c.ToGdkColor();
                }
            };
            vbox.PackStart(fboxHeader, false, false, 0);

            pageFrame = new HBox();
            var fbox = new HeaderBox();

            fbox.SetMargins(0, 1, 0, 0);
            fbox.ShowTopShadow = true;
            fbox.Add(pageFrame);
            vbox.PackStart(fbox, true, true, 0);

            this.VBox.PackStart(mainHBox, true, true, 0);

            this.removeEmptySections = removeEmptySections;
            extensionContext         = AddinManager.CreateExtensionContext();

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

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

            ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon);

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

            // Column 0 is used to add some padding at the left of the expander
            TreeViewColumn col0 = new TreeViewColumn();

            col0.MinWidth = 6;
            tree.AppendColumn(col0);

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

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

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

            tree.ExpanderColumn = col;

            tree.Selection.Changed += OnSelectionChanged;

            Child.ShowAll();

            InitializeContext(extensionContext);

            FillTree();
            ExpandCategories();
            RestoreLastPanel();
            this.DefaultResponse = Gtk.ResponseType.Ok;

            buttonOk.CanDefault = true;
            buttonOk.GrabDefault();

            DefaultWidth  = 960;
            DefaultHeight = 680;
        }
Exemplo n.º 29
0
        void Init()
        {
            main   = new VBox(false, 6);
            widget = main;

            buttonCommit = new Gtk.Button()
            {
                Image = new Xwt.ImageView(Xwt.Drawing.Image.FromResource("commit-light-16.png")).ToGtkWidget(),
                Label = GettextCatalog.GetString("Commit...")
            };
            buttonCommit.Image.Show();
            buttonRevert = new Gtk.Button()
            {
                Image = new Xwt.ImageView(Xwt.Drawing.Image.FromResource("revert-light-16.png")).ToGtkWidget(),
                Label = GettextCatalog.GetString("Revert")
            };
            buttonRevert.Image.Show();
            showRemoteStatus = new Gtk.Button()
            {
                Image = new Xwt.ImageView(Xwt.Drawing.Image.FromResource("remote-status-light-16.png")).ToGtkWidget(),
                Label = GettextCatalog.GetString("Show Remote Status")
            };
            showRemoteStatus.Image.Show();

            status = new Label("");
            main.PackStart(status, false, false, 0);

            scroller                = new ScrolledWindow();
            scroller.ShadowType     = Gtk.ShadowType.None;
            filelist                = new FileTreeView();
            filelist.Selection.Mode = Gtk.SelectionMode.Multiple;

            scroller.Add(filelist);
            scroller.HscrollbarPolicy   = PolicyType.Automatic;
            scroller.VscrollbarPolicy   = PolicyType.Automatic;
            filelist.RowActivated      += OnRowActivated;
            filelist.DiffLineActivated += OnDiffLineActivated;

            cellToggle          = new CellRendererToggle();
            cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler);
            var crc = new CellRendererImage();

            crc.StockId       = "vc-comment";
            colCommit         = new TreeViewColumn();
            colCommit.Spacing = 2;
            colCommit.Widget  = new Xwt.ImageView(Xwt.Drawing.Image.FromResource("commit-light-16.png")).ToGtkWidget();
            colCommit.Widget.Show();
            colCommit.PackStart(cellToggle, false);
            colCommit.PackStart(crc, false);
            colCommit.AddAttribute(cellToggle, "active", ColCommit);
            colCommit.AddAttribute(cellToggle, "visible", ColShowToggle);
            colCommit.AddAttribute(crc, "visible", ColShowComment);

            CellRendererText crt     = new CellRendererText();
            var            crp       = new CellRendererImage();
            TreeViewColumn colStatus = new TreeViewColumn();

            colStatus.Title = GettextCatalog.GetString("Status");
            colStatus.PackStart(crp, false);
            colStatus.PackStart(crt, true);
            colStatus.AddAttribute(crp, "image", ColIcon);
            colStatus.AddAttribute(crp, "visible", ColShowStatus);
            colStatus.AddAttribute(crt, "text", ColStatus);
            colStatus.AddAttribute(crt, "foreground", ColStatusColor);

            colFile         = new TreeViewColumn();
            colFile.Title   = GettextCatalog.GetString("File");
            colFile.Spacing = 2;
            crp             = new CellRendererImage();
            diffRenderer    = new CellRendererDiff();
            colFile.PackStart(crp, false);
            colFile.PackStart(diffRenderer, true);
            colFile.AddAttribute(crp, "image", ColIconFile);
            colFile.AddAttribute(crp, "visible", ColShowStatus);
            colFile.SetCellDataFunc(diffRenderer, new TreeCellDataFunc(SetDiffCellData));

            crt             = new CellRendererText();
            crp             = new CellRendererImage();
            colRemote       = new TreeViewColumn();
            colRemote.Title = GettextCatalog.GetString("Remote Status");
            colRemote.PackStart(crp, false);
            colRemote.PackStart(crt, true);
            colRemote.AddAttribute(crp, "image", ColRemoteIcon);
            colRemote.AddAttribute(crt, "text", ColRemoteStatus);
            colRemote.AddAttribute(crt, "foreground", ColStatusColor);

            filelist.AppendColumn(colStatus);
            filelist.AppendColumn(colRemote);
            filelist.AppendColumn(colCommit);
            filelist.AppendColumn(colFile);

            colRemote.Visible = false;

            filestore               = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(string[]), typeof(string), typeof(bool), typeof(bool), typeof(string), typeof(bool), typeof(bool), typeof(Xwt.Drawing.Image), typeof(bool), typeof(Xwt.Drawing.Image), typeof(string), typeof(bool), typeof(bool));
            filelist.Model          = filestore;
            filelist.TestExpandRow += new Gtk.TestExpandRowHandler(OnTestExpandRow);

            commitBox = new VBox();

            HeaderBox commitMessageLabelBox = new HeaderBox();

            commitMessageLabelBox.SetPadding(6, 6, 6, 6);
            commitMessageLabelBox.SetMargins(1, 1, 0, 0);

            HBox labBox = new HBox();

            labelCommit        = new Gtk.Label(GettextCatalog.GetString("Commit message:"));
            labelCommit.Xalign = 0;
            labBox.PackStart(new Xwt.ImageView(Xwt.Drawing.Image.FromResource("comment-light-16.png")).ToGtkWidget(), false, false, 0);
            labBox.PackStart(labelCommit, true, true, 3);

            commitMessageLabelBox.Add(labBox);
            commitMessageLabelBox.ShowAll();
            //commitBox.PackStart (commitMessageLabelBox, false, false, 0);

            Gtk.ScrolledWindow frame = new Gtk.ScrolledWindow();
            frame.HeightRequest        = 75;
            frame.ShadowType           = ShadowType.None;
            commitText                 = new TextView();
            commitText.WrapMode        = WrapMode.WordChar;
            commitText.Buffer.Changed += OnCommitTextChanged;
            frame.Add(commitText);
            commitBox.PackStart(frame, true, true, 0);

            var paned = new VPanedThin();

            paned.HandleWidget = commitMessageLabelBox;
            paned.Pack1(scroller, true, true);
            paned.Pack2(commitBox, false, false);
            main.PackStart(paned, true, true, 0);

            main.ShowAll();
            status.Visible = false;

            filelist.Selection.Changed += new EventHandler(OnCursorChanged);
            VersionControlService.FileStatusChanged += OnFileStatusChanged;

            filelist.HeadersClickable = true;
            filestore.SetSortFunc(0, CompareNodes);
            colStatus.SortColumnId = 0;
            filestore.SetSortFunc(1, CompareNodes);
            colRemote.SortColumnId = 1;
            filestore.SetSortFunc(2, CompareNodes);
            colCommit.SortColumnId = 2;
            filestore.SetSortFunc(3, CompareNodes);
            colFile.SortColumnId = 3;

            filestore.SetSortColumnId(3, Gtk.SortType.Ascending);

            filelist.DoPopupMenu = DoPopupMenu;

            StartUpdate();
        }