public override Control GetVisualizerWidget (ObjectValue val)
		{
			string value = val.Value;
			Gdk.Color col = new Gdk.Color (85, 85, 85);

			if (!val.IsNull && (val.TypeName == "string" || val.TypeName == "char[]"))
				value = '"' + GetString (val) + '"';
			if (DebuggingService.HasInlineVisualizer (val))
				value = DebuggingService.GetInlineVisualizer (val).InlineVisualize (val);

			var label = new Gtk.Label ();
			label.Text = value;
			var font = label.Style.FontDescription.Copy ();

			if (font.SizeIsAbsolute) {
				font.AbsoluteSize = font.Size - 1;
			} else {
				font.Size -= (int)(Pango.Scale.PangoScale);
			}

			label.ModifyFont (font);
			label.ModifyFg (StateType.Normal, col);
			label.SetPadding (4, 4);

			if (label.SizeRequest ().Width > 500) {
				label.WidthRequest = 500;
				label.Wrap = true;
				label.LineWrapMode = Pango.WrapMode.WordChar;
			} else {
				label.Justify = Gtk.Justification.Center;
			}

			if (label.Layout.GetLine (1) != null) {
				label.Justify = Gtk.Justification.Left;
				var line15 = label.Layout.GetLine (15);
				if (line15 != null) {
					label.Text = value.Substring (0, line15.StartIndex).TrimEnd ('\r', '\n') + "\n…";
				}
			}

			label.Show ();

			return label;
		}
Esempio n. 2
0
		public void Clear ()
		{
			if (contentBox != null)
				contentBox.Destroy ();
			
			noContentLabel = new Label ();
			noContentLabel.Text = noContentMessage;
			noContentLabel.Xalign = 0F;
			noContentLabel.Justify = Justification.Left;
			noContentLabel.SetPadding (6, 6);
			addButton = new Button ();
			addButton.Label = addMessage;
//			addButton.Relief = ReliefStyle.None;
			addButton.Clicked += delegate {
				OnCreateNew (EventArgs.Empty);
			};
			
			contentBox = new VBox ();
			contentBox.PackStart (this.noContentLabel, true, true, 6);
			var hbox = new HBox ();
			hbox.PackStart (addButton, false, false, 0);
			contentBox.PackEnd (hbox, false, false, 0);
			
			PackStart (contentBox, true, true, 6);
			
			ShowAll ();
		}
Esempio n. 3
0
		public static Gtk.Window Create ()
		{
			window = new Dialog ();
			window.Title = "Bi-directional flipping";
			window.SetDefaultSize (200, 100);

			label = new Label ("Label direction: <b>Left-to-right</b>");
			label.UseMarkup = true;
			label.SetPadding (3, 3);
			window.VBox.PackStart (label, true, true, 0);

			check_button = new CheckButton ("Toggle label direction");
			window.VBox.PackStart (check_button, true, true, 2);

			if (window.Direction == TextDirection.Ltr)
				check_button.Active = true;

			check_button.Toggled += new EventHandler (Toggle_Flip);
			check_button.BorderWidth = 10;

			button = new Button (Stock.Close);
			button.Clicked += new EventHandler (Close_Button);
			button.CanDefault = true;
			
			window.ActionArea.PackStart (button, true, true, 0);
			button.GrabDefault ();

			window.ShowAll ();
			return window;
		}
        public override Control GetVisualizerWidget(ObjectValue val)
        {
            string value = val.Value;

            Gdk.Color col = new Gdk.Color(85, 85, 85);

            if (!val.IsNull && (val.TypeName == "string" || val.TypeName == "char[]"))
            {
                value = '"' + GetString(val) + '"';
            }
            if (DebuggingService.HasInlineVisualizer(val))
            {
                value = DebuggingService.GetInlineVisualizer(val).InlineVisualize(val);
            }

            var label = new Gtk.Label();

            label.Text = value;
            var font = label.Style.FontDescription.Copy();

            if (font.SizeIsAbsolute)
            {
                font.AbsoluteSize = font.Size - 1;
            }
            else
            {
                font.Size -= (int)(Pango.Scale.PangoScale);
            }

            label.ModifyFont(font);
            label.ModifyFg(StateType.Normal, col);
            label.SetPadding(4, 4);

            if (label.SizeRequest().Width > 500)
            {
                label.WidthRequest = 500;
                label.Wrap         = true;
                label.LineWrapMode = Pango.WrapMode.WordChar;
            }
            else
            {
                label.Justify = Gtk.Justification.Center;
            }

            if (label.Layout.GetLine(1) != null)
            {
                label.Justify = Gtk.Justification.Left;
                var line15 = label.Layout.GetLine(15);
                if (line15 != null)
                {
                    label.Text = value.Substring(0, line15.StartIndex).TrimEnd('\r', '\n') + "\n…";
                }
            }

            label.Show();

            return(label);
        }
Esempio n. 5
0
		static void Label_Toggle (object o, EventArgs args)
		{
			if (label == null) {
				label = new Label ("This is Text label inside a Dialog");
				label.SetPadding (10, 10);
				window.ContentArea.PackStart (label, true, true, 0);
				label.Show ();
			} else {
				label.Destroy ();
				label = null;
			}
		}
        public override Control GetVisualizerWidget(ObjectValue val)
        {
            var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone();

            ops.AllowTargetInvoke = true;
            ops.ChunkRawStrings   = true;
            ops.EllipsizedLength  = 5000; //Preview window can hold aprox. 4700 chars
            val.Refresh(ops);             //Refresh DebuggerDisplay/String value with full length instead of ellipsized
            string value = val.Value;

            Gdk.Color col = Styles.PreviewVisualizerTextColor.ToGdkColor();

            if (DebuggingService.HasInlineVisualizer(val))
            {
                value = DebuggingService.GetInlineVisualizer(val).InlineVisualize(val);
            }

            var label = new Gtk.Label();

            label.Text = value;
            label.ModifyFont(FontService.SansFont.CopyModified(Ide.Gui.Styles.FontScale11));
            label.ModifyFg(StateType.Normal, col);
            label.SetPadding(4, 4);

            if (label.SizeRequest().Width > 500)
            {
                label.WidthRequest = 500;
                label.Wrap         = true;
                label.LineWrapMode = Pango.WrapMode.WordChar;
            }
            else
            {
                label.Justify = Gtk.Justification.Center;
            }

            if (label.Layout.GetLine(1) != null)
            {
                label.Justify = Gtk.Justification.Left;
                var trimmedLine = label.Layout.GetLine(50);
                if (trimmedLine != null)
                {
                    label.Text = value.Substring(0, trimmedLine.StartIndex).TrimEnd('\r', '\n') + "\n…";
                }
            }
            label.Selectable = true;
            label.CanFocus   = false;
            label.Show();

            return(label);
        }
Esempio n. 7
0
        HBox GetSnackBarLayout(Container?container, SnackBarOptions arguments)
        {
            var snackBarLayout = new HBox();

            snackBarLayout.ModifyBg(StateType.Normal, arguments.BackgroundColor.ToGtkColor());

            var message = new Gtk.Label(arguments.MessageOptions.Message);

            message.ModifyFont(new FontDescription {
                AbsoluteSize = arguments.MessageOptions.Font.FontSize, Family = arguments.MessageOptions.Font.FontFamily
            });
            message.ModifyFg(StateType.Normal, arguments.MessageOptions.Foreground.ToGtkColor());
            message.SetPadding((int)arguments.MessageOptions.Padding.Left, (int)arguments.MessageOptions.Padding.Top);
            snackBarLayout.Add(message);
            snackBarLayout.SetChildPacking(message, false, false, 0, PackType.Start);

            foreach (var action in arguments.Actions)
            {
                var button = new Gtk.Button
                {
                    Label = action.Text
                };
                button.ModifyFont(new FontDescription {
                    AbsoluteSize = action.Font.FontSize, Family = action.Font.FontFamily
                });
                button.ModifyBg(StateType.Normal, action.BackgroundColor.ToGtkColor());
                button.ModifyFg(StateType.Normal, action.ForegroundColor.ToGtkColor());

                button.Clicked += async(sender, e) =>
                {
                    snackBarTimer?.Stop();

                    if (action.Action != null)
                    {
                        await action.Action();
                    }

                    arguments.SetResult(true);
                    container?.Remove(snackBarLayout);
                };

                snackBarLayout.Add(button);
                snackBarLayout.SetChildPacking(button, false, false, 0, PackType.End);
            }

            return(snackBarLayout);
        }
        public override Control GetVisualizerWidget(ObjectValue val)
        {
            string value = val.Value;

            Gdk.Color col = Styles.PreviewVisualizerTextColor.ToGdkColor();

            if (!val.IsNull && (val.TypeName == "string" || val.TypeName == "char[]"))
            {
                value = '"' + GetString(val) + '"';
            }
            if (DebuggingService.HasInlineVisualizer(val))
            {
                value = DebuggingService.GetInlineVisualizer(val).InlineVisualize(val);
            }

            var label = new Gtk.Label();

            label.Text = value;
            label.ModifyFont(FontService.SansFont.CopyModified(Ide.Gui.Styles.FontScale11));
            label.ModifyFg(StateType.Normal, col);
            label.SetPadding(4, 4);

            if (label.SizeRequest().Width > 500)
            {
                label.WidthRequest = 500;
                label.Wrap         = true;
                label.LineWrapMode = Pango.WrapMode.WordChar;
            }
            else
            {
                label.Justify = Gtk.Justification.Center;
            }

            if (label.Layout.GetLine(1) != null)
            {
                label.Justify = Gtk.Justification.Left;
                var line15 = label.Layout.GetLine(15);
                if (line15 != null)
                {
                    label.Text = value.Substring(0, line15.StartIndex).TrimEnd('\r', '\n') + "\n…";
                }
            }

            label.Show();

            return(label);
        }
		public override Control GetVisualizerWidget (ObjectValue val)
		{
			var ops = DebuggingService.DebuggerSession.EvaluationOptions.Clone ();
			ops.AllowTargetInvoke = true;
			ops.ChunkRawStrings = true;
			ops.EllipsizedLength = 5000;//Preview window can hold aprox. 4700 chars
			val.Refresh (ops);//Refresh DebuggerDisplay/String value with full length instead of ellipsized
			string value = val.Value;
			Gdk.Color col = Styles.PreviewVisualizerTextColor.ToGdkColor ();

			if (DebuggingService.HasInlineVisualizer (val))
				value = DebuggingService.GetInlineVisualizer (val).InlineVisualize (val);

			var label = new Gtk.Label ();
			label.Text = value;
			label.ModifyFont (FontService.SansFont.CopyModified (Ide.Gui.Styles.FontScale11));
			label.ModifyFg (StateType.Normal, col);
			label.SetPadding (4, 4);

			if (label.SizeRequest ().Width > 500) {
				label.WidthRequest = 500;
				label.Wrap = true;
				label.LineWrapMode = Pango.WrapMode.WordChar;
			} else {
				label.Justify = Gtk.Justification.Center;
			}

			if (label.Layout.GetLine (1) != null) {
				label.Justify = Gtk.Justification.Left;
				var trimmedLine = label.Layout.GetLine (50);
				if (trimmedLine != null) {
					label.Text = value.Substring (0, trimmedLine.StartIndex).TrimEnd ('\r', '\n') + "\n…";
				}
			}

			label.Show ();

			return label;
		}
		public override Control GetVisualizerWidget (ObjectValue val)
		{
			string value = val.Value;
			Gdk.Color col = Styles.PreviewVisualizerTextColor.ToGdkColor ();

			if (!val.IsNull && (val.TypeName == "string" || val.TypeName == "char[]"))
				value = '"' + GetString (val) + '"';
			if (DebuggingService.HasInlineVisualizer (val))
				value = DebuggingService.GetInlineVisualizer (val).InlineVisualize (val);

			var label = new Gtk.Label ();
			label.Text = value;
			label.ModifyFont (FontService.SansFont.CopyModified (Ide.Gui.Styles.FontScale11));
			label.ModifyFg (StateType.Normal, col);
			label.SetPadding (4, 4);

			if (label.SizeRequest ().Width > 500) {
				label.WidthRequest = 500;
				label.Wrap = true;
				label.LineWrapMode = Pango.WrapMode.WordChar;
			} else {
				label.Justify = Gtk.Justification.Center;
			}

			if (label.Layout.GetLine (1) != null) {
				label.Justify = Gtk.Justification.Left;
				var line15 = label.Layout.GetLine (15);
				if (line15 != null) {
					label.Text = value.Substring (0, line15.StartIndex).TrimEnd ('\r', '\n') + "\n…";
				}
			}

			label.Show ();

			return label;
		}
Esempio n. 11
0
		internal MonoDevelopStatusBar ()
		{
			mainContext = new MainStatusBarContextImpl (this);
			activeContext = mainContext;
			contexts.Add (mainContext);
			
			Frame originalFrame = (Frame)Children [0];
//			originalFrame.WidthRequest = 8;
//			originalFrame.Shadow = ShadowType.In;
//			originalFrame.BorderWidth = 0;
			
			BorderWidth = 0;
			Spacing = 0;
			
			// Feedback button
			
			if (FeedbackService.Enabled) {
				CustomFrame fr = new CustomFrame (0, 0, 1, 1);
				Gdk.Pixbuf px = Gdk.Pixbuf.LoadFromResource ("balloon.png");
				HBox b = new HBox (false, 3);
				b.PackStart (new Gtk.Image (px));
				b.PackStart (new Gtk.Label ("Feedback"));
				Gtk.Alignment al = new Gtk.Alignment (0f, 0f, 1f, 1f);
				al.RightPadding = 5;
				al.LeftPadding = 3;
				al.Add (b);
				feedbackButton = new MiniButton (al);
				//feedbackButton.BackroundColor = new Gdk.Color (200, 200, 255);
				fr.Add (feedbackButton);
				PackStart (fr, false, false, 0);
				feedbackButton.Clicked += HandleFeedbackButtonClicked;
				feedbackButton.ButtonPressEvent += HandleFeedbackButtonButtonPressEvent;
				;
				feedbackButton.ClickOnRelease = true;
				FeedbackService.FeedbackPositionGetter = delegate {
					int x, y;
					feedbackButton.GdkWindow.GetOrigin (out x, out y);
					x += feedbackButton.Allocation.Width;
					y -= 6;
					return new Gdk.Point (x, y);
				};
			}
			
			// Dock area
			
			DefaultWorkbench wb = (DefaultWorkbench)IdeApp.Workbench.RootWindow;
			wb.DockFrame.ShadedContainer.Add (this);
			Gtk.Widget dockBar = wb.DockFrame.ExtractDockBar (PositionType.Bottom);
			dockBar.NoShowAll = true;
			PackStart (dockBar, false, false, 0);
			
			// Status panels
			
			progressBar = new ProgressBar ();
			progressBar.PulseStep = 0.1;
			progressBar.SizeRequest ();
			progressBar.HeightRequest = 1;
			
			statusBox = new HBox (false, 0);
			statusBox.BorderWidth = 0;
			
			statusLabel = new Label ();
			statusLabel.SetAlignment (0, 0.5f);
			statusLabel.Wrap = false;
			int w, h;
			Gtk.Icon.SizeLookup (IconSize.Menu, out w, out h);
			statusLabel.HeightRequest = h;
			statusLabel.SetPadding (0, 0);
			
			EventBox eventMessageBox = new EventBox ();
			messageBox = new HBox ();
			messageBox.PackStart (progressBar, false, false, 0);
			messageBox.PackStart (statusLabel, true, true, 0);
			eventMessageBox.Add (messageBox);
			statusBox.PackStart (eventMessageBox, true, true, 0);
			eventMessageBox.ButtonPressEvent += HandleEventMessageBoxButtonPressEvent;
			
			textStatusBarPanel.BorderWidth = 0;
			textStatusBarPanel.ShadowType = ShadowType.None;
			textStatusBarPanel.Add (statusBox);
			
			var eventCaretBox = new EventBox ();
			var caretStatusBox = new HBox ();
			modeLabel = new Label (" ");
			caretStatusBox.PackEnd (modeLabel, false, false, 8);
			
			cursorLabel = new CaretStatusLabel (" ");
			caretStatusBox.PackEnd (cursorLabel, false, false, 0);
			
			caretStatusBox.GetSizeRequest (out w, out h);
			caretStatusBox.WidthRequest = w;
			caretStatusBox.HeightRequest = h;
			eventCaretBox.Add (caretStatusBox);
			statusBox.PackEnd (eventCaretBox, false, false, 0);
			
			statusIconBox = new HBox ();
			statusIconBox.BorderWidth = 0;
			statusIconBox.Spacing = 3;
			statusBox.PackEnd (statusIconBox, false, false, 4);
			
			this.PackStart (textStatusBarPanel, true, true, 0);
			
			ShowReady ();
			Gtk.Box.BoxChild boxChild = (Gtk.Box.BoxChild)this[textStatusBarPanel];
			boxChild.Position = 0;
			boxChild.Expand = boxChild.Fill = true;
			
	//		boxChild = (Gtk.Box.BoxChild)this[originalFrame];
	//		boxChild.Padding = 0;
	//		boxChild.Expand = boxChild.Fill = false;
			
			this.progressBar.Fraction = 0.0;
			this.ShowAll ();
			statusIconBox.HideAll ();
			
			originalFrame.HideAll ();
			progressBar.Visible = false;
			
			StatusBarContext completionStatus = null;
			
			// todo: Move this to the CompletionWindowManager when it's possible.
			CompletionWindowManager.WindowShown += delegate {
				CompletionListWindow wnd = CompletionWindowManager.Wnd;
				if (wnd != null && wnd.List != null && wnd.List.CategoryCount > 1) {
					if (completionStatus == null)
						completionStatus = CreateContext ();
					completionStatus.ShowMessage (string.Format (GettextCatalog.GetString ("To toggle categorized completion mode press {0}."), IdeApp.CommandService.GetCommandInfo (Commands.TextEditorCommands.ShowCompletionWindow).AccelKey));
				}
			};
			
			CompletionWindowManager.WindowClosed += delegate {
				if (completionStatus != null) {
					completionStatus.Dispose ();
					completionStatus = null;
				}
			};
		}
Esempio n. 12
0
        void AddHelpPane()
        {
            VBox desc = new VBox (false, 0);

            descTitleLabel = new Label ();
            descTitleLabel.SetAlignment(0, 0);
            descTitleLabel.SetPadding (5, 2);
            descTitleLabel.UseMarkup = true;
            desc.PackStart (descTitleLabel, false, false, 0);

            ScrolledWindow textScroll = new ScrolledWindow ();
            textScroll.HscrollbarPolicy = PolicyType.Never;
            textScroll.VscrollbarPolicy = PolicyType.Automatic;

            desc.PackEnd (textScroll, true, true, 0);

            //TODO: Use label, but wrapping seems dodgy.
            descTextView = new TextView ();
            descTextView.WrapMode = WrapMode.Word;
            descTextView.WidthRequest = 1;
            descTextView.HeightRequest = 70;
            descTextView.Editable = false;
            descTextView.LeftMargin = 5;
            descTextView.RightMargin = 5;

            Pango.FontDescription font = Style.FontDescription.Copy ();
            font.Size = (font.Size * 8) / 10;
            descTextView.ModifyFont (font);

            textScroll.Add (descTextView);

            descFrame = desc;
            vpaned.Pack2 (descFrame, false, true);
            descFrame.ShowAll ();
            UpdateHelp ();
        }
        private void UpdateGraphicObjects()
        {
            // Set dialog icon
            AboutDialog.Icon = Gdk.Pixbuf.LoadFromResource("themonospot.png");
            vpTitle.ModifyBg(StateType.Normal, new Gdk.Color(255,255,255));
            AboutDialog.Title = GlobalData.GetLanguageKeyValue("ABOUTWINTITLE");

            ScrolledWindow sw = new ScrolledWindow();
            Viewport vp = new Viewport();
            sw.Add(vp);
            Label lblContent = new Label();
            lblContent.SetPadding(4,4);
            lblContent.SetAlignment((float)0, (float)0);
            vp.ModifyBg(StateType.Normal, new Gdk.Color(255,255,255));
            lblContent.Markup =
                "<b>Themonospot Gtk</b>\r\n" +
                "  " + GlobalData.GuiDescription + "\r\n\r\n" +
                "Copyright " + GlobalData.GuiCopyright + "\r\n\r\n" +
                "<b>Website</b>\r\n" +
                "  www.integrazioneweb.com/themonospot\r\n\r\n" +
                "<b>Developers</b>\r\n" +
                "  Armando Basile <i>([email protected])</i>\r\n" +
                "  Giuseppe Coviello <i>([email protected])</i>\r\n\r\n" +
                "<b>Special thanks to</b>\r\n" +
                "  Moitah <i>([email protected])</i>\r\n" +
                "  Insomniac <i>([email protected])</i>\r\n" +
                "  Rigel.va\r\n" +
                "  Mubumba <i>([email protected])</i>\r\n\r\n" +
                "<b>Bugs report</b>\r\n" +
                "  https://github.com/armando-basile/themonospot/issues\r\n";

            vp.Add(lblContent);

            tabInfo.AppendPage(sw, new Label(GlobalData.GetLanguageKeyValue("ABOUTTABINFO")));

            string components = "<b>base component: </b>" + GlobalData.BaseRelease + "\r\n";
            for (int j=0; j<GlobalData.BasePlugins.Count; j++)
            {
                components += "<b>" + GlobalData.BasePlugins[j].FileName + ": </b>" +
                    GlobalData.BasePlugins[j].Release + "\r\n";
            }

            sw = new ScrolledWindow();
            vp = new Viewport();
            sw.Add(vp);
            lblContent = new Label();
            lblContent.SetPadding(4,4);
            lblContent.SetAlignment((float)0, (float)0);
            lblContent.Markup = components;
            vp.ModifyBg(StateType.Normal, new Gdk.Color(255,255,255));

            vp.Add(lblContent);

            tabInfo.AppendPage(sw, new Label(GlobalData.GetLanguageKeyValue("ABOUTTABCOMPONENTS")));

            tabInfo.ShowAll();

            imgLogo.Pixbuf = Gdk.Pixbuf.LoadFromResource("themonospot.png");
            vpLogo.ModifyBg(StateType.Normal, new Gdk.Color(255,255,255));

            lblTitle.Markup = "<b>Themonospot [Gtk]</b>\r\n" +
                GlobalData.GuiRelease;
            lblTitle.ModifyBg(StateType.Normal, new Gdk.Color(255,255,255));

            Gdk.Geometry geo = new Gdk.Geometry();
            geo.MinHeight = 380;
            geo.MinWidth = 500;
            AboutDialog.SetGeometryHints(tabInfo, geo, Gdk.WindowHints.MinSize);

            // wait for gui processes
            while (Gtk.Application.EventsPending ())
                Gtk.Application.RunIteration ();
        }
Esempio n. 14
0
		public void set_setting (Setting s)
		{
			if(_s != null)
				throw new Exception("set_setting may only be used once per instance!");
			_s = s;

			name_label.Text = _s.Name;

			if (_s.Choices != null && _s.Limited) {

				// TODO: This is broken, code was originally written to store a string
				// but in this particular case there is a setting with string type
				// and you are given an array of choices, so what should really be
				// stored is a value between 0 and the length of the array; to 
				// indicate which choice is selected. As I am changing User-Agent
				// switcher to "Un Limited" I do not have a use case for this yet.
				ComboBox cobo = new ComboBox ((String[])_s.Choices);
				cobo.SetSizeRequest (100, 20);
				cobo.Name = _s.Name;
				cobo.Changed += cobo_changed;
				vbox2.Add (cobo);
			} else if (_s.Choices != null && !_s.Limited) {
				ComboBoxEntry combo = new ComboBoxEntry ((String[])_s.Choices);
				combo.SetSizeRequest (100, 20);
				combo.Name = _s.Name;
				combo.Entry.Text = (String)_s.Value;
				combo.Changed += combo_changed;
				vbox2.Add (combo);
			} else {
				Entry e = new Entry ((string)_s.Value);
				e.Name = _s.Name;
				e.Changed += e_changed;
				vbox2.Add (e);
			}
			Label l = new Label (_s.Description);
			l.SetSizeRequest (315, 100);
			l.SetAlignment (0, 0);
			l.LineWrap = true;
			l.SingleLineMode = false;
			l.SetPadding (10, 2);
			Pango.FontDescription pf2 = new Pango.FontDescription ();
			pf2.Weight = Pango.Weight.Light;
			l.ModifyFont (pf2);
			vbox2.Add(l);
		}
 /// <summary>
 /// Adds a new column, whereby the column is represented as a GTK label  
 /// After the last column has been added, you must confirm
 /// with UpdateColumns()
 /// </summary>
 /// <param name="name">Name.</param>
 /// <param name="width">Width.</param>
 /// <param name="visible">If set to <c>true</c> visible.</param>
 public void AddColumn(int tag, string name, int width, bool visible, Pango.FontDescription fd = null)
 {
     Label label = new Label(name)
      {
     UseMarkup = true,
     Visible = true
      };
      label.SetAlignment(0, 0.5f);
      label.SetPadding(2, 2);
      AddColumn(name, label, tag, width, fd != null ? NewLayout(fd) : DefaultLayout);
 }
Esempio n. 16
0
 /// <summary>
 /// Add tab to notebook object
 /// </summary>
 private void AddLabelTab(ref Gtk.Label lblObj, string title)
 {
     // Create and add tab for Thanks info
     ScrolledWindow sw = new ScrolledWindow();
     Viewport vp = new Viewport();
     sw.AddWithViewport(vp);
     lblObj = new Label();
     lblObj.SetPadding(4,4);
     lblObj.SetAlignment((float)0, (float)0);
     vp.ModifyBg(StateType.Normal, new Gdk.Color(255,255,255));
     vp.Add(lblObj);
     tabInfo.AppendPage(sw, new Gtk.Label(title));
 }
		internal MonoDevelopStatusBar()
		{
			mainContext = new MainStatusBarContextImpl (this);
			activeContext = mainContext;
			contexts.Add (mainContext);
			
			Frame originalFrame = (Frame)Children[0];
//			originalFrame.WidthRequest = 8;
//			originalFrame.Shadow = ShadowType.In;
//			originalFrame.BorderWidth = 0;
			
			BorderWidth = 0;
			
			DefaultWorkbench wb = (DefaultWorkbench) IdeApp.Workbench.RootWindow;
			wb.DockFrame.ShadedContainer.Add (this);
			Gtk.Widget dockBar = wb.DockFrame.ExtractDockBar (PositionType.Bottom);
			dockBar.NoShowAll = true;
			PackStart (dockBar, false, false, 0);
			
			progressBar = new ProgressBar ();
			progressBar.PulseStep = 0.1;
			progressBar.SizeRequest ();
			progressBar.HeightRequest = 1;
			
			statusBox = new HBox (false, 0);
			statusBox.BorderWidth = 0;
			
			statusLabel = new Label ();
			statusLabel.SetAlignment (0, 0.5f);
			statusLabel.Wrap = false;
			int w, h;
			Gtk.Icon.SizeLookup (IconSize.Menu, out w, out h);
			statusLabel.HeightRequest = h;
			statusLabel.SetPadding (0, 0);
			
			EventBox eventMessageBox = new EventBox ();
			messageBox = new HBox ();
			messageBox.PackStart (progressBar, false, false, 0);
			messageBox.PackStart (statusLabel, true, true, 0);
			eventMessageBox.Add (messageBox);
			statusBox.PackStart (eventMessageBox, true, true, 0);
			eventMessageBox.ButtonPressEvent += HandleEventMessageBoxButtonPressEvent;
			
			textStatusBarPanel.BorderWidth = 0;
			textStatusBarPanel.ShadowType = ShadowType.None;
			textStatusBarPanel.Add (statusBox);
			Label fillerLabel = new Label ();
			fillerLabel.WidthRequest = 8;
			statusBox.PackEnd (fillerLabel, false, false, 0);
			
			modeLabel = new Label (" ");
			statusBox.PackEnd (modeLabel, false, false, 8);
			
			cursorLabel = new Label (" ");
			statusBox.PackEnd (cursorLabel, false, false, 0);
			
			statusIconBox = new HBox ();
			statusIconBox.BorderWidth = 0;
			statusIconBox.Spacing = 3;
			statusBox.PackEnd (statusIconBox, false, false, 4);
			
			this.PackStart (textStatusBarPanel, true, true, 0);
			
			ShowReady ();
			Gtk.Box.BoxChild boxChild = (Gtk.Box.BoxChild)this[textStatusBarPanel];
			boxChild.Position = 0;
			boxChild.Expand = boxChild.Fill = true;
			
	//		boxChild = (Gtk.Box.BoxChild)this[originalFrame];
	//		boxChild.Padding = 0;
	//		boxChild.Expand = boxChild.Fill = false;
			
			this.progressBar.Fraction = 0.0;
			this.ShowAll ();
			statusIconBox.HideAll ();
			
			originalFrame.HideAll ();
			progressBar.Visible = false;
			
			StatusBarContext completionStatus = null;
			
			// todo: Move this to the CompletionWindowManager when it's possible.
			CompletionWindowManager.WindowShown += delegate {
				CompletionListWindow wnd = CompletionWindowManager.Wnd;
				if (wnd != null && wnd.List != null && wnd.List.CategoryCount > 1) {
					if (completionStatus == null)
						completionStatus = CreateContext ();
					completionStatus.ShowMessage (string.Format (GettextCatalog.GetString ("To toggle categorized completion mode press {0}."), IdeApp.CommandService.GetCommandInfo (Commands.TextEditorCommands.ShowCompletionWindow).AccelKey));
				}
			};
			
			CompletionWindowManager.WindowClosed += delegate {
				if (completionStatus != null) {
					completionStatus.Dispose ();
					completionStatus = null;
				}
			};
		}
Esempio n. 18
0
        internal PropertyGrid(EditorManager editorManager)
            : base(false, 0)
        {
            this.editorManager = editorManager;

            tips = new Tooltips ();

            #region Toolbar
            toolbar = new Toolbar ();
            toolbar.ToolbarStyle = ToolbarStyle.Icons;
            toolbar.IconSize = IconSize.SmallToolbar;
            base.PackStart (toolbar, false, false, 0);

            catButton = new RadioToolButton (new GLib.SList (IntPtr.Zero));
            catButton.IconWidget = new Image (new Gdk.Pixbuf (null, "AspNetEdit.UI.PropertyGrid.SortByCat.png"));
            catButton.SetTooltip (tips, "Sort in categories", null);
            catButton.Toggled += new EventHandler (toolbarClick);
            toolbar.Insert (catButton, 0);

            alphButton = new RadioToolButton (catButton, Stock.SortAscending);
            alphButton.SetTooltip (tips, "Sort alphabetically", null);
            alphButton.Clicked += new EventHandler (toolbarClick);
            toolbar.Insert (alphButton, 1);

            catButton.Active = true;

            SeparatorToolItem sep = new SeparatorToolItem();
            toolbar.Insert (sep, 2);

            #endregion

            vpaned = new VPaned ();

            descFrame = new Frame ();
            descFrame.Shadow = ShadowType.In;

            desc = new VBox (false, 0);
            descFrame.Add (desc);

            descTitle = new Label ();
            descTitle.SetAlignment(0, 0);
            descTitle.SetPadding (5, 5);
            descTitle.UseMarkup = true;
            desc.PackStart (descTitle, false, false, 0);

            textScroll = new ScrolledWindow ();
            textScroll.HscrollbarPolicy = PolicyType.Never;
            textScroll.VscrollbarPolicy = PolicyType.Automatic;

            desc.PackEnd (textScroll, true, true, 0);

            //TODO: Use label, but wrapping seems dodgy.
            descText = new TextView ();
            descText.WrapMode = WrapMode.Word;
            descText.WidthRequest = 1;
            descText.HeightRequest = 100;
            descText.Editable = false;
            descText.LeftMargin = 5;
            descText.RightMargin = 5;
            textScroll.Add (descText);

            scrolledWindow = new ScrolledWindow ();
            scrolledWindow.HscrollbarPolicy = PolicyType.Automatic;
            scrolledWindow.VscrollbarPolicy = PolicyType.Automatic;

            vpaned.Pack1 (scrolledWindow, true, true);
            vpaned.Pack2 (descFrame, false, true);

            AddPropertyTab (new DefaultPropertyTab ());
            AddPropertyTab (new EventPropertyTab ());

            base.PackEnd (vpaned);
            Populate ();
        }