public ToolbarSeparator() : base(null) { separator = new SeparatorToolItem(); this.Add(separator); separator.Show(); this.ShowAll(); }
private void AddInspectorTab(InspectorTab tab) { TabRadioToolButton rtb; if (propertyTabs.Count == 0) { selectedTab = tab; rtb = new TabRadioToolButton(null); rtb.Active = true; firstTab = rtb; toolbar.Insert(tabSectionSeparator = new SeparatorToolItem(), FirstTabIndex - 1); } else { rtb = new TabRadioToolButton(firstTab); } //load image from InspectorTab's bitmap // var icon = tab.GetIcon(); // if(icon != null) // rtb.Image = new Gtk.Image(icon); // else // rtb.Image = new Gtk.Image(Stock.MissingImage, IconSize.Menu); rtb.Tab = tab; rtb.TooltipText = tab.TabName; rtb.Toggled += new EventHandler(toolbarClick); toolbar.Insert(rtb, propertyTabs.Count + FirstTabIndex); propertyTabs.Add(tab); }
void EnsureToolbarBoxSeparator() { if (toolbarBox == null || subViewToolbar == null) { return; } if (separatorItem != null && pathBar == null) { subViewToolbar.Remove(separatorItem); separatorItem = null; } else if (separatorItem == null && pathBar != null) { separatorItem = new SeparatorToolItem(); subViewToolbar.Insert(separatorItem, -1); } else if (separatorItem != null && pathBar != null) { if (subViewToolbar.GetItemIndex(separatorItem) != subViewToolbar.NumChildren - 1) { subViewToolbar.Remove(separatorItem); subViewToolbar.Insert(separatorItem, -1); } } }
static Gtk.Toolbar CreateToolbar(CircuitEditor editor) { Gtk.Toolbar toolbar = new Gtk.Toolbar(); SelectTool selectTool = new SelectTool(editor, toolbar); WireTool wireTool = new WireTool(editor, toolbar); // FIXME: Make this be selected with a callback or something //editor.CurrentTool = selectTool; // FIXME: We don't want to new the components here!! ComponentTool andTool = new ComponentTool(ComponentType.And, "And gate", editor, toolbar); ComponentTool notTool = new ComponentTool(ComponentType.Not, "Not gate", editor, toolbar); ComponentTool orTool = new ComponentTool(ComponentType.Or, "Or gate", editor, toolbar); ToolButton xorTool = new ToolButton( Util.Icon.XorGate(), "Xor Gate" ); SeparatorToolItem sep = new SeparatorToolItem(); toolbar.Insert(selectTool, 0); toolbar.Insert(wireTool, 1); toolbar.Insert(sep, 2); toolbar.Insert(andTool, 3); toolbar.Insert(notTool, 4); toolbar.Insert(orTool, 5); toolbar.Insert(xorTool, 6); return(toolbar); }
private void build() { this.SetDefaultSize(1000, 600); this.vbox1 = new VBox(); this.toolbar1 = new Toolbar(); this.toolbar1.ToolbarStyle = ToolbarStyle.BothHoriz; this.newcharbutton = new ToolButton(Stock.New); this.newcharbutton.Label = "New"; this.newcharbutton.TooltipText = "New Character"; this.newcharbutton.IsImportant = true; this.newcharbutton.Clicked += HandleNewcharbuttonClicked; this.toolbar1.Add(this.newcharbutton); this.savecharbutton = new ToolButton(Stock.Save); this.savecharbutton.Label = "Save"; this.savecharbutton.TooltipText = "Save Character"; this.savecharbutton.Clicked += HandleSavecharbuttonClicked; this.toolbar1.Add(this.savecharbutton); this.printcharbutton = new ToolButton(Stock.Print); this.printcharbutton.Label = "Print"; this.printcharbutton.TooltipText = "Print Character"; this.printcharbutton.Clicked += HandlePrintcharbuttonClicked; this.toolbar1.Add(this.printcharbutton); this.toolbar1.Add(new SeparatorToolItem()); this.rollbutton = new ToolButton(Stock.Refresh); this.rollbutton.Label = "Roll"; this.rollbutton.TooltipText = "Roll Characteristics"; this.rollbutton.IsImportant = true; this.rollbutton.Clicked += HandleRollbuttonClicked; this.toolbar1.Add(this.rollbutton); this.aboutbutton = new ToolButton(Stock.About); this.aboutbutton.Label = "About"; this.aboutbutton.TooltipText = "About Adeptus"; this.aboutbutton.Clicked += HandleAboutbuttonClicked; SeparatorToolItem sti = new SeparatorToolItem(); sti.Draw = false; sti.Expand = true; this.toolbar1.Add(sti); this.toolbar1.Add(this.aboutbutton); this.frame1 = new Frame(); this.frame1.Add(new Image(Gdk.Pixbuf.LoadFromResource("Adeptus.Gui.EmperorVHorus.jpg"))); this.statusbar1 = new Statusbar(); this.statusbar1.Push(0, "Ready"); this.vbox1.PackStart(this.toolbar1, false, true, 0); this.vbox1.PackStart(this.frame1, true, true, 0); this.vbox1.PackEnd(this.statusbar1, false, true, 0); this.Add(this.vbox1); }
public bool CloseWindow(bool force, bool fromMenu, int pageNum) { bool wasActive = workbench.ActiveWorkbenchWindow == this; WorkbenchWindowEventArgs args = new WorkbenchWindowEventArgs(force, wasActive); args.Cancel = false; OnClosing(args); if (args.Cancel) { return(false); } if (fromMenu == true) { workbench.RemoveTab(tabControl.PageNum(this)); } else { workbench.RemoveTab(pageNum); } OnClosed(args); content.ContentNameChanged -= new EventHandler(SetTitleEvent); content.DirtyChanged -= new EventHandler(SetTitleEvent); content.BeforeSave -= new EventHandler(BeforeSave); content.ContentChanged -= new EventHandler(OnContentChanged); content.WorkbenchWindow = null; if (subViewContents != null) { foreach (IAttachableViewContent sv in subViewContents) { subViewNotebook.Remove(sv.Control); sv.Dispose(); } this.subViewContents = null; subViewNotebook.Remove(content.Control); } DetachFromPathedDocument(); content.Dispose(); box.Destroy(); this.subViewToolbar = null; this.separatorItem = null; this.content = null; this.subViewNotebook = null; this.tabControl = null; tabLabel.Destroy(); this.tabLabel = null; this.tabPage = null; Destroy(); return(true); }
protected void InitToolbar() { var bg = worldNotebook.Style.Background(worldNotebook.State); var toolbar = new Toolbar { ToolbarStyle = ToolbarStyle.Icons }; var TBRun = new ToolButton(Stock.MediaPlay); var TBStop = new ToolButton(Stock.MediaStop); var TBNew = new ToolButton(Stock.New); var TBShow = new ToolButton(Stock.Find); var TBOpen = new ToolButton(Stock.Open); var TBSave = new ToolButton(Stock.Save); var TBQuit = new ToolButton(Stock.Quit); var TBSeparator = new SeparatorToolItem(); toolbar.Insert(TBRun, 0); toolbar.Insert(TBStop, 1); toolbar.Insert(TBSave, 2); toolbar.Insert(TBNew, 3); toolbar.Insert(TBShow, 4); toolbar.Insert(TBOpen, 5); toolbar.Insert(TBSeparator, 6); toolbar.Insert(TBQuit, 7); toolbar.ModifyBg(StateType.Normal, bg); toolbar.BorderWidth = 0; TBRun.Clicked += OnRunButtonClicked; TBStop.Clicked += OnStopButtonClicked; TBNew.Clicked += OnClearButtonClicked; TBShow.Clicked += OnShowColoniesButtonClicked; TBOpen.Clicked += OnLoadImageButtonClicked; TBSave.Clicked += OnSaveButtonClicked; TBQuit.Clicked += OnQuitButtonClicked; var vbox = new VBox(false, 2) { WidthRequest = 290, HeightRequest = 20 }; vbox.PackStart(toolbar, false, false, 0); vbox.ModifyBg(StateType.Normal, bg); vbox.BorderWidth = 0; worldLayout.Put(vbox, 20, 0); ShowAll(); }
public SettingsToolbar(string file) { ToolButton toolButtonNew = new ToolButton(Stock.New); this.Insert(toolButtonNew, 0); toolButtonNew.Clicked += delegate { ClearWindow(); }; ToolButton toolButtonOpen = new ToolButton(Stock.Open); this.Insert(toolButtonOpen, 1); toolButtonOpen.Clicked += delegate { this.OpenFile(); }; ToolButton toolButtonSave = new ToolButton(Stock.Save); this.Insert(toolButtonSave, 2); toolButtonSave.Clicked += delegate { SaveFile(); }; SeparatorToolItem toolSeparater1 = new SeparatorToolItem(); this.Insert(toolSeparater1, 3); ToolButton toolButtonBold = new ToolButton(Stock.Bold); this.Insert(toolButtonBold, 4); ToolButton toolButtonItalic = new ToolButton(Stock.Italic); this.Insert(toolButtonItalic, 5); ToolButton toolButtonUnderline = new ToolButton(Stock.Underline); this.Insert(toolButtonUnderline, 6); }
private void AddPropertyTab(PropertyTab tab) { TabRadioToolButton rtb; if (propertyTabs.Count == 0) { selectedTab = tab; rtb = new TabRadioToolButton(null); rtb.Active = true; firstTab = rtb; toolbar.Insert(tabSectionSeparator = new SeparatorToolItem(), FirstTabIndex - 1); } else { rtb = new TabRadioToolButton(firstTab); } //load image from PropertyTab's bitmap var icon = tab.GetIcon(); if (icon != null) { rtb.Image = new ImageView(icon); } else { rtb.Image = new ImageView(MonoDevelop.Ide.ImageService.GetIcon(Stock.MissingImage, IconSize.Menu)); } rtb.Tab = tab; rtb.TooltipText = tab.TabName; rtb.Toggled += new EventHandler(toolbarClick); toolbar.Insert(rtb, propertyTabs.Count + FirstTabIndex); propertyTabs.Add(tab); }
static Gtk.Toolbar CreateToolbar(CircuitEditor editor) { Gtk.Toolbar toolbar = new Gtk.Toolbar(); SelectTool selectTool = new SelectTool(editor, toolbar); WireTool wireTool = new WireTool(editor, toolbar); // FIXME: Make this be selected with a callback or something //editor.CurrentTool = selectTool; ComponentTool constantTool = new ComponentTool(ComponentType.Constant, "Constant", editor, toolbar); ComponentTool bufferTool = new ComponentTool(ComponentType.Buffer, "Buffer gate", editor, toolbar); ComponentTool notTool = new ComponentTool(ComponentType.Not, "Not gate", editor, toolbar); ComponentTool andTool = new ComponentTool(ComponentType.And, "And gate", editor, toolbar); ComponentTool orTool = new ComponentTool(ComponentType.Or, "Or gate", editor, toolbar); ComponentTool xorTool = new ComponentTool(ComponentType.Xor, "Xor gate", editor, toolbar); SeparatorToolItem sep = new SeparatorToolItem(); int index = 0; toolbar.Insert(selectTool, index++); toolbar.Insert(wireTool, index++); toolbar.Insert(sep, index++); toolbar.Insert(constantTool, index++); toolbar.Insert(bufferTool, index++); toolbar.Insert(notTool, index++); toolbar.Insert(andTool, index++); toolbar.Insert(orTool, index++); toolbar.Insert(xorTool, index++); return(toolbar); }
public Toolbox(ServiceContainer parentServices) { this.parentServices = parentServices; //we need this service, so create it if not present toolboxService = parentServices.GetService(typeof(IToolboxService)) as ToolboxService; if (toolboxService == null) { toolboxService = new ToolboxService(); parentServices.AddService(typeof(IToolboxService), toolboxService); } #region Toolbar toolbar = new Toolbar(); toolbar.ToolbarStyle = ToolbarStyle.Icons; toolbar.IconSize = IconSize.SmallToolbar; base.PackStart(toolbar, false, false, 0); filterToggleButton = new ToggleToolButton(); filterToggleButton.IconWidget = new Image(Stock.MissingImage, IconSize.SmallToolbar); filterToggleButton.Toggled += new EventHandler(toggleFiltering); toolbar.Insert(filterToggleButton, 0); catToggleButton = new ToggleToolButton(); catToggleButton.IconWidget = new Image(Stock.MissingImage, IconSize.SmallToolbar); catToggleButton.Toggled += new EventHandler(toggleCategorisation); toolbar.Insert(catToggleButton, 1); SeparatorToolItem sep = new SeparatorToolItem(); toolbar.Insert(sep, 2); filterEntry = new Entry(); filterEntry.WidthRequest = 150; filterEntry.Changed += new EventHandler(filterTextChanged); #endregion scrolledWindow = new ScrolledWindow(); base.PackEnd(scrolledWindow, true, true, 0); //Initialise model store = new ToolboxStore(); //initialise view nodeView = new NodeView(store); nodeView.Selection.Mode = SelectionMode.Single; nodeView.HeadersVisible = false; //cell renderers CellRendererPixbuf pixbufRenderer = new CellRendererPixbuf(); CellRendererText textRenderer = new CellRendererText(); textRenderer.Ellipsize = Pango.EllipsizeMode.End; //Main column with text, icons TreeViewColumn col = new TreeViewColumn(); col.PackStart(pixbufRenderer, false); col.SetAttributes(pixbufRenderer, "pixbuf", ToolboxStore.Columns.Icon, "visible", ToolboxStore.Columns.IconVisible, "cell-background-gdk", ToolboxStore.Columns.BackgroundColour); col.PackEnd(textRenderer, true); col.SetAttributes(textRenderer, "text", ToolboxStore.Columns.Label, "weight", ToolboxStore.Columns.FontWeight, "cell-background-gdk", ToolboxStore.Columns.BackgroundColour); nodeView.AppendColumn(col); //Initialise self scrolledWindow.VscrollbarPolicy = PolicyType.Automatic; scrolledWindow.HscrollbarPolicy = PolicyType.Never; scrolledWindow.WidthRequest = 150; scrolledWindow.AddWithViewport(nodeView); //selection events nodeView.NodeSelection.Changed += OnSelectionChanged; nodeView.RowActivated += OnRowActivated; //update view when toolbox service updated toolboxService.ToolboxChanged += new EventHandler(tbsChanged); Refresh(); //track expanded state of nodes nodeView.RowCollapsed += new RowCollapsedHandler(whenRowCollapsed); nodeView.RowExpanded += new RowExpandedHandler(whenRowExpanded); //set initial state filterToggleButton.Active = false; catToggleButton.Active = true; }
public void AddApp(SubApp app) { if (subAppsMap.ContainsKey (app.ID)) return; subAppsMap[app.ID] = app; SeparatorToolItem separator = new SeparatorToolItem (); separator.Show (); if (subapps.Count == 0) { appsBar.Insert (app.ToolButton, appsBar.NItems); appsBar.Insert (separator, appsBar.NItems); } else { int index = appsBar. GetItemIndex ((subapps [subapps.Count - 1] as SubApp). ToolButton); index++; appsBar.Insert (separator, index++); appsBar.Insert (app.ToolButton, index); } menusBook.AppendPage (app.MenuBar, new Label ()); app.ToolButton.Clicked += OnToolButtonClicked; appsBook.AppendPage (app.Widget, new Label ()); app.TitleChangedEvent += OnAppTitleChanged; subapps.Add (app); }
// // Constructor // public MainWindow (Db db) { this.db = db; if (Toplevel == null) Toplevel = this; Glade.XML gui = new Glade.XML (null, "f-spot.glade", "main_window", "f-spot"); gui.Autoconnect (this); LoadPreference (Preferences.MAIN_WINDOW_WIDTH); LoadPreference (Preferences.MAIN_WINDOW_X); LoadPreference (Preferences.MAIN_WINDOW_MAXIMIZED); main_window.ShowAll (); LoadPreference (Preferences.SIDEBAR_POSITION); LoadPreference (Preferences.METADATA_EMBED_IN_IMAGE); LoadPreference (Preferences.COLOR_MANAGEMENT_ENABLED); LoadPreference (Preferences.COLOR_MANAGEMENT_USE_X_PROFILE); FSpot.ColorManagement.LoadSettings(); #if GTK_2_10 pagesetup_menu_item.Activated += HandlePageSetupActivated; #else pagesetup_menu_item.Visible = false; #endif toolbar = new Gtk.Toolbar (); toolbar_vbox.PackStart (toolbar); ToolButton import_button = GtkUtil.ToolButtonFromTheme ("gtk-add", Catalog.GetString ("Import"), false); import_button.Clicked += HandleImportCommand; import_button.SetTooltip (ToolTips, Catalog.GetString ("Import new images"), null); toolbar.Insert (import_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), true); rl_button.Clicked += HandleRotate270Command; toolbar.Insert (rl_button, -1); ToolButton rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; toolbar.Insert (rr_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); browse_button = new ToggleToolButton (); browse_button.Label = Catalog.GetString ("Browse"); browse_button.IconName = "mode-browse"; browse_button.IsImportant = true; browse_button.Toggled += HandleToggleViewBrowse; browse_button.SetTooltip (ToolTips, Catalog.GetString ("Browse many photos simultaneously"), null); toolbar.Insert (browse_button, -1); edit_button = new ToggleToolButton (); edit_button.Label = Catalog.GetString ("Edit Image"); edit_button.IconName = "mode-image-edit"; edit_button.IsImportant = true; edit_button.Toggled += HandleToggleViewPhoto; edit_button.SetTooltip (ToolTips, Catalog.GetString ("View and edit a photo"), null); toolbar.Insert (edit_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme ("view-fullscreen", Catalog.GetString ("Fullscreen"), true); fs_button.Clicked += HandleViewFullscreen; fs_button.SetTooltip (ToolTips, Catalog.GetString ("View photos fullscreen"), null); toolbar.Insert (fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme ("media-playback-start", Catalog.GetString ("Slideshow"), true); ss_button.Clicked += HandleViewSlideShow; ss_button.SetTooltip (ToolTips, Catalog.GetString ("View photos in a slideshow"), null); toolbar.Insert (ss_button, -1); SeparatorToolItem white_space = new SeparatorToolItem (); white_space.Draw = false; white_space.Expand = true; toolbar.Insert (white_space, -1); ToolItem label_item = new ToolItem (); count_label = new Label (String.Empty); label_item.Child = count_label; toolbar.Insert (label_item, -1); display_previous_button = new ToolButton (Stock.GoBack); toolbar.Insert (display_previous_button, -1); display_previous_button.SetTooltip (ToolTips, Catalog.GetString ("Previous photo"), String.Empty); display_previous_button.Clicked += new EventHandler (HandleDisplayPreviousButtonClicked); display_next_button = new ToolButton (Stock.GoForward); toolbar.Insert (display_next_button, -1); display_next_button.SetTooltip (ToolTips, Catalog.GetString ("Next photo"), String.Empty); display_next_button.Clicked += new EventHandler (HandleDisplayNextButtonClicked); sidebar = new Sidebar (); ViewModeChanged += sidebar.HandleMainWindowViewModeChanged; sidebar_vbox.Add (sidebar); tag_selection_scrolled = new ScrolledWindow (); tag_selection_scrolled.ShadowType = ShadowType.In; tag_selection_widget = new TagSelectionWidget (db.Tags); tag_selection_scrolled.Add (tag_selection_widget); sidebar.AppendPage (tag_selection_scrolled, Catalog.GetString ("Tags"), "tag"); AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Library; sidebar.CloseRequested += HideSidebar; sidebar.Show (); info_box = new InfoBox (); ViewModeChanged += info_box.HandleMainWindowViewModeChanged; info_box.VersionIdChanged += delegate (InfoBox box, uint version_id) { UpdateForVersionIdChange (version_id);}; sidebar_vbox.PackEnd (info_box, false, false, 0); info_box.Context = ViewContext.Library; tag_selection_widget.Selection.Changed += HandleTagSelectionChanged; tag_selection_widget.DragDataGet += HandleTagSelectionDragDataGet; tag_selection_widget.DragDrop += HandleTagSelectionDragDrop; tag_selection_widget.DragBegin += HandleTagSelectionDragBegin; tag_selection_widget.KeyPressEvent += HandleTagSelectionKeyPress; Gtk.Drag.SourceSet (tag_selection_widget, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask, tag_target_table, DragAction.Copy | DragAction.Move); tag_selection_widget.DragDataReceived += HandleTagSelectionDragDataReceived; tag_selection_widget.DragMotion += HandleTagSelectionDragMotion; Gtk.Drag.DestSet (tag_selection_widget, DestDefaults.All, tag_dest_target_table, DragAction.Copy | DragAction.Move ); tag_selection_widget.ButtonPressEvent += HandleTagSelectionButtonPressEvent; tag_selection_widget.PopupMenu += HandleTagSelectionPopupMenu; tag_selection_widget.RowActivated += HandleTagSelectionRowActivated; LoadPreference (Preferences.TAG_ICON_SIZE); try { query = new FSpot.PhotoQuery (db.Photos); } catch (System.Exception e) { //FIXME assume any exception here is due to a corrupt db and handle that. new RepairDbDialog (e, db.Repair (), main_window); query = new FSpot.PhotoQuery (db.Photos); } UpdateStatusLabel (); query.Changed += HandleQueryChanged; db.Photos.ItemsChanged += HandleDbItemsChanged; db.Tags.ItemsChanged += HandleTagsChanged; db.Tags.ItemsAdded += HandleTagsChanged; db.Tags.ItemsRemoved += HandleTagsChanged; #if SHOW_CALENDAR FSpot.SimpleCalendar cal = new FSpot.SimpleCalendar (query); cal.DaySelected += HandleCalendarDaySelected; left_vbox.PackStart (cal, false, true, 0); #endif group_selector = new FSpot.GroupSelector (); group_selector.Adaptor = new FSpot.TimeAdaptor (query, Preferences.Get<bool> (Preferences.GROUP_ADAPTOR_ORDER_ASC)); group_selector.ShowAll (); if (zoom_scale != null) { zoom_scale.ValueChanged += HandleZoomScaleValueChanged; } view_vbox.PackStart (group_selector, false, false, 0); view_vbox.ReorderChild (group_selector, 0); find_bar = new FindBar (query, tag_selection_widget.Model); view_vbox.PackStart (find_bar, false, false, 0); view_vbox.ReorderChild (find_bar, 1); main_window.KeyPressEvent += HandleKeyPressEvent; query_widget = new FSpot.QueryWidget (query, db, tag_selection_widget); query_widget.Logic.Changed += HandleQueryLogicChanged; view_vbox.PackStart (query_widget, false, false, 0); view_vbox.ReorderChild (query_widget, 2); icon_view = new QueryView (query); icon_view.ZoomChanged += HandleZoomChanged; LoadPreference (Preferences.ZOOM); LoadPreference (Preferences.SHOW_TAGS); LoadPreference (Preferences.SHOW_DATES); LoadPreference (Preferences.SHOW_RATINGS); icon_view_scrolled.Add (icon_view); icon_view.DoubleClicked += HandleDoubleClicked; icon_view.Vadjustment.ValueChanged += HandleIconViewScroll; icon_view.GrabFocus (); new FSpot.PreviewPopup (icon_view); Gtk.Drag.SourceSet (icon_view, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask, icon_source_target_table, DragAction.Copy | DragAction.Move); icon_view.DragBegin += HandleIconViewDragBegin; icon_view.DragDataGet += HandleIconViewDragDataGet; TagMenu tag_menu = new TagMenu (null, Database.Tags); tag_menu.NewTagHandler += delegate { HandleCreateTagAndAttach (this, null); }; tag_menu.TagSelected += HandleAttachTagMenuSelected; tag_menu.Populate(); attach_tag.Submenu = tag_menu; PhotoTagMenu pmenu = new PhotoTagMenu (); pmenu.TagSelected += HandleRemoveTagMenuSelected; remove_tag.Submenu = pmenu; Gtk.Drag.DestSet (icon_view, DestDefaults.All, icon_dest_target_table, DragAction.Copy | DragAction.Move); // icon_view.DragLeave += new DragLeaveHandler (HandleIconViewDragLeave); icon_view.DragMotion += HandleIconViewDragMotion; icon_view.DragDrop += HandleIconViewDragDrop; icon_view.DragDataReceived += HandleIconViewDragDataReceived; icon_view.KeyPressEvent += HandleIconViewKeyPressEvent; photo_view = new PhotoView (query); photo_box.Add (photo_view); photo_view.DoubleClicked += HandleDoubleClicked; photo_view.KeyPressEvent += HandlePhotoViewKeyPressEvent; photo_view.UpdateStarted += HandlePhotoViewUpdateStarted; photo_view.UpdateFinished += HandlePhotoViewUpdateFinished; photo_view.View.ZoomChanged += HandleZoomChanged; // Tag typing: focus the tag entry if the user starts typing a tag icon_view.KeyPressEvent += HandlePossibleTagTyping; photo_view.KeyPressEvent += HandlePossibleTagTyping; tag_entry = new TagEntry (db.Tags); tag_entry.KeyPressEvent += HandleTagEntryKeyPressEvent; tag_entry.TagsAttached += HandleTagEntryTagsAttached; tag_entry.TagsRemoved += HandleTagEntryRemoveTags; tag_entry.Activated += HandleTagEntryActivate; tag_entry_container.Add (tag_entry); Gtk.Drag.DestSet (photo_view, DestDefaults.All, tag_target_table, DragAction.Copy | DragAction.Move); photo_view.DragMotion += HandlePhotoViewDragMotion; photo_view.DragDrop += HandlePhotoViewDragDrop; photo_view.DragDataReceived += HandlePhotoViewDragDataReceived; view_notebook.SwitchPage += HandleViewNotebookSwitchPage; group_selector.Adaptor.GlassSet += HandleAdaptorGlassSet; group_selector.Adaptor.Changed += HandleAdaptorChanged; LoadPreference (Preferences.GROUP_ADAPTOR); LoadPreference (Preferences.GROUP_ADAPTOR_ORDER_ASC); this.selection = new MainSelection (this); this.selection.Changed += HandleSelectionChanged; this.selection.ItemsChanged += HandleSelectionItemsChanged; this.selection.Changed += sidebar.HandleSelectionChanged; this.selection.ItemsChanged += sidebar.HandleSelectionItemsChanged; Mono.Addins.AddinManager.ExtensionChanged += PopulateExtendableMenus; PopulateExtendableMenus (null, null); UpdateMenus (); main_window.ShowAll (); tagbar.Hide (); find_bar.Hide (); UpdateFindByTagMenu (); LoadPreference (Preferences.SHOW_TOOLBAR); LoadPreference (Preferences.SHOW_SIDEBAR); LoadPreference (Preferences.SHOW_TIMELINE); LoadPreference (Preferences.SHOW_FILMSTRIP); LoadPreference (Preferences.GNOME_MAILTO_ENABLED); Preferences.SettingChanged += OnPreferencesChanged; main_window.DeleteEvent += HandleDeleteEvent; query_widget.HandleChanged (query); query_widget.Hide (); // When the icon_view is loaded, set it's initial scroll position icon_view.SizeAllocated += HandleIconViewReady; export.Activated += HandleExportActivated; UpdateToolbar (); Banshee.Kernel.Scheduler.Resume (); }
private void build() { this.SetDefaultSize (1000, 600); this.vbox1 = new VBox (); this.toolbar1 = new Toolbar (); this.toolbar1.ToolbarStyle = ToolbarStyle.BothHoriz; this.newcharbutton = new ToolButton (Stock.New); this.newcharbutton.Label = "New"; this.newcharbutton.TooltipText = "New Character"; this.newcharbutton.IsImportant = true; this.newcharbutton.Clicked += HandleNewcharbuttonClicked; this.toolbar1.Add (this.newcharbutton); this.savecharbutton = new ToolButton (Stock.Save); this.savecharbutton.Label = "Save"; this.savecharbutton.TooltipText = "Save Character"; this.savecharbutton.Clicked += HandleSavecharbuttonClicked; this.toolbar1.Add(this.savecharbutton); this.printcharbutton = new ToolButton (Stock.Print); this.printcharbutton.Label = "Print"; this.printcharbutton.TooltipText = "Print Character"; this.printcharbutton.Clicked += HandlePrintcharbuttonClicked; this.toolbar1.Add(this.printcharbutton); this.toolbar1.Add(new SeparatorToolItem()); this.rollbutton = new ToolButton (Stock.Refresh); this.rollbutton.Label = "Roll"; this.rollbutton.TooltipText = "Roll Characteristics"; this.rollbutton.IsImportant = true; this.rollbutton.Clicked += HandleRollbuttonClicked; this.toolbar1.Add(this.rollbutton); this.aboutbutton = new ToolButton (Stock.About); this.aboutbutton.Label = "About"; this.aboutbutton.TooltipText = "About Adeptus"; this.aboutbutton.Clicked += HandleAboutbuttonClicked; SeparatorToolItem sti = new SeparatorToolItem(); sti.Draw = false; sti.Expand = true; this.toolbar1.Add(sti); this.toolbar1.Add (this.aboutbutton); this.frame1 = new Frame (); this.frame1.Add(new Image(Gdk.Pixbuf.LoadFromResource("Adeptus.Gui.EmperorVHorus.jpg"))); this.statusbar1 = new Statusbar (); this.statusbar1.Push (0, "Ready"); this.vbox1.PackStart (this.toolbar1, false, true, 0); this.vbox1.PackStart (this.frame1, true, true, 0); this.vbox1.PackEnd (this.statusbar1, false, true, 0); this.Add (this.vbox1); }
private void build() { this.vbox1 = new Gtk.VBox(); this.toolbar1 = new Gtk.Toolbar(); this.toolbar1.ToolbarStyle = ToolbarStyle.BothHoriz; this.new_toolbutton = new ToolButton(Stock.New); this.new_toolbutton.IsImportant = true; this.new_toolbutton.Label = "New Character"; this.new_toolbutton.Clicked += HandleNew_toolbuttonhandleClicked; this.toolbar1.Add(this.new_toolbutton); this.pref_toolbutton = new ToolButton(Stock.Preferences); this.pref_toolbutton.IsImportant = true; this.pref_toolbutton.Label = "Preferences"; this.pref_toolbutton.Clicked += HandlePref_toolbuttonhandleClicked; this.toolbar1.Add(this.pref_toolbutton); this.quit_toolbutton = new ToolButton(Stock.Quit); this.quit_toolbutton.IsImportant = true; this.quit_toolbutton.Label = "Quit"; this.quit_toolbutton.Clicked += HandleQuit_toolbuttonhandleClicked; this.toolbar1.Add(this.quit_toolbutton); this.about_toolbutton = new ToolButton(Stock.About); this.about_toolbutton.IsImportant = true; this.about_toolbutton.Label = "About"; this.about_toolbutton.Clicked += HandleAbout_toolbuttonhandleClicked; SeparatorToolItem sti = new SeparatorToolItem(); sti.Draw = false; sti.Expand = true; this.toolbar1.Add(sti); this.toolbar1.Add(this.about_toolbutton); this.statusbar1 = new Gtk.Statusbar(); this.image1 = new Image(MediaManager.GetPixbufFromBaseFile("BLLogo.jpg").ScaleSimple(296, 149, Gdk.InterpType.Bilinear)); Gtk.VBox vbox2 = new Gtk.VBox(); Gtk.ScrolledWindow sw1 = new Gtk.ScrolledWindow(); TreeStore ts1 = new TreeStore(typeof(string), typeof(string)); ts1.AppendValues("Player Characters", DateTime.Now.ToString()); ts1.AppendValues("Non-Player Characters", DateTime.Now.ToString()); ts1.AppendValues("Database", DateTime.Now.ToString()); TreeView tv1 = new TreeView(); tv1.Model = ts1; tv1.HeadersVisible = true; tv1.AppendColumn("Source", new CellRendererText(), "text", 0); tv1.AppendColumn("Last Update", new CellRendererText(), "text", 1); sw1.Add(tv1); vbox2.PackStart(this.image1, false, true, 0); vbox2.PackEnd(sw1, true, true, 0); this.vbox1.PackStart(this.toolbar1, false, true, 0); this.vbox1.PackStart(vbox2, true, true, 0); this.vbox1.PackStart(this.statusbar1, false, true, 0); this.Add(this.vbox1); //this.SetSizeRequest(640, Screen.Height - 100); this.SetSizeRequest(480, 640); this.Icon = Battle.Gui.MediaManager.GetPixbufFromBaseFile("LSIMMS.png"); this.statusbar1.Push(0, string.Format("{0} started @ {1}", this.session.GetType().ToString(), this.session.StartTime.ToString())); this.Maximize(); }
public MainWindow() { Window win = new Window("Menu Sample App"); win.Resize(800, 650); VBox vbox = new VBox(false, 2); // menu bar MenuBar mb = new MenuBar(); Menu file_menu = new Menu(); MenuItem exit_item = new MenuItem("Exit"); MenuItem save_item = new MenuItem("Save"); MenuItem open_item = new MenuItem("Open"); exit_item.Activated += new EventHandler(on_exit_item_activate); file_menu.Append(open_item); file_menu.Append(save_item); file_menu.Append(exit_item); MenuItem file_item = new MenuItem("File"); file_item.Submenu = file_menu; mb.Append(file_item); vbox.PackStart(mb, false, false, 0); // toolbar Toolbar toolbar = new Toolbar(); ToolButton buttonMove = new ToggleToolButton(); buttonMove.IconWidget = new Gtk.Image("../ops/move.png"); ToolButton buttonSelect = new ToggleToolButton(); buttonSelect.IconWidget = new Gtk.Image("../ops/scale.png"); ToolButton buttonStar = new ToggleToolButton(); var pixbufStar = new Gdk.Pixbuf("../accessories/star.png"); buttonStar.IconWidget = new Gtk.Image(pixbufStar.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonAviator = new ToggleToolButton(); var pixbufAv = new Gdk.Pixbuf("../accessories/aviator.png"); buttonAviator.IconWidget = new Gtk.Image(pixbufAv.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonHeart = new ToggleToolButton(); var pixbufH = new Gdk.Pixbuf("../accessories/heart.png"); buttonHeart.IconWidget = new Gtk.Image(pixbufH.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonNerd = new ToggleToolButton(); var pixbufN = new Gdk.Pixbuf("../accessories/nerd.png"); buttonNerd.IconWidget = new Gtk.Image(pixbufN.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonHorns = new ToggleToolButton(); var pixbufHorns = new Gdk.Pixbuf("../accessories/horns.png"); buttonHorns.IconWidget = new Gtk.Image(pixbufHorns.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonHalo = new ToggleToolButton(); var pixbufHalo = new Gdk.Pixbuf("../accessories/halo.png"); buttonHalo.IconWidget = new Gtk.Image(pixbufHalo.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonTiara = new ToggleToolButton(); var pixbufT = new Gdk.Pixbuf("../accessories/tiara.png"); buttonTiara.IconWidget = new Gtk.Image(pixbufT.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonMous = new ToggleToolButton(); var pixbufM = new Gdk.Pixbuf("../accessories/moustache.png"); buttonMous.IconWidget = new Gtk.Image(pixbufM.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); ToolButton buttonLib = new ToggleToolButton(); var pixbufL = new Gdk.Pixbuf("../accessories/librarian.png"); buttonLib.IconWidget = new Gtk.Image(pixbufL.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); SeparatorToolItem sep = new SeparatorToolItem(); toolbar.Insert(buttonMove, -1); toolbar.Insert(buttonSelect, -1); toolbar.Insert(sep, -1); toolbar.Insert(buttonStar, -1); toolbar.Insert(buttonAviator, -1); toolbar.Insert(buttonHeart, -1); toolbar.Insert(buttonNerd, -1); toolbar.Insert(buttonHorns, -1); toolbar.Insert(buttonHalo, -1); toolbar.Insert(buttonTiara, -1); toolbar.Insert(buttonMous, -1); toolbar.Insert(buttonLib, -1); toolbar.ToolbarStyle = ToolbarStyle.BothHoriz; toolbar.ShowArrow = false; vbox.PackStart(toolbar, false, false, 0); ListView list = new ListView("Layer"); vbox.PackStart(list, false, false, 0); Gdk.Pixbuf backgroundImg = new Gdk.Pixbuf("../photos/kitty4.jpg"); Canvas canv = new Canvas(backgroundImg); vbox.PackStart(canv, false, false, 0); win.Add(vbox); win.ShowAll(); }
void EnsureToolbarBoxSeparator () { if (toolbarBox == null || subViewToolbar == null) return; if (separatorItem != null && pathBar == null) { subViewToolbar.Remove (separatorItem); separatorItem = null; } else if (separatorItem == null && pathBar != null) { separatorItem = new SeparatorToolItem (); subViewToolbar.Insert (separatorItem, -1); } else if (separatorItem != null && pathBar != null) { if (subViewToolbar.GetItemIndex(separatorItem) != subViewToolbar.NumChildren - 1) { subViewToolbar.Remove (separatorItem); subViewToolbar.Insert (separatorItem, -1); } } }
private void AddPropertyTab(PropertyTab tab) { TabRadioToolButton rtb; if (propertyTabs.Count == 0) { selectedTab = tab; rtb = new TabRadioToolButton (null); rtb.Active = true; firstTab = rtb; toolbar.Insert (tabSectionSeparator = new SeparatorToolItem (), FirstTabIndex - 1); } else rtb = new TabRadioToolButton (firstTab); //load image from PropertyTab's bitmap var icon = tab.GetIcon (); if (icon != null) rtb.Image = new ImageView (icon); else rtb.Image = new ImageView (MonoDevelop.Ide.ImageService.GetIcon (Stock.MissingImage, IconSize.Menu)); rtb.Tab = tab; rtb.TooltipText = tab.TabName; rtb.Toggled += new EventHandler (toolbarClick); toolbar.Insert (rtb, propertyTabs.Count + FirstTabIndex); propertyTabs.Add(tab); }
public Toolbox(ServiceContainer parentServices) { this.parentServices = parentServices; //we need this service, so create it if not present toolboxService = parentServices.GetService (typeof (IToolboxService)) as ToolboxService; if (toolboxService == null) { toolboxService = new ToolboxService (); parentServices.AddService (typeof (IToolboxService), toolboxService); } #region Toolbar toolbar = new Toolbar (); toolbar.ToolbarStyle = ToolbarStyle.Icons; toolbar.IconSize = IconSize.SmallToolbar; base.PackStart (toolbar, false, false, 0); filterToggleButton = new ToggleToolButton (); filterToggleButton.IconWidget = new Image (Stock.MissingImage, IconSize.SmallToolbar); filterToggleButton.Toggled += new EventHandler (toggleFiltering); toolbar.Insert (filterToggleButton, 0); catToggleButton = new ToggleToolButton (); catToggleButton.IconWidget = new Image (Stock.MissingImage, IconSize.SmallToolbar); catToggleButton.Toggled += new EventHandler (toggleCategorisation); toolbar.Insert (catToggleButton, 1); SeparatorToolItem sep = new SeparatorToolItem(); toolbar.Insert (sep, 2); filterEntry = new Entry(); filterEntry.WidthRequest = 150; filterEntry.Changed += new EventHandler (filterTextChanged); #endregion scrolledWindow = new ScrolledWindow (); base.PackEnd (scrolledWindow, true, true, 0); //Initialise model store = new ToolboxStore (); //initialise view nodeView = new NodeView (store); nodeView.Selection.Mode = SelectionMode.Single; nodeView.HeadersVisible = false; //cell renderers CellRendererPixbuf pixbufRenderer = new CellRendererPixbuf (); CellRendererText textRenderer = new CellRendererText (); textRenderer.Ellipsize = Pango.EllipsizeMode.End; //Main column with text, icons TreeViewColumn col = new TreeViewColumn (); col.PackStart (pixbufRenderer, false); col.SetAttributes (pixbufRenderer, "pixbuf", ToolboxStore.Columns.Icon, "visible", ToolboxStore.Columns.IconVisible, "cell-background-gdk", ToolboxStore.Columns.BackgroundColour); col.PackEnd (textRenderer, true); col.SetAttributes (textRenderer, "text", ToolboxStore.Columns.Label, "weight", ToolboxStore.Columns.FontWeight, "cell-background-gdk", ToolboxStore.Columns.BackgroundColour); nodeView.AppendColumn (col); //Initialise self scrolledWindow.VscrollbarPolicy = PolicyType.Automatic; scrolledWindow.HscrollbarPolicy = PolicyType.Never; scrolledWindow.WidthRequest = 150; scrolledWindow.AddWithViewport (nodeView); //selection events nodeView.NodeSelection.Changed += OnSelectionChanged; nodeView.RowActivated += OnRowActivated; //update view when toolbox service updated toolboxService.ToolboxChanged += new EventHandler (tbsChanged); Refresh (); //track expanded state of nodes nodeView.RowCollapsed += new RowCollapsedHandler (whenRowCollapsed); nodeView.RowExpanded += new RowExpandedHandler (whenRowExpanded); //set initial state filterToggleButton.Active = false; catToggleButton.Active = true; }
public MainWindow() : base("CAS.NET") { DeleteEvent += (o, a) => Gtk.Application.Quit(); textviews = new TextViewList(user, Eval, this); DefBox = new DefinitionBox(Eval); // Initiating menu elements server = new ServerMenuItem(); login = new LoginMenuItem(user, menu); logout = new LogoutMenuItem(user, menu); stdGetAsmList = new StudentGetAssignmentListMenuItem(user, textviews); teaAddAsm = new TeacherAddAssignmentMenuItem(user, textviews); teaGetAsmList = new TeacherGetAssignmentListMenuItem(user, textviews); taskGenSubMenu = new TaskGenMenuItem(textviews); taskGenMenuAlgItem = new TaskGenAritMenuItem(textviews); taskGenMenuUnitItem = new TaskGenUnitMenuItem(textviews); geometMenuItem = new GeometMenuItem(textviews); // Adding elements to menu server.Submenu = menu; menu.Append(login); menu.Append(logout); menu.Append(stdGetAsmList); menu.Append(teaAddAsm); menu.Append(teaGetAsmList); taskGenSubMenu.Submenu = taskgenMenu; taskgenMenu.Append(taskGenMenuAlgItem); taskgenMenu.Append(taskGenMenuUnitItem); geometMenuItem.Submenu = geometMenu; menubar.Append(server); menubar.Append(taskGenSubMenu); menubar.Append(geometMenuItem); open = new OpenToolButton(textviews, ref user); save = new SaveToolButton(textviews); neo = new NewToolButton(textviews); SeparatorToolItem separator1 = new SeparatorToolItem(); bold = new BoldToolButton(ref textviews); italic = new ItalicToolButton(ref textviews); underline = new UnderlineToolButton(ref textviews); SeparatorToolItem separator2 = new SeparatorToolItem(); movabletextview = new MovableTextViewToolButton(ref textviews); movablecalcview = new MovableCalcViewToolButton(ref textviews); movablecalcmultiline = new MovableCasCalcMultilineToolButton(ref textviews); movabledrawcanvas = new MovableDrawCanvasToolButton(ref textviews); movablecasresult = new MovableResultToolButton(ref textviews); toolbar.Add(open); toolbar.Add(save); toolbar.Add(neo); toolbar.Add(separator1); toolbar.Add(bold); toolbar.Add(italic); toolbar.Add(underline); toolbar.Add(separator2); toolbar.Add(movabletextview); toolbar.Add(movablecalcview); toolbar.Add(movablecalcmultiline); //toolbar.Add(movabledrawcanvas); toolbar.Add(movablecasresult); VBox vbox = new VBox(); ScrolledWindow scrolleddefbox = new ScrolledWindow(); scrolleddefbox.Add(DefBox); scrolleddefbox.HeightRequest = 100; vbox.PackStart(menubar, false, false, 2); vbox.PackStart(toolbar, false, false, 2); scrolledWindow.Add(textviews); vbox.Add(scrolledWindow); //vbox.PackEnd(scrolleddefbox, false, false, 2); Window defWin = new Window("Definitions"); defWin.WidthRequest = 300; defWin.HeightRequest = 450; defWin.Add(scrolleddefbox); defWin.ShowAll(); Add(vbox); SetSizeRequest(600, 600); ShowAll(); // Rehiding elements not ment to be shown at start, as the // user is currently not logged in. foreach (Widget w in menu) { if (w.GetType() == typeof(StudentGetAssignmentListMenuItem) || w.GetType() == typeof(TeacherAddAssignmentMenuItem) || w.GetType() == typeof(TeacherGetAssignmentListMenuItem) || w.GetType() == typeof(LogoutMenuItem)) { w.Hide(); } else if (w.GetType() == typeof(LoginMenuItem)) { w.Show(); } } GLib.Timeout.Add(2000, new GLib.TimeoutHandler(DefBoxUpdate)); }
// // Constructor // public MainWindow(Db db) { foreach (ServiceNode service in AddinManager.GetExtensionNodes ("/FSpot/Services")) { try { service.Initialize (); service.Start (); } catch (Exception e) { Log.Warning ("Something went wrong while starting the {0} extension.", service.Id); Log.DebugException (e); } } #if GSD_2_24 Log.Information ("Hack for gnome-settings-daemon engaged"); int max_age, max_size; if (Preferences.TryGet<int> (Preferences.GSD_THUMBS_MAX_AGE, out max_age)) { if (max_age < 0) Log.Debug ("maximum_age check already disabled, good"); else if (max_age == 0) Log.Warning ("maximum_age is 0 (tin-hat mode), not overriding"); else if (max_age < 180) { Log.Debug ("Setting maximum_age to a saner value"); Preferences.Set (Preferences.GSD_THUMBS_MAX_AGE, 180); } } if (Preferences.TryGet<int> (Preferences.GSD_THUMBS_MAX_SIZE, out max_size)) { int count = App.Instance.Database.Photos.Count ("photos"); // average thumbs are taking 70K, so this will push the threshold //if f-spot takes more than 70% of the thumbs space int size = count / 10; if (max_size < 0) Log.Debug ("maximum_size check already disabled, good"); else if (max_size == 0) Log.Warning ("maximum_size is 0 (tin-hat mode), not overriding"); else if (max_size < size) { Log.Debug ("Setting maximum_size to a saner value ({0}MB), according to your db size", size); Preferences.Set (Preferences.GSD_THUMBS_MAX_SIZE, size); } } #endif Database = db; if (Toplevel == null) Toplevel = this; GtkBeans.Builder builder = new GtkBeans.Builder ("main_window.ui"); builder.Autoconnect (this); //Set the global DefaultColormap. Allows transparency according //to the theme (work on murrine engine) Gdk.Colormap colormap = ((Widget)main_window).Screen.RgbaColormap; if (colormap == null) { Log.Debug ("Your screen doesn't support alpha channels!"); colormap = ((Widget)main_window).Screen.RgbColormap; } Gtk.Widget.DefaultColormap = colormap; LoadPreference (Preferences.MAIN_WINDOW_WIDTH); LoadPreference (Preferences.MAIN_WINDOW_X); LoadPreference (Preferences.MAIN_WINDOW_MAXIMIZED); main_window.ShowAll (); LoadPreference (Preferences.SIDEBAR_POSITION); LoadPreference (Preferences.METADATA_EMBED_IN_IMAGE); pagesetup_menu_item.Activated += HandlePageSetupActivated; toolbar = new Gtk.Toolbar (); toolbar_vbox.PackStart (toolbar); ToolButton import_button = GtkUtil.ToolButtonFromTheme ("gtk-add", Catalog.GetString ("Import"), true); import_button.Clicked += HandleImportCommand; import_button.SetTooltip (ToolTips, Catalog.GetString ("Import new images"), null); toolbar.Insert (import_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), false); rl_button.Clicked += HandleRotate270Command; toolbar.Insert (rl_button, -1); rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), false); rr_button.Clicked += HandleRotate90Command; toolbar.Insert (rr_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); browse_button = new ToggleToolButton (); browse_button.Label = Catalog.GetString ("Browse"); browse_button.IconName = "mode-browse"; browse_button.IsImportant = true; browse_button.Toggled += HandleToggleViewBrowse; browse_button.SetTooltip (ToolTips, Catalog.GetString ("Browse many photos simultaneously"), null); toolbar.Insert (browse_button, -1); edit_button = new ToggleToolButton (); edit_button.Label = Catalog.GetString ("Edit Image"); edit_button.IconName = "mode-image-edit"; edit_button.IsImportant = true; edit_button.Toggled += HandleToggleViewPhoto; edit_button.SetTooltip (ToolTips, Catalog.GetString ("View and edit a photo"), null); toolbar.Insert (edit_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme ("view-fullscreen", Catalog.GetString ("Fullscreen"), false); fs_button.Clicked += HandleViewFullscreen; fs_button.SetTooltip (ToolTips, Catalog.GetString ("View photos fullscreen"), null); toolbar.Insert (fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme ("media-playback-start", Catalog.GetString ("Slideshow"), false); ss_button.Clicked += HandleViewSlideShow; ss_button.SetTooltip (ToolTips, Catalog.GetString ("View photos in a slideshow"), null); toolbar.Insert (ss_button, -1); SeparatorToolItem white_space = new SeparatorToolItem (); white_space.Draw = false; white_space.Expand = true; toolbar.Insert (white_space, -1); ToolItem label_item = new ToolItem (); count_label = new Label (String.Empty); label_item.Child = count_label; toolbar.Insert (label_item, -1); display_previous_button = new ToolButton (Stock.GoBack); toolbar.Insert (display_previous_button, -1); display_previous_button.SetTooltip (ToolTips, Catalog.GetString ("Previous photo"), String.Empty); display_previous_button.Clicked += new EventHandler (HandleDisplayPreviousButtonClicked); display_next_button = new ToolButton (Stock.GoForward); toolbar.Insert (display_next_button, -1); display_next_button.SetTooltip (ToolTips, Catalog.GetString ("Next photo"), String.Empty); display_next_button.Clicked += new EventHandler (HandleDisplayNextButtonClicked); Sidebar = new Sidebar (); ViewModeChanged += Sidebar.HandleMainWindowViewModeChanged; sidebar_vbox.Add (Sidebar); tag_selection_scrolled = new ScrolledWindow (); tag_selection_scrolled.ShadowType = ShadowType.In; tag_selection_widget = new TagSelectionWidget (Database.Tags); tag_selection_scrolled.Add (tag_selection_widget); Sidebar.AppendPage (tag_selection_scrolled, Catalog.GetString ("Tags"), "tag"); AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged); Sidebar.Context = ViewContext.Library; Sidebar.CloseRequested += HideSidebar; Sidebar.Show (); InfoBox = new InfoBox (); ViewModeChanged += InfoBox.HandleMainWindowViewModeChanged; InfoBox.VersionIdChanged += delegate (InfoBox box, uint version_id) { UpdateForVersionIdChange (version_id);}; sidebar_vbox.PackEnd (InfoBox, false, false, 0); InfoBox.Context = ViewContext.Library; tag_selection_widget.Selection.Changed += HandleTagSelectionChanged; tag_selection_widget.KeyPressEvent += HandleTagSelectionKeyPress; tag_selection_widget.ButtonPressEvent += HandleTagSelectionButtonPressEvent; tag_selection_widget.PopupMenu += HandleTagSelectionPopupMenu; tag_selection_widget.RowActivated += HandleTagSelectionRowActivated; LoadPreference (Preferences.TAG_ICON_SIZE); try { query = new FSpot.PhotoQuery (Database.Photos); } catch (System.Exception e) { //FIXME assume any exception here is due to a corrupt db and handle that. new RepairDbDialog (e, Database.Repair (), main_window); query = new FSpot.PhotoQuery (Database.Photos); } UpdateStatusLabel (); query.Changed += HandleQueryChanged; Database.Photos.ItemsChanged += HandleDbItemsChanged; Database.Tags.ItemsChanged += HandleTagsChanged; Database.Tags.ItemsAdded += HandleTagsChanged; Database.Tags.ItemsRemoved += HandleTagsChanged; #if SHOW_CALENDAR FSpot.SimpleCalendar cal = new FSpot.SimpleCalendar (query); cal.DaySelected += HandleCalendarDaySelected; left_vbox.PackStart (cal, false, true, 0); #endif group_selector = new FSpot.GroupSelector (); group_selector.Adaptor = new FSpot.TimeAdaptor (query, Preferences.Get<bool> (Preferences.GROUP_ADAPTOR_ORDER_ASC)); group_selector.ShowAll (); if (zoom_scale != null) { zoom_scale.ValueChanged += HandleZoomScaleValueChanged; } view_vbox.PackStart (group_selector, false, false, 0); view_vbox.ReorderChild (group_selector, 0); find_bar = new FindBar (query, tag_selection_widget.Model); view_vbox.PackStart (find_bar, false, false, 0); view_vbox.ReorderChild (find_bar, 1); main_window.KeyPressEvent += HandleKeyPressEvent; query_widget = new FSpot.QueryWidget (query, Database); query_widget.Logic.Changed += HandleQueryLogicChanged; view_vbox.PackStart (query_widget, false, false, 0); view_vbox.ReorderChild (query_widget, 2); icon_view = new QueryView (query); icon_view.ZoomChanged += HandleZoomChanged; LoadPreference (Preferences.ZOOM); LoadPreference (Preferences.SHOW_TAGS); LoadPreference (Preferences.SHOW_DATES); LoadPreference (Preferences.SHOW_RATINGS); icon_view_scrolled.Add (icon_view); icon_view.DoubleClicked += HandleDoubleClicked; icon_view.Vadjustment.ValueChanged += HandleIconViewScroll; icon_view.GrabFocus (); new FSpot.PreviewPopup (icon_view); Gtk.Drag.SourceSet (icon_view, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask, icon_source_target_table, DragAction.Copy | DragAction.Move); icon_view.DragBegin += HandleIconViewDragBegin; icon_view.DragDataGet += HandleIconViewDragDataGet; TagMenu tag_menu = new TagMenu (null, Database.Tags); tag_menu.NewTagHandler += delegate { HandleCreateTagAndAttach (this, null); }; tag_menu.TagSelected += HandleAttachTagMenuSelected; tag_menu.Populate(); (uimanager.GetWidget("/ui/menubar1/edit2/attach_tag") as MenuItem).Submenu = tag_menu; PhotoTagMenu pmenu = new PhotoTagMenu (); pmenu.TagSelected += HandleRemoveTagMenuSelected; (uimanager.GetWidget("/ui/menubar1/edit2/remove_tag") as MenuItem).Submenu = pmenu; Gtk.Drag.DestSet (icon_view, DestDefaults.All, icon_dest_target_table, DragAction.Copy | DragAction.Move); // icon_view.DragLeave += new DragLeaveHandler (HandleIconViewDragLeave); icon_view.DragMotion += HandleIconViewDragMotion; icon_view.DragDrop += HandleIconViewDragDrop; icon_view.DragDataReceived += HandleIconViewDragDataReceived; icon_view.KeyPressEvent += HandleIconViewKeyPressEvent; photo_view = new PhotoView (query); photo_box.Add (photo_view); photo_view.DoubleClicked += HandleDoubleClicked; photo_view.KeyPressEvent += HandlePhotoViewKeyPressEvent; photo_view.UpdateStarted += HandlePhotoViewUpdateStarted; photo_view.UpdateFinished += HandlePhotoViewUpdateFinished; photo_view.View.ZoomChanged += HandleZoomChanged; // Tag typing: focus the tag entry if the user starts typing a tag icon_view.KeyPressEvent += HandlePossibleTagTyping; photo_view.KeyPressEvent += HandlePossibleTagTyping; tag_entry = new TagEntry (Database.Tags); tag_entry.KeyPressEvent += HandleTagEntryKeyPressEvent; tag_entry.TagsAttached += HandleTagEntryTagsAttached; tag_entry.TagsRemoved += HandleTagEntryRemoveTags; tag_entry.Activated += HandleTagEntryActivate; tag_entry_container.Add (tag_entry); Gtk.Drag.DestSet (photo_view, DestDefaults.All, tag_target_table, DragAction.Copy | DragAction.Move); photo_view.DragMotion += HandlePhotoViewDragMotion; photo_view.DragDrop += HandlePhotoViewDragDrop; photo_view.DragDataReceived += HandlePhotoViewDragDataReceived; view_notebook.SwitchPage += HandleViewNotebookSwitchPage; group_selector.Adaptor.GlassSet += HandleAdaptorGlassSet; group_selector.Adaptor.Changed += HandleAdaptorChanged; LoadPreference (Preferences.GROUP_ADAPTOR_ORDER_ASC); LoadPreference (Preferences.FILMSTRIP_ORIENTATION); Selection = new MainSelection (this); Selection.Changed += HandleSelectionChanged; Selection.ItemsChanged += HandleSelectionItemsChanged; Selection.Changed += Sidebar.HandleSelectionChanged; Selection.ItemsChanged += Sidebar.HandleSelectionItemsChanged; Mono.Addins.AddinManager.ExtensionChanged += PopulateExtendableMenus; PopulateExtendableMenus (null, null); UpdateMenus (); main_window.ShowAll (); tagbar.Hide (); find_bar.Hide (); UpdateFindByTagMenu (); LoadPreference (Preferences.SHOW_TOOLBAR); LoadPreference (Preferences.SHOW_SIDEBAR); LoadPreference (Preferences.SHOW_TIMELINE); LoadPreference (Preferences.SHOW_FILMSTRIP); LoadPreference (Preferences.GNOME_MAILTO_ENABLED); Preferences.SettingChanged += OnPreferencesChanged; main_window.DeleteEvent += HandleDeleteEvent; query_widget.HandleChanged (query); query_widget.Close (); // When the icon_view is loaded, set it's initial scroll position icon_view.SizeAllocated += HandleIconViewReady; export.Activated += HandleExportActivated; UpdateToolbar (); (uimanager.GetWidget("/ui/menubar1/file1/close1") as MenuItem).Hide (); Banshee.Kernel.Scheduler.Resume (); }
private void build() { this.vbox1 = new Gtk.VBox(); this.toolbar1 = new Gtk.Toolbar(); this.toolbar1.ToolbarStyle = ToolbarStyle.BothHoriz; this.new_toolbutton = new ToolButton(Stock.New); this.new_toolbutton.IsImportant = true; this.new_toolbutton.Label = "New Character"; this.new_toolbutton.Clicked += HandleNew_toolbuttonhandleClicked; this.toolbar1.Add(this.new_toolbutton); this.pref_toolbutton = new ToolButton(Stock.Preferences); this.pref_toolbutton.IsImportant = true; this.pref_toolbutton.Label = "Preferences"; this.pref_toolbutton.Clicked += HandlePref_toolbuttonhandleClicked; this.toolbar1.Add(this.pref_toolbutton); this.quit_toolbutton = new ToolButton(Stock.Quit); this.quit_toolbutton.IsImportant = true; this.quit_toolbutton.Label = "Quit"; this.quit_toolbutton.Clicked += HandleQuit_toolbuttonhandleClicked; this.toolbar1.Add(this.quit_toolbutton); this.about_toolbutton = new ToolButton(Stock.About); this.about_toolbutton.IsImportant = true; this.about_toolbutton.Label = "About"; this.about_toolbutton.Clicked += HandleAbout_toolbuttonhandleClicked; SeparatorToolItem sti = new SeparatorToolItem(); sti.Draw = false; sti.Expand = true; this.toolbar1.Add(sti); this.toolbar1.Add(this.about_toolbutton); this.statusbar1 = new Gtk.Statusbar(); this.image1 = new Image(MediaManager.GetPixbufFromBaseFile("BLLogo.jpg").ScaleSimple(296, 149, Gdk.InterpType.Bilinear)); Gtk.VBox vbox2 = new Gtk.VBox(); Gtk.ScrolledWindow sw1 = new Gtk.ScrolledWindow(); TreeStore ts1 = new TreeStore (typeof (string), typeof (string)); ts1.AppendValues("Player Characters",DateTime.Now.ToString()); ts1.AppendValues("Non-Player Characters",DateTime.Now.ToString()); ts1.AppendValues("Database",DateTime.Now.ToString()); TreeView tv1 = new TreeView (); tv1.Model = ts1; tv1.HeadersVisible = true; tv1.AppendColumn ("Source", new CellRendererText (), "text", 0); tv1.AppendColumn ("Last Update", new CellRendererText (), "text", 1); sw1.Add(tv1); vbox2.PackStart(this.image1, false, true, 0); vbox2.PackEnd(sw1, true, true, 0); this.vbox1.PackStart(this.toolbar1, false, true, 0); this.vbox1.PackStart(vbox2, true, true, 0); this.vbox1.PackStart(this.statusbar1, false, true, 0); this.Add(this.vbox1); //this.SetSizeRequest(640, Screen.Height - 100); this.SetSizeRequest(480, 640); this.Icon = Battle.Gui.MediaManager.GetPixbufFromBaseFile("LSIMMS.png"); this.statusbar1.Push(0, string.Format("{0} started @ {1}", this.session.GetType().ToString(), this.session.StartTime.ToString())); this.Maximize(); }
public ForumView(Forum site, String forum) { this.site = site; this.forum = forum; this.Destroyed += delegate(object sender, EventArgs e) { if (iconThread != null) if (iconThread.IsAlive) iconThread.Abort (); }; topicWindow = new ScrolledWindow (); topicWindow.ShadowType = ShadowType.EtchedIn; topicWindow.SetPolicy (PolicyType.Automatic, PolicyType.Automatic); treeviewTopics = new TreeView (); treeviewTopics.BorderWidth = 0; treeviewTopics.AppendColumn ("", new CellRendererPixbuf (), "pixbuf", 5); CellRendererText cellTopic = new CellRendererText (); TreeViewColumn topicCol = treeviewTopics.AppendColumn ("Topic", cellTopic, "text", 1); topicCol.SetCellDataFunc (cellTopic, new Gtk.TreeCellDataFunc (renderTopic)); topicCol.Resizable = true; treeviewTopics.AppendColumn ("Author", new CellRendererText (), "text", 2).Resizable = true; ; treeviewTopics.AppendColumn ("Replies", new CellRendererText (), "text", 3).Resizable = true; ; treeviewTopics.AppendColumn ("Last Reply", new CellRendererText (), "text", 4).Resizable = true; ; // Use treeView.Selection.Changed? treeviewTopics.RowActivated += treeviewTopics_RowActivated; treeviewTopics.ButtonPressEvent += treeviewTopics_ButtonPress; topicWindow.Add (treeviewTopics); this.Add1 (topicWindow); contentBox = new VBox (false, 0); Toolbar toolbar = new Toolbar (); toolbar.HeightRequest = 38; toolbar.ToolbarStyle = ToolbarStyle.Icons; toolbar.BorderWidth = 0; firstbtn = new ToolButton (Stock.GotoFirst); firstbtn.TooltipText = "First page"; firstbtn.Sensitive = false; firstbtn.Clicked += firstbtn_Clicked; prevbtn = new ToolButton (Stock.GoBack); prevbtn.TooltipText = "Previous page"; prevbtn.Sensitive = false; prevbtn.Clicked += prevbtn_Clicked; nextbtn = new ToolButton (Stock.GoForward); nextbtn.TooltipText = "Next page"; nextbtn.Sensitive = false; nextbtn.Clicked += nextbtn_Clicked; lastbtn = new ToolButton (Stock.GotoLast); lastbtn.TooltipText = "Last page"; lastbtn.Sensitive = false; lastbtn.Clicked += lastbtn_Clicked; Image tmpimage = new Image (); tmpimage.Pixbuf = new Gdk.Pixbuf (".images/icon_up.png"); upbtn = new ToolButton (tmpimage, ""); upbtn.TooltipText = "Expand view to top"; upbtn.Clicked += upbtn_Clicked; Image tmpimage2 = new Image (); tmpimage2.Pixbuf = new Gdk.Pixbuf (".images/icon_down.png"); downbtn = new ToolButton (tmpimage2, ""); downbtn.TooltipText = "Split view"; downbtn.Clicked += downbtn_Clicked; closebtn = new ToolButton (Stock.Close); closebtn.TooltipText = "Close image view"; closebtn.Clicked += closebtn_Clicked; Image tmpimage3 = new Image (); tmpimage3.Pixbuf = new Gdk.Pixbuf (".images/rotate_16.png"); rotatebtn = new ToolButton (tmpimage3, ""); rotatebtn.TooltipText = "Rotate image clockwise"; rotatebtn.Clicked += rotatebtn_Clicked; Image tmpimage4 = new Image (); tmpimage4.Pixbuf = new Gdk.Pixbuf (".images/icon_save.png"); savebtn = new ToolButton (tmpimage4, ""); savebtn.TooltipText = "Download image"; savebtn.Clicked += savebtn_Clicked; pageLabel = new Label (""); ToolItem textItem = new ToolItem (); textItem.Expand = false; textItem.Add (pageLabel); imageviewbtn = new ToggleToolButton (Stock.ZoomFit); imageviewbtn.TooltipText = "Image view"; imageviewbtn.Toggled += imageviewbtn_Toggled; textviewbtn = new ToggleToolButton (Stock.Properties); textviewbtn.TooltipText = "Thread view"; textviewbtn.Active = true; textviewbtn.Toggled += textviewbtn_Toggled; SeparatorToolItem sepSpacer = new SeparatorToolItem (); sepSpacer.Expand = true; sepSpacer.Draw = false; sepFullsize = new SeparatorToolItem (); imageSortAscending = new ToggleToolButton (Stock.SortAscending); imageSortAscending.TooltipText = "Show earliest images first"; imageSortAscending.Active = true; imageSortAscending.Toggled += imageSortAscending_Toggled; imageSortDescending = new ToggleToolButton (Stock.SortDescending); imageSortDescending.TooltipText = "Show latest images first"; imageSortDescending.Toggled += imageSortDescending_Toggled; imageLoadingProgress = new ProgressBar (); ToolItem progressItem = new ToolItem (); progressItem.Expand = false; progressItem.Add (imageLoadingProgress); imageLoadingProgress.Fraction = 0; toolbar.Add (imageSortAscending); toolbar.Add (imageSortDescending); toolbar.Add (progressItem); toolbar.Add (firstbtn); toolbar.Add (prevbtn); toolbar.Add (textItem); toolbar.Add (nextbtn); toolbar.Add (lastbtn); toolbar.Add (sepFullsize); toolbar.Add (savebtn); toolbar.Add (rotatebtn); toolbar.Add (sepSpacer); toolbar.Add (imageviewbtn); toolbar.Add (textviewbtn); toolbar.Add (closebtn); toolbar.Add (upbtn); toolbar.Add (downbtn); threadwindow = new ScrolledWindow (); threadbrowser = new WebView (); threadbrowser.Editable = false; threadbrowser.NavigationRequested += threadbrowser_NavigationRequested; threadwindow.Add (threadbrowser); iconStore = new ListStore (typeof(string), typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(int), typeof(int)); iconview = new IconView (iconStore); iconview.Margin = 1; iconview.Spacing = 1; iconview.BorderWidth = 0; iconview.ColumnSpacing = 1; iconview.RowSpacing = 1; iconview.PixbufColumn = 1; iconview.TooltipColumn = 2; iconview.SelectionMode = SelectionMode.Multiple; iconview.ItemActivated += iconview_ItemActivated; iconview.ButtonPressEvent += iconView_ButtonPress; iconview.Model = iconStore; iconview.ModifyBase (StateType.Normal, new Gdk.Color (0x66, 0x66, 0x66)); iconwindow = new ScrolledWindow (); iconwindow.ShadowType = ShadowType.EtchedIn; iconwindow.SetPolicy (PolicyType.Automatic, PolicyType.Automatic); iconwindow.Add (iconview); imagewindow = new EventBox (); fullSizeImage = new Image (); // JICE TEST fullsizeLayout = new Layout (null, null); fullsizeLayout.Add (fullSizeImage); fullsizeLayout.SizeRequested += fullsizeLayout_SizeRequested; imagewindow.ModifyBase (StateType.Normal, new Gdk.Color (0x66, 0x66, 0x66)); imagewindow.Add (fullsizeLayout); imagewindow.CanFocus = true; imagewindow.KeyPressEvent += imagewindow_keyPressEvent; imagewindow.SizeRequested += imagewindow_sizeAllocated; // imagewindow.Add(fullSizeImage); contentBox.PackStart (toolbar, false, false, 0); contentBox.PackStart (iconwindow); contentBox.PackStart (imagewindow); contentBox.PackStart (threadwindow); this.Add2 (contentBox); this.ShowAll (); imageSortAscending.Hide (); imageSortDescending.Hide (); iconwindow.Hide (); imagewindow.Hide (); closebtn.Hide (); rotatebtn.Hide (); savebtn.Hide (); sepFullsize.Hide (); downbtn.Hide (); imageLoadingProgress.Hide (); String favouriteThreads = UserSettings.getValue ("Site" + site.forumName + ".Forum" + forum + ".Favourites"); favThreads = favouriteThreads.Split (';'); treestoreTopics = new TreeStore (typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Gdk.Pixbuf)); topicsLoaded = 0; loadTopics (); treeviewTopics.Model = treestoreTopics; }
public bool CloseWindow (bool force, bool fromMenu, int pageNum) { bool wasActive = workbench.ActiveWorkbenchWindow == this; WorkbenchWindowEventArgs args = new WorkbenchWindowEventArgs (force, wasActive); args.Cancel = false; OnClosing (args); if (args.Cancel) return false; if (fromMenu == true) { workbench.RemoveTab (tabControl.PageNum(this)); } else { workbench.RemoveTab (pageNum); } OnClosed (args); content.ContentNameChanged -= new EventHandler(SetTitleEvent); content.DirtyChanged -= new EventHandler(SetTitleEvent); content.BeforeSave -= new EventHandler(BeforeSave); content.ContentChanged -= new EventHandler (OnContentChanged); content.WorkbenchWindow = null; if (subViewContents != null) { foreach (IAttachableViewContent sv in subViewContents) { subViewNotebook.Remove (sv.Control); sv.Dispose (); } this.subViewContents = null; subViewNotebook.Remove (content.Control); } DetachFromPathedDocument (); content.Dispose (); box.Destroy (); this.subViewToolbar = null; this.separatorItem = null; this.content = null; this.subViewNotebook = null; this.tabControl = null; tabLabel.Destroy (); this.tabLabel = null; this.tabPage = null; Destroy (); return true; }
void CreateMenuToolBar() { var about = new Commands.About(); var quit = new Commands.Quit(); if (Platform.Supports <MenuBar>()) { var saveSettingsItem = new CheckMenuItem { Text = "Save Selected Section" }; saveSettingsItem.Bind(c => c.Checked, TestApplication.Settings, s => s.SaveInitialSection); var fileCommand = new Command { MenuText = "File Command", Shortcut = Application.Instance.CommonModifier | Keys.F }; fileCommand.Executed += (sender, e) => Log.Write(sender, "Executed"); var editCommand = new Command { MenuText = "Edit Command", Shortcut = Keys.Shift | Keys.E }; editCommand.Executed += (sender, e) => Log.Write(sender, "Executed"); var viewCommand = new Command { MenuText = "View Command", Shortcut = Keys.Control | Keys.Shift | Keys.V }; viewCommand.Executed += (sender, e) => Log.Write(sender, "Executed"); var windowCommand = new Command { MenuText = "Window Command" }; windowCommand.Executed += (sender, e) => Log.Write(sender, "Executed"); var crashCommand = new Command { MenuText = "Test Exception" }; crashCommand.Executed += (sender, e) => { throw new InvalidOperationException("This is the exception message"); }; var subMenu = new SubMenuItem { Text = "Sub Menu" }; subMenu.Items.Add(new ButtonMenuItem { Text = "Item 1" }); subMenu.Items.Add(new ButtonMenuItem { Text = "Item 2" }); subMenu.Items.Add(new ButtonMenuItem { Text = "Item 3" }); var file = new SubMenuItem { Text = "&File", Items = { saveSettingsItem, fileCommand, crashCommand } }; var edit = new SubMenuItem { Text = "&Edit", Items = { editCommand, subMenu } }; var view = new SubMenuItem { Text = "&View", Items = { viewCommand } }; var window = new SubMenuItem { Text = "&Window", Order = 1000, Items = { windowCommand } }; if (Platform.Supports <CheckMenuItem>()) { edit.Items.AddSeparator(); var checkMenuItem1 = new CheckMenuItem { Text = "Check Menu Item", Shortcut = Keys.Shift | Keys.K }; checkMenuItem1.Click += (sender, e) => Log.Write(sender, "Click, {0}, Checked: {1}", checkMenuItem1.Text, checkMenuItem1.Checked); checkMenuItem1.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem1.Text, checkMenuItem1.Checked); edit.Items.Add(checkMenuItem1); var checkMenuItem2 = new CheckMenuItem { Text = "Initially Checked Menu Item", Checked = true }; checkMenuItem2.Click += (sender, e) => Log.Write(sender, "Click, {0}, Checked: {1}", checkMenuItem2.Text, checkMenuItem2.Checked); checkMenuItem2.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem2.Text, checkMenuItem2.Checked); edit.Items.Add(checkMenuItem2); var checkMenuItem3 = new CheckCommand { MenuText = "Check Command", Shortcut = Keys.Shift | Keys.K }; checkMenuItem3.Executed += (sender, e) => Log.Write(sender, "Executed, {0}, Checked: {1}", checkMenuItem3.MenuText, checkMenuItem3.Checked); checkMenuItem3.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem3.MenuText, checkMenuItem3.Checked); edit.Items.Add(checkMenuItem3); checkMenuItem1.Click += (sender, e) => checkMenuItem3.Checked = !checkMenuItem3.Checked; } if (Platform.Supports <RadioMenuItem>()) { edit.Items.AddSeparator(); RadioMenuItem controller = null; for (int i = 0; i < 5; i++) { var radio = new RadioMenuItem(controller) { Text = "Radio Menu Item " + (i + 1) }; if (controller == null) { radio.Checked = true; // check the first item initially controller = radio; } radio.Click += (sender, e) => Log.Write(radio, "Click, {0}, Checked: {1}", radio.Text, radio.Checked); radio.CheckedChanged += (sender, e) => Log.Write(radio, "CheckedChanged, {0}: {1}", radio.Text, radio.Checked); edit.Items.Add(radio); } edit.Items.AddSeparator(); RadioCommand commandController = null; for (int i = 0; i < 2; i++) { var radio = new RadioCommand { MenuText = "Radio Command " + (i + 1), Controller = commandController }; if (commandController == null) { radio.Checked = true; // check the first item initially commandController = radio; } radio.Executed += (sender, e) => Log.Write(radio, "Executed, {0}, Checked: {1}", radio.MenuText, radio.Checked); radio.CheckedChanged += (sender, e) => Log.Write(radio, "CheckedChanged, {0}: {1}", radio.MenuText, radio.Checked); edit.Items.Add(radio); } } edit.Items.AddSeparator(); var hiddenItem = new ButtonMenuItem { Text = "This button should not be visible!", Visible = false }; var toggleHiddenItem = new ButtonMenuItem { Text = "Toggle Hidden Item" }; toggleHiddenItem.Click += (sender, e) => hiddenItem.Visible = !hiddenItem.Visible; edit.Items.Add(hiddenItem); edit.Items.Add(toggleHiddenItem); Menu = new MenuBar { Items = { // custom top-level menu items file, edit, view, window }, ApplicationItems = { // custom menu items for the application menu (Application on OS X, File on others) new Command { MenuText = "Application command" }, new ButtonMenuItem { Text = "Application menu item" } }, HelpItems = { new Command { MenuText = "Help Command" } }, QuitItem = quit, AboutItem = about }; } if (Platform.Supports <ToolBar>()) { // create and set the toolbar ToolBar = new ToolBar(); ToolBar.Items.Add(about); if (Platform.Supports <CheckToolItem>()) { ToolBar.Items.Add(new SeparatorToolItem { Type = SeparatorToolItemType.Divider }); ToolBar.Items.Add(LogEvents(new CheckToolItem { Text = "Check", Image = TestIcons.TestImage })); } ToolBar.Items.Add(new SeparatorToolItem { Type = SeparatorToolItemType.Space }); ButtonToolItem clickButton = LogEvents(new ButtonToolItem { Text = "Click Me", Image = TestIcons.Logo }); ToolBar.Items.Add(clickButton); if (Platform.Supports <RadioToolItem>()) { ToolBar.Items.Add(new SeparatorToolItem { Type = SeparatorToolItemType.FlexibleSpace }); ToolBar.Items.Add(LogEvents(new RadioToolItem { Text = "Radio1", Image = TestIcons.Logo, Checked = true })); ToolBar.Items.Add(LogEvents(new RadioToolItem { Text = "Radio2", Image = TestIcons.TestImage })); ToolBar.Items.Add(LogEvents(new RadioToolItem { Text = "Radio3 (Disabled)", Image = TestIcons.TestImage, Enabled = false })); } // add an invisible button and separator and allow them to be toggled. var invisibleButton = LogEvents(new ButtonToolItem { Text = "Invisible", Visible = false }); var sep = new SeparatorToolItem { Type = SeparatorToolItemType.Divider, Visible = false }; ToolBar.Items.Add(sep); ToolBar.Items.Add(invisibleButton); clickButton.Click += (sender, e) => { invisibleButton.Visible = !invisibleButton.Visible; sep.Visible = invisibleButton.Visible; }; } }
protected override void Initialize(IPadWindow window) { window.Title = GettextCatalog.GetString("Errors"); DockItemToolbar toolbar = window.GetToolbar(DockPositionType.Top); toolbar.Accessible.Name = "ErrorPad.Toolbar"; toolbar.Accessible.SetLabel("Error Pad Toolbar"); toolbar.Accessible.SetRole("AXToolbar", "Pad toolbar"); toolbar.Accessible.Description = GettextCatalog.GetString("The Error pad toolbar"); errorBtn = MakeButton(Stock.Error, "toggleErrors", ShowErrors, out errorBtnLbl); errorBtn.Accessible.Name = "ErrorPad.ErrorButton"; errorBtn.Toggled += new EventHandler(FilterChanged); errorBtn.TooltipText = GettextCatalog.GetString("Show Errors"); errorBtn.Accessible.Description = GettextCatalog.GetString("Show Errors"); UpdateErrorsNum(); toolbar.Add(errorBtn); warnBtn = MakeButton(Stock.Warning, "toggleWarnings", ShowWarnings, out warnBtnLbl); warnBtn.Accessible.Name = "ErrorPad.WarningButton"; warnBtn.Toggled += new EventHandler(FilterChanged); warnBtn.TooltipText = GettextCatalog.GetString("Show Warnings"); warnBtn.Accessible.Description = GettextCatalog.GetString("Show Warnings"); UpdateWarningsNum(); toolbar.Add(warnBtn); msgBtn = MakeButton(Stock.Information, "toggleMessages", ShowMessages, out msgBtnLbl); msgBtn.Accessible.Name = "ErrorPad.MessageButton"; msgBtn.Toggled += new EventHandler(FilterChanged); msgBtn.TooltipText = GettextCatalog.GetString("Show Messages"); msgBtn.Accessible.Description = GettextCatalog.GetString("Show Messages"); UpdateMessagesNum(); toolbar.Add(msgBtn); var sep = new SeparatorToolItem(); sep.Accessible.SetShouldIgnore(true); toolbar.Add(sep); logBtn = MakeButton("md-message-log", "toggleBuildOutput", out logBtnLbl); logBtn.Accessible.Name = "ErrorPad.LogButton"; logBtn.TooltipText = GettextCatalog.GetString("Show build output"); logBtn.Accessible.Description = GettextCatalog.GetString("Show build output"); logBtnLbl.Text = GettextCatalog.GetString("Build Output"); logBtn.Accessible.SetTitle(logBtnLbl.Text); logBtn.Clicked += HandleLogBtnClicked; toolbar.Add(logBtn); buildOutput = new BuildOutput(); //Dummy widget to take all space between "Build Output" button and SearchEntry var spacer = new HBox(); spacer.Accessible.SetShouldIgnore(true); toolbar.Add(spacer, true); searchEntry = new SearchEntry(); searchEntry.Accessible.SetLabel(GettextCatalog.GetString("Search")); searchEntry.Accessible.Name = "ErrorPad.Search"; searchEntry.Accessible.Description = GettextCatalog.GetString("Search the error data"); searchEntry.Entry.Changed += searchPatternChanged; searchEntry.WidthRequest = 200; searchEntry.Visible = true; toolbar.Add(searchEntry); toolbar.ShowAll(); UpdatePadIcon(); IdeApp.ProjectOperations.StartBuild += OnBuildStarted; }
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(); }
private void BuildStatusBar() { statusToolbar.ShowArrow = false; statusToolbar.ToolbarStyle = ToolbarStyle.BothHoriz; SpeedLimitMenu menu = BuildSpeedsPopup (); SeparatorToolItem sep; ToolItem item = new ToolItem (); EventBox eventBox = new EventBox (); HBox box = new HBox (); statusDownButton = new Label (); box.Add (Gtk.Image.NewFromIconName(Gtk.Stock.GoDown, IconSize.Menu)); box.Add (statusDownButton); eventBox.Child = box; eventBox.ButtonPressEvent += Event.Wrap ((ButtonPressEventHandler) delegate(object o, ButtonPressEventArgs args) { menu.ShowAll (); menu.IsUpload = false; menu.CalculateSpeeds (EngineSettings.GlobalMaxDownloadSpeed); menu.Popup (); }); item.Child = eventBox; statusToolbar.Insert (item, 0); sep = new SeparatorToolItem (); sep.Draw = false; statusToolbar.Insert (sep, 1); eventBox = new EventBox (); box = new HBox (); statusUpButton = new Label (); box.Add (Gtk.Image.NewFromIconName(Gtk.Stock.GoUp, IconSize.Menu)); box.Add (statusUpButton); eventBox.Child = box; eventBox.ButtonPressEvent += Event.Wrap ((ButtonPressEventHandler) delegate(object o, ButtonPressEventArgs args) { menu.ShowAll (); menu.IsUpload = true; menu.CalculateSpeeds (EngineSettings.GlobalMaxUploadSpeed); menu.Popup (); }); item = new ToolItem (); item.Child = eventBox; statusToolbar.Insert (item, 2); sep = new SeparatorToolItem (); sep.Draw = false; sep.WidthRequest = 20; statusToolbar.Insert (sep, 3); statusToolbar.ShowAll (); }
Toolbar CreateToolbar () { Toolbar toolbar = new Toolbar (); toolbar.IconSize = IconSize.SmallToolbar; toolbar.ToolbarStyle = ToolbarStyle.Icons; ToolButton button1 = new Gtk.ToolButton (Stock.New); button1.SetTooltip (tooltips1, "New", "New"); button1.Clicked += new EventHandler(OnToolbar_FileNew); toolbar.Insert (button1, -1); ToolButton button2 = new ToolButton (Stock.Open); button2.SetTooltip (tooltips1, "Open", "Open"); button2.Clicked += new EventHandler(OnToolbar_FileOpen); toolbar.Insert (button2, -1); ToolButton button3 = new ToolButton (Stock.Save); button3.SetTooltip (tooltips1, "Save", "Save"); button3.Clicked += new EventHandler(OnToolbar_FileSave); toolbar.Insert (button3, -1); Gtk.ToolButton button4 = new Gtk.ToolButton (Stock.Close); button4.SetTooltip (tooltips1, "Close", "Close"); button4.Clicked += new EventHandler(OnToolbar_FileClose); toolbar.Insert (button4, -1); SeparatorToolItem sep = new SeparatorToolItem (); toolbar.Insert (sep, -1); ToolButton button5 = new ToolButton (Stock.Execute); button5.SetTooltip (tooltips1, "Execute Command\tF5", "Execute Command"); button5.Clicked += new EventHandler(OnToolbar_ExecuteCommand); toolbar.Insert (button5, -1); ToolButton button6 = new ToolButton (Stock.Execute); button6.SetTooltip (tooltips1, "Execute Script", "Execute Script"); button6.Clicked += new EventHandler(OnToolbar_ExecuteScript); toolbar.Insert (button6, -1); ToolButton button7 = new ToolButton (Stock.GoDown); button7.SetTooltip (tooltips1, "Output", "Output"); button7.Clicked += new EventHandler(OnToolbar_ToggleResultsOutput); toolbar.Insert (button7, -1); Gtk.ToolButton button8 = new Gtk.ToolButton (Stock.GoUp); button8.SetTooltip (tooltips1, "Query Mode", "Query Mode"); button8.Clicked += new EventHandler(OnToolbar_ToggleQueryMode); toolbar.Insert (button8, -1); combo = ComboHelper.NewComboBox (); combo.Changed += new EventHandler (OnDataSourceChanged); combo.AppendText (NotConnected); ComboHelper.SetActiveText (combo, NotConnected); combo.Active = 0; ToolItem ti = new ToolItem(); ti.Child = combo; toolbar.Insert (ti, -1); return toolbar; }
protected override void OnBuildToolBar(Gtk.Toolbar tb) { base.OnBuildToolBar (tb); if (font_label == null) font_label = new ToolBarLabel (string.Format (" {0}: ", Catalog.GetString ("Font"))); tb.AppendItem (font_label); if (font_combo == null) { var fonts = PintaCore.System.Fonts.GetInstalledFonts (); fonts.Sort (); // Default to Arial or first in list int index = Math.Max (fonts.IndexOf ("Arial"), 0); font_combo = new ToolBarFontComboBox (150, index, fonts.ToArray ()); font_combo.ComboBox.Changed += HandleFontChanged; } tb.AppendItem (font_combo); if (spacer_label == null) spacer_label = new ToolBarLabel (" "); tb.AppendItem (spacer_label); if (size_combo == null) { size_combo = new ToolBarComboBox (65, 0, true); size_combo.ComboBox.Changed += HandleSizeChanged; (size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.FocusOutEvent += new Gtk.FocusOutEventHandler (HandleFontSizeFocusOut); (size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.FocusInEvent += new Gtk.FocusInEventHandler (HandleFontSizeFocusIn); } tb.AppendItem (size_combo); tb.AppendItem (new SeparatorToolItem ()); if (bold_btn == null) { bold_btn = new ToolBarToggleButton ("Toolbar.Bold.png", Catalog.GetString ("Bold"), Catalog.GetString ("Bold")); bold_btn.Toggled += HandleBoldButtonToggled; } tb.AppendItem (bold_btn); if (italic_btn == null) { italic_btn = new ToolBarToggleButton ("Toolbar.Italic.png", Catalog.GetString ("Italic"), Catalog.GetString ("Italic")); italic_btn.Toggled += HandleItalicButtonToggled; } tb.AppendItem (italic_btn); if (underscore_btn == null) { underscore_btn = new ToolBarToggleButton ("Toolbar.Underline.png", Catalog.GetString ("Underline"), Catalog.GetString ("Underline")); underscore_btn.Toggled += HandleUnderscoreButtonToggled; } tb.AppendItem (underscore_btn); tb.AppendItem (new SeparatorToolItem ()); if (left_alignment_btn == null) { left_alignment_btn = new ToolBarToggleButton ("Toolbar.LeftAlignment.png", Catalog.GetString ("Left Align"), Catalog.GetString ("Left Align")); left_alignment_btn.Active = true; left_alignment_btn.Toggled += HandleLeftAlignmentButtonToggled; } tb.AppendItem (left_alignment_btn); if (center_alignment_btn == null) { center_alignment_btn = new ToolBarToggleButton ("Toolbar.CenterAlignment.png", Catalog.GetString ("Center Align"), Catalog.GetString ("Center Align")); center_alignment_btn.Toggled += HandleCenterAlignmentButtonToggled; } tb.AppendItem (center_alignment_btn); if (Right_alignment_btn == null) { Right_alignment_btn = new ToolBarToggleButton ("Toolbar.RightAlignment.png", Catalog.GetString ("Right Align"), Catalog.GetString ("Right Align")); Right_alignment_btn.Toggled += HandleRightAlignmentButtonToggled; } tb.AppendItem (Right_alignment_btn); if (fill_sep == null) fill_sep = new Gtk.SeparatorToolItem (); tb.AppendItem (fill_sep); if (fill_label == null) fill_label = new ToolBarLabel (string.Format (" {0}: ", Catalog.GetString ("Text Style"))); tb.AppendItem (fill_label); if (fill_button == null) { fill_button = new ToolBarDropDownButton (); fill_button.AddItem (Catalog.GetString ("Normal"), "ShapeTool.Fill.png", 0); fill_button.AddItem (Catalog.GetString ("Normal and Outline"), "ShapeTool.OutlineFill.png", 1); fill_button.AddItem (Catalog.GetString ("Outline"), "ShapeTool.Outline.png", 2); fill_button.AddItem (Catalog.GetString ("Fill Background"), "TextTool.FillBackground.png", 3); fill_button.SelectedItemChanged += HandleBoldButtonToggled; } tb.AppendItem (fill_button); if (outline_width_label == null) outline_width_label = new ToolBarLabel (string.Format (" {0}: ", Catalog.GetString ("Outline width"))); tb.AppendItem (outline_width_label); if (outline_width_minus == null) { outline_width_minus = new ToolBarButton ("Toolbar.MinusButton.png", "", Catalog.GetString ("Decrease outline size")); outline_width_minus.Clicked += MinusButtonClickedEvent; } tb.AppendItem (outline_width_minus); if (outline_width == null) { outline_width = new ToolBarComboBox (65, 1, true, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "20", "25", "30", "35", "40", "45", "50", "55"); (outline_width.Child as ComboBoxEntry).Changed += HandleSizeChanged; } tb.AppendItem (outline_width); if (outline_width_plus == null) { outline_width_plus = new ToolBarButton ("Toolbar.PlusButton.png", "", Catalog.GetString ("Increase outline size")); outline_width_plus.Clicked += PlusButtonClickedEvent; } tb.AppendItem (outline_width_plus); UpdateFontSizes (); if (PintaCore.Workspace.HasOpenDocuments) { //Make sure the event handler is never added twice. PintaCore.Workspace.ActiveDocument.LayerCloned -= FinalizeText; //When an ImageSurface is Cloned, finalize the re-editable text (if applicable). PintaCore.Workspace.ActiveDocument.LayerCloned += FinalizeText; } }
// // Constructor // public MainWindow (Db db) { foreach (ServiceNode service in AddinManager.GetExtensionNodes ("/FSpot/Services")) { try { service.Initialize (); service.Start (); } catch (Exception e) { Log.WarningFormat ("Something went wrong while starting the {0} extension.", service.Id); Log.DebugException (e); } } Database = db; GtkBeans.Builder builder = new GtkBeans.Builder ("main_window.ui"); builder.Autoconnect (this); //Set the global DefaultColormap. Allows transparency according //to the theme (work on murrine engine) Gdk.Colormap colormap = ((Widget)main_window).Screen.RgbaColormap; if (colormap == null) { Log.Debug ("Your screen doesn't support alpha channels!"); colormap = ((Widget)main_window).Screen.RgbColormap; } Gtk.Widget.DefaultColormap = colormap; LoadPreference (Preferences.MAIN_WINDOW_WIDTH); LoadPreference (Preferences.MAIN_WINDOW_X); LoadPreference (Preferences.MAIN_WINDOW_MAXIMIZED); main_window.ShowAll (); LoadPreference (Preferences.SIDEBAR_POSITION); LoadPreference (Preferences.METADATA_EMBED_IN_IMAGE); pagesetup_menu_item.Activated += HandlePageSetupActivated; toolbar = new Gtk.Toolbar (); toolbar_vbox.PackStart (toolbar); ToolButton import_button = GtkUtil.ToolButtonFromTheme ("gtk-add", Catalog.GetString ("Import Photos…"), true); import_button.Clicked += (o, args) => StartImport (null); import_button.TooltipText = Catalog.GetString ("Import new photos"); toolbar.Insert (import_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), false); rl_button.Clicked += HandleRotate270Command; toolbar.Insert (rl_button, -1); rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), false); rr_button.Clicked += HandleRotate90Command; toolbar.Insert (rr_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); browse_button = new ToggleToolButton (); browse_button.Label = Catalog.GetString ("Browsing"); browse_button.IconName = "mode-browse"; browse_button.IsImportant = true; browse_button.Toggled += HandleToggleViewBrowse; browse_button.TooltipText = Catalog.GetString ("Browse your photo library"); toolbar.Insert (browse_button, -1); edit_button = new ToggleToolButton (); edit_button.Label = Catalog.GetString ("Editing"); edit_button.IconName = "mode-image-edit"; edit_button.IsImportant = true; edit_button.Toggled += HandleToggleViewPhoto; edit_button.TooltipText = Catalog.GetString ("Edit your photos"); toolbar.Insert (edit_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme ("view-fullscreen", Catalog.GetString ("Fullscreen"), false); fs_button.Clicked += HandleViewFullscreen; fs_button.TooltipText = Catalog.GetString ("View photos fullscreen"); toolbar.Insert (fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme ("media-playback-start", Catalog.GetString ("Slideshow"), false); ss_button.Clicked += HandleViewSlideShow; ss_button.TooltipText = Catalog.GetString ("View photos in a slideshow"); toolbar.Insert (ss_button, -1); SeparatorToolItem white_space = new SeparatorToolItem (); white_space.Draw = false; white_space.Expand = true; toolbar.Insert (white_space, -1); ToolItem label_item = new ToolItem (); count_label = new Label (String.Empty); label_item.Child = count_label; toolbar.Insert (label_item, -1); display_previous_button = new ToolButton (Stock.GoBack); toolbar.Insert (display_previous_button, -1); display_previous_button.TooltipText = Catalog.GetString ("Previous photo"); display_previous_button.Clicked += new EventHandler (HandleDisplayPreviousButtonClicked); display_next_button = new ToolButton (Stock.GoForward); toolbar.Insert (display_next_button, -1); display_next_button.TooltipText = Catalog.GetString ("Next photo"); display_next_button.Clicked += new EventHandler (HandleDisplayNextButtonClicked); Sidebar = new Sidebar (); ViewModeChanged += Sidebar.HandleMainWindowViewModeChanged; sidebar_vbox.Add (Sidebar); tag_selection_scrolled = new Gtk.ScrolledWindow (); tag_selection_scrolled.ShadowType = ShadowType.In; tag_selection_widget = new TagSelectionWidget (Database.Tags); tag_selection_scrolled.Add (tag_selection_widget); Sidebar.AppendPage (tag_selection_scrolled, Catalog.GetString ("Tags"), "tag"); AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged); Sidebar.Context = ViewContext.Library; Sidebar.CloseRequested += HideSidebar; Sidebar.Show (); InfoBox = new InfoBox (); ViewModeChanged += InfoBox.HandleMainWindowViewModeChanged; InfoBox.VersionChanged += delegate (InfoBox box, IPhotoVersion version) { UpdateForVersionChange (version); }; sidebar_vbox.PackEnd (InfoBox, false, false, 0); InfoBox.Context = ViewContext.Library; tag_selection_widget.Selection.Changed += HandleTagSelectionChanged; tag_selection_widget.KeyPressEvent += HandleTagSelectionKeyPress; tag_selection_widget.ButtonPressEvent += HandleTagSelectionButtonPressEvent; tag_selection_widget.PopupMenu += HandleTagSelectionPopupMenu; tag_selection_widget.RowActivated += HandleTagSelectionRowActivated; LoadPreference (Preferences.TAG_ICON_SIZE); try { query = new PhotoQuery (Database.Photos); } catch (System.Exception e) { //FIXME assume any exception here is due to a corrupt db and handle that. new RepairDbDialog (e, Database.Repair (), main_window); query = new PhotoQuery (Database.Photos); } UpdateStatusLabel (); query.Changed += HandleQueryChanged; Database.Photos.ItemsChanged += HandleDbItemsChanged; Database.Tags.ItemsChanged += HandleTagsChanged; Database.Tags.ItemsAdded += HandleTagsChanged; Database.Tags.ItemsRemoved += HandleTagsChanged; group_selector = new GroupSelector (); group_selector.Adaptor = new TimeAdaptor (query, Preferences.Get<bool> (Preferences.GROUP_ADAPTOR_ORDER_ASC)); group_selector.ShowAll (); if (zoom_scale != null) { zoom_scale.ValueChanged += HandleZoomScaleValueChanged; } view_vbox.PackStart (group_selector, false, false, 0); view_vbox.ReorderChild (group_selector, 0); find_bar = new FindBar (query, tag_selection_widget.Model); view_vbox.PackStart (find_bar, false, false, 0); view_vbox.ReorderChild (find_bar, 1); main_window.KeyPressEvent += HandleKeyPressEvent; query_widget = new QueryWidget (query, Database); query_widget.Logic.Changed += HandleQueryLogicChanged; view_vbox.PackStart (query_widget, false, false, 0); view_vbox.ReorderChild (query_widget, 2); MenuItem findByTag = uimanager.GetWidget ("/ui/menubar1/find/find_by_tag") as MenuItem; query_widget.Hidden += delegate { ((Gtk.Label)findByTag.Child).TextWithMnemonic = Catalog.GetString ("Show _Find Bar"); }; query_widget.Shown += delegate { ((Gtk.Label)findByTag.Child).TextWithMnemonic = Catalog.GetString ("Hide _Find Bar"); }; icon_view = new QueryView (query); icon_view.ZoomChanged += HandleZoomChanged; LoadPreference (Preferences.ZOOM); LoadPreference (Preferences.SHOW_TAGS); LoadPreference (Preferences.SHOW_DATES); LoadPreference (Preferences.SHOW_RATINGS); icon_view_scrolled.Add (icon_view); icon_view.DoubleClicked += HandleDoubleClicked; icon_view.Vadjustment.ValueChanged += HandleIconViewScroll; icon_view.GrabFocus (); preview_popup = new PreviewPopup (icon_view); icon_view.DragBegin += HandleIconViewDragBegin; icon_view.DragEnd += HandleIconViewDragEnd; icon_view.DragDataGet += HandleIconViewDragDataGet; icon_view.DragMotion += HandleIconViewDragMotion; icon_view.DragDrop += HandleIconViewDragDrop; // StartDrag is fired by IconView icon_view.StartDrag += HandleIconViewStartDrag; TagMenu tag_menu = new TagMenu (null, Database.Tags); tag_menu.NewTagHandler += delegate { HandleCreateTagAndAttach (this, null); }; tag_menu.TagSelected += HandleAttachTagMenuSelected; tag_menu.Populate (); (uimanager.GetWidget ("/ui/menubar1/edit2/attach_tag") as MenuItem).Submenu = tag_menu; PhotoTagMenu pmenu = new PhotoTagMenu (); pmenu.TagSelected += HandleRemoveTagMenuSelected; (uimanager.GetWidget ("/ui/menubar1/edit2/remove_tag") as MenuItem).Submenu = pmenu; Gtk.Drag.DestSet (icon_view, DestDefaults.All, (TargetEntry[])iconDestTargetList, DragAction.Copy | DragAction.Move); icon_view.DragDataReceived += HandleIconViewDragDataReceived; icon_view.KeyPressEvent += HandleIconViewKeyPressEvent; photo_view = new PhotoView (query); photo_box.Add (photo_view); photo_view.DoubleClicked += HandleDoubleClicked; photo_view.KeyPressEvent += HandlePhotoViewKeyPressEvent; photo_view.UpdateStarted += HandlePhotoViewUpdateStarted; photo_view.UpdateFinished += HandlePhotoViewUpdateFinished; photo_view.View.ZoomChanged += HandleZoomChanged; // Tag typing: focus the tag entry if the user starts typing a tag icon_view.KeyPressEvent += HandlePossibleTagTyping; photo_view.KeyPressEvent += HandlePossibleTagTyping; tag_entry = new TagEntry (Database.Tags); tag_entry.KeyPressEvent += HandleTagEntryKeyPressEvent; tag_entry.TagsAttached += HandleTagEntryTagsAttached; tag_entry.TagsRemoved += HandleTagEntryRemoveTags; tag_entry.Activated += HandleTagEntryActivate; tag_entry_container.Add (tag_entry); Gtk.Drag.DestSet (photo_view, DestDefaults.All, tag_target_table, DragAction.Copy | DragAction.Move); photo_view.DragMotion += HandlePhotoViewDragMotion; photo_view.DragDrop += HandlePhotoViewDragDrop; photo_view.DragDataReceived += HandlePhotoViewDragDataReceived; view_notebook.SwitchPage += HandleViewNotebookSwitchPage; group_selector.Adaptor.GlassSet += HandleAdaptorGlassSet; group_selector.Adaptor.Changed += HandleAdaptorChanged; LoadPreference (Preferences.GROUP_ADAPTOR_ORDER_ASC); LoadPreference (Preferences.FILMSTRIP_ORIENTATION); Selection = new MainSelection (this); Selection.Changed += HandleSelectionChanged; Selection.ItemsChanged += HandleSelectionItemsChanged; Selection.Changed += Sidebar.HandleSelectionChanged; Selection.ItemsChanged += Sidebar.HandleSelectionItemsChanged; AddinManager.ExtensionChanged += PopulateExtendableMenus; PopulateExtendableMenus (null, null); UpdateMenus (); main_window.ShowAll (); tagbar.Hide (); find_bar.Hide (); UpdateFindByTagMenu (); LoadPreference (Preferences.SHOW_TOOLBAR); LoadPreference (Preferences.SHOW_SIDEBAR); LoadPreference (Preferences.SHOW_TIMELINE); LoadPreference (Preferences.SHOW_FILMSTRIP); LoadPreference (Preferences.GNOME_MAILTO_ENABLED); Preferences.SettingChanged += OnPreferencesChanged; main_window.DeleteEvent += HandleDeleteEvent; // When the icon_view is loaded, set it's initial scroll position icon_view.SizeAllocated += HandleIconViewReady; export.Activated += HandleExportActivated; UpdateToolbar (); (uimanager.GetWidget ("/ui/menubar1/file1/close1") as MenuItem).Hide (); Banshee.Kernel.Scheduler.Resume (); }
protected override void OnBuildToolBar(Gtk.Toolbar tb) { base.OnBuildToolBar(tb); if (font_label == null) { font_label = new ToolBarLabel(string.Format(" {0}: ", Catalog.GetString("Font"))); } tb.AppendItem(font_label); if (font_combo == null) { var fonts = PintaCore.System.Fonts.GetInstalledFonts(); fonts.Sort(); // Default to Arial or first in list int index = Math.Max(fonts.IndexOf("Arial"), 0); font_combo = new ToolBarFontComboBox(150, index, fonts.ToArray()); font_combo.ComboBox.Changed += HandleFontChanged; } tb.AppendItem(font_combo); if (spacer_label == null) { spacer_label = new ToolBarLabel(" "); } tb.AppendItem(spacer_label); if (size_combo == null) { size_combo = new ToolBarComboBox(65, 0, true); size_combo.ComboBox.Changed += HandleSizeChanged; } tb.AppendItem(size_combo); tb.AppendItem(new SeparatorToolItem()); if (bold_btn == null) { bold_btn = new ToolBarToggleButton("Toolbar.Bold.png", Catalog.GetString("Bold"), Catalog.GetString("Bold")); bold_btn.Toggled += HandleBoldButtonToggled; } tb.AppendItem(bold_btn); if (italic_btn == null) { italic_btn = new ToolBarToggleButton("Toolbar.Italic.png", Catalog.GetString("Italic"), Catalog.GetString("Italic")); italic_btn.Toggled += HandleItalicButtonToggled; } tb.AppendItem(italic_btn); if (underscore_btn == null) { underscore_btn = new ToolBarToggleButton("Toolbar.Underline.png", Catalog.GetString("Underline"), Catalog.GetString("Underline")); underscore_btn.Toggled += HandleUnderscoreButtonToggled; } tb.AppendItem(underscore_btn); tb.AppendItem(new SeparatorToolItem()); if (left_alignment_btn == null) { left_alignment_btn = new ToolBarToggleButton("Toolbar.LeftAlignment.png", Catalog.GetString("Left Align"), Catalog.GetString("Left Align")); left_alignment_btn.Active = true; left_alignment_btn.Toggled += HandleLeftAlignmentButtonToggled; } tb.AppendItem(left_alignment_btn); if (center_alignment_btn == null) { center_alignment_btn = new ToolBarToggleButton("Toolbar.CenterAlignment.png", Catalog.GetString("Center Align"), Catalog.GetString("Center Align")); center_alignment_btn.Toggled += HandleCenterAlignmentButtonToggled; } tb.AppendItem(center_alignment_btn); if (Right_alignment_btn == null) { Right_alignment_btn = new ToolBarToggleButton("Toolbar.RightAlignment.png", Catalog.GetString("Right Align"), Catalog.GetString("Right Align")); Right_alignment_btn.Toggled += HandleRightAlignmentButtonToggled; } tb.AppendItem(Right_alignment_btn); if (fill_sep == null) { fill_sep = new Gtk.SeparatorToolItem(); } tb.AppendItem(fill_sep); if (fill_label == null) { fill_label = new ToolBarLabel(string.Format(" {0}: ", Catalog.GetString("Text Style"))); } tb.AppendItem(fill_label); if (fill_button == null) { fill_button = new ToolBarDropDownButton(); fill_button.AddItem(Catalog.GetString("Normal"), "ShapeTool.Fill.png", 0); fill_button.AddItem(Catalog.GetString("Normal and Outline"), "ShapeTool.OutlineFill.png", 1); fill_button.AddItem(Catalog.GetString("Outline"), "ShapeTool.Outline.png", 2); fill_button.AddItem(Catalog.GetString("Fill Background"), "TextTool.FillBackground.png", 3); fill_button.SelectedItemChanged += HandleBoldButtonToggled; } tb.AppendItem(fill_button); tb.AppendItem(new SeparatorToolItem()); if (outline_width_label == null) { outline_width_label = new ToolBarLabel(string.Format(" {0}: ", Catalog.GetString("Outline width"))); } tb.AppendItem(outline_width_label); if (outline_width_minus == null) { outline_width_minus = new ToolBarButton("Toolbar.MinusButton.png", "", Catalog.GetString("Decrease outline size")); outline_width_minus.Clicked += MinusButtonClickedEvent; } tb.AppendItem(outline_width_minus); if (outline_width == null) { outline_width = new ToolBarComboBox(65, 1, true, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "20", "25", "30", "35", "40", "45", "50", "55"); (outline_width.Child as ComboBoxEntry).Changed += HandleSizeChanged; } tb.AppendItem(outline_width); if (outline_width_plus == null) { outline_width_plus = new ToolBarButton("Toolbar.PlusButton.png", "", Catalog.GetString("Increase outline size")); outline_width_plus.Clicked += PlusButtonClickedEvent; } tb.AppendItem(outline_width_plus); UpdateFontSizes(); if (PintaCore.Workspace.HasOpenDocuments) { //Make sure the event handler is never added twice. PintaCore.Workspace.ActiveDocument.LayerCloned -= FinalizeText; //When an ImageSurface is Cloned, finalize the re-editable text (if applicable). PintaCore.Workspace.ActiveDocument.LayerCloned += FinalizeText; } }
public MainWindow() : base("Main Window") { SetDefaultSize(800, 650); DeleteEvent += new DeleteEventHandler(delete_cb); bool isUniform = false; int margin = 5; VBox topPanel = new VBox(isUniform, margin); HBox layCan = new HBox(isUniform, margin); VBox layout = new VBox(isUniform, margin); VBox layBtn = new VBox(isUniform, margin); ButtonPressEvent += new ButtonPressEventHandler(ButtonPressHandler); MotionNotifyEvent += new MotionNotifyEventHandler(MotionNotifyHandler); ButtonReleaseEvent += new ButtonReleaseEventHandler(ButtonReleaseHandler); // menu bar MenuBar mb = new MenuBar(); Menu file_menu = new Menu(); MenuItem exit_item = new MenuItem("Exit"); MenuItem save_item = new MenuItem("Save"); MenuItem open_item = new MenuItem("Open"); exit_item.Activated += new EventHandler(on_exit_item_activate); open_item.Activated += new EventHandler(OnOpenCallback); save_item.Activated += new EventHandler(onSaveCallback); file_menu.Append(open_item); file_menu.Append(save_item); file_menu.Append(exit_item); MenuItem file_item = new MenuItem("File"); file_item.Submenu = file_menu; mb.Append(file_item); layout.Add(Align(mb, 0, 0.5f, 1, 1)); // toolbar Toolbar toolbar = new Toolbar(); ToolButton buttonMove = new ToggleToolButton(); buttonMove.IconWidget = new Gtk.Image("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/ops/move.png"); buttonMove.Clicked += new EventHandler(OnMoveClick); ToolButton buttonSelect = new ToggleToolButton(); buttonSelect.IconWidget = new Gtk.Image("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/ops/scale.png"); buttonSelect.Clicked += new EventHandler(OnSelectClick); ToolButton buttonStar = new ToggleToolButton(); var pixbufStar = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/star.png"); buttonStar.IconWidget = new Gtk.Image(pixbufStar.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonStar.Clicked += new EventHandler(OnStarClick); ToolButton buttonAviator = new ToggleToolButton(); var pixbufAv = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/aviator.png"); buttonAviator.IconWidget = new Gtk.Image(pixbufAv.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonAviator.Clicked += new EventHandler(OnAviatorClick); ToolButton buttonHeart = new ToggleToolButton(); var pixbufH = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/heart.png"); buttonHeart.IconWidget = new Gtk.Image(pixbufH.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonHeart.Clicked += new EventHandler(OnHeartClick); ToolButton buttonNerd = new ToggleToolButton(); var pixbufN = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/nerd.png"); buttonNerd.IconWidget = new Gtk.Image(pixbufN.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonNerd.Clicked += new EventHandler(OnNerdClick); ToolButton buttonHorns = new ToggleToolButton(); var pixbufHorns = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/horns.png"); buttonHorns.IconWidget = new Gtk.Image(pixbufHorns.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonHorns.Clicked += new EventHandler(OnHornsClick); ToolButton buttonHalo = new ToggleToolButton(); var pixbufHalo = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/halo.png"); buttonHalo.IconWidget = new Gtk.Image(pixbufHalo.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonHalo.Clicked += new EventHandler(OnHaloClick); ToolButton buttonTiara = new ToggleToolButton(); var pixbufT = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/tiara.png"); buttonTiara.IconWidget = new Gtk.Image(pixbufT.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonTiara.Clicked += new EventHandler(OnTiaraClick); ToolButton buttonMous = new ToggleToolButton(); var pixbufM = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/moustache.png"); buttonMous.IconWidget = new Gtk.Image(pixbufM.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonMous.Clicked += new EventHandler(OnMousClick); ToolButton buttonLib = new ToggleToolButton(); var pixbufL = new Gdk.Pixbuf("/Users/eliaanagnostou/Documents/cs71/03-photobooth-eanagno1-zbatool1/accessories/librarian.png"); buttonLib.IconWidget = new Gtk.Image(pixbufL.ScaleSimple(30, 30, Gdk.InterpType.Bilinear)); buttonLib.Clicked += new EventHandler(OnLibClick); SeparatorToolItem sep = new SeparatorToolItem(); toolbar.Insert(buttonMove, -1); toolbar.Insert(buttonSelect, -1); toolbar.Insert(sep, -1); toolbar.Insert(buttonStar, -1); toolbar.Insert(buttonAviator, -1); toolbar.Insert(buttonHeart, -1); toolbar.Insert(buttonNerd, -1); toolbar.Insert(buttonHorns, -1); toolbar.Insert(buttonHalo, -1); toolbar.Insert(buttonTiara, -1); toolbar.Insert(buttonMous, -1); toolbar.Insert(buttonLib, -1); toolbar.ToolbarStyle = ToolbarStyle.BothHoriz; toolbar.ShowArrow = false; layout.Add(Align(toolbar, 0, 0.25f, 1, 0)); layBtn.Add(Align(_list, 1, 0, 0, 1)); Button btn = new Button("Delete layer"); btn.Clicked += new EventHandler(btn_click); layBtn.Add(Align(btn, 0, 0, 1, 1)); layCan.Add(Align(layBtn, 1, 0, 0, 1)); layCan.Add(Align(_canv, 1, 0, 1, 1)); topPanel.Add(Align(layout, 1, 0, 1, 1)); topPanel.Add(Align(layCan, 1, 0, 0, 1)); Add(topPanel); ShowAll(); }
public MessageView(String messagebox) { this.messagebox = messagebox; messagesWindow = new ScrolledWindow(); messagesWindow.ShadowType = ShadowType.EtchedIn; messagesWindow.SetPolicy(PolicyType.Automatic, PolicyType.Automatic); treeviewMessages = new TreeView(); treeviewMessages.BorderWidth = 0; treeviewMessages.AppendColumn ("Site", new CellRendererText(), "text", 2).Resizable = true;; treeviewMessages.AppendColumn ("User", new CellRendererText(), "text", 3).Resizable = true;; treeviewMessages.AppendColumn ("Subject", new CellRendererText(), "text", 4).Resizable = true;; treeviewMessages.AppendColumn ("Date", new CellRendererText(), "text", 5).Resizable = true;; treeviewMessages.RowActivated += treeviewMessages_RowActivated; messagesWindow.Add(treeviewMessages); this.Add1 (messagesWindow); contentBox = new VBox(false, 0); Toolbar toolbar = new Toolbar(); toolbar.HeightRequest = 38; toolbar.ToolbarStyle = ToolbarStyle.Icons; toolbar.BorderWidth = 0; Image tmpimage = new Image(); tmpimage.Pixbuf = new Gdk.Pixbuf(".images/icon_up.png"); upbtn = new ToolButton(tmpimage, ""); upbtn.TooltipText = "Expand view to top"; upbtn.Clicked += upbtn_Clicked; Image tmpimage2 = new Image(); tmpimage2.Pixbuf = new Gdk.Pixbuf(".images/icon_down.png"); downbtn = new ToolButton(tmpimage2, ""); downbtn.TooltipText = "Split view"; downbtn.Clicked += downbtn_Clicked; Image tmpimage3 = new Image(); tmpimage3.Pixbuf = new Gdk.Pixbuf(".images/reply.png"); replybtn = new ToolButton(tmpimage3, ""); replybtn.TooltipText = "Reply to sender"; SeparatorToolItem sepSpacer = new SeparatorToolItem(); sepSpacer.Expand = true; sepSpacer.Draw = false; messageWindow = new ScrolledWindow(); messagebrowser = new WebView(); messagebrowser.Editable = false; messageWindow.Add(messagebrowser); contentBox.PackStart(toolbar, false, false, 0); contentBox.PackStart(messageWindow); toolbar.Add(replybtn); toolbar.Add(sepSpacer); toolbar.Add(upbtn); toolbar.Add(downbtn); this.Add2(contentBox); this.ShowAll(); downbtn.Hide (); replybtn.Sensitive = false; treestoreMessages = new TreeStore (typeof(string),typeof(string), typeof(string), typeof(string), typeof(string), typeof(string)); forums = new List<Forum> (); getBoxMessages(messagebox); treestoreMessages.AppendValues("000", "000", "SharpTalk", "Admin", "Welcome to SharpTalk", ""); treestoreMessages.SetSortColumnId(5, SortType.Descending); treeviewMessages.Model = treestoreMessages; }
public FancyWindow() : base("A Fancy Text Editor (TM)") { DeleteEvent += (o, a) => Application.Quit(); Grid grid = new Grid(); Add(grid); Toolbar toolbar = new Toolbar(); grid.Attach(toolbar, 1, 1, 1, 1); TextView textview = new TextView(); grid.Attach(textview, 1, 2, 1, 1); TextTag boldTag = new TextTag("BoldTag"); boldTag.Weight = Weight.Bold; TextTag italicTag = new TextTag("ItalicTag"); italicTag.Style = Pango.Style.Italic; TextTag underlineTag = new TextTag("UnderlineTag"); underlineTag.Underline = Pango.Underline.Single; TextBuffer buffer = textview.Buffer; buffer.TagTable.Add(boldTag); buffer.TagTable.Add(italicTag); buffer.TagTable.Add(underlineTag); ToolButton toolButtonBold = new ToolButton(Stock.Bold); toolbar.Insert(toolButtonBold, 0); toolButtonBold.Clicked += delegate { TextIter startIter, endIter; buffer.GetSelectionBounds(out startIter, out endIter); byte[] byteTextView = buffer.Serialize(buffer, buffer.RegisterSerializeTagset(null), startIter, endIter); string s = Encoding.UTF8.GetString(byteTextView); Console.WriteLine(s); if (s.Contains("<attr name=\"weight\" type=\"gint\" value=\"700\" />")) { buffer.RemoveTag(boldTag, startIter, endIter); } else { buffer.ApplyTag(boldTag, startIter, endIter); } }; ToolButton toolButtonItalic = new ToolButton(Stock.Italic); toolbar.Insert(toolButtonItalic, 1); toolButtonItalic.Clicked += delegate(object sender, EventArgs e) { TextIter startIter, endIter; buffer.GetSelectionBounds(out startIter, out endIter); byte[] byteTextView = buffer.Serialize(buffer, buffer.RegisterSerializeTagset(null), startIter, endIter); string s = Encoding.UTF8.GetString(byteTextView); Console.WriteLine(s); if (s.Contains("<attr name=\"style\" type=\"PangoStyle\" value=\"PANGO_STYLE_ITALIC\" />")) { buffer.RemoveTag(italicTag, startIter, endIter); } else { buffer.ApplyTag(italicTag, startIter, endIter); } }; ToolButton toolButtonUnderline = new ToolButton(Stock.Underline); toolbar.Insert(toolButtonUnderline, 2); toolButtonUnderline.Clicked += delegate(object sender, EventArgs e) { TextIter startIter, endIter; buffer.GetSelectionBounds(out startIter, out endIter); byte[] byteTextView = buffer.Serialize(buffer, buffer.RegisterSerializeTagset(null), startIter, endIter); string s = Encoding.UTF8.GetString(byteTextView); Console.WriteLine(s); if (s.Contains("<attr name=\"underline\" type=\"PangoUnderline\" value=\"PANGO_UNDERLINE_LOW\" />")) { buffer.RemoveTag(underlineTag, startIter, endIter); } else { buffer.ApplyTag(underlineTag, startIter, endIter); } }; SeparatorToolItem separator = new SeparatorToolItem(); toolbar.Insert(separator, 3); textview.HeightRequest = 400; textview.WidthRequest = 600; /* Setup tag * TextTag tag = new TextTag("helloworld-tag"); * tag.Scale = Pango.Scale.XXLarge; * tag.Style = Pango.Style.Italic; * tag.Underline = Pango.Underline.Double; * tag.Foreground = "blue"; * tag.Background = "pink"; * tag.Justification = Justification.Center; * TextBuffer buffer = textview.Buffer; * buffer.TagTable.Add(tag); * * * // Insert "Hello world!" into textview buffer * TextIter insertIter = buffer.StartIter; * buffer.InsertWithTagsByName(ref insertIter, "Hello World!\n", "helloworld-tag"); * buffer.Insert(ref insertIter, "Simple Hello World!"); * */ ShowAll(); }
protected override void OnBuildToolBar(Gtk.Toolbar tb) { base.OnBuildToolBar(tb); if (font_label == null) { font_label = new ToolBarLabel(string.Format(" {0}: ", Translations.GetString("Font"))); } tb.AppendItem(font_label); if (font_button == null) { font_button = new (new FontButton() { ShowStyle = true, ShowSize = true, UseFont = true }); // Default to Arial if possible. font_button.Widget.Font = Settings.GetSetting(FONT_SETTING, "Arial 12"); font_button.Widget.FontSet += HandleFontChanged; } tb.AppendItem(font_button); tb.AppendItem(new SeparatorToolItem()); if (bold_btn == null) { bold_btn = new ToolBarToggleButton("Toolbar.Bold.png", Translations.GetString("Bold"), Translations.GetString("Bold")); bold_btn.Active = Settings.GetSetting(BOLD_SETTING, false); bold_btn.Toggled += HandleBoldButtonToggled; } tb.AppendItem(bold_btn); if (italic_btn == null) { italic_btn = new ToolBarToggleButton("Toolbar.Italic.png", Translations.GetString("Italic"), Translations.GetString("Italic")); italic_btn.Active = Settings.GetSetting(ITALIC_SETTING, false); italic_btn.Toggled += HandleItalicButtonToggled; } tb.AppendItem(italic_btn); if (underscore_btn == null) { underscore_btn = new ToolBarToggleButton("Toolbar.Underline.png", Translations.GetString("Underline"), Translations.GetString("Underline")); underscore_btn.Active = Settings.GetSetting(UNDERLINE_SETTING, false); underscore_btn.Toggled += HandleUnderscoreButtonToggled; } tb.AppendItem(underscore_btn); tb.AppendItem(new SeparatorToolItem()); var alignment = (TextAlignment)Settings.GetSetting(ALIGNMENT_SETTING, (int)TextAlignment.Left); if (left_alignment_btn == null) { left_alignment_btn = new ToolBarToggleButton("Toolbar.LeftAlignment.png", Translations.GetString("Left Align"), Translations.GetString("Left Align")); left_alignment_btn.Active = alignment == TextAlignment.Left; left_alignment_btn.Toggled += HandleLeftAlignmentButtonToggled; } tb.AppendItem(left_alignment_btn); if (center_alignment_btn == null) { center_alignment_btn = new ToolBarToggleButton("Toolbar.CenterAlignment.png", Translations.GetString("Center Align"), Translations.GetString("Center Align")); center_alignment_btn.Active = alignment == TextAlignment.Center; center_alignment_btn.Toggled += HandleCenterAlignmentButtonToggled; } tb.AppendItem(center_alignment_btn); if (Right_alignment_btn == null) { Right_alignment_btn = new ToolBarToggleButton("Toolbar.RightAlignment.png", Translations.GetString("Right Align"), Translations.GetString("Right Align")); Right_alignment_btn.Active = alignment == TextAlignment.Right; Right_alignment_btn.Toggled += HandleRightAlignmentButtonToggled; } tb.AppendItem(Right_alignment_btn); if (fill_sep == null) { fill_sep = new Gtk.SeparatorToolItem(); } tb.AppendItem(fill_sep); if (fill_label == null) { fill_label = new ToolBarLabel(string.Format(" {0}: ", Translations.GetString("Text Style"))); } tb.AppendItem(fill_label); if (fill_button == null) { fill_button = new ToolBarDropDownButton(); fill_button.AddItem(Translations.GetString("Normal"), Pinta.Resources.Icons.FillStyleFill, 0); fill_button.AddItem(Translations.GetString("Normal and Outline"), Pinta.Resources.Icons.FillStyleOutlineFill, 1); fill_button.AddItem(Translations.GetString("Outline"), Pinta.Resources.Icons.FillStyleOutline, 2); fill_button.AddItem(Translations.GetString("Fill Background"), Pinta.Resources.Icons.FillStyleBackground, 3); fill_button.SelectedIndex = Settings.GetSetting(STYLE_SETTING, 0); fill_button.SelectedItemChanged += HandleBoldButtonToggled; } tb.AppendItem(fill_button); if (outline_sep == null) { outline_sep = new SeparatorToolItem(); } tb.AppendItem(outline_sep); if (outline_width_label == null) { outline_width_label = new ToolBarLabel(string.Format(" {0}: ", Translations.GetString("Outline width"))); } tb.AppendItem(outline_width_label); if (outline_width == null) { outline_width = new (new SpinButton(1, 1e5, 1) { Value = Settings.GetSetting(OUTLINE_WIDTH_SETTING, 2) }); outline_width.Widget.ValueChanged += HandleFontChanged; } tb.AppendItem(outline_width); outline_width.Visible = outline_width_label.Visible = outline_sep.Visible = StrokeText; UpdateFont(); if (PintaCore.Workspace.HasOpenDocuments) { //Make sure the event handler is never added twice. PintaCore.Workspace.ActiveDocument.LayerCloned -= FinalizeText; //When an ImageSurface is Cloned, finalize the re-editable text (if applicable). PintaCore.Workspace.ActiveDocument.LayerCloned += FinalizeText; } }
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 (); }