Exemple #1
0
        private void Build()
        {
            // toolbar
            toolbar = new Toolbar();
            //			toolbar.MarginLeft = 10;
            this.Add (toolbar);
            var toolbarBox = (Gtk.Box.BoxChild)this [toolbar];
            toolbarBox.Fill = false;
            toolbarBox.Expand = false;
            toolbarBox.Position = 0;

            // toolbar choose database dropdown
            Gtk.Label l = new Gtk.Label(string.Format("Current database: {0}", this.ServerConnection.Name));
            ToolItem lTi = new ToolItem ();
            lTi.Add (l);
            toolbar.Insert (lTi, 0);

            // toolbar exec button
            ToolButton execBtn = new ToolButton (Gtk.Stock.MediaPlay);
            execBtn.Clicked += (sender, e) => this.ExecuteCommand();
            toolbar.Insert (execBtn, 1);

            // vpaned
            vpaned = new VPaned();
            this.Add (vpaned);

            // Sql area textbox wrapped in a scrolled window
            ScrolledWindow sqlAreaScroll = new ScrolledWindow();
            vpaned.Add1 (sqlAreaScroll);
            sqlArea = new Mono.TextEditor.TextEditor();
            sqlArea.Text = string.Format ("{0}{0}", System.Environment.NewLine);
            sqlArea.SetCaretTo (1, 1);
            sqlArea.CanFocus = true;
            sqlArea.IsFocus = true;

            var syntaxMode = loadSyntaxMode ();
            sqlArea.Document.SyntaxMode = syntaxMode;

            sqlAreaScroll.Add (sqlArea);

            // result tabs
            resultNoteBook = new Notebook ();
            sqlResultContainer = new Gtk.ScrolledWindow ();
            resultNoteBook.Add (sqlResultContainer);
            resultNoteBook.SetTabLabel (sqlResultContainer, new Label ("Results"));

            outputView = new TextView ();
            outputView.Editable = false;
            resultNoteBook.Add (outputView);
            resultNoteBook.SetTabLabel (outputView, new Label ("Output"));

            vpaned.Add2 (resultNoteBook);

            vpaned.Position = 180;
        }