Ejemplo n.º 1
0
 public ToolbarSeparator() : base(null)
 {
     separator = new SeparatorToolItem();
     this.Add(separator);
     separator.Show();
     this.ShowAll();
 }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 7
0
    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();
    }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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;
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
	//
	// 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 ();
	}
Ejemplo n.º 14
0
        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);
        }
Ejemplo n.º 15
0
        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();
        }
Ejemplo n.º 16
0
        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();
        }
Ejemplo n.º 17
0
		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);
				}
			}
		}
Ejemplo n.º 18
0
        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);
        }
Ejemplo n.º 19
0
        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;
        }
Ejemplo n.º 20
0
        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));
        }
Ejemplo n.º 21
0
 public ToolbarSeparator()
     : base(null)
 {
     separator = new SeparatorToolItem();
     this.Add(separator);
     separator.Show();
     this.ShowAll();
 }
Ejemplo n.º 22
0
        //
        // 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 ();
        }
Ejemplo n.º 23
0
        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();
        }
Ejemplo n.º 24
0
        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;
        }
Ejemplo n.º 25
0
		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;
		}
Ejemplo n.º 26
0
        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;
                };
            }
        }
Ejemplo n.º 27
0
        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;
        }
Ejemplo n.º 28
0
        internal PropertyGrid(EditorManager editorManager)
            : base(false, 0)
        {
            this.editorManager = editorManager;

            tips = new Tooltips();

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

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

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

            catButton.Active = true;

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

            #endregion

            vpaned = new VPaned();

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

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

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

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

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

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

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

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

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

            base.PackEnd(vpaned);
            Populate();
        }
Ejemplo n.º 29
0
        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 ();
        }
Ejemplo n.º 30
0
		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;
		}
Ejemplo n.º 31
0
        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;
            }
        }
Ejemplo n.º 32
0
		//
		// 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 ();
		}
Ejemplo n.º 33
0
        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;
            }
        }
Ejemplo n.º 34
0
        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();
        }
Ejemplo n.º 35
0
        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;
        }
Ejemplo n.º 36
0
        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();
        }
Ejemplo n.º 37
0
        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;
            }
        }
Ejemplo n.º 38
0
        internal PropertyGrid(EditorManager editorManager)
            : base(false, 0)
        {
            this.editorManager = editorManager;

            tips = new Tooltips ();

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

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

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

            catButton.Active = true;

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

            #endregion

            vpaned = new VPaned ();

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

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

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

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

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

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

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

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

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

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