コード例 #1
0
        public OneWidgetDialog(Widget widget)
        {
            this.Build ();

            var att = widget.GetType ().GetCustomAttributes (typeof(WidgetWindowAttribute), false);
            if (att.Length > 0)
                this.SetDefaultSize ((att [0] as WidgetWindowAttribute).DefaultWidth,
                                     (att [0] as WidgetWindowAttribute).DefaultHeight);

            widget.Show ();
            VBox.Add (widget);

            att = widget.GetType ().GetCustomAttributes (typeof(DisplayNameAttribute), true);
            if (att.Length > 0)
                Title = (att [0] as DisplayNameAttribute).DisplayName;

            tdiTab = widget as ITdiTab;
            if(tdiTab != null)
            {
                if(!String.IsNullOrWhiteSpace (tdiTab.TabName))
                    Title = tdiTab.TabName;
                tdiTab.TabParent = this;
                tdiTab.TabNameChanged += TdiTab_TabNameChanged;
                tdiTab.CloseTab += TdiTab_CloseTab;
            }

            this.ReshowWithInitialSize ();
        }
コード例 #2
0
        protected virtual void OnComboVisualizersChanged(object sender, EventArgs e)
        {
            var button = (ToggleButton)sender;

            if (!button.Active)              //Prevent un-toggling
            {
                button.Toggled -= OnComboVisualizersChanged;
                button.Active   = true;
                button.Toggled += OnComboVisualizersChanged;
                return;
            }
            if (currentWidget != null)
            {
                mainBox.Remove(currentWidget);
            }
            foreach (var b in buttons)
            {
                if (b != button && b.Active)
                {
                    b.Toggled -= OnComboVisualizersChanged;
                    b.Active   = false;
                    b.Toggled += OnComboVisualizersChanged;
                }
            }
            currentVisualizer    = visualizers [buttons.IndexOf(button)];
            currentWidget        = currentVisualizer.GetVisualizerWidget(value);
            buttonSave.Sensitive = currentVisualizer.CanEdit(value);
            mainBox.PackStart(currentWidget, true, true, 0);
            currentWidget.Show();
        }
コード例 #3
0
ファイル: Grid.cs プロジェクト: highattack30/monodevelop-1
            public Pair(Grid grid, string name, Widget editor, string description)
            {
                Gtk.Label l = new Label(name);
                l.UseMarkup = true;
                l.Justify   = Justification.Left;
                l.Xalign    = 0;
                l.Show();

                if (description == null)
                {
                    label = l;
                }
                else
                {
                    Gtk.EventBox ebox = new Gtk.EventBox();
                    ebox.Add(l);
                    ebox.Show();
                    ebox.TooltipText = description;
                    label            = ebox;
                }
                label.Parent = grid;

                this.editor   = editor;
                editor.Parent = grid;
                editor.Show();
            }
コード例 #4
0
        void StartEditing(TableRow row)
        {
            EndEditing();
            currentEditorRow = row;
            var cell = GetCell(row);

            editSession   = cell.StartEditing(row.EditorBounds, State);
            currentEditor = (Gtk.Widget)editSession.Editor;
            Add(currentEditor);
            SetAllocation(currentEditor, row.EditorBounds);
            currentEditor.Show();
            currentEditor.CanFocus = true;
            currentEditor.GrabFocus();
            ConnectTabEvent(currentEditor);
            editSession.Changed += delegate {
                if (Changed != null)
                {
                    Changed(this, EventArgs.Empty);
                }
            };
            var vs = ((Gtk.Viewport)Parent).Vadjustment;

            if (row.EditorBounds.Top < vs.Value)
            {
                vs.Value = row.EditorBounds.Top;
            }
            else if (row.EditorBounds.Bottom > vs.Value + vs.PageSize)
            {
                vs.Value = row.EditorBounds.Bottom - vs.PageSize;
            }
            QueueDraw();
        }
コード例 #5
0
        public override CellEditable StartEditing(Gdk.Event ev, Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
        {
            if (property == null || editorCell == null || !sensitive)
            {
                return(null);
            }

            StateType   state   = GetState(flags);
            EditSession session = editorCell.StartEditing(cell_area, state);

            if (session == null)
            {
                return(null);
            }
            Gtk.Widget propEditor = (Gtk.Widget)session.Editor;
            propEditor.Show();
            HackEntry e = new HackEntry(session, propEditor);

            e.Show();
            session.Changed += delegate {
                ((InternalTree)widget).PropertyTree.NotifyChanged();
            };
            TreeIter it;

            ((InternalTree)widget).Model.GetIterFromString(out it, path);
            ((InternalTree)widget).EditingIter = it;
            return(e);
        }
コード例 #6
0
ファイル: SectionBox.cs プロジェクト: haugjan/banshee-hacks
        private void AddWidget (PreferenceBase preference, Widget widget, Widget mnemonic_widget)
        {
            uint start_row = NRows;
            uint start_col = 0;

            Label label = null;

            if (!(widget is CheckButton) && preference.ShowLabel) {
                label = AttachLabel (preference.Name, start_row);
                start_col++;
            }

            widget.Show ();
            Attach (widget, start_col, 2, start_row, start_row + 1,
                AttachOptions.Expand | AttachOptions.Fill,
                AttachOptions.Expand | AttachOptions.Fill, 0, 0);

            if (label != null) {
                label.MnemonicWidget = mnemonic_widget ?? widget;
            }

            if (!String.IsNullOrEmpty (preference.Description)) {
                if (tp_host == null) {
                     tp_host = TooltipSetter.CreateHost ();
                }

                TooltipSetter.Set (tp_host, widget, preference.Description);
                if (label != null) {
                    TooltipSetter.Set (tp_host, label, preference.Description);
                }
            }
        }
コード例 #7
0
        bool SelectedHandler()
        {
            ClassDescriptor klass;

            Clear();

            selection = newSelection;

            if (selection == null || selection.Wrapped is ErrorWidget)
            {
                noSelection.Show();
                return(false);
            }

            header.Show();

            selection.Notify += Notified;

            klass = selection.ClassDescriptor;

            header.AttachObject(selection.Wrapped);
            AppendItemGroups(klass, selection.Wrapped);

            packingSelection = Stetic.Wrapper.Container.ChildWrapper(selection);
            if (packingSelection != null)
            {
                klass = packingSelection.ClassDescriptor;
                if (klass.ItemGroups.Count > 0)
                {
                    AppendItemGroups(klass, packingSelection.Wrapped);
                    packingSelection.Notify += Notified;
                }
            }
            return(false);
        }
コード例 #8
0
ファイル: PropertyGridTable.cs プロジェクト: wjohnke/CSS18
        void StartEditing(TableRow row)
        {
            GrabFocus();

            currentEditorRow = row;
            row.Focused      = true;

            var cell = GetCell(row);

            if (cell == null)
            {
                GrabFocus();
                QueueDraw();
                return;
            }

            editSession = cell.StartEditing(row.EditorBounds, State);
            if (editSession == null)
            {
                return;
            }

            currentEditor = (Gtk.Widget)editSession.Editor;
            Add(currentEditor);
            SetAllocation(currentEditor, row.EditorBounds);
            currentEditor.Show();
            currentEditor.GrabFocus();

            var refreshAtt = row.Property.Attributes.OfType <RefreshPropertiesAttribute> ().FirstOrDefault();
            var refresh    = refreshAtt == null ? RefreshProperties.None : refreshAtt.RefreshProperties;

            editSession.Changed += delegate {
                if (refresh == RefreshProperties.Repaint)
                {
                    parentGrid.Refresh();
                }
                else if (refresh == RefreshProperties.All)
                {
                    parentGrid.Populate(saveEditSession: true);
                }

                if (Changed != null)
                {
                    Changed(this, EventArgs.Empty);
                }
            };

            var vs = ((Gtk.Viewport)Parent).Vadjustment;

            if (row.EditorBounds.Top < vs.Value)
            {
                vs.Value = row.EditorBounds.Top;
            }
            else if (row.EditorBounds.Bottom > vs.Value + vs.PageSize)
            {
                vs.Value = row.EditorBounds.Bottom - vs.PageSize;
            }
            QueueDraw();
        }
コード例 #9
0
 public TreeViewCellContainer(Gtk.Widget child)
 {
     box = new EventBox();
     box.ButtonPressEvent += new ButtonPressEventHandler(OnClickBox);
     box.Add(child);
     child.Show();
     Show();
 }
コード例 #10
0
 public static void AddWidgetItem(this Toolbar tb, Widget w)
 {
     w.Show ();
     ToolItem ti = new ToolItem ();
     ti.Add (w);
     ti.Show ();
     tb.Insert (ti, tb.NItems);
 }
コード例 #11
0
ファイル: Grid.cs プロジェクト: mono/stetic
        public void Append(Widget w)
        {
            w.Parent = this;
            w.Show ();

            lines.Add (w);
            QueueDraw ();
        }
コード例 #12
0
 internal void UseCustomWidget(Gtk.Widget widget)
 {
     toolbarProvider.Attach(null);
     ClearToolbar();
     customWidget = true;
     frame.Remove(frame.Child);
     frame.Add(widget);
     widget.Show();
 }
コード例 #13
0
 public TreeViewCellContainer(Gtk.Widget child)
 {
     box = new EventBox();
     box.ButtonPressEvent += new ButtonPressEventHandler(OnClickBox);
     box.ModifyBg(StateType.Normal, Style.White);
     box.Add(child);
     child.Show();
     Show();
 }
コード例 #14
0
 public void AddChild(Gtk.Widget child, ChildPosition position)
 {
     child.Parent = this;
     child.Show();
     children.Add(new SmartScrolledWindowContainerChild(this, child)
     {
         ChildPosition = position
     });
 }
コード例 #15
0
    public void setCurrentWidget(Gtk.Widget widget)
    {
        if (currentWidget != null)
        {
            widgetVbox.Remove(currentWidget);
        }

        currentWidget = widget;
        currentWidget.Show();
        widgetVbox.PackStart(currentWidget, true, true, 5);
    }
コード例 #16
0
		void SetDetailWidget (Widget detail)
		{
			var child2 = Child2;
			if (child2 != null) {
				Remove (child2);
			}

			detail = detail ?? new Label ();
			detail.WidthRequest = 300;
			detail.Show ();

			Pack2 (detail, true, false);
		}
コード例 #17
0
 internal void UseCustomWidget(Gtk.Widget widget)
 {
     toolbarProvider.Attach(null);
     ClearToolbar();
     customWidget = true;
     frame.Remove(frame.Child);
     frame.Add(widget);
     widget.Show();
     if (container != null)
     {
         widget.Visible = container.ContentVisible;
     }
 }
コード例 #18
0
ファイル: Term.cs プロジェクト: drorganvidez/guadalinex-v6
        private void HandleDragMotion(object o, DragMotionArgs args)
        {
            if (!preview)
            {
                if (preview_widget == null)
                {
                    preview_widget = new Gtk.Label(" | ");
                    box.Add(preview_widget);
                }

                preview_widget.Show();
            }
        }
コード例 #19
0
 /// <summary>
 /// Packs widget on the left side of the box. Every next packed widget
 /// gets packed after previous
 /// </summary>
 /// <param name="aWidget">
 /// Widget to insert inside <see cref="Gtk.Widget"/>
 /// </param>
 public void PackStart(Gtk.Widget aWidget)
 {
     if (aWidget == null)
     {
         return;
     }
     if (BeforeAlignment.LeftPadding == 0)
     {
         BeforeAlignment.LeftPadding = 3;
     }
     BeforeBox.PackEnd(aWidget, false, false, 0);
     aWidget.CanFocus = false;
     aWidget.Show();
 }
コード例 #20
0
ファイル: Grid.cs プロジェクト: mono/stetic
        public void Append(Widget w, string description)
        {
            if ((w.WidgetFlags & WidgetFlags.NoWindow) != 0) {
                Gtk.EventBox ebox = new Gtk.EventBox ();
                ebox.Add (w);
                ebox.Show ();
                w = ebox;
            }
            w.Parent = this;
            w.Show ();

            tips.SetTip (w, description, null);

            lines.Add (w);
            QueueDraw ();
        }
コード例 #21
0
        public void ShowResult(object res)
        {
            TextIter end = Buffer.EndIter;

            var handlers = new List <InteractiveGraphicsBase.TransformHandler> (InteractiveGraphicsBase.type_handlers);

            //object original = res;
            bool retry;

            do
            {
                retry = false;
                foreach (var render_handler in handlers)
                {
                    object transformed = render_handler(res);
                    if (transformed == null || transformed == res)
                    {
                        continue;
                    }

                    if (transformed is Gtk.Widget)
                    {
                        Gtk.Widget      w      = (Gtk.Widget)transformed;
                        TextChildAnchor anchor = Buffer.CreateChildAnchor(ref end);
                        w.Show();
                        AddChildAtAnchor(w, anchor);
                        return;
                    }
                    else
                    {
                        res = transformed;
                        handlers.Remove(render_handler);
                        retry = true;
                        break;
                    }
                }
            } while (retry && handlers.Count > 0);

            StringWriter pretty = new StringWriter();

            try {
                PrettyPrint(pretty, res);
            } catch (Exception e) {
                Console.WriteLine(e);
            }
            Buffer.InsertWithTagsByName(ref end, pretty.ToString(), "Stdout");
        }
コード例 #22
0
        void Add(Control control, bool fill, int padding, int index)
        {
            int defaultPadding = 3;

            Widget widget = control;

            if (widget is Button)
            {
                ((Button)widget).Relief       = ReliefStyle.None;
                ((Button)widget).FocusOnClick = false;
                defaultPadding = 0;
            }
            else if (widget is Entry)
            {
                ((Entry)widget).HasFrame = false;
            }
            else if (widget is ComboBox)
            {
                ((ComboBox)widget).HasFrame = false;
            }
            else if (widget is VSeparator)
            {
                ((VSeparator)widget).HeightRequest = 10;
            }

            if (padding == -1)
            {
                padding = defaultPadding;
            }

            box.PackStart(widget, fill, fill, (uint)padding);
            if (empty)
            {
                empty = false;
                frame.Show();
            }
            if (index != -1)
            {
                Box.BoxChild bc = (Box.BoxChild)box [widget];
                bc.Position = index;
            }
        }
コード例 #23
0
        protected virtual void OnRepComboChanged(object sender, System.EventArgs e)
        {
            if (repoContainer.Child != null)
            {
                repoContainer.Remove(repoContainer.Child);
            }

            if (repCombo.Active == -1)
            {
                return;
            }

            VersionControlSystem vcs = (VersionControlSystem)systems [repCombo.Active];

            repo = vcs.CreateRepositoryInstance();
            Gtk.Widget editor = vcs.CreateRepositoryEditor(repo);
            repoContainer.Add(editor);
            editor.Show();
            UpdateRepoDescription();
        }
コード例 #24
0
        void UpdateVisualizer(ToggleButton button)
        {
            if (currentWidget != null)
            {
                mainBox.Remove(currentWidget);
            }

            foreach (var b in buttons)
            {
                if (b != button && b.Active)
                {
                    SetToggleState(b, false);
                }
            }

            currentVisualizer    = visualizers [buttons.IndexOf(button)];
            currentWidget        = currentVisualizer.GetVisualizerWidget(value);
            buttonSave.Sensitive = currentVisualizer.CanEdit(value);
            mainBox.PackStart(currentWidget, true, true, 0);
            currentWidget.Show();
        }
コード例 #25
0
        // TODO: Centralize duplicated code
        private void AddRow(Gtk.Table table, Gtk.Widget widget, string labelText, uint row)
        {
            Gtk.Label l = new Gtk.Label(labelText);
            l.UseUnderline = true;
            l.Xalign       = 0.0f;
            l.Show();
            table.Attach(l, 0, 1, row, row + 1,
                         Gtk.AttachOptions.Fill,
                         Gtk.AttachOptions.Expand | Gtk.AttachOptions.Fill,
                         0, 0);

            widget.Show();
            table.Attach(widget, 1, 2, row, row + 1,
                         Gtk.AttachOptions.Expand | Gtk.AttachOptions.Fill,
                         Gtk.AttachOptions.Expand | Gtk.AttachOptions.Fill,
                         0, 0);

            l.MnemonicWidget = widget;

            // TODO: Tooltips
        }
コード例 #26
0
        public override CellEditable StartEditing(Gdk.Event ev, Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, CellRendererState flags)
        {
            if (property == null || editorCell == null || !sensitive)
            {
                return(null);
            }

            StateType   state   = GetState(flags);
            EditSession session = editorCell.StartEditing(cell_area, state);

            if (session == null)
            {
                return(null);
            }
            Gtk.Widget propEditor = (Gtk.Widget)session.Editor;
            propEditor.Show();
            HackEntry e = new HackEntry(propEditor, session);

            e.Show();
            return(e);
        }
コード例 #27
0
 /// <summary>
 /// Packs widget on the right side of the box. Every next packed widget
 /// gets packed before previous
 /// </summary>
 /// <param name="aWidget">
 /// Widget to insert inside <see cref="Gtk.Widget"/>
 /// </param>
 public void PackEnd(Gtk.Widget aWidget)
 {
     if (aWidget == null)
     {
         return;
     }
     if (AfterAlignment.RightPadding == 0)
     {
         AfterAlignment.RightPadding = 3;
     }
     AfterBox.PackEnd(aWidget, false, false, 0);
     if (aWidget is Gtk.Entry)
     {
         (aWidget as Gtk.Entry).FocusInEvent  += OnEntryFocusIn;
         (aWidget as Gtk.Entry).FocusOutEvent += OnEntryFocusOut;
     }
     else
     {
         aWidget.CanFocus = false;
     }
     aWidget.Show();
 }
コード例 #28
0
ファイル: Grid.cs プロジェクト: FreeBSD-DotNet/monodevelop
			public Pair (Grid grid, string name, Widget editor, string description)
			{
				Gtk.Label l = new Label (name);
				l.UseMarkup = true;
				l.Justify = Justification.Left;
				l.Xalign = 0;
				l.Show ();

				if (description == null)
					label = l;
				else {
					Gtk.EventBox ebox = new Gtk.EventBox ();
					ebox.Add (l);
					ebox.Show ();
					ebox.TooltipText = description;
					label = ebox;
				}
				label.Parent = grid;

				this.editor = editor;
				editor.Parent = grid;
				editor.Show ();
			}
コード例 #29
0
        static void OpenWindow(ProjectItemInfo item)
        {
            Gtk.Widget page = (Gtk.Widget)openWindows [item];
            if (page != null)
            {
                page.Show();
                WidgetNotebook.Page = WidgetNotebook.PageNum(page);
            }
            else
            {
                DesignerView view = new DesignerView(Project, item);

                // Tab label

                HBox tabLabel = new HBox();
                tabLabel.PackStart(new Gtk.Image(item.Component.Type.Icon), true, true, 0);
                tabLabel.PackStart(new Label(item.Name), true, true, 3);
                Button b = new Button(new Gtk.Image("gtk-close", IconSize.Menu));
                b.Relief       = Gtk.ReliefStyle.None;
                b.WidthRequest = b.HeightRequest = 24;

                b.Clicked += delegate(object s, EventArgs a) {
                    view.Hide();
                    WidgetNotebook.QueueResize();
                };

                tabLabel.PackStart(b, false, false, 0);
                tabLabel.ShowAll();

                // Notebook page

                int p = WidgetNotebook.AppendPage(view, tabLabel);
                view.ShowAll();
                openWindows [item]  = view;
                WidgetNotebook.Page = p;
            }
        }
コード例 #30
0
		private void NewPreset(IRenderer preset, Widget editor) {
			IDisposable old = this.mPreset as IDisposable;
			
			if (old != null) {
				this.InvokeOnRenderLoop(old.Dispose);
			}
			
			this.save.Sensitive = true;
			this.saveAs.Sensitive = true;
			this.mLastSave = null;
			
			this.mPreset = preset;
			this.mController.Renderer = preset;
			
			if (this.PresetPane.Child != null)
				this.PresetPane.Child.Destroy();
			
			editor.Show();
			this.PresetPane.Add(editor);
		}
コード例 #31
0
        protected static HBox BuildRangeBox(Widget a, Widget b)
        {
            HBox box = new HBox();
            box.Spacing = 5;
            a.Show();
            box.PackStart(a, true, true, 0);

            Label label = new Label(" to ");
            label.Show();
            box.PackStart(label, false, false, 0);

            b.Show();
            box.PackStart(b, true, true, 0);

            box.Show();

            return box;
        }
コード例 #32
0
		void ChangeState (DialogState newState)
		{
			bool hasConfig = comboModel.Active == 0;

			switch (newState) {
			case DialogState.Create:
				btnBack.Visible = false;
				btnConfig.Visible = true;
				btnConfig.Sensitive = isWebService && hasConfig;
				btnOK.Visible = true;
				btnOK.Sensitive = isWebService;
				tlbNavigate.Visible = WebBrowserService.CanGetWebBrowser;
				tbxReferenceName.Sensitive = isWebService;
				comboModel.Sensitive = true;
				break;

			case DialogState.CreateConfig:
				btnBack.Visible = true;
				btnBack.Sensitive = true;
				btnConfig.Visible = false;
				btnOK.Visible = true;
				btnOK.Sensitive = true;
				tlbNavigate.Visible = false;
				tbxReferenceName.Sensitive = false;
				comboModel.Sensitive = false;
				break;

			case DialogState.Modify:
				btnBack.Visible = false;
				btnConfig.Visible = true;
				btnConfig.Sensitive = isWebService && hasConfig;
				btnOK.Visible = true;
				btnOK.Sensitive = isWebService;
				tlbNavigate.Visible = WebBrowserService.CanGetWebBrowser;
				tbxReferenceName.Sensitive = false;
				comboModel.Sensitive = false;
				break;

			case DialogState.ModifyConfig:
				btnBack.Visible = false;
				btnConfig.Visible = false;
				btnOK.Visible = true;
				btnOK.Sensitive = true;
				tlbNavigate.Visible = false;
				tbxReferenceName.Sensitive = false;
				comboModel.Sensitive = false;
				break;
				
			default:
				throw new InvalidOperationException ();
			}

			if (wcfConfig != null)
				wcfConfig.Update ();

			if (state == newState)
				return;

			if (state != DialogState.Uninitialized)
				frmBrowser.Forall (c => frmBrowser.Remove (c));

			browser = null;
			browserWidget = null;
			docLabel = null;
			wcfConfig = null;

			state = newState;
			
			ScrolledWindow sw;

			switch (state) {
			case DialogState.Create:
			case DialogState.Modify:
				if (WebBrowserService.CanGetWebBrowser) {
					browser = WebBrowserService.GetWebBrowser ();
					browserWidget = (Widget) browser;
					browser.LocationChanged += Browser_LocationChanged;
					browser.NetStart += Browser_StartLoading;
					browser.NetStop += Browser_StopLoading;
					frmBrowser.Add (browserWidget);
					browser.LoadUrl (tbxReferenceURL.Text);
					browserWidget.Show ();
				} else {
					docLabel = new Label ();
					docLabel.Xpad = 6;
					docLabel.Ypad = 6;
					docLabel.Xalign = 0;
					docLabel.Yalign = 0;

					sw = new ScrolledWindow ();
					sw.ShadowType = ShadowType.In;
					sw.AddWithViewport (docLabel);
					sw.ShowAll ();
					frmBrowser.Add (sw);
					UpdateLocation ();
				}
				break;

			case DialogState.ModifyConfig:
			case DialogState.CreateConfig:
				if (!hasConfig)
					return;

				sw = new ScrolledWindow ();
				sw.ShadowType = ShadowType.In;

				wcfConfig = new WCFConfigWidget (wcfOptions);
				sw.AddWithViewport (wcfConfig);
				sw.ShowAll ();
				frmBrowser.Add (sw);
				break;

			default:
				throw new InvalidOperationException ();
			}
		}
コード例 #33
0
ファイル: mb-gtkconfig.cs プロジェクト: emtees/old-code
	void AddGuiItem (string group, Widget widget) {
		if (!group_widgets.Contains (group))
			AddNewGroup (group);

		Box box = (Box) group_widgets[group];
		box.PackStart (widget, false, false, 2);
		widget.Show ();
	}
コード例 #34
0
        void StartEditing(TableRow row)
        {
            EndEditing ();
            currentEditorRow = row;
            var cell = GetCell (row);
            editSession = cell.StartEditing (row.EditorBounds, State);
            if (editSession == null)
                return;

            currentEditor = (Gtk.Widget) editSession.Editor;
            Add (currentEditor);
            SetAllocation (currentEditor, row.EditorBounds);
            currentEditor.Show ();
            currentEditor.CanFocus = true;
            currentEditor.GrabFocus ();
            ConnectTabEvent (currentEditor);
            editSession.Changed += delegate {
                if (Changed != null)
                    Changed (this, EventArgs.Empty);
            };
            var vs = ((Gtk.Viewport)Parent).Vadjustment;
            if (row.EditorBounds.Top < vs.Value)
                vs.Value = row.EditorBounds.Top;
            else if (row.EditorBounds.Bottom > vs.Value + vs.PageSize)
                vs.Value = row.EditorBounds.Bottom - vs.PageSize;
            QueueDraw ();
        }
コード例 #35
0
		protected virtual void OnComboVisualizersChanged (object sender, EventArgs e)
		{
			var button = (ToggleButton)sender;
			if (!button.Active) {//Prevent un-toggling
				button.Toggled -= OnComboVisualizersChanged;
				button.Active = true;
				button.Toggled += OnComboVisualizersChanged;
				return;
			}
			if (currentWidget != null)
				mainBox.Remove (currentWidget);
			foreach (var b in buttons) {
				if (b != button && b.Active) {
					b.Toggled -= OnComboVisualizersChanged;
					b.Active = false;
					b.Toggled += OnComboVisualizersChanged;
				}
			}
			currentVisualizer = visualizers [buttons.IndexOf (button)];
			currentWidget = currentVisualizer.GetVisualizerWidget (value);
			buttonSave.Sensitive = currentVisualizer.CanEdit (value);
			mainBox.PackStart (currentWidget, true, true, 0);
			currentWidget.Show ();
		}
コード例 #36
0
ファイル: HomeView.cs プロジェクト: haugjan/banshee-hacks
 private Widget PaddingBox (Widget child)
 {
     var box = new HBox () { BorderWidth = 4 };
     box.PackStart (child, true, true, 0);
     child.Show ();
     box.Show ();
     return box;
 }
コード例 #37
0
ファイル: PreferencesDialog.cs プロジェクト: nolith/tasque
        private void OnBackendComboBoxChanged(object sender, EventArgs args)
        {
            if (selectedBackend >= 0) {
                // TODO: Prompt the user and make sure they really want to change
                // which backend they are using.

                // Remove the existing backend's preference page
                if (backendPageId >= 0) {
                    notebook.RemovePage (backendPageId);
                    backendPageId = -1;
                    backendPage = null;
                }

                // if yes (replace backend)
                if (backendComboMap.ContainsKey (selectedBackend)) {
                    // Cleanup old backend
                    IBackend oldBackend = backendComboMap [selectedBackend];
                    Logger.Info ("Cleaning up '{0}'...", oldBackend.Name);
                    try {
                        oldBackend.Cleanup ();
                    } catch (Exception e) {
                        Logger.Warn ("Exception cleaning up '{0}': {2}",
                                     oldBackend.Name,
                                     e.Message);

                    }

                    selectedBackend = -1;
                }
            }

            IBackend newBackend = null;
            if (backendComboMap.ContainsKey (backendComboBox.Active)) {
                newBackend = backendComboMap [backendComboBox.Active];
            }

            // TODO: Set the new backend
            Application.Backend = newBackend;

            if (newBackend == null)
                return;

            selectedBackend = backendComboBox.Active;

            // Add a backend prefs page if one exists
            backendPage = newBackend.GetPreferencesWidget ();
            if (backendPage != null) {
                backendPage.Show ();
                Label l = new Label (GLib.Markup.EscapeText (newBackend.Name));
                l.UseMarkup = false;
                l.UseUnderline = false;
                l.Show ();
                backendPageId =
                    notebook.AppendPage (backendPage, l);

                // If the new backend is not configured, automatically switch
                // to the backend's preferences page
                if (!newBackend.Configured)
                    notebook.Page = backendPageId;
            }

            // Save the user preference
            Application.Preferences.Set (Preferences.CurrentBackend,
                                         newBackend.GetType ().ToString ());

            //categoriesToHide = BuildNewCategoryList ();
            //Application.Preferences.SetStringList (Preferences.HideInAllCategory,
            //									   categoriesToHide);
            RebuildCategoryTree ();
        }
コード例 #38
0
		public void Pack (Widget aWidget)
		{
			if (aWidget == null)
				return;
			
			if ((Count > 0) && (SeparatorLines == true)) {
				//System.Console.WriteLine("Separator");
				VSeparator vs = new VSeparator();
				vs.Show();
				widgets[Count-1].PackEnd (vs, false, false, 0);
			}

			widgets.Add (new HBox());
			widgets[Count-1].Spacing = 3;
			widgets[Count-1].Show();
			if (Homogeneous == true)
				mainbox.PackStart (widgets[Count-1], true, true, 0);
			else
				mainbox.PackStart (widgets[Count-1], false, false, 0);
			if (aWidget is HComboCell) {
				(aWidget as HComboCell).BorderWidth = 1;
				aWidget.Show();
				widgets[Count-1].PackStart (aWidget, true, true, 0);
			}
			else {
				HComboCell eb = new HComboCellWidget (aWidget);
				eb.BorderWidth = 1;
				aWidget.Show();
				eb.Show();
				widgets[Count-1].PackStart (eb, true, true, 0);
			}
			if (Count == 1)
				Selected = 0;
		}
コード例 #39
0
ファイル: ViewContainer.cs プロジェクト: gclark916/banshee
 public void SetFooter (Widget contents)
 {
     if (contents != null) {
         footer.PackStart (contents, false, false, 0);
         contents.Show ();
         footer.Show ();
     }
 }
コード例 #40
0
ファイル: PreferencesDialog.cs プロジェクト: nolith/tasque
        private void OnBackendComboBoxChanged(object sender, EventArgs args)
        {
            if (selectedBackend >= 0)
            {
                // TODO: Prompt the user and make sure they really want to change
                // which backend they are using.

                // Remove the existing backend's preference page
                if (backendPageId >= 0)
                {
                    notebook.RemovePage(backendPageId);
                    backendPageId = -1;
                    backendPage   = null;
                }

                // if yes (replace backend)
                if (backendComboMap.ContainsKey(selectedBackend))
                {
                    // Cleanup old backend
                    IBackend oldBackend = backendComboMap [selectedBackend];
                    Logger.Info("Cleaning up '{0}'...", oldBackend.Name);
                    try {
                        oldBackend.Cleanup();
                    } catch (Exception e) {
                        Logger.Warn("Exception cleaning up '{0}': {2}",
                                    oldBackend.Name,
                                    e.Message);
                    }

                    selectedBackend = -1;
                }
            }

            IBackend newBackend = null;

            if (backendComboMap.ContainsKey(backendComboBox.Active))
            {
                newBackend = backendComboMap [backendComboBox.Active];
            }

            // TODO: Set the new backend
            Application.Backend = newBackend;

            if (newBackend == null)
            {
                return;
            }

            selectedBackend = backendComboBox.Active;

            // Add a backend prefs page if one exists
            backendPage = newBackend.GetPreferencesWidget();
            if (backendPage != null)
            {
                backendPage.Show();
                Label l = new Label(GLib.Markup.EscapeText(newBackend.Name));
                l.UseMarkup    = false;
                l.UseUnderline = false;
                l.Show();
                backendPageId =
                    notebook.AppendPage(backendPage, l);

                // If the new backend is not configured, automatically switch
                // to the backend's preferences page
                if (!newBackend.Configured)
                {
                    notebook.Page = backendPageId;
                }
            }

            // Save the user preference
            Application.Preferences.Set(Preferences.CurrentBackend,
                                        newBackend.GetType().ToString());

            //categoriesToHide = BuildNewCategoryList ();
            //Application.Preferences.SetStringList (Preferences.HideInAllCategory,
            //									   categoriesToHide);
            RebuildCategoryTree();
        }
コード例 #41
0
        private void BuildHeader ()
        {
            header_table = new Table (2, 2, false);
            header_table.Show ();
            primary_vbox.PackStart (header_table, false, false, 0);

            main_menu = new MainMenu ();

            if (!PlatformDetection.IsMac && !PlatformDetection.IsMeeGo) {
                main_menu.Show ();
                header_table.Attach (main_menu, 0, 1, 0, 1,
                    AttachOptions.Expand | AttachOptions.Fill,
                    AttachOptions.Shrink, 0, 0);
            }

            Alignment toolbar_alignment = new Alignment (0.0f, 0.0f, 1.0f, 1.0f);
            toolbar_alignment.TopPadding = PlatformDetection.IsMeeGo ? 0u : 3u;
            toolbar_alignment.BottomPadding = PlatformDetection.IsMeeGo ? 0u : 3u;

            header_toolbar = (Toolbar)ActionService.UIManager.GetWidget ("/HeaderToolbar");
            header_toolbar.ShowArrow = false;
            header_toolbar.ToolbarStyle = ToolbarStyle.BothHoriz;
            header_toolbar.Show ();

            if (PlatformDetection.IsMeeGo) {
                header_toolbar.IconSize = IconSize.LargeToolbar;
                header_toolbar.Name = "meego-toolbar";
            }

            toolbar_alignment.Add (header_toolbar);
            toolbar_alignment.Show ();

            header_table.Attach (toolbar_alignment, 0, 2, 1, 2,
                AttachOptions.Expand | AttachOptions.Fill,
                AttachOptions.Shrink, 0, 0);

            var next_button = new NextButton (ActionService, PlatformDetection.IsMeeGo);
            next_button.Show ();
            ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/NextArrowButton", next_button);

            seek_slider = new ConnectedSeekSlider () { Resizable = ShowSeekSliderResizer.Get () };
            seek_slider.SeekSlider.WidthRequest = SeekSliderWidth.Get ();
            seek_slider.SeekSlider.SizeAllocated += (o, a) => {
                SeekSliderWidth.Set (seek_slider.SeekSlider.Allocation.Width);
            };
            seek_slider.ShowAll ();
            ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/SeekSlider", seek_slider);

            var track_info_display = new ClassicTrackInfoDisplay ();
            track_info_display.Show ();
            track_info_container = TrackInfoDisplay.GetEditable (track_info_display);
            track_info_container.Show ();
            ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/TrackInfoDisplay", track_info_container, true);

            if (PlatformDetection.IsMeeGo) {
                track_info_display.ArtworkSpacing = 5;
                seek_slider.LeftPadding = 20;
                seek_slider.RightPadding = 20;

                var menu = (Menu)(ActionService.UIManager.GetWidget ("/ToolbarMenu"));
                var menu_button = new Hyena.Widgets.MenuButton (new Image (Stock.Preferences, IconSize.LargeToolbar), menu, true);
                menu_button.Show ();
                ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/ToolbarMenuPlaceholder", menu_button);

                var close_button = new Button (Image.NewFromIconName ("window-close", IconSize.LargeToolbar)) {
                    TooltipText = Catalog.GetString ("Close")
                };

                close_button.Clicked += (o, e) => Hide ();
                close_button.ShowAll ();
                ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/ClosePlaceholder", close_button);
            } else {
                var volume_button = new ConnectedVolumeButton ();
                volume_button.Show ();
                ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/VolumeButton", volume_button);
            }
        }
コード例 #42
0
//		protected Gtk.Alignment frmBrowserAlign;
		#endregion
		
		/// <summary>Initializes a new instance of the AddWebReferenceDialog widget.</summary>
		public WebReferenceDialog (DotNetProject project)
		{
			Build();
			this.basePath = Library.GetWebReferencePath (project);
			this.IsWebService = false;
			this.project = project;
			
			// Add the mozilla control to the frame
			if (WebBrowserService.CanGetWebBrowser) {
				browser = WebBrowserService.GetWebBrowser ();
				browserWidget = (Widget) browser;
				browser.LocationChanged += Browser_LocationChanged;
				browser.NetStart += Browser_StartLoading;
				browser.NetStop += Browser_StopLoading;
				frmBrowser.Add(browserWidget);
				browser.LoadUrl(this.homeUrl);
				browserWidget.Show();
			} else {
				tlbNavigate.Visible = false;
				
				ScrolledWindow sw = new ScrolledWindow ();
				sw.ShadowType = ShadowType.In;
				docLabel = new Label ();
				docLabel.Xpad = 6;
				docLabel.Ypad = 6;
				docLabel.Xalign = 0;
				docLabel.Yalign = 0;
				sw.AddWithViewport (docLabel);
				sw.ShowAll ();
				
				frmBrowser.Add (sw);
				tbxReferenceURL.Text = homeUrl;
				UpdateLocation ();
			}

			frmBrowser.Show();
			this.Child.ShowAll ();
		}
コード例 #43
0
ファイル: HomeView.cs プロジェクト: haugjan/banshee-hacks
            private void Reparent (Widget widget, HBox box, int index)
            {
                if (widget.Parent == box) {
                    return;
                }

                if (widget.Parent == null) {
                    box.PackStart (widget, false, false, 0);
                } else {
                    widget.Reparent (box);
                    box.SetChildPacking (widget, false, false, 0, PackType.Start);
                }

                box.ReorderChild (widget, index);
                widget.Show ();
            }
コード例 #44
0
ファイル: PreferencesDialog.cs プロジェクト: GNOME/tasque
        private void Init()
        {
            Logger.Debug("Called Preferences Init");
            this.Icon = Utilities.GetIcon ("tasque", 16);
            // Update the window title
            this.Title = string.Format (Catalog.GetString ("Tasque Preferences"));

            this.VBox.Spacing = 0;
            this.VBox.BorderWidth = 0;
            this.Resizable = false;

            this.AddButton(Stock.Close, Gtk.ResponseType.Ok);
            this.DefaultResponse = ResponseType.Ok;

            notebook = new Gtk.Notebook ();
            notebook.ShowTabs = true;

            //
            // General Page
            //
            generalPage = MakeGeneralPage ();
            generalPage.Show ();
            generalPageId =
                notebook.AppendPage (generalPage,
                                     new Label (Catalog.GetString ("General")));

            //
            // Appearance Page
            //
            appearancePage = MakeAppearancePage ();
            appearancePage.Show ();
            notebook.AppendPage (appearancePage,
                                 new Label (Catalog.GetString ("Appearance")));

            //
            // Backend Page
            //
            backendPage = null;
            backendPageId = -1;

            var backendType = application.BackendManager.CurrentBackend;
            if (backendType != null) {
                backendPage = (Widget)application.BackendManager.GetBackendPreferencesWidget ();
                if (backendPage != null) {
                    backendPage.Show ();
                    var l = new Label (GLib.Markup.EscapeText (
                        application.BackendManager.AvailableBackends [backendType]));
                    l.UseMarkup = false;
                    l.UseUnderline = false;
                    l.Show ();
                    backendPageId = notebook.AppendPage (backendPage, l);
                }
            }

            notebook.Show ();
            this.VBox.PackStart (notebook, true, true, 0);

            DeleteEvent += WindowDeleted;
        }
コード例 #45
0
 protected void addWidget(Gtk.Widget addMe, int posX, int posY)
 {
     fixed1.Put(addMe, posX, posY);
     addMe.Show();
 }
コード例 #46
0
        private void Init()
        {
            Logger.Debug("Called Preferences Init");
            this.Icon = Utilities.GetIcon("tasque", 16);
            // Update the window title
            this.Title = string.Format(Catalog.GetString("Tasque Preferences"));

            this.VBox.Spacing     = 0;
            this.VBox.BorderWidth = 0;
            this.Resizable        = false;

            this.AddButton(Stock.Close, Gtk.ResponseType.Ok);
            this.DefaultResponse = ResponseType.Ok;

            notebook          = new Gtk.Notebook();
            notebook.ShowTabs = true;

            //
            // General Page
            //
            generalPage = MakeGeneralPage();
            generalPage.Show();
            generalPageId =
                notebook.AppendPage(generalPage,
                                    new Label(Catalog.GetString("General")));

            //
            // Appearance Page
            //
            appearancePage = MakeAppearancePage();
            appearancePage.Show();
            notebook.AppendPage(appearancePage,
                                new Label(Catalog.GetString("Appearance")));

            //
            // Backend Page
            //
            backendPage   = null;
            backendPageId = -1;

            var backendType = application.BackendManager.CurrentBackend;

            if (backendType != null)
            {
                backendPage = (Widget)application.BackendManager.GetBackendPreferencesWidget();
                if (backendPage != null)
                {
                    backendPage.Show();
                    var l = new Label(GLib.Markup.EscapeText(
                                          application.BackendManager.AvailableBackends [backendType]));
                    l.UseMarkup    = false;
                    l.UseUnderline = false;
                    l.Show();
                    backendPageId = notebook.AppendPage(backendPage, l);
                }
            }

            notebook.Show();
            this.VBox.PackStart(notebook, true, true, 0);

            DeleteEvent += WindowDeleted;
        }
コード例 #47
0
ファイル: PlayerInterface.cs プロジェクト: dufoli/banshee
        private void BuildHeader()
        {
            header_table = new Table (2, 2, false);
            header_table.Show ();
            header_table.Vexpand = false;
            primary_vbox.PackStart (header_table, false, false, 0);

            main_menu = new MainMenu ();

            if (!PlatformDetection.IsMac) {
                main_menu.Show ();
                header_table.Attach (main_menu, 0, 1, 0, 1,
                    AttachOptions.Expand | AttachOptions.Fill,
                    AttachOptions.Shrink, 0, 0);
            }

            Alignment toolbar_alignment = new Alignment (0.0f, 0.0f, 1.0f, 1.0f);
            toolbar_alignment.TopPadding = 3u;
            toolbar_alignment.BottomPadding = 3u;

            header_toolbar = (Toolbar)ActionService.UIManager.GetWidget ("/HeaderToolbar");
            header_toolbar.ShowArrow = false;
            header_toolbar.ToolbarStyle = ToolbarStyle.BothHoriz;
            header_toolbar.Show ();

            toolbar_alignment.Add (header_toolbar);
            toolbar_alignment.Show ();

            header_table.Attach (toolbar_alignment, 0, 2, 1, 2,
                AttachOptions.Expand | AttachOptions.Fill,
                AttachOptions.Shrink, 0, 0);

            var next_button = new NextButton (ActionService);
            next_button.Show ();
            ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/NextArrowButton", next_button);

            seek_slider = new ConnectedSeekSlider () { Resizable = ShowSeekSliderResizer.Get () };
            seek_slider.SeekSlider.WidthRequest = SeekSliderWidth.Get ();
            seek_slider.SeekSlider.SizeAllocated += (o, a) => {
                SeekSliderWidth.Set (seek_slider.SeekSlider.Allocation.Width);
            };
            seek_slider.ShowAll ();
            ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/SeekSlider", seek_slider);

            var track_info_display = new ClassicTrackInfoDisplay ();
            track_info_display.Show ();
            track_info_container = TrackInfoDisplay.GetEditable (track_info_display);
            track_info_container.Show ();
            ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/TrackInfoDisplay", track_info_container, true);

            var volume_button = new ConnectedVolumeButton ();
            volume_button.Show ();
            ActionService.PopulateToolbarPlaceholder (header_toolbar, "/HeaderToolbar/VolumeButton", volume_button);
        }
コード例 #48
0
        public void SetLabel(Gtk.Widget page, Xwt.Drawing.Image icon, string label)
        {
            this.label = label;
            this.page  = page;
            if (Child != null)
            {
                Gtk.Widget oc = Child;
                Remove(oc);
                oc.Destroy();
            }

            Gtk.HBox box = new HBox();
            box.Spacing = 2;

            if (icon != null)
            {
                tabIcon = new Xwt.ImageView(icon).ToGtkWidget();
                tabIcon.Show();
                box.PackStart(tabIcon, false, false, 0);
            }
            else
            {
                tabIcon = null;
            }

            if (!string.IsNullOrEmpty(label))
            {
                labelWidget = new ExtendedLabel(label);
                labelWidget.DropShadowVisible = true;
                labelWidget.UseMarkup         = true;
                box.PackStart(labelWidget, true, true, 0);
            }
            else
            {
                labelWidget = null;
            }

            btnDock             = new ImageButton();
            btnDock.Image       = pixAutoHide;
            btnDock.TooltipText = GettextCatalog.GetString("Auto Hide");
            btnDock.CanFocus    = false;
//			btnDock.WidthRequest = btnDock.HeightRequest = 17;
            btnDock.Clicked          += OnClickDock;
            btnDock.ButtonPressEvent += (o, args) => args.RetVal = true;
            btnDock.WidthRequest      = btnDock.SizeRequest().Width;

            btnClose             = new ImageButton();
            btnClose.Image       = pixClose;
            btnClose.TooltipText = GettextCatalog.GetString("Close");
            btnClose.CanFocus    = false;
//			btnClose.WidthRequest = btnClose.HeightRequest = 17;
            btnClose.WidthRequest = btnDock.SizeRequest().Width;
            btnClose.Clicked     += delegate {
                item.Visible = false;
            };
            btnClose.ButtonPressEvent += (o, args) => args.RetVal = true;

            Gtk.Alignment al     = new Alignment(0, 0, 1, 1);
            HBox          btnBox = new HBox(false, 3);

            btnBox.PackStart(btnDock, false, false, 0);
            btnBox.PackStart(btnClose, false, false, 0);
            al.Add(btnBox);
            al.LeftPadding = 3;
            al.TopPadding  = 1;
            box.PackEnd(al, false, false, 0);

            Add(box);

            // Get the required size before setting the ellipsize property, since ellipsized labels
            // have a width request of 0
            box.ShowAll();
            Show();

            UpdateBehavior();
            UpdateVisualStyle();
        }
コード例 #49
0
		protected override void OnAdded (Widget widget)
		{
			widget.Parent = this;
			children.Add (new ContainerChild (this, widget));
			widget.Show ();
		}
コード例 #50
0
 public void AddTemplateEditor(Widget w)
 {
     templateditorbox.Add(w);
     w.Show();
 }
コード例 #51
0
        private void OnBackendComboBoxChanged(object sender, EventArgs args)
        {
            if (selectedBackend >= 0)
            {
                // TODO: Prompt the user and make sure they really want to change
                // which backend they are using.

                // Remove the existing backend's preference page
                if (backendPageId >= 0)
                {
                    notebook.RemovePage(backendPageId);
                    backendPageId = -1;
                    backendPage   = null;
                }

                // if yes (replace backend)
                if (backendComboMap.ContainsKey(selectedBackend))
                {
                    selectedBackend = -1;
                }
            }

            string newBackend = null;

            if (backendComboMap.ContainsKey(backendComboBox.Active))
            {
                newBackend = backendComboMap [backendComboBox.Active];
            }
            application.BackendManager.SetBackend(newBackend);

            if (newBackend == null)
            {
                return;
            }

            selectedBackend = backendComboBox.Active;

            // Add a backend prefs page if one exists
            backendPage = (Widget)application.BackendManager.GetBackendPreferencesWidget();
            if (backendPage != null)
            {
                backendPage.Show();
                var l = new Label(GLib.Markup.EscapeText(
                                      application.BackendManager.AvailableBackends [newBackend]));
                l.UseMarkup    = false;
                l.UseUnderline = false;
                l.Show();
                backendPageId = notebook.AppendPage(backendPage, l);

                // TODO: If the new backend is not configured, automatically switch
                // to the backend's preferences page
            }

            // Save the user preference
            application.Preferences.Set(PreferencesKeys.CurrentBackend,
                                        newBackend);

            //taskListsToHide = BuildNewTaskListList ();
            //Application.Preferences.SetStringList (IPreferences.HideInAllTaskList,
            //									   taskListsToHide);
            RebuildTaskListTree();
        }
コード例 #52
0
ファイル: PreferencesDialog.cs プロジェクト: GNOME/tasque
        private void OnBackendComboBoxChanged(object sender, EventArgs args)
        {
            if (selectedBackend >= 0) {
                // TODO: Prompt the user and make sure they really want to change
                // which backend they are using.

                // Remove the existing backend's preference page
                if (backendPageId >= 0) {
                    notebook.RemovePage (backendPageId);
                    backendPageId = -1;
                    backendPage = null;
                }

                // if yes (replace backend)
                if (backendComboMap.ContainsKey (selectedBackend))
                    selectedBackend = -1;
            }

            string newBackend = null;
            if (backendComboMap.ContainsKey (backendComboBox.Active))
                newBackend = backendComboMap [backendComboBox.Active];
            application.BackendManager.SetBackend (newBackend);

            if (newBackend == null)
                return;

            selectedBackend = backendComboBox.Active;

            // Add a backend prefs page if one exists
            backendPage = (Widget)application.BackendManager.GetBackendPreferencesWidget ();
            if (backendPage != null) {
                backendPage.Show ();
                var l = new Label (GLib.Markup.EscapeText (
                    application.BackendManager.AvailableBackends [newBackend]));
                l.UseMarkup = false;
                l.UseUnderline = false;
                l.Show ();
                backendPageId = notebook.AppendPage (backendPage, l);

                // TODO: If the new backend is not configured, automatically switch
                // to the backend's preferences page
            }

            // Save the user preference
            application.Preferences.Set (PreferencesKeys.CurrentBackend,
                                         newBackend);

            //taskListsToHide = BuildNewTaskListList ();
            //Application.Preferences.SetStringList (IPreferences.HideInAllTaskList,
            //									   taskListsToHide);
            RebuildTaskListTree ();
        }
コード例 #53
0
 void AddChild(Gtk.Widget child)
 {
     child.Parent = this;
     children.Add(new ContainerChild(this, child));
     child.Show();
 }
コード例 #54
0
		public void SetLabel (Gtk.Widget page, Xwt.Drawing.Image icon, string label)
		{
			this.label = label;
			this.page = page;
			if (Child != null) {
				Gtk.Widget oc = Child;
				Remove (oc);
				oc.Destroy ();
			}
			
			Gtk.HBox box = new HBox ();
			box.Spacing = 2;
			
			if (icon != null) {
				tabIcon = new Xwt.ImageView (icon).ToGtkWidget ();
				tabIcon.Show ();
				box.PackStart (tabIcon, false, false, 0);
			} else
				tabIcon = null;

			if (!string.IsNullOrEmpty (label)) {
				labelWidget = new ExtendedLabel (label);
				labelWidget.DropShadowVisible = true;
				labelWidget.UseMarkup = true;
				box.PackStart (labelWidget, true, true, 0);
			} else {
				labelWidget = null;
			}

			btnDock = new ImageButton ();
			btnDock.Image = pixAutoHide;
			btnDock.TooltipText = GettextCatalog.GetString ("Auto Hide");
			btnDock.CanFocus = false;
//			btnDock.WidthRequest = btnDock.HeightRequest = 17;
			btnDock.Clicked += OnClickDock;
			btnDock.ButtonPressEvent += (o, args) => args.RetVal = true;
			btnDock.WidthRequest = btnDock.SizeRequest ().Width;

			btnClose = new ImageButton ();
			btnClose.Image = pixClose;
			btnClose.TooltipText = GettextCatalog.GetString ("Close");
			btnClose.CanFocus = false;
//			btnClose.WidthRequest = btnClose.HeightRequest = 17;
			btnClose.WidthRequest = btnDock.SizeRequest ().Width;
			btnClose.Clicked += delegate {
				item.Visible = false;
			};
			btnClose.ButtonPressEvent += (o, args) => args.RetVal = true;

			Gtk.Alignment al = new Alignment (0, 0, 1, 1);
			HBox btnBox = new HBox (false, 3);
			btnBox.PackStart (btnDock, false, false, 0);
			btnBox.PackStart (btnClose, false, false, 0);
			al.Add (btnBox);
			al.LeftPadding = 3;
			al.TopPadding = 1;
			box.PackEnd (al, false, false, 0);

			Add (box);
			
			// Get the required size before setting the ellipsize property, since ellipsized labels
			// have a width request of 0
			box.ShowAll ();
			Show ();

			UpdateBehavior ();
			UpdateVisualStyle ();
		}
コード例 #55
0
        Gtk.Widget AddFeature(ISolutionItemFeature feature)
        {
            Gtk.HBox    cbox  = new Gtk.HBox();
            CheckButton check = null;

            Label fl = new Label();

            fl.Wrap         = true;
            fl.WidthRequest = 630;
            fl.Markup       = "<b>" + feature.Title + "</b>\n<small>" + feature.Description + "</small>";
            bool enabledByDefault = feature.GetSupportLevel(parentCombine, entry) == FeatureSupportLevel.Enabled;

            if (enabledByDefault)
            {
                Alignment al = new Alignment(0, 0, 0, 0);
                al.SetPadding(6, 6, 6, 6);
                al.Add(fl);
                cbox.PackStart(al, false, false, 0);
            }
            else
            {
                check       = new CheckButton();
                check.Image = fl;
                cbox.PackStart(check, false, false, 0);
                check.ModifyBg(StateType.Prelight, Style.MidColors [(int)StateType.Normal]);
                check.BorderWidth = 3;
            }
            EventBox eb = new EventBox();

            if (!enabledByDefault)
            {
                eb.Realized += delegate {
                    eb.GdkWindow.Cursor = handCursor;
                };
            }
            eb.ModifyBg(StateType.Normal, Style.MidColors[(int)StateType.Normal]);
            eb.Add(cbox);
            eb.ShowAll();
            box.PackStart(eb, false, false, 0);

            HBox fbox = new HBox();

            Gtk.Widget editor = feature.CreateFeatureEditor(parentCombine, entry);
            if (editor != null)
            {
                Label sp = new Label("");
                sp.WidthRequest = 24;
                sp.Show();
                fbox.PackStart(sp, false, false, 0);
                editor.Show();
                fbox.PackStart(editor, false, false, 0);
                box.PackStart(fbox, false, false, 0);
            }

            if (check != null)
            {
                ISolutionItemFeature f = feature;
                check.Toggled += delegate {
                    OnClickFeature(f, check, fbox, editor);
                };
            }
            else
            {
                fbox.Show();
            }
            return(editor);
        }
コード例 #56
0
		void SetView (Widget w, string title, bool showSaveButtons)
		{
			if (viewBox.Child != null) {
				Widget ow = viewBox.Child;
				viewBox.Remove (ow);
			}
			if (w != null) {
				viewBox.Add (w);
				w.Show ();
			}
			
			if (title != null) {
				labelHeader.Markup = "<big><b>" + GLib.Markup.EscapeText (title) + "</b></big>";
				headerBox.Show ();
				buttonsBox.Visible = showSaveButtons;
			} else {
				headerBox.Hide ();
				buttonsBox.Visible = false;
			}
		}
コード例 #57
0
		public void UpdateContent ()
		{
			if (widget != null)
				((Gtk.Container)widget.Parent).Remove (widget);
			widget = item.Content;
			
			if (item.DrawFrame) {
				if (borderFrame == null) {
					borderFrame = new CustomFrame (1, 1, 1, 1);
					borderFrame.Show ();
					contentBox.Add (borderFrame);
				}
				if (widget != null) {
					borderFrame.Add (widget);
					widget.Show ();
				}
			}
			else if (widget != null) {
				if (borderFrame != null) {
					contentBox.Remove (borderFrame);
					borderFrame = null;
				}
				contentBox.Add (widget);
				widget.Show ();
			}
		}
コード例 #58
0
ファイル: MainWindow.cs プロジェクト: GNOME/longomatch
 public void SetPanel(Widget panel)
 {
     if (panel == null) {
         ResetGUI ();
     } else {
         if (currentPanel is IAnalysisWindow && panel is PreferencesPanel) {
             RemovePanel (true);
         } else {
             RemovePanel (false);
         }
         currentPanel = panel;
         panel.Show ();
         if (panel is IPanel) {
             (panel as IPanel).BackEvent += BackClicked;
         }
         centralbox.PackStart (panel, true, true, 0);
         welcomepanel.Hide ();
     }
 }
コード例 #59
0
 public MiniButton(Gtk.Widget label) : this()
 {
     Add(label);
     label.Show();
 }
コード例 #60
0
ファイル: ViewContainer.cs プロジェクト: gclark916/banshee
 public void SetHeaderWidget (Widget widget)
 {
     if (widget != null) {
         source_actions_box.Add (widget);
         widget.Show ();
         source_actions_align.Show ();
     }
 }