public MainWindow() : base(Gtk.WindowType.Toplevel) { Application.Init (); this.Resize(640,480); //menu bar very top MenuBar mb = new MenuBar (); Menu fileMenu = new Menu (); MenuItem menuItem = new MenuItem ("_File"); menuItem.Submenu = fileMenu; mb.Append(menuItem); MenuItem menuFileQuit = new MenuItem("Quit"); fileMenu.Append(menuFileQuit); vboxMain.PackStart(mb,false,false,0); //toolbar Toolbar tbTop = new Toolbar (); //toolbutton Staff ToolButton tbStaff = new ToolButton (Gtk.Stock.OrientationPortrait); tbStaff.Label="Staff"; tbStaff.IsImportant=true; tbStaff.Clicked += HandleTbStaffClicked; tbTop.Insert(tbStaff,0); //toolbutton Clients ToolButton tbClients = new ToolButton (Gtk.Stock.About); tbClients.Label="Clients"; tbClients.IsImportant=true; tbClients.Clicked+= HandleTbClientsClicked; tbTop.Insert(tbClients,1); //media bar Label lbMediaTemp = new Label (); lbMediaTemp.Text="Media holder"; lbMediaTemp.Show(); //pack the toolbar and media bar in the top hbox// hbTop.PackStart(tbTop); hbTop.PackStart(lbMediaTemp); //pack the top hbox in the main vbox vboxMain.PackStart(hbTop,false,false,1); // horizontal pane verticalPane.Position=200; verticalPane.Pack1(scrollWindowLeft,false,false); verticalPane.Pack2(scrollWindowRight,false,false); vboxMain.PackStart(verticalPane); scrollWindowLeft.Add(viewPortLeft); scrollWindowRight.Add(viewPortRight); Label lbMain = new Label (); lbMain.Text= "main"; viewPortRight.Add(lbMain); verticalPane.ShowAll(); //status bar very bottom Statusbar sb = new Statusbar (); vboxMain.PackStart(sb,false,false,1); this.Add(vboxMain); //hb1.Add(tbTop); this.ShowAll (); Build (); }
private void Build() { var vb = new VBox(); // Build toolbar var toolbar = new Gtk.Toolbar(); var tbiLayout = new MenuToolButton(null, "Layout"); var layoutMenu = new Menu(); MenuItem mi; mi = new MenuItem("Load..."); mi.Activated += OnLayoutLoad; layoutMenu.Add(mi); layoutMenu.Add(new SeparatorMenuItem()); mi = new MenuItem("Save"); mi.Activated += OnLayoutSave; layoutMenu.Add(mi); mi = new MenuItem("Save As"); mi.Activated += OnLayoutSaveAs; layoutMenu.Add(mi); tbiLayout.Menu = layoutMenu; layoutMenu.ShowAll(); toolbar.Insert(tbiLayout, -1); vb.PackStart(toolbar, false, false, 0); this.contentNotebook = new Notebook(); AddNewPage("strategy1"); AddNewPage("strateg2"); vb.PackStart(contentNotebook, true, true, 0); AddWithViewport(vb); ShowAll(); }
public DemoIconView () : base ("Gtk.IconView demo") { SetDefaultSize (650, 400); DeleteEvent += new DeleteEventHandler (OnWinDelete); VBox vbox = new VBox (false, 0); Add (vbox); Toolbar toolbar = new Toolbar (); vbox.PackStart (toolbar, false, false, 0); upButton = new ToolButton (Stock.GoUp); upButton.IsImportant = true; upButton.Sensitive = false; toolbar.Insert (upButton, -1); ToolButton homeButton = new ToolButton (Stock.Home); homeButton.IsImportant = true; toolbar.Insert (homeButton, -1); fileIcon = GetIcon (Stock.File); dirIcon = GetIcon (Stock.Open); ScrolledWindow sw = new ScrolledWindow (); sw.ShadowType = ShadowType.EtchedIn; sw.SetPolicy (PolicyType.Automatic, PolicyType.Automatic); vbox.PackStart (sw, true, true, 0); // Create the store and fill it with the contents of '/' store = CreateStore (); FillStore (); IconView iconView = new IconView (store); iconView.SelectionMode = SelectionMode.Multiple; upButton.Clicked += new EventHandler (OnUpClicked); homeButton.Clicked += new EventHandler (OnHomeClicked); iconView.TextColumn = COL_DISPLAY_NAME; iconView.PixbufColumn = COL_PIXBUF; iconView.ItemActivated += new ItemActivatedHandler (OnItemActivated); sw.Add (iconView); iconView.GrabFocus (); ShowAll (); }
public DefaultMonitorPad(string title, string icon) { buffer = new Gtk.TextBuffer (new Gtk.TextTagTable ()); textEditorControl = new Gtk.TextView (buffer); textEditorControl.Editable = false; scroller = new Gtk.ScrolledWindow (); scroller.ShadowType = ShadowType.In; scroller.Add (textEditorControl); Toolbar toolbar = new Toolbar (); toolbar.IconSize = IconSize.SmallToolbar; toolbar.Orientation = Orientation.Vertical; toolbar.ToolbarStyle = ToolbarStyle.Icons; buttonStop = new ToolButton ("gtk-stop"); buttonStop.Clicked += new EventHandler (OnButtonStopClick); buttonStop.SetTooltip (tips, "Stop", "Stop"); toolbar.Insert (buttonStop, -1); ToolButton buttonClear = new ToolButton ("gtk-clear"); buttonClear.Clicked += new EventHandler (OnButtonClearClick); buttonClear.SetTooltip (tips, "Clear console", "Clear console"); toolbar.Insert (buttonClear, -1); hbox = new HBox (false, 5); hbox.PackStart (scroller, true, true, 0); hbox.PackEnd (toolbar, false, false, 0); bold = new TextTag ("bold"); bold.Weight = Pango.Weight.Bold; buffer.TagTable.Add (bold); tag = new TextTag ("0"); tag.Indent = 10; buffer.TagTable.Add (tag); tags.Add (tag); Runtime.ProjectService.CombineOpened += (CombineEventHandler) Runtime.DispatchService.GuiDispatch (new CombineEventHandler (OnCombineOpen)); Runtime.ProjectService.CombineClosed += (CombineEventHandler) Runtime.DispatchService.GuiDispatch (new CombineEventHandler (OnCombineClosed)); this.title = title; this.icon = icon; this.markupTitle = title; Control.ShowAll (); }
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); }
public virtual void BuildToolbar(Gtk.Toolbar toolBar) { if (IsToolbarTool) { ToolBarButton toolButton = new ToolBarButton(ToolbarImageName, Name, Name); toolButton.Clicked += delegate(object sender, EventArgs e) { designService.SelectedControl = null; designService.SelectedTool = this; this.CreateMode = true; }; toolBar.Insert(toolButton, 1); } }
/// <summary> /// Tunes the right dock item. /// </summary> private void TuneRightDockItem() { Gtk.Toolbar tb = new Gtk.Toolbar(); tb.Name = "RightToolbar"; // Add TreeView for the history Gtk.TreeView historyView = new Gtk.TreeView(); Gtk.TreeViewColumn languages = new Gtk.TreeViewColumn(); languages.Title = "History"; // Write some sample data to see how it looks like Gtk.CellRendererText cell = new Gtk.CellRendererText(); languages.PackStart(cell, true); languages.AddAttribute(cell, "text", 0); Gtk.TreeStore treestore = new Gtk.TreeStore(typeof(string)); treestore.AppendValues("Import database"); treestore.AppendValues("Set primary keys"); treestore.AppendValues("Delete row"); historyView.AppendColumn(languages); historyView.Model = treestore; // We need to set the expand and fill properties to false, because that way we can resize // the buttons. vbRight.PackStart(tb, false, false, 0); vbRight.PackStart(historyView, true, true, 0); tb.ToolbarStyle = Gtk.ToolbarStyle.Icons; tb.Orientation = Gtk.Orientation.Horizontal; Gtk.ToolButton undo = new Gtk.ToolButton(Gtk.Stock.Undo); Gtk.ToolButton redo = new Gtk.ToolButton(Gtk.Stock.Redo); tb.Insert(undo, 0); tb.Insert(redo, 1); }
private Toolbar CreateToolbar() { Toolbar tb = new Toolbar(); ToolbarTooltips = new Tooltips(); SaveButton = new ToolButton(Gtk.Stock.Save); SaveButton.SetTooltip(ToolbarTooltips, Util.GS("Save the synchronization log"), "Toolbar/Save Log"); SaveButton.Clicked += new EventHandler(SaveLogHandler); tb.Insert(SaveButton, -1); ClearButton = new ToolButton(Gtk.Stock.Clear); ClearButton.SetTooltip(ToolbarTooltips, Util.GS("Clear the synchronization log"), "Toolbar/Clear Log"); ClearButton.Clicked += new EventHandler(ClearLogHandler); tb.Insert(ClearButton, -1); SaveButton.Sensitive = false; ClearButton.Sensitive = false; return tb; }
public static void BuildToolbar(Toolbar toolbar, Tooltips tooltips, ActionModelNode node, int depth) { if (node.Action != null) { // create the tool button ToolButton button = new ActiveToolbarButton((IClickAction)node.Action, tooltips); toolbar.Insert(button, toolbar.NItems); } else { foreach (ActionModelNode child in node.ChildNodes) { BuildToolbar(toolbar, tooltips, child, depth + 1); } } }
static Gtk.Toolbar CreateToolbar(CircuitEditor editor) { Gtk.Toolbar toolbar = new Gtk.Toolbar(); SelectTool selectTool = new SelectTool(editor, toolbar); WireTool wireTool = new WireTool(editor, toolbar); // FIXME: Make this be selected with a callback or something //editor.CurrentTool = selectTool; ComponentTool constantTool = new ComponentTool(ComponentType.Constant, "Constant", editor, toolbar); ComponentTool bufferTool = new ComponentTool(ComponentType.Buffer, "Buffer gate", editor, toolbar); ComponentTool notTool = new ComponentTool(ComponentType.Not, "Not gate", editor, toolbar); ComponentTool andTool = new ComponentTool(ComponentType.And, "And gate", editor, toolbar); ComponentTool orTool = new ComponentTool(ComponentType.Or, "Or gate", editor, toolbar); ComponentTool xorTool = new ComponentTool(ComponentType.Xor, "Xor gate", editor, toolbar); SeparatorToolItem sep = new SeparatorToolItem(); int index = 0; toolbar.Insert(selectTool, index++); toolbar.Insert(wireTool, index++); toolbar.Insert(sep, index++); toolbar.Insert(constantTool, index++); toolbar.Insert(bufferTool, index++); toolbar.Insert(notTool, index++); toolbar.Insert(andTool, index++); toolbar.Insert(orTool, index++); toolbar.Insert(xorTool, index++); return(toolbar); }
public SearchResultPad() { // Toolbar Toolbar toolbar = new Toolbar (); toolbar.IconSize = IconSize.SmallToolbar; toolbar.Orientation = Orientation.Vertical; toolbar.ToolbarStyle = ToolbarStyle.Icons; buttonStop = new ToolButton ("gtk-stop"); buttonStop.Clicked += new EventHandler (OnButtonStopClick); buttonStop.SetTooltip (tips, "Stop", "Stop"); toolbar.Insert (buttonStop, -1); ToolButton buttonClear = new ToolButton ("gtk-clear"); buttonClear.Clicked += new EventHandler (OnButtonClearClick); buttonClear.SetTooltip (tips, "Clear results", "Clear results"); toolbar.Insert (buttonClear, -1); buttonOutput = new ToggleToolButton (MonoDevelop.Gui.Stock.OutputIcon); buttonOutput.Clicked += new EventHandler (OnButtonOutputClick); buttonOutput.SetTooltip (tips, "Show output", "Show output"); toolbar.Insert (buttonOutput, -1); // Results list store = new Gtk.ListStore ( typeof (Gdk.Pixbuf), // image typeof (int), // line typeof (int), // column typeof (string), // desc typeof (string), // file typeof (string), // path typeof (string), // full path typeof (bool), // read? typeof (int), // read? -- use Pango weight typeof (bool)); // is file view = new Gtk.TreeView (store); view.RulesHint = true; AddColumns (); sw = new Gtk.ScrolledWindow (); sw.ShadowType = ShadowType.In; sw.Add (view); // Log view logBuffer = new Gtk.TextBuffer (new Gtk.TextTagTable ()); logTextView = new Gtk.TextView (logBuffer); logTextView.Editable = false; logScroller = new Gtk.ScrolledWindow (); logScroller.ShadowType = ShadowType.In; logScroller.Add (logTextView); // HPaned Gtk.HPaned paned = new Gtk.HPaned (); paned.Pack1 (sw, true, true); paned.Pack2 (logScroller, true, true); // HBox status = new Label (); status.Xalign = 0.0f; VBox vbox = new VBox (); vbox.PackStart (paned, true, true, 0); vbox.PackStart (status, false, false, 3); HBox hbox = new HBox (); hbox.PackStart (vbox, true, true, 0); hbox.PackStart (toolbar, false, false, 0); control = hbox; Control.ShowAll (); logScroller.Hide (); view.RowActivated += new RowActivatedHandler (OnRowActivated); }
public TestResultsPad() { title = "Test results"; testService.TestSuiteChanged += new EventHandler (OnTestSuiteChanged); panel = new VBox (); Toolbar toolbar = new Toolbar (); toolbar.IconSize = IconSize.SmallToolbar; panel.PackStart (toolbar, false, false, 0); buttonSuccess = new ToggleToolButton (); buttonSuccess.Label = "Successful Tests"; buttonSuccess.Active = false; buttonSuccess.IconWidget = new Gtk.Image (CircleImage.Success); buttonSuccess.IsImportant = true; buttonSuccess.Toggled += new EventHandler (OnShowSuccessfulToggled); buttonSuccess.SetTooltip (tips, "Show Successful Tests", "Show Successful Tests"); toolbar.Insert (buttonSuccess, -1); buttonFailures = new ToggleToolButton (); buttonFailures.Label = "Failed Tests"; buttonFailures.Active = true; buttonFailures.IconWidget = new Gtk.Image (CircleImage.Failure); buttonFailures.IsImportant = true; buttonFailures.Toggled += new EventHandler (OnShowFailuresToggled); buttonFailures.SetTooltip (tips, "Show Failed Tests", "Show Failed Tests"); toolbar.Insert (buttonFailures, -1); buttonIgnored = new ToggleToolButton (); buttonIgnored.Label = "Ignored Tests"; buttonIgnored.Active = true; buttonIgnored.IconWidget = new Gtk.Image (CircleImage.NotRun); buttonIgnored.Toggled += new EventHandler (OnShowIgnoredToggled); buttonIgnored.IsImportant = true; buttonIgnored.SetTooltip (tips, "Show Ignored Tests", "Show Ignored Tests"); toolbar.Insert (buttonIgnored, -1); buttonOutput = new ToggleToolButton (); buttonOutput.Label = "Output"; buttonOutput.Active = false; buttonOutput.IconWidget = Runtime.Gui.Resources.GetImage (MonoDevelop.Gui.Stock.OutputIcon, IconSize.SmallToolbar); buttonOutput.Toggled += new EventHandler (OnShowOutputToggled); buttonOutput.IsImportant = true; buttonOutput.SetTooltip (tips, "Show Output", "Show Output"); toolbar.Insert (buttonOutput, -1); toolbar.Insert (new SeparatorToolItem (), -1); buttonStop = new ToolButton ("gtk-stop"); toolbar.Insert (buttonStop, -1); toolbar.ToolbarStyle = ToolbarStyle.BothHoriz; toolbar.ShowArrow = false; // Results notebook book = new HPaned (); panel.PackStart (book, true, true, 0); // Failures tree failuresTreeView = new TreeView (); failuresTreeView.HeadersVisible = false; failuresStore = new TreeStore (typeof(Pixbuf), typeof (string), typeof(object)); CellRendererPixbuf pr = new CellRendererPixbuf (); CellRendererText tr = new CellRendererText (); TreeViewColumn col = new TreeViewColumn (); col.PackStart (pr, false); col.AddAttribute (pr, "pixbuf", 0); col.PackStart (tr, false); col.AddAttribute (tr, "markup", 1); failuresTreeView.AppendColumn (col); failuresTreeView.Model = failuresStore; Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow (); sw.Add(failuresTreeView); Frame frame = new Frame (); frame.Add (sw); book.Pack1 (frame, true, true); outputView = new TextView(); outputView.Editable = false; sw = new Gtk.ScrolledWindow (); sw.Add(outputView); frame = new Frame (); frame.Add (sw); book.Pack2 (frame, true, true); outputViewScrolled = frame; // Run panel HBox runPanel = new HBox (); runPanel.BorderWidth = 5; infoSep = new VSeparator (); resultLabel.UseMarkup = true; runPanel.PackStart (resultLabel, false, false, 0); runPanel.PackStart (progressBar, false, false, 0); runPanel.PackStart (infoCurrent, true, true, 10); labels = new HBox (false, 10); infoFailed.UseMarkup = true; infoIgnored.UseMarkup = true; labels.PackStart (infoFailed, true, false, 0); labels.PackStart (infoIgnored, true, false, 0); runPanel.PackEnd (labels, false, false, 0); runPanel.PackEnd (infoSep, false, false, 10); panel.PackStart (runPanel, false, false, 0); progressBar.HeightRequest = infoFailed.SizeRequest().Height; buttonStop.Clicked += new EventHandler (OnStopClicked); failuresTreeView.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler (OnPopupMenu); Control.ShowAll (); outputViewScrolled.Hide (); }
public SearchResultWidget () { var vbox = new VBox (); var toolbar = new Toolbar () { Orientation = Orientation.Vertical, IconSize = IconSize.Menu, ToolbarStyle = ToolbarStyle.Icons, }; this.PackStart (vbox, true, true, 0); this.PackStart (toolbar, false, false, 0); labelStatus = new Label () { Xalign = 0, Justify = Justification.Left, }; var hpaned = new HPaned (); vbox.PackStart (hpaned, true, true, 0); vbox.PackStart (labelStatus, false, false, 0); var resultsScroll = new CompactScrolledWindow (); hpaned.Pack1 (resultsScroll, true, true); scrolledwindowLogView = new CompactScrolledWindow (); hpaned.Pack2 (scrolledwindowLogView, true, true); textviewLog = new TextView () { Editable = false, }; scrolledwindowLogView.Add (textviewLog); store = new ListStore (typeof (SearchResult), typeof (bool) // didRead ); treeviewSearchResults = new PadTreeView () { Model = store, HeadersClickable = true, RulesHint = true, }; treeviewSearchResults.Selection.Mode = Gtk.SelectionMode.Multiple; resultsScroll.Add (treeviewSearchResults); this.ShowAll (); var fileNameColumn = new TreeViewColumn { Resizable = true, SortColumnId = 0, Title = GettextCatalog.GetString("File") }; fileNameColumn.FixedWidth = 200; var fileNamePixbufRenderer = new CellRendererPixbuf (); fileNameColumn.PackStart (fileNamePixbufRenderer, false); fileNameColumn.SetCellDataFunc (fileNamePixbufRenderer, FileIconDataFunc); fileNameColumn.PackStart (treeviewSearchResults.TextRenderer, true); fileNameColumn.SetCellDataFunc (treeviewSearchResults.TextRenderer, FileNameDataFunc); treeviewSearchResults.AppendColumn (fileNameColumn); // TreeViewColumn lineColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Line"), new CellRendererText (), ResultLineDataFunc); // lineColumn.SortColumnId = 1; // lineColumn.FixedWidth = 50; // TreeViewColumn textColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Text"), treeviewSearchResults.TextRenderer, ResultTextDataFunc); textColumn.SortColumnId = 2; textColumn.Resizable = true; textColumn.FixedWidth = 300; TreeViewColumn pathColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Path"), treeviewSearchResults.TextRenderer, ResultPathDataFunc); pathColumn.SortColumnId = 3; pathColumn.Resizable = true; pathColumn.FixedWidth = 500; store.SetSortFunc (0, CompareFileNames); // store.SetSortFunc (1, CompareLineNumbers); store.SetSortFunc (3, CompareFilePaths); treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated; buttonStop = new ToolButton (Stock.Stop) { Sensitive = false }; buttonStop.Clicked += ButtonStopClicked; buttonStop.TooltipText = GettextCatalog.GetString ("Stop"); toolbar.Insert (buttonStop, -1); var buttonClear = new ToolButton (Gtk.Stock.Clear); buttonClear.Clicked += ButtonClearClicked; buttonClear.TooltipText = GettextCatalog.GetString ("Clear results"); toolbar.Insert (buttonClear, -1); var buttonOutput = new ToggleToolButton (Gui.Stock.OutputIcon); buttonOutput.Clicked += ButtonOutputClicked; buttonOutput.TooltipText = GettextCatalog.GetString ("Show output"); toolbar.Insert (buttonOutput, -1); buttonPin = new ToggleToolButton (Gui.Stock.PinUp); buttonPin.Clicked += ButtonPinClicked; buttonPin.TooltipText = GettextCatalog.GetString ("Pin results pad"); toolbar.Insert (buttonPin, -1); store.SetSortColumnId (3, SortType.Ascending); ShowAll (); scrolledwindowLogView.Hide (); }
//private Menu popupMenu; public FrameworkTree() { Toolbar toolbar = new Toolbar (); this.PackStart (toolbar, false, false, 0); refreshButton = new ToolButton ("refresh.png");//Stock.Home); refreshButton.IsImportant = true; refreshButton.Label = "Refresh"; refreshButton.BorderWidth = 1; refreshButton.Sensitive = false; refreshButton.Clicked+= delegate { if(MainClass.Workspace != null && !String.IsNullOrEmpty(MainClass.Workspace.FilePath)){ LoadLibs(MainClass.Workspace.RootDirectory); } }; toolbar.Insert (refreshButton, -1); fileCreateButton = new ToolButton ("file-new.png");//Stock.Home); fileCreateButton.IsImportant = true; fileCreateButton.Label = "New File"; fileCreateButton.BorderWidth = 1; fileCreateButton.Sensitive = false; fileCreateButton.Clicked += new EventHandler (OnAddFileClicked); toolbar.Insert (fileCreateButton, -1); dirCreateButton = new ToolButton ("folder-new.png");//Stock.Home); dirCreateButton.IsImportant = true; dirCreateButton.Label = "New Folder"; dirCreateButton.BorderWidth = 1; dirCreateButton.Sensitive = false; dirCreateButton.Clicked += new EventHandler (OnAddDirectoryClicked); toolbar.Insert (dirCreateButton, -1); treeView = new TreeView(); treeView.ButtonReleaseEvent += new ButtonReleaseEventHandler(OnButtonRelease); treeView.Model = store; treeView.HeadersVisible = true; //this.ExpandAll(); treeView.Selection.Mode = Gtk.SelectionMode.Single; treeView.RowActivated += OnRowActivate; treeView.ShowExpanders = true; // TreeViewColumn display_column.PackStart (text_render, true); CellRendererPixbuf crp = new CellRendererPixbuf(); crp.Ypad = 0; crp.Yalign = 0; Gtk.CellRendererText fileNameRenderer = new Gtk.CellRendererText(); fileNameRenderer.Ypad =0; TreeViewColumn icon_column = new TreeViewColumn();//("Icon", crp, "pixbuf", ICO_ROW); icon_column.PackStart (crp, false); icon_column.AddAttribute(crp,"pixbuf",ICO_ROW); icon_column.PackStart (fileNameRenderer, true); icon_column.AddAttribute (fileNameRenderer, "markup", NAME_ROW); treeView.AppendColumn(icon_column); //treeView.AppendColumn("Icon", crp, "pixbuf", ICO_ROW); treeView.AppendColumn("Name", fileNameRenderer, "text", NAME_ROW); treeView.Columns[NAME_ROW].Visible = false; CellRendererText textRenderer = new CellRendererText(); textRenderer.Ypad =0; treeView.AppendColumn("FullPath", textRenderer, "text", PATH_ROW); treeView.Columns[PATH_ROW].Visible = false; treeView.HeadersVisible = false; treeView.EnableTreeLines = true; treeView.HoverExpand = false; treeView.HoverSelection = false; treeView.Columns[NAME_ROW].SetCellDataFunc(fileNameRenderer, new Gtk.TreeCellDataFunc(RenderFileNme)); sw.ShadowType = ShadowType.Out; sw.Add(treeView); this.PackEnd(sw, true, true, 0); }
// }}} // MainWindow::_createToolBar() {{{ /// <summary>Build main window's tool bar.</summary> /// <returns>void</returns> private void _createToolBar() { Toolbar tb = new Toolbar(); tb.ToolbarStyle = ToolbarStyle.Icons; ToolButton tbOpen = new ToolButton(Stock.Open); tbOpen.Clicked += onMenuItemOpenActivate; tb.Insert(tbOpen, 0); ToolButton tbPref = new ToolButton(Stock.Preferences); tbPref.Clicked += onMenuItemPrefActivate; tb.Insert(tbPref, 1); this._vBox.PackStart(tb, false, true, 0); }
/// <summary>Crea la barra de herramientas de la ventana.</summary> /// <returns>La barra de herramientas.</returns> private Gtk.Toolbar CrearToolBar() { Gtk.Toolbar barra = new Gtk.Toolbar(); barra.ToolbarStyle = ToolbarStyle.Icons; Gtk.ToolButton btn = null; btn = new Gtk.ToolButton(Gtk.Stock.New); btn.Clicked += new EventHandler(VentanaNuevo); barra.Insert(btn, -1); btn = new Gtk.ToolButton(Gtk.Stock.Open); btn.Clicked += new EventHandler(VentanaAbrir); barra.Insert(btn, -1); btn = new Gtk.ToolButton(Gtk.Stock.Save); btn.Clicked += new EventHandler(VentanaGuardar); barra.Insert(btn, -1); barra.Insert(new Gtk.SeparatorToolItem(), -1); btnEjecutar = new Gtk.ToolButton(new Gtk.Image(IconManager.GetPixmap("run32.png")), GetText("Ventana_Ejecutar")); btnEjecutar.Clicked += new EventHandler(VentanaEjecutar); barra.Insert(btnEjecutar, -1); btnEjecutar.Sensitive = true; btnPausar = new Gtk.ToolButton(new Gtk.Image(IconManager.GetPixmap("pausar32.png")), GetText("Ventana_ToolTip_Pausar")); btnPausar.Clicked += new EventHandler(VentanaPausar); btnPausar.Sensitive = false; barra.Insert(btnPausar, -1); btnDetener = new Gtk.ToolButton(Gtk.Stock.Stop); btnDetener.Clicked += new EventHandler(VentanaDetener); btnDetener.Sensitive = false; barra.Insert(btnDetener, -1); barra.Insert(new Gtk.SeparatorToolItem(), -1); btn = new Gtk.ToolButton(Gtk.Stock.Quit); btn.Clicked += new EventHandler(VentanaSalir); barra.Insert(btn, -1); /* * * * * * * * barra.AppendSpace (); * * btnEjecutar = (Gtk.Button) barra.AppendItem( * , * GetText("Ventana_ToolTip_Ejecutar"), * String.Empty, * , * new Gtk.SignalFunc (VentanaNada)); * btnEjecutar.Clicked += new EventHandler (); * * * * * //-- * * btnPausar = new Gtk.ToggleButton (); * btnPausar.Add ( * new Gtk.Image(IconManager.GetPixmap("pausar32.png"))); * btnPausar.Clicked += new EventHandler (VentanaPausar); * btnPausar.Sensitive = false; * barra.AppendWidget (btnPausar, * GetText("Ventana_ToolTip_Pausar"), * String.Empty); * * //-- * btnDetener = (Gtk.Button) barra.InsertStock ( * Gtk.Stock.Stop, * GetText ("Ventana_ToolTip_Detener"), * String.Empty, * new Gtk.SignalFunc (VentanaNada), * IntPtr.Zero, * -1); * btnDetener.Clicked += new EventHandler (VentanaDetener); * btnDetener.Sensitive=false; * //-- * * barra.AppendSpace (); */ return(barra); }
public SingleView (Uri [] uris) { string glade_name = "single_view"; this.uri = uris [0]; System.Console.WriteLine ("uri = {0}", uri.ToString ()); xml = new Glade.XML (null, "f-spot.glade", glade_name, "f-spot"); xml.Autoconnect (this); window = (Gtk.Window) xml.GetWidget (glade_name); LoadPreference (Preferences.VIEWER_WIDTH); LoadPreference (Preferences.VIEWER_MAXIMIZED); Gtk.Toolbar toolbar = new Gtk.Toolbar (); toolbar_hbox.PackStart (toolbar); ToolButton rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), true); rl_button.Clicked += HandleRotate270Command; rl_button.SetTooltip (toolTips, Catalog.GetString ("Rotate photo left"), null); toolbar.Insert (rl_button, -1); ToolButton rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; rr_button.SetTooltip (toolTips, Catalog.GetString ("Rotate photo right"), null); toolbar.Insert (rr_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); collection = new UriCollection (uris); TargetEntry [] dest_table = { new TargetEntry ("text/uri-list", 0, 0), new TargetEntry ("text/plain", 0, 1)}; directory_view = new FSpot.Widgets.IconView (collection); directory_view.Selection.Changed += HandleSelectionChanged; directory_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet (directory_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); directory_view.DisplayTags = false; directory_view.DisplayDates = false; directory_view.DisplayRatings = false; directory_scrolled = new ScrolledWindow(); directory_scrolled.Add (directory_view); sidebar = new Sidebar (); info_vbox.Add (sidebar); sidebar.AppendPage (directory_scrolled, Catalog.GetString ("Folder"), "gtk-directory"); AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Single; sidebar.CloseRequested += HandleHideSidePane; sidebar.Show (); ThumbnailGenerator.Default.OnPixbufLoaded += delegate { directory_view.QueueDraw (); }; image_view = new PhotoImageView (collection); GtkUtil.ModifyColors (image_view); GtkUtil.ModifyColors (image_scrolled); image_view.ZoomChanged += HandleZoomChanged; image_view.Item.Changed += HandleItemChanged; image_view.ButtonPressEvent += HandleImageViewButtonPressEvent; image_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet (image_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); image_scrolled.Add (image_view); Window.ShowAll (); zoom_scale.ValueChanged += HandleZoomScaleValueChanged; LoadPreference (Preferences.VIEWER_SHOW_TOOLBAR); LoadPreference (Preferences.VIEWER_INTERPOLATION); LoadPreference (Preferences.VIEWER_TRANSPARENCY); LoadPreference (Preferences.VIEWER_TRANS_COLOR); ShowSidebar = collection.Count > 1; LoadPreference (Preferences.VIEWER_SHOW_FILENAMES); Preferences.SettingChanged += OnPreferencesChanged; window.DeleteEvent += HandleDeleteEvent; collection.Changed += HandleCollectionChanged; // wrap the methods to fit to the delegate image_view.Item.Changed += delegate (BrowsablePointer pointer, BrowsablePointerChangedArgs old) { IBrowsableItem [] item = {pointer.Current}; PhotoArray item_array = new PhotoArray (item); sidebar.HandleSelectionChanged (item_array); }; image_view.Item.Collection.ItemsChanged += sidebar.HandleSelectionItemsChanged; UpdateStatusLabel (); if (collection.Count > 0) directory_view.Selection.Add (0); export.Submenu = (Mono.Addins.AddinManager.GetExtensionNode ("/FSpot/Menus/Exports") as FSpot.Extensions.SubmenuNode).GetMenuItem (this).Submenu; export.Submenu.ShowAll (); export.Activated += HandleExportActivated ; }
public FullScreenView(IBrowsableCollection collection, Gtk.Window parent) : base("Full Screen Mode") { //going fullscreen on the same screen the parent window Gdk.Screen screen = Screen; int monitor = screen.GetMonitorAtWindow (parent.GdkWindow); Gdk.Rectangle bounds = screen.GetMonitorGeometry (monitor); Move (bounds.X, bounds.Y); string style = "style \"test\" {\n" + "GtkToolbar::shadow_type = GTK_SHADOW_NONE\n" + "}\n" + "class \"GtkToolbar\" style \"test\""; Gtk.Rc.ParseString (style); Name = "FullscreenContainer"; try { //scroll = new Gtk.ScrolledWindow (null, null); actions = new ActionGroup ("joe"); actions.Add (new ActionEntry [] { new ActionEntry (HideToolbar, Stock.Close, Catalog.GetString ("Hide"), null, Catalog.GetString ("Hide toolbar"), HideToolbarAction)}); actions.Add (new ToggleActionEntry [] { new ToggleActionEntry (Info, Stock.Info, Catalog.GetString ("Info"), null, Catalog.GetString ("Image information"), InfoAction, false)}); Gtk.Action exit_full_screen = new Gtk.Action (ExitFullScreen, Catalog.GetString ("Exit fullscreen"), null, null); exit_full_screen.IconName = "view-restore"; exit_full_screen.Activated += ExitAction; actions.Add (exit_full_screen); Gtk.Action slide_show = new Gtk.Action (SlideShow, Catalog.GetString ("Slideshow"), Catalog.GetString ("Start slideshow"), null); slide_show.IconName = "media-playback-start"; slide_show.Activated += SlideShowAction; actions.Add (slide_show); new WindowOpacityFader (this, 1.0, 600); notebook = new Notebook (); notebook.ShowBorder = false; notebook.ShowTabs = false; notebook.Show (); scroll = new ScrolledView (); scroll.ScrolledWindow.SetPolicy (PolicyType.Never, PolicyType.Never); view = new PhotoImageView (collection); // FIXME this should be handled by the new style setting code view.ModifyBg (Gtk.StateType.Normal, this.Style.Black); this.Add (notebook); view.Show (); view.MotionNotifyEvent += HandleViewMotion; view.PointerMode = PointerMode.Scroll; scroll.ScrolledWindow.Add (view); Toolbar tbar = new Toolbar (); tbar.ToolbarStyle = Gtk.ToolbarStyle.BothHoriz; tbar.ShowArrow = false; tbar.BorderWidth = 15; ToolItem t_item = (actions [ExitFullScreen]).CreateToolItem () as ToolItem; t_item.IsImportant = true; tbar.Insert (t_item, -1); Gtk.Action action = new PreviousPictureAction (view.Item); actions.Add (action); tbar.Insert (action.CreateToolItem () as ToolItem, -1); play_pause_button = (actions [SlideShow]).CreateToolItem () as ToolButton; tbar.Insert (play_pause_button, -1); action = new NextPictureAction (view.Item); actions.Add (action); tbar.Insert (action.CreateToolItem () as ToolItem, -1); t_item = new ToolItem (); t_item.Child = new Label (Catalog.GetString ("Slide transition:")); tbar.Insert (t_item, -1); display = new SlideShow (view.Item); display.AddEvents ((int) (Gdk.EventMask.PointerMotionMask)); display.ModifyBg (Gtk.StateType.Normal, this.Style.Black); display.MotionNotifyEvent += HandleViewMotion; display.Show (); t_item = new ToolItem (); ComboBox combo = ComboBox.NewText (); foreach (var transition in display.Transitions) combo.AppendText (transition.Name); combo.Active = 0; combo.Changed += HandleTransitionChanged; t_item.Child = combo; tbar.Insert (t_item, -1); action = new RotateLeftAction (view.Item); actions.Add (action); tbar.Insert (action.CreateToolItem () as ToolItem, -1); action = new RotateRightAction (view.Item); actions.Add (action); tbar.Insert (action.CreateToolItem () as ToolItem, -1); info_button = (ToggleToolButton) ((actions [Info]).CreateToolItem () as ToolItem); tbar.Insert (info_button, -1); tbar.Insert ((actions [HideToolbar]).CreateToolItem () as ToolItem, -1); notebook.AppendPage (scroll, null); notebook.AppendPage (display, null); tbar.ShowAll (); scroll.Show (); this.Decorated = false; this.Fullscreen (); this.ButtonPressEvent += HandleButtonPressEvent; view.Item.Changed += HandleItemChanged; view.GrabFocus (); hide_cursor_delay = new DelayedOperation (3000, new GLib.IdleHandler (HideCursor)); hide_cursor_delay.Start (); controls = new ControlOverlay (this); controls.Add (tbar); controls.Dismiss (); notebook.CurrentPage = 0; } catch (System.Exception e) { Log.Exception (e); } }
public Gui() { dlayer = new DataLayer (); window_addtag.SetSizeRequest (100, 100); window.Icon = new Gdk.Pixbuf ("lipsticktower.jpg"); //Kalle, Andreas :: Call for Icon! Gtk.Entry tagEntry = new Gtk.Entry (); Gtk.VBox tagbox = new Gtk.VBox (false, 0); tagbox.PackStart (tagEntry, true, true, 0); window_addtag.Add (tagbox); window_addtag.ShowAll (); window.SetSizeRequest (300, 500); window.DeleteEvent += DeleteEvent; window.Icon = new Gdk.Pixbuf ("lipsticktower.jpg"); //Kalle, Andreas :: Call for Icon! Gtk.VBox box = new Gtk.VBox (false, 0); Gtk.HBox top = new Gtk.HBox (false, 0); //Gtk.ComboBox selector = new Gtk.ComboBox (); Gtk.ComboBox selector = ComboBox.NewText (); ScrolledWindow scroll = new ScrolledWindow (); filterEntry = new Gtk.Entry (); filterEntry.MaxLength = 1; filterEntry.Changed += OnFilterEntryTextChanged; //Gtk.TreeView tree = new Gtk.TreeView (); tree.HeadersVisible = false; tree.Reorderable = true; tree.EnableSearch = false; tree.RowActivated += OnRowActivate; Gtk.TreeViewColumn iconCol = new Gtk.TreeViewColumn ( ); iconCol.Title = "Icon"; Gtk.CellRendererPixbuf iconCell = new Gtk.CellRendererPixbuf (); iconCol.PackStart (iconCell, true); iconCol.SetCellDataFunc (iconCell, new Gtk.TreeCellDataFunc (RenderIcon)); Gtk.TreeViewColumn primCol = new Gtk.TreeViewColumn ( ); primCol.Title = "Primary Info"; Gtk.CellRendererText primInfoCell = new Gtk.CellRendererText (); primCol.PackStart (primInfoCell, true); primCol.SetCellDataFunc (primInfoCell, new Gtk.TreeCellDataFunc (RenderPrimary)); Gtk.TreeViewColumn secCol = new Gtk.TreeViewColumn ( ); secCol.Title = "Secondary Info"; Gtk.CellRendererText secInfoCell = new Gtk.CellRendererText (); secCol.PackStart (secInfoCell, true); secCol.SetCellDataFunc (secInfoCell, new Gtk.TreeCellDataFunc (RenderSecondary)); projects = DataLayer.GetProjectNames (); foreach (string project in projects) { Console.WriteLine (project); selector.AppendText (project); } selector.Changed += new EventHandler (OnSelectorChanged); //Store AssetStore = dlayer.GetAssets (projID); /*filter = new Gtk.TreeModelFilter (AssetStore, null); filter.VisibleFunc = new Gtk.TreeModelFilterVisibleFunc (FilterTree); tree.Model = filter;*/ //tree.Model = dlayer.GetAssets (projID); tree.AppendColumn (iconCol); tree.AppendColumn (primCol); tree.AppendColumn (secCol); MenuBar menu = new MenuBar (); Menu fileMenu = new Menu(); MenuItem menuItem = new MenuItem("_File"); menuItem.Submenu = fileMenu; menu.Append(menuItem); Statusbar status = new Statusbar (); Toolbar tool = new Toolbar (); ToolButton plus = new ToolButton (Gtk.Stock.Add); plus.Clicked += OnAddClicked; ToolButton minus = new ToolButton (Gtk.Stock.Remove); minus.Clicked += OnMinusClicked; box.PackStart (menu, false, true, 0); box.PackStart (tool, false, true, 0); tool.Insert(minus, 0); tool.Insert(plus, 0); top.PackStart (filterEntry, true, true, 0); top.PackStart (selector, true, true, 0); box.PackStart (top, false, true, 0); scroll.Add (tree); box.PackStart (scroll, true, true, 0); box.PackStart (status, false, true, 0); window.Add (box); window.ShowAll (); }
public MainWindow() { ToolItem spacerItem; FileSearchEntry searchEntry; ToolItem searchEntryItem; Alignment searchEntryBox; object[] attrs= Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), true); AssemblyTitleAttribute attr = (AssemblyTitleAttribute)attrs[0]; AssemblyName asmName = Assembly.GetExecutingAssembly().GetName(); string title = String.Format ("{0} (BETA) {1} (Protocol Version: {2})", attr.Title, asmName.Version, Core.ProtocolVersion); // Create the interface window = new Window (title); window.SetDefaultSize (850, 550); window.DeleteEvent += on_win_delete; window.ConfigureEvent += on_MainWindow_configure_event; window.FocusInEvent += window_FocusInEvent; ((ToggleAction)Runtime.BuiltinActions["ToggleMainToolbar"]).Active = Gui.Settings.ShowToolbar; Runtime.BuiltinActions["ToggleMainToolbar"].Activated += ToggleMainToolbar_Activated; ((ToggleAction)Runtime.BuiltinActions["ToggleMainStatusbar"]).Active = Gui.Settings.ShowStatusBar; Runtime.BuiltinActions["ToggleMainStatusbar"].Activated += ToggleMainStatusbar_Activated; window.AddAccelGroup (Runtime.UIManager.AccelGroup); mainVBox = new VBox (); window.Add (mainVBox); mainVBox.Show (); if (Common.OSName == "Darwin") { MenuBar menubar = (MenuBar) Runtime.UIManager.GetWidget ("/OSXAppMenu"); Imendio.MacIntegration.Menu.SetMenuBar(menubar); MenuItem preferencesItem = (MenuItem) Runtime.UIManager.GetWidget ("/OSXAppMenu/NetworkMenu/Preferences"); MenuItem aboutItem = (MenuItem) Runtime.UIManager.GetWidget ("/OSXAppMenu/NetworkMenu/About"); IntPtr group = Imendio.MacIntegration.Menu.AddAppMenuGroup(); Imendio.MacIntegration.Menu.AddAppMenuItem(group, aboutItem, "About Meshwork"); group = Imendio.MacIntegration.Menu.AddAppMenuGroup(); Imendio.MacIntegration.Menu.AddAppMenuItem(group, preferencesItem, "Preferences"); MenuItem quitItem = (MenuItem) Runtime.UIManager.GetWidget ("/OSXAppMenu/NetworkMenu/Quit"); Imendio.MacIntegration.Menu.SetQuitMenuItem(quitItem); } else { MenuBar menubar = (MenuBar) Runtime.UIManager.GetWidget ("/MainWindowMenuBar"); mainVBox.PackStart (menubar, false, false, 0); menubar.Show (); } toolbar = (Toolbar) Runtime.UIManager.GetWidget ("/MainWindowToolbar"); toolbar.ToolbarStyle = ToolbarStyle.BothHoriz; toolbar.IconSize = IconSize.LargeToolbar; spacerItem = new ToolItem(); spacerItem.Expand = true; toolbar.Insert(spacerItem, -1); spacerItem.Show(); searchEntry = new FileSearchEntry(); searchEntryBox = new Alignment(0.5f, 0.5f, 0, 0); searchEntryBox.LeftPadding = 4; searchEntryBox.RightPadding = 1; searchEntryBox.Add(searchEntry); searchEntryItem = new ToolItem(); searchEntryItem.Add(searchEntryBox); toolbar.Insert(searchEntryItem, -1); searchEntryItem.ShowAll(); mainVBox.PackStart (toolbar, false, false, 0); mainPaned = new HPaned(); mainPaned.Mapped += delegate (object sender, EventArgs args) { // XXX: Remember the user's last setting instead mainPaned.Position = 190; // Set some colors //infoBoxSeparator.ModifyBg(StateType.Normal, GtkHelper.DarkenColor (mainbar.Style.Background(StateType.Normal), 2)); //infoSwitcherTree.ModifyBase(StateType.Normal, infoSwitcherTree.Style.Base(StateType.Active)); //infoSwitcherTree.ModifyBase(StateType.Active, infoBoxSeparator.Style.Base(StateType.Selected)); }; mainPaned.Show(); mainVBox.PackStart (mainPaned, true, true, 0); // Create page notebook pageNotebook = new Notebook(); pageNotebook.ShowTabs = false; pageNotebook.ShowBorder = false; mainPaned.Pack2(pageNotebook, true, true); pageNotebook.ShowAll(); // Create sidebar sidebar = new MainSidebar(); sidebar.ItemAdded += sidebar_ItemAdded; sidebar.SelectedItemChanged += sidebar_SelectedItemChanged; sidebar.AddBuiltinItems(); mainPaned.Pack1(sidebar, false, false); sidebar.ShowAll(); CreateStatusbar (); // Apply "view" settings toolbar.Visible = Gui.Settings.ShowToolbar; statusBar.Visible = Gui.Settings.ShowStatusBar; // Hook up Core events Core.ShareBuilder.StartedIndexing += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sb_StartedIndexing)); Core.ShareBuilder.FinishedIndexing += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sb_FinishedIndexing)); Core.ShareBuilder.StoppedIndexing += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sb_StoppedIndexing)); Core.ShareBuilder.ErrorIndexing += (ErrorEventHandler)DispatchService.GuiDispatch(new ErrorEventHandler(sb_ErrorIndexing)); Core.ShareHasher.StartedHashingFile += (ShareHasherTaskEventHandler)DispatchService.GuiDispatch(new ShareHasherTaskEventHandler(sh_StartedFinished)); Core.ShareHasher.FinishedHashingFile += (ShareHasherTaskEventHandler)DispatchService.GuiDispatch(new ShareHasherTaskEventHandler(sh_StartedFinished)); Core.ShareHasher.QueueChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(sh_QueueChanged)); Core.FileSearchManager.SearchAdded += (FileSearchEventHandler)DispatchService.GuiDispatch(new FileSearchEventHandler(FileSearchManager_SearchAdded)); Core.FileSearchManager.SearchRemoved += (FileSearchEventHandler)DispatchService.GuiDispatch(new FileSearchEventHandler(FileSearchManager_SearchRemoved)); window.Resize (Gui.Settings.WindowSize.Width, Gui.Settings.WindowSize.Height); window.Move (Gui.Settings.WindowPosition.X, Gui.Settings.WindowPosition.Y); SelectedPage = NetworkOverviewPage.Instance; }
// // Constructor // public MainWindow (Db db) { this.db = db; if (Toplevel == null) Toplevel = this; Glade.XML gui = new Glade.XML (null, "f-spot.glade", "main_window", "f-spot"); gui.Autoconnect (this); LoadPreference (Preferences.MAIN_WINDOW_WIDTH); LoadPreference (Preferences.MAIN_WINDOW_X); LoadPreference (Preferences.MAIN_WINDOW_MAXIMIZED); main_window.ShowAll (); LoadPreference (Preferences.SIDEBAR_POSITION); LoadPreference (Preferences.METADATA_EMBED_IN_IMAGE); LoadPreference (Preferences.COLOR_MANAGEMENT_ENABLED); LoadPreference (Preferences.COLOR_MANAGEMENT_USE_X_PROFILE); FSpot.ColorManagement.LoadSettings(); #if GTK_2_10 pagesetup_menu_item.Activated += HandlePageSetupActivated; #else pagesetup_menu_item.Visible = false; #endif toolbar = new Gtk.Toolbar (); toolbar_vbox.PackStart (toolbar); ToolButton import_button = GtkUtil.ToolButtonFromTheme ("gtk-add", Catalog.GetString ("Import"), false); import_button.Clicked += HandleImportCommand; import_button.SetTooltip (ToolTips, Catalog.GetString ("Import new images"), null); toolbar.Insert (import_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), true); rl_button.Clicked += HandleRotate270Command; toolbar.Insert (rl_button, -1); ToolButton rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; toolbar.Insert (rr_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); browse_button = new ToggleToolButton (); browse_button.Label = Catalog.GetString ("Browse"); browse_button.IconName = "mode-browse"; browse_button.IsImportant = true; browse_button.Toggled += HandleToggleViewBrowse; browse_button.SetTooltip (ToolTips, Catalog.GetString ("Browse many photos simultaneously"), null); toolbar.Insert (browse_button, -1); edit_button = new ToggleToolButton (); edit_button.Label = Catalog.GetString ("Edit Image"); edit_button.IconName = "mode-image-edit"; edit_button.IsImportant = true; edit_button.Toggled += HandleToggleViewPhoto; edit_button.SetTooltip (ToolTips, Catalog.GetString ("View and edit a photo"), null); toolbar.Insert (edit_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme ("view-fullscreen", Catalog.GetString ("Fullscreen"), true); fs_button.Clicked += HandleViewFullscreen; fs_button.SetTooltip (ToolTips, Catalog.GetString ("View photos fullscreen"), null); toolbar.Insert (fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme ("media-playback-start", Catalog.GetString ("Slideshow"), true); ss_button.Clicked += HandleViewSlideShow; ss_button.SetTooltip (ToolTips, Catalog.GetString ("View photos in a slideshow"), null); toolbar.Insert (ss_button, -1); SeparatorToolItem white_space = new SeparatorToolItem (); white_space.Draw = false; white_space.Expand = true; toolbar.Insert (white_space, -1); ToolItem label_item = new ToolItem (); count_label = new Label (String.Empty); label_item.Child = count_label; toolbar.Insert (label_item, -1); display_previous_button = new ToolButton (Stock.GoBack); toolbar.Insert (display_previous_button, -1); display_previous_button.SetTooltip (ToolTips, Catalog.GetString ("Previous photo"), String.Empty); display_previous_button.Clicked += new EventHandler (HandleDisplayPreviousButtonClicked); display_next_button = new ToolButton (Stock.GoForward); toolbar.Insert (display_next_button, -1); display_next_button.SetTooltip (ToolTips, Catalog.GetString ("Next photo"), String.Empty); display_next_button.Clicked += new EventHandler (HandleDisplayNextButtonClicked); sidebar = new Sidebar (); ViewModeChanged += sidebar.HandleMainWindowViewModeChanged; sidebar_vbox.Add (sidebar); tag_selection_scrolled = new ScrolledWindow (); tag_selection_scrolled.ShadowType = ShadowType.In; tag_selection_widget = new TagSelectionWidget (db.Tags); tag_selection_scrolled.Add (tag_selection_widget); sidebar.AppendPage (tag_selection_scrolled, Catalog.GetString ("Tags"), "tag"); AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Library; sidebar.CloseRequested += HideSidebar; sidebar.Show (); info_box = new InfoBox (); ViewModeChanged += info_box.HandleMainWindowViewModeChanged; info_box.VersionIdChanged += delegate (InfoBox box, uint version_id) { UpdateForVersionIdChange (version_id);}; sidebar_vbox.PackEnd (info_box, false, false, 0); info_box.Context = ViewContext.Library; tag_selection_widget.Selection.Changed += HandleTagSelectionChanged; tag_selection_widget.DragDataGet += HandleTagSelectionDragDataGet; tag_selection_widget.DragDrop += HandleTagSelectionDragDrop; tag_selection_widget.DragBegin += HandleTagSelectionDragBegin; tag_selection_widget.KeyPressEvent += HandleTagSelectionKeyPress; Gtk.Drag.SourceSet (tag_selection_widget, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask, tag_target_table, DragAction.Copy | DragAction.Move); tag_selection_widget.DragDataReceived += HandleTagSelectionDragDataReceived; tag_selection_widget.DragMotion += HandleTagSelectionDragMotion; Gtk.Drag.DestSet (tag_selection_widget, DestDefaults.All, tag_dest_target_table, DragAction.Copy | DragAction.Move ); tag_selection_widget.ButtonPressEvent += HandleTagSelectionButtonPressEvent; tag_selection_widget.PopupMenu += HandleTagSelectionPopupMenu; tag_selection_widget.RowActivated += HandleTagSelectionRowActivated; LoadPreference (Preferences.TAG_ICON_SIZE); try { query = new FSpot.PhotoQuery (db.Photos); } catch (System.Exception e) { //FIXME assume any exception here is due to a corrupt db and handle that. new RepairDbDialog (e, db.Repair (), main_window); query = new FSpot.PhotoQuery (db.Photos); } UpdateStatusLabel (); query.Changed += HandleQueryChanged; db.Photos.ItemsChanged += HandleDbItemsChanged; db.Tags.ItemsChanged += HandleTagsChanged; db.Tags.ItemsAdded += HandleTagsChanged; db.Tags.ItemsRemoved += HandleTagsChanged; #if SHOW_CALENDAR FSpot.SimpleCalendar cal = new FSpot.SimpleCalendar (query); cal.DaySelected += HandleCalendarDaySelected; left_vbox.PackStart (cal, false, true, 0); #endif group_selector = new FSpot.GroupSelector (); group_selector.Adaptor = new FSpot.TimeAdaptor (query, Preferences.Get<bool> (Preferences.GROUP_ADAPTOR_ORDER_ASC)); group_selector.ShowAll (); if (zoom_scale != null) { zoom_scale.ValueChanged += HandleZoomScaleValueChanged; } view_vbox.PackStart (group_selector, false, false, 0); view_vbox.ReorderChild (group_selector, 0); find_bar = new FindBar (query, tag_selection_widget.Model); view_vbox.PackStart (find_bar, false, false, 0); view_vbox.ReorderChild (find_bar, 1); main_window.KeyPressEvent += HandleKeyPressEvent; query_widget = new FSpot.QueryWidget (query, db, tag_selection_widget); query_widget.Logic.Changed += HandleQueryLogicChanged; view_vbox.PackStart (query_widget, false, false, 0); view_vbox.ReorderChild (query_widget, 2); icon_view = new QueryView (query); icon_view.ZoomChanged += HandleZoomChanged; LoadPreference (Preferences.ZOOM); LoadPreference (Preferences.SHOW_TAGS); LoadPreference (Preferences.SHOW_DATES); LoadPreference (Preferences.SHOW_RATINGS); icon_view_scrolled.Add (icon_view); icon_view.DoubleClicked += HandleDoubleClicked; icon_view.Vadjustment.ValueChanged += HandleIconViewScroll; icon_view.GrabFocus (); new FSpot.PreviewPopup (icon_view); Gtk.Drag.SourceSet (icon_view, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask, icon_source_target_table, DragAction.Copy | DragAction.Move); icon_view.DragBegin += HandleIconViewDragBegin; icon_view.DragDataGet += HandleIconViewDragDataGet; TagMenu tag_menu = new TagMenu (null, Database.Tags); tag_menu.NewTagHandler += delegate { HandleCreateTagAndAttach (this, null); }; tag_menu.TagSelected += HandleAttachTagMenuSelected; tag_menu.Populate(); attach_tag.Submenu = tag_menu; PhotoTagMenu pmenu = new PhotoTagMenu (); pmenu.TagSelected += HandleRemoveTagMenuSelected; remove_tag.Submenu = pmenu; Gtk.Drag.DestSet (icon_view, DestDefaults.All, icon_dest_target_table, DragAction.Copy | DragAction.Move); // icon_view.DragLeave += new DragLeaveHandler (HandleIconViewDragLeave); icon_view.DragMotion += HandleIconViewDragMotion; icon_view.DragDrop += HandleIconViewDragDrop; icon_view.DragDataReceived += HandleIconViewDragDataReceived; icon_view.KeyPressEvent += HandleIconViewKeyPressEvent; photo_view = new PhotoView (query); photo_box.Add (photo_view); photo_view.DoubleClicked += HandleDoubleClicked; photo_view.KeyPressEvent += HandlePhotoViewKeyPressEvent; photo_view.UpdateStarted += HandlePhotoViewUpdateStarted; photo_view.UpdateFinished += HandlePhotoViewUpdateFinished; photo_view.View.ZoomChanged += HandleZoomChanged; // Tag typing: focus the tag entry if the user starts typing a tag icon_view.KeyPressEvent += HandlePossibleTagTyping; photo_view.KeyPressEvent += HandlePossibleTagTyping; tag_entry = new TagEntry (db.Tags); tag_entry.KeyPressEvent += HandleTagEntryKeyPressEvent; tag_entry.TagsAttached += HandleTagEntryTagsAttached; tag_entry.TagsRemoved += HandleTagEntryRemoveTags; tag_entry.Activated += HandleTagEntryActivate; tag_entry_container.Add (tag_entry); Gtk.Drag.DestSet (photo_view, DestDefaults.All, tag_target_table, DragAction.Copy | DragAction.Move); photo_view.DragMotion += HandlePhotoViewDragMotion; photo_view.DragDrop += HandlePhotoViewDragDrop; photo_view.DragDataReceived += HandlePhotoViewDragDataReceived; view_notebook.SwitchPage += HandleViewNotebookSwitchPage; group_selector.Adaptor.GlassSet += HandleAdaptorGlassSet; group_selector.Adaptor.Changed += HandleAdaptorChanged; LoadPreference (Preferences.GROUP_ADAPTOR); LoadPreference (Preferences.GROUP_ADAPTOR_ORDER_ASC); this.selection = new MainSelection (this); this.selection.Changed += HandleSelectionChanged; this.selection.ItemsChanged += HandleSelectionItemsChanged; this.selection.Changed += sidebar.HandleSelectionChanged; this.selection.ItemsChanged += sidebar.HandleSelectionItemsChanged; Mono.Addins.AddinManager.ExtensionChanged += PopulateExtendableMenus; PopulateExtendableMenus (null, null); UpdateMenus (); main_window.ShowAll (); tagbar.Hide (); find_bar.Hide (); UpdateFindByTagMenu (); LoadPreference (Preferences.SHOW_TOOLBAR); LoadPreference (Preferences.SHOW_SIDEBAR); LoadPreference (Preferences.SHOW_TIMELINE); LoadPreference (Preferences.SHOW_FILMSTRIP); LoadPreference (Preferences.GNOME_MAILTO_ENABLED); Preferences.SettingChanged += OnPreferencesChanged; main_window.DeleteEvent += HandleDeleteEvent; query_widget.HandleChanged (query); query_widget.Hide (); // When the icon_view is loaded, set it's initial scroll position icon_view.SizeAllocated += HandleIconViewReady; export.Activated += HandleExportActivated; UpdateToolbar (); Banshee.Kernel.Scheduler.Resume (); }
private void CreateStatusbar() { statusBar = new Toolbar(); statusBar.ShowArrow = false; statusBar.ToolbarStyle = ToolbarStyle.BothHoriz; statusBar.ExposeEvent += StatusBarExposeEvent; statusLabel = new Label(); statusLabel.Xalign = 0; statusLabel.Xpad = 6; ToolItem statusLabelItem = new ToolItem(); Alignment statusAlign = new Alignment(0.5f, 0.5f, 1.0f, 1.0f); statusLabelItem.Add(statusLabel); statusLabelItem.Expand = true; statusBar.Insert(statusLabelItem, -1); statusLabelItem.ShowAll(); taskStatusIcon = new Hyena.Widgets.AnimatedImage(); taskStatusIcon.Pixbuf = Gui.LoadIcon(22, "process-working"); taskStatusIcon.FrameHeight = 22; taskStatusIcon.FrameWidth = 22; taskStatusIcon.Load(); EventBox taskStatusIconBox = new EventBox(); taskStatusIconBox.MotionNotifyEvent += delegate { UpdateTaskStatusIcon(); }; taskStatusIconBox.ButtonReleaseEvent += delegate { IndexingStatusWindow.Instance.Show(); }; taskStatusIconBox.SizeAllocated += delegate (object o, SizeAllocatedArgs args) { statusAlign.LeftPadding = (uint)args.Allocation.Width; }; taskStatusIconBox.SetSizeRequest(22, 22); taskStatusIconBox.Add(taskStatusIcon); taskStatusIconBox.Show(); ToolItem taskStatusIconItem = new ToolItem(); taskStatusIconItem.Add(taskStatusIconBox); statusBar.Insert(taskStatusIconItem, -1); taskStatusIconItem.Show(); mainVBox.PackStart(statusBar, false, false, 0); UpdateTaskStatusIcon(); UpdateStatusText(); }
// // 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 (); }
private void CreateWindow(uint chrome) { // Increment Window count win_count += 1; // Put actualchrome in actualchrome = chrome; // Init chrome toolBarOn = false; statusBarOn = false; if (chrome == (uint)ChromeFlags.Defaultchrome) actualchrome = (uint)ChromeFlags.Allchrome; if ((actualchrome & (uint)ChromeFlags.Toolbaron) == (uint)ChromeFlags.Toolbaron) { toolBarOn = true; } if ((actualchrome & (uint)ChromeFlags.Statusbaron) == (uint)ChromeFlags.Statusbaron) { statusBarOn = true; } win = new Window ("Gecko Tester"); win.DeleteEvent += new DeleteEventHandler (Window_Delete); vbox = new VBox (false, 0); win.Add (vbox); hbox = new HBox (false, 0); vbox.PackStart (hbox, false, false, 0); Toolbar toolbar = new Toolbar(); toolbar.ToolbarStyle = ToolbarStyle.Both; toolbar.Orientation = Orientation.Horizontal; toolbar.ShowArrow = false; hbox.PackStart(toolbar, false, false, 0); ToolButton backButton = new ToolButton("Go Back"); backButton.Clicked += new EventHandler (back_clicked_cb); backButton.Label = "Go Back"; toolbar.Insert(backButton, -1); ToolButton stopButton = new ToolButton("Stop"); stopButton.Clicked += new EventHandler (stop_clicked_cb); stopButton.Label = "Stop"; toolbar.Insert(stopButton, -1); ToolButton forwardButton = new ToolButton("Forward"); forwardButton.Clicked += new EventHandler (forward_clicked_cb); forwardButton.Label = "Forward"; toolbar.Insert(forwardButton, -1); ToolButton reloadButton = new ToolButton("Reload"); reloadButton.Clicked += new EventHandler (reload_clicked_cb); reloadButton.Label = "Reload"; toolbar.Insert(reloadButton, -1); editbox = new Entry(); editbox.Activated += new EventHandler(entry_act); hbox.PackStart (editbox, true, true, 0); if (initialized < 1) throw new Exception(); // Now, if we are initialized, we need to set the profile // and set initialized state to 2 if (initialized != 2) { moz = new WebControl(path, pname); initialized = 2; } else { Console.WriteLine("Calling EmbedWidget()"); moz = new WebControl(); Console.WriteLine("Done calling EmbedWidget()"); } vbox.PackStart (moz, true, true, 0); // Ok, we have a LOT of GtkMozEmbed signals... moz.LocChange += new EventHandler(moz_location_cb); moz.TitleChange += new EventHandler(moz_title_cb); moz.NetStart += new EventHandler(moz_netstart_cb); moz.NetStop += new EventHandler(moz_netstop_cb); moz.DestroyBrowser += new EventHandler(moz_destroybrsr_cb); //moz.LinkMessage += new EventHandler(moz_linkmessage_cb); //moz.JsStatus += new EventHandler(moz_jsstatus_cb); // Now the ones with args! moz.NewWindow += new NewWindowHandler(moz_new_win_cb); //moz.Progress += new ProgressHandler(moz_progress_cb); //moz.ProgressAll += new ProgressAllHandler(moz_progressall_cb); //moz.NetState += new NetStateHandler(moz_netstate_cb); //moz.NetStateAll += new NetStateAllHandler(moz_netstateall_cb); moz.Visibility += new VisibilityHandler(moz_visibility_cb); //moz.OpenUri += new OpenUriHandler(moz_openuri_cb); //moz.SizeTo += new SizeToHandler(moz_sizeto_cb); hbox2 = new HBox (false, 0); vbox.PackStart (hbox2, false, false, 0); pbar = new ProgressBar(); hbox2.PackStart (pbar, false, false, 0); Alignment salign = new Alignment (0, 0, 1, 1); // usize here sbar = new Statusbar(); salign.Add (sbar); hbox2.PackStart(salign, true, true, 0); moz.LoadUrl("http://www.go-mono.com"); set_moz_visibility(true); }
public Toolbox(ServiceContainer parentServices) { this.parentServices = parentServices; //we need this service, so create it if not present toolboxService = parentServices.GetService (typeof (IToolboxService)) as ToolboxService; if (toolboxService == null) { toolboxService = new ToolboxService (); parentServices.AddService (typeof (IToolboxService), toolboxService); } #region Toolbar toolbar = new Toolbar (); toolbar.ToolbarStyle = ToolbarStyle.Icons; toolbar.IconSize = IconSize.SmallToolbar; base.PackStart (toolbar, false, false, 0); filterToggleButton = new ToggleToolButton (); filterToggleButton.IconWidget = new Image (Stock.MissingImage, IconSize.SmallToolbar); filterToggleButton.Toggled += new EventHandler (toggleFiltering); toolbar.Insert (filterToggleButton, 0); catToggleButton = new ToggleToolButton (); catToggleButton.IconWidget = new Image (Stock.MissingImage, IconSize.SmallToolbar); catToggleButton.Toggled += new EventHandler (toggleCategorisation); toolbar.Insert (catToggleButton, 1); SeparatorToolItem sep = new SeparatorToolItem(); toolbar.Insert (sep, 2); filterEntry = new Entry(); filterEntry.WidthRequest = 150; filterEntry.Changed += new EventHandler (filterTextChanged); #endregion scrolledWindow = new ScrolledWindow (); base.PackEnd (scrolledWindow, true, true, 0); //Initialise model store = new ToolboxStore (); //initialise view nodeView = new NodeView (store); nodeView.Selection.Mode = SelectionMode.Single; nodeView.HeadersVisible = false; //cell renderers CellRendererPixbuf pixbufRenderer = new CellRendererPixbuf (); CellRendererText textRenderer = new CellRendererText (); textRenderer.Ellipsize = Pango.EllipsizeMode.End; //Main column with text, icons TreeViewColumn col = new TreeViewColumn (); col.PackStart (pixbufRenderer, false); col.SetAttributes (pixbufRenderer, "pixbuf", ToolboxStore.Columns.Icon, "visible", ToolboxStore.Columns.IconVisible, "cell-background-gdk", ToolboxStore.Columns.BackgroundColour); col.PackEnd (textRenderer, true); col.SetAttributes (textRenderer, "text", ToolboxStore.Columns.Label, "weight", ToolboxStore.Columns.FontWeight, "cell-background-gdk", ToolboxStore.Columns.BackgroundColour); nodeView.AppendColumn (col); //Initialise self scrolledWindow.VscrollbarPolicy = PolicyType.Automatic; scrolledWindow.HscrollbarPolicy = PolicyType.Never; scrolledWindow.WidthRequest = 150; scrolledWindow.AddWithViewport (nodeView); //selection events nodeView.NodeSelection.Changed += OnSelectionChanged; nodeView.RowActivated += OnRowActivated; //update view when toolbox service updated toolboxService.ToolboxChanged += new EventHandler (tbsChanged); Refresh (); //track expanded state of nodes nodeView.RowCollapsed += new RowCollapsedHandler (whenRowCollapsed); nodeView.RowExpanded += new RowExpandedHandler (whenRowExpanded); //set initial state filterToggleButton.Active = false; catToggleButton.Active = true; }
public FileBrowser() { messageService = (IMessageService) ServiceManager.GetService (typeof (IMessageService)); scrolledwindow = new ScrolledWindow (); scrolledwindow.VscrollbarPolicy = PolicyType.Automatic; scrolledwindow.HscrollbarPolicy = PolicyType.Automatic; scrolledwindow.ShadowType = ShadowType.In; Toolbar toolbar = new Toolbar (); toolbar.IconSize = IconSize.SmallToolbar; goUp = new ToolButton (Stock.GoUp); goUp.Clicked += new EventHandler (OnGoUpClicked); goUp.SetTooltip (tips, GettextCatalog.GetString ("Go up one level"), "Go up one level"); toolbar.Insert (goUp, -1); goHome = new ToolButton (Stock.Home); goHome.Clicked += new EventHandler (OnGoHomeClicked); goHome.SetTooltip (tips, GettextCatalog.GetString ("Home"), "Home"); toolbar.Insert (goHome, -1); entry = new ToolbarEntry (); entry.Activated += new EventHandler (OnEntryActivated); entry.SetTooltip (tips, GettextCatalog.GetString ("Location"), ""); toolbar.Insert (entry, -1); toolbar.ShowAll (); this.PackStart (toolbar, false, true, 0); IProperties p = (IProperties) PropertyService.GetProperty ("SharpDevelop.UI.SelectStyleOptions", new DefaultProperties ()); ignoreHidden = !p.GetProperty ("MonoDevelop.Gui.FileScout.ShowHidden", false); tv = new Gtk.TreeView (); tv.RulesHint = true; TreeViewColumn directorycolumn = new TreeViewColumn (); directorycolumn.Title = "Directories"; CellRendererPixbuf pix_render = new CellRendererPixbuf (); directorycolumn.PackStart (pix_render, false); directorycolumn.AddAttribute (pix_render, "pixbuf", 0); text_render = new CellRendererText (); text_render.Edited += new EditedHandler (OnDirEdited); directorycolumn.PackStart (text_render, false); directorycolumn.AddAttribute (text_render, "text", 1); tv.AppendColumn (directorycolumn); store = new ListStore (typeof (Gdk.Pixbuf), typeof (string)); CurrentDir = Environment.GetFolderPath (Environment.SpecialFolder.Personal); tv.Model = store; tv.RowActivated += new RowActivatedHandler (OnRowActivated); tv.ButtonReleaseEvent += new ButtonReleaseEventHandler (OnButtonRelease); tv.PopupMenu += new PopupMenuHandler (OnPopupMenu); scrolledwindow.Add (tv); this.Homogeneous = false; this.PackEnd (scrolledwindow); this.ShowAll (); init = true; }
public StatusView (string filepath, Repository vc) : base(Path.GetFileName(filepath) + " Status") { this.vc = vc; this.filepath = filepath; changeSet = vc.CreateChangeSet (filepath); main = new VBox(false, 6); widget = main; commandbar = new Toolbar (); commandbar.ToolbarStyle = Gtk.ToolbarStyle.BothHoriz; commandbar.IconSize = Gtk.IconSize.Menu; main.PackStart (commandbar, false, false, 0); buttonCommit = new Gtk.ToolButton (new Gtk.Image ("vc-commit", Gtk.IconSize.Menu), GettextCatalog.GetString ("Commit...")); buttonCommit.IsImportant = true; buttonCommit.Clicked += new EventHandler (OnCommitClicked); commandbar.Insert (buttonCommit, -1); Gtk.ToolButton btnRefresh = new Gtk.ToolButton (new Gtk.Image (Gtk.Stock.Refresh, IconSize.Menu), GettextCatalog.GetString ("Refresh")); btnRefresh.IsImportant = true; btnRefresh.Clicked += new EventHandler (OnRefresh); commandbar.Insert (btnRefresh, -1); buttonRevert = new Gtk.ToolButton (new Gtk.Image ("vc-revert-command", Gtk.IconSize.Menu), GettextCatalog.GetString ("Revert")); buttonRevert.IsImportant = true; buttonRevert.Clicked += new EventHandler (OnRevert); commandbar.Insert (buttonRevert, -1); showRemoteStatus = new Gtk.ToolButton (new Gtk.Image ("vc-remote-status", Gtk.IconSize.Menu), GettextCatalog.GetString ("Show Remote Status")); showRemoteStatus.IsImportant = true; showRemoteStatus.Clicked += new EventHandler(OnShowRemoteStatusClicked); commandbar.Insert (showRemoteStatus, -1); Gtk.ToolButton btnCreatePatch = new Gtk.ToolButton (new Gtk.Image ("vc-diff", Gtk.IconSize.Menu), GettextCatalog.GetString ("Create Patch")); btnCreatePatch.IsImportant = true; btnCreatePatch.Clicked += new EventHandler (OnCreatePatch); commandbar.Insert (btnCreatePatch, -1); commandbar.Insert (new Gtk.SeparatorToolItem (), -1); Gtk.ToolButton btnOpen = new Gtk.ToolButton (new Gtk.Image (Gtk.Stock.Open, IconSize.Menu), GettextCatalog.GetString ("Open")); btnOpen.IsImportant = true; btnOpen.Clicked += new EventHandler (OnOpen); commandbar.Insert (btnOpen, -1); commandbar.Insert (new Gtk.SeparatorToolItem (), -1); Gtk.ToolButton btnExpand = new Gtk.ToolButton (null, GettextCatalog.GetString ("Expand All")); btnExpand.IsImportant = true; btnExpand.Clicked += new EventHandler (OnExpandAll); commandbar.Insert (btnExpand, -1); Gtk.ToolButton btnCollapse = new Gtk.ToolButton (null, GettextCatalog.GetString ("Collapse All")); btnCollapse.IsImportant = true; btnCollapse.Clicked += new EventHandler (OnCollapseAll); commandbar.Insert (btnCollapse, -1); commandbar.Insert (new Gtk.SeparatorToolItem (), -1); Gtk.ToolButton btnSelectAll = new Gtk.ToolButton (null, GettextCatalog.GetString ("Select All")); btnSelectAll.IsImportant = true; btnSelectAll.Clicked += new EventHandler (OnSelectAll); commandbar.Insert (btnSelectAll, -1); Gtk.ToolButton btnSelectNone = new Gtk.ToolButton (null, GettextCatalog.GetString ("Select None")); btnSelectNone.IsImportant = true; btnSelectNone.Clicked += new EventHandler (OnSelectNone); commandbar.Insert (btnSelectNone, -1); status = new Label(""); main.PackStart(status, false, false, 0); scroller = new ScrolledWindow(); scroller.ShadowType = Gtk.ShadowType.In; filelist = new FileTreeView(); filelist.Selection.Mode = Gtk.SelectionMode.Multiple; scroller.Add(filelist); scroller.HscrollbarPolicy = PolicyType.Automatic; scroller.VscrollbarPolicy = PolicyType.Automatic; filelist.RowActivated += OnRowActivated; filelist.DiffLineActivated += OnDiffLineActivated; CellRendererToggle cellToggle = new CellRendererToggle(); cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler); var crc = new CellRendererIcon (); crc.StockId = "vc-comment"; colCommit = new TreeViewColumn (); colCommit.Spacing = 2; colCommit.Widget = new Gtk.Image ("vc-commit", Gtk.IconSize.Menu); colCommit.Widget.Show (); colCommit.PackStart (cellToggle, false); colCommit.PackStart (crc, false); colCommit.AddAttribute (cellToggle, "active", ColCommit); colCommit.AddAttribute (cellToggle, "visible", ColShowToggle); colCommit.AddAttribute (crc, "visible", ColShowComment); CellRendererText crt = new CellRendererText(); var crp = new CellRendererPixbuf (); TreeViewColumn colStatus = new TreeViewColumn (); colStatus.Title = GettextCatalog.GetString ("Status"); colStatus.PackStart (crp, false); colStatus.PackStart (crt, true); colStatus.AddAttribute (crp, "pixbuf", ColIcon); colStatus.AddAttribute (crp, "visible", ColShowStatus); colStatus.AddAttribute (crt, "text", ColStatus); colStatus.AddAttribute (crt, "foreground", ColStatusColor); TreeViewColumn colFile = new TreeViewColumn (); colFile.Title = GettextCatalog.GetString ("File"); colFile.Spacing = 2; crp = new CellRendererPixbuf (); diffRenderer = new CellRendererDiff (); colFile.PackStart (crp, false); colFile.PackStart (diffRenderer, true); colFile.AddAttribute (crp, "pixbuf", ColIconFile); colFile.AddAttribute (crp, "visible", ColShowStatus); colFile.SetCellDataFunc (diffRenderer, new TreeCellDataFunc (SetDiffCellData)); crt = new CellRendererText(); crp = new CellRendererPixbuf (); colRemote = new TreeViewColumn (); colRemote.Title = GettextCatalog.GetString ("Remote Status"); colRemote.PackStart (crp, false); colRemote.PackStart (crt, true); colRemote.AddAttribute (crp, "pixbuf", ColRemoteIcon); colRemote.AddAttribute (crt, "text", ColRemoteStatus); colRemote.AddAttribute (crt, "foreground", ColStatusColor); filelist.AppendColumn(colStatus); filelist.AppendColumn(colRemote); filelist.AppendColumn(colCommit); filelist.AppendColumn(colFile); colRemote.Visible = false; filestore = new TreeStore (typeof (Gdk.Pixbuf), typeof (string), typeof (string[]), typeof (string), typeof(bool), typeof(bool), typeof(string), typeof(bool), typeof (bool), typeof(Gdk.Pixbuf), typeof(bool), typeof (Gdk.Pixbuf), typeof(string), typeof(bool), typeof(bool)); filelist.Model = filestore; filelist.TestExpandRow += new Gtk.TestExpandRowHandler (OnTestExpandRow); commitBox = new VBox (); HBox labBox = new HBox (); labelCommit = new Gtk.Label (GettextCatalog.GetString ("Commit message:")); labelCommit.Xalign = 0; labBox.PackStart (new Gtk.Image ("vc-comment", Gtk.IconSize.Menu), false, false, 0); labBox.PackStart (labelCommit, true, true, 3); commitBox.PackStart (labBox, false, false, 0); Gtk.ScrolledWindow frame = new Gtk.ScrolledWindow (); frame.ShadowType = ShadowType.In; commitText = new TextView (); commitText.WrapMode = WrapMode.WordChar; commitText.Buffer.Changed += OnCommitTextChanged; frame.Add (commitText); commitBox.PackStart (frame, true, true, 6); VPaned paned = new VPaned (); paned.Pack1 (scroller, true, true); paned.Pack2 (commitBox, false, false); main.PackStart (paned, true, true, 0); main.ShowAll(); status.Visible = false; filelist.Selection.Changed += new EventHandler(OnCursorChanged); VersionControlService.FileStatusChanged += OnFileStatusChanged; filelist.HeadersClickable = true; filestore.SetSortFunc (0, CompareNodes); colStatus.SortColumnId = 0; filestore.SetSortFunc (1, CompareNodes); colRemote.SortColumnId = 1; filestore.SetSortFunc (2, CompareNodes); colCommit.SortColumnId = 2; filestore.SetSortFunc (3, CompareNodes); colFile.SortColumnId = 3; filestore.SetSortColumnId (3, Gtk.SortType.Ascending); filelist.DoPopupMenu = DoPopupMenu; StartUpdate(); }
public LogView (string filepath, bool isDirectory, Revision [] history, Repository vc) : base (Path.GetFileName (filepath) + " Log") { this.vc = vc; this.filepath = filepath; this.history = history; try { this.vinfo = vc.GetVersionInfo (filepath, false); } catch (Exception ex) { MessageService.ShowException (ex, GettextCatalog.GetString ("Version control command failed.")); } // Widget setup VBox box = new VBox (false, 6); widget = box; // Create the toolbar commandbar = new Toolbar (); commandbar.ToolbarStyle = Gtk.ToolbarStyle.BothHoriz; commandbar.IconSize = Gtk.IconSize.Menu; box.PackStart (commandbar, false, false, 0); if (vinfo != null) { Gtk.ToolButton button = new Gtk.ToolButton (new Gtk.Image ("vc-diff", Gtk.IconSize.Menu), GettextCatalog.GetString ("View Changes")); button.IsImportant = true; if (isDirectory) { button.Clicked += new EventHandler (DirDiffButtonClicked); commandbar.Insert (button, -1); } else { button.Clicked += new EventHandler (DiffButtonClicked); commandbar.Insert (button, -1); button = new Gtk.ToolButton (new Gtk.Image (Gtk.Stock.Open, Gtk.IconSize.Menu), GettextCatalog.GetString ("View File")); button.IsImportant = true; button.Clicked += new EventHandler (ViewTextButtonClicked); commandbar.Insert (button, -1); } } revertButton = new Gtk.ToolButton (new Gtk.Image ("vc-revert-command", Gtk.IconSize.Menu), GettextCatalog.GetString ("Revert changes from this revision")); revertButton.IsImportant = true; revertButton.Sensitive = false; revertButton.Clicked += new EventHandler (RevertRevisionClicked); commandbar.Insert (revertButton, -1); revertToButton = new Gtk.ToolButton (new Gtk.Image ("vc-revert-command", Gtk.IconSize.Menu), GettextCatalog.GetString ("Revert to this revision")); revertToButton.IsImportant = true; revertToButton.Sensitive = false; revertToButton.Clicked += new EventHandler (RevertToRevisionClicked); commandbar.Insert (revertToButton, -1); // A paned with two trees Gtk.VPaned paned = new Gtk.VPaned (); box.PackStart (paned, true, true, 0); // Create the log list loglist = new TreeView (); ScrolledWindow loglistscroll = new ScrolledWindow (); loglistscroll.ShadowType = Gtk.ShadowType.In; loglistscroll.Add (loglist); loglistscroll.HscrollbarPolicy = PolicyType.Automatic; loglistscroll.VscrollbarPolicy = PolicyType.Automatic; paned.Add1 (loglistscroll); ((Paned.PanedChild)paned [loglistscroll]).Resize = true; TreeView changedPaths = new TreeView (); ScrolledWindow changedPathsScroll = new ScrolledWindow (); changedPathsScroll.ShadowType = Gtk.ShadowType.In; changedPathsScroll.HscrollbarPolicy = PolicyType.Automatic; changedPathsScroll.VscrollbarPolicy = PolicyType.Automatic; changedPathsScroll.Add (changedPaths); paned.Add2 (changedPathsScroll); ((Paned.PanedChild)paned [changedPathsScroll]).Resize = false; widget.ShowAll (); // Revision list setup CellRendererText textRenderer = new CellRendererText (); textRenderer.Yalign = 0; TreeViewColumn colRevNum = new TreeViewColumn (GettextCatalog.GetString ("Revision"), textRenderer, "text", 0); TreeViewColumn colRevDate = new TreeViewColumn (GettextCatalog.GetString ("Date"), textRenderer, "text", 1); TreeViewColumn colRevAuthor = new TreeViewColumn (GettextCatalog.GetString ("Author"), textRenderer, "text", 2); TreeViewColumn colRevMessage = new TreeViewColumn (GettextCatalog.GetString ("Message"), textRenderer, "text", 3); loglist.AppendColumn (colRevNum); loglist.AppendColumn (colRevDate); loglist.AppendColumn (colRevAuthor); loglist.AppendColumn (colRevMessage); ListStore logstore = new ListStore (typeof (string), typeof (string), typeof (string), typeof (string)); loglist.Model = logstore; foreach (Revision d in history) { logstore.AppendValues( d.ToString (), d.Time.ToString (), d.Author, d.Message == String.Empty ? GettextCatalog.GetString ("(No message)") : d.Message); } // Changed paths list setup changedpathstore = new ListStore (typeof(Gdk.Pixbuf), typeof (string), typeof(Gdk.Pixbuf), typeof (string)); changedPaths.Model = changedpathstore; TreeViewColumn colOperation = new TreeViewColumn (); CellRendererText crt = new CellRendererText (); var crp = new CellRendererPixbuf (); colOperation.Title = GettextCatalog.GetString ("Operation"); colOperation.PackStart (crp, false); colOperation.PackStart (crt, true); colOperation.AddAttribute (crp, "pixbuf", 0); colOperation.AddAttribute (crt, "text", 1); changedPaths.AppendColumn (colOperation); TreeViewColumn colChangedPath = new TreeViewColumn (); crp = new CellRendererPixbuf (); crt = new CellRendererText (); colChangedPath.Title = GettextCatalog.GetString ("File Path"); colChangedPath.PackStart (crp, false); colChangedPath.PackStart (crt, true); colChangedPath.AddAttribute (crp, "pixbuf", 2); colChangedPath.AddAttribute (crt, "text", 3); changedPaths.AppendColumn (colChangedPath); loglist.Selection.Changed += new EventHandler (TreeSelectionChanged); }
public SingleView(Uri[] uris) { uri = uris[0]; Log.Debug("uri: " + uri); var builder = new GtkBeans.Builder("single_view.ui"); builder.Autoconnect(this); LoadPreference(Preferences.VIEWER_WIDTH); LoadPreference(Preferences.VIEWER_MAXIMIZED); var toolbar = new Gtk.Toolbar(); toolbar_hbox.PackStart(toolbar); rl_button = GtkUtil.ToolButtonFromTheme("object-rotate-left", Strings.RotateLeft, true); rl_button.Clicked += HandleRotate270Command; rl_button.TooltipText = Strings.RotatePhotoLeft; toolbar.Insert(rl_button, -1); rr_button = GtkUtil.ToolButtonFromTheme("object-rotate-right", Strings.RotateRight, true); rr_button.Clicked += HandleRotate90Command; rr_button.TooltipText = Strings.RotatePhotoRight; toolbar.Insert(rr_button, -1); toolbar.Insert(new SeparatorToolItem(), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme("view-fullscreen", Strings.Fullscreen, true); fs_button.Clicked += HandleViewFullscreen; fs_button.TooltipText = Strings.ViewPhotosFullscreen; toolbar.Insert(fs_button, -1); ToolButton ss_button = GtkUtil.ToolButtonFromTheme("media-playback-start", Strings.Slideshow, true); ss_button.Clicked += HandleViewSlideshow; ss_button.TooltipText = Strings.ViewPhotosInASlideshow; toolbar.Insert(ss_button, -1); collection = new UriCollection(uris); var targetList = new TargetList(); //targetList.AddTextTargets (DragDropTargets.TargetType.PlainText); //targetList.AddUriTargets (DragDropTargets.TargetType.UriList); //directory_view = new SelectionCollectionGridView (collection); directory_view.Selection.Changed += HandleSelectionChanged; directory_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet(directory_view, DestDefaults.All, (TargetEntry[])targetList, DragAction.Copy | DragAction.Move); directory_view.DisplayTags = false; directory_view.DisplayDates = false; directory_view.DisplayRatings = false; directory_scrolled = new ScrolledWindow(); directory_scrolled.Add(directory_view); sidebar = new Sidebar(); info_vbox.Add(sidebar); sidebar.AppendPage(directory_scrolled, Strings.Folder, "gtk-directory"); AddinManager.AddExtensionNodeHandler("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Single; sidebar.CloseRequested += HandleHideSidePane; sidebar.Show(); App.Instance.Container.Resolve <IThumbnailLoader> ().OnPixbufLoaded += delegate { directory_view.QueueDraw(); }; imageView = new PhotoImageView(collection); GtkUtil.ModifyColors(imageView); GtkUtil.ModifyColors(image_scrolled); imageView.ZoomChanged += HandleZoomChanged; imageView.Item.Changed += HandleItemChanged; imageView.ButtonPressEvent += HandleImageViewButtonPressEvent; imageView.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet(imageView, DestDefaults.All, (TargetEntry[])targetList, DragAction.Copy | DragAction.Move); image_scrolled.Add(imageView); Window.ShowAll(); zoom_scale.ValueChanged += HandleZoomScaleValueChanged; LoadPreference(Preferences.VIEWER_SHOW_TOOLBAR); LoadPreference(Preferences.VIEWER_INTERPOLATION); LoadPreference(Preferences.VIEWER_TRANSPARENCY); LoadPreference(Preferences.VIEWER_TRANS_COLOR); ShowSidebar = collection.Count > 1; LoadPreference(Preferences.VIEWER_SHOW_FILENAMES); Preferences.SettingChanged += OnPreferencesChanged; Window.DeleteEvent += HandleDeleteEvent; collection.Changed += HandleCollectionChanged; // wrap the methods to fit to the delegate imageView.Item.Changed += delegate(object sender, BrowsablePointerChangedEventArgs old) { if (!(sender is BrowsablePointer pointer)) { return; } IPhoto[] item = { pointer.Current }; sidebar.HandleSelectionChanged(new ObservableCollection <IPhoto>(item)); }; imageView.Item.Collection.CollectionChanged += sidebar.HandleCollectionItemsChanged; UpdateStatusLabel(); if (collection.Count > 0) { directory_view.Selection.Add(0); } export.Submenu = (AddinManager.GetExtensionNode("/FSpot/Menus/Exports") as SubmenuNode).GetMenuItem(this).Submenu; export.Submenu.ShowAll(); export.Activated += HandleExportActivated; }
// Icon,Show Name, Full Path, TypFile public WorkspaceTree() { treeView = new TreeView(); treeView.ButtonReleaseEvent += new ButtonReleaseEventHandler(OnButtonRelease); treeView.KeyReleaseEvent += delegate(object o, KeyReleaseEventArgs args) { if(args.Event.Key == Gdk.Key.Delete){ MainClass.MainWindow.DeleteFile(); } }; //treeView.Model = modelStore = store; filter = new Gtk.TreeModelFilter(store, null); filter.VisibleFunc = new Gtk.TreeModelFilterVisibleFunc(FilterTree); treeView.Model = filter; treeView.HeadersVisible = true; //this.ExpandAll(); treeView.Selection.Mode = Gtk.SelectionMode.Single; treeView.RowActivated += OnRowActivate; treeView.Selection.Changed+= OnRowSelection; treeView.ShowExpanders = true; // TreeViewColumn display_column.PackStart (text_render, true); CellRendererPixbuf crp = new CellRendererPixbuf(); crp.Ypad = 0; crp.Yalign = 0; Gtk.CellRendererText fileNameRenderer = new Gtk.CellRendererText(); fileNameRenderer.Ypad =0; TreeViewColumn icon_column = new TreeViewColumn();//("Icon", crp, "pixbuf", ICO_ROW); icon_column.PackStart (crp, false); icon_column.AddAttribute(crp,"pixbuf",ICO_ROW); icon_column.PackStart (fileNameRenderer, true); icon_column.AddAttribute (fileNameRenderer, "markup", NAME_ROW); treeView.AppendColumn(icon_column); //treeView.AppendColumn("Icon", crp, "pixbuf", ICO_ROW); treeView.AppendColumn("Name", fileNameRenderer, "text", NAME_ROW); treeView.Columns[NAME_ROW].Visible = false; CellRendererText textRenderer = new CellRendererText(); textRenderer.Ypad =0; treeView.AppendColumn("FullPath", textRenderer, "text", PATH_ROW); treeView.Columns[PATH_ROW].Visible = false; treeView.HeadersVisible = false; treeView.EnableTreeLines = true; treeView.HoverExpand = false; treeView.HoverSelection = false; treeView.Columns[NAME_ROW].SetCellDataFunc(fileNameRenderer, new Gtk.TreeCellDataFunc(RenderFileNme)); sw.ShadowType = ShadowType.Out; sw.Add(treeView); this.PackEnd(sw, true, true, 0); Toolbar toolbar = new Toolbar (); refreshButton = new ToolButton ("refresh.png");//Stock.Home); refreshButton.IsImportant = true; refreshButton.Label = MainClass.Languages.Translate("menu_refresh"); refreshButton.BorderWidth = 1; refreshButton.Clicked+= delegate { MainClass.MainWindow.RefreshProject(); }; toolbar.Insert (refreshButton, -1); Gtk.Menu menuAdd = new Gtk.Menu (); MenuItem mi = new MenuItem (MainClass.Languages.Translate("menu_create_file")); mi.Activated += delegate(object sender, EventArgs e) { NewAction nw = new NewAction(); nw.Activate(); }; menuAdd.Insert (mi, -1); mi = new MenuItem (MainClass.Languages.Translate("menu_create_dir")); mi.Activated += delegate(object sender, EventArgs e) { NewDirectoryAction nw = new NewDirectoryAction(); nw.Activate(); }; menuAdd.Insert (mi, -1); menuAdd.ShowAll (); mtbCreate= new MenusToolButton(menuAdd,"file-new.png"); mtbCreate.IsImportant = true; mtbCreate.Label = "Create"; toolbar.Insert (mtbCreate, -1); if(MainClass.Settings.LogicalSort == null) MainClass.Settings.LogicalSort = LogicalSystem.GetDefaultLogicalSystem(); Gtk.Menu menuFilter = new Gtk.Menu (); MenuItem menuItemFilter = new MenuItem (MainClass.Languages.Translate("all_files") ); menuItemFilter.Activated += delegate(object sender, EventArgs e) { activetFilter = null; filter.Refilter(); treeView.QueueDraw(); }; menuFilter.Insert (menuItemFilter, -1); foreach (LogicalSystem ls in MainClass.Settings.LogicalSort){ LogicalSystem lsTemp = ls; menuItemFilter = new MenuItem (lsTemp.Display); menuItemFilter.Activated += delegate(object sender, EventArgs e) { if (lsTemp != null) { activetFilter = lsTemp; } else { activetFilter = null; } filter.Refilter(); treeView.QueueDraw(); }; menuFilter.Insert (menuItemFilter, -1); //filterModel.AppendValues(ls.Display, "", ls); } menuFilter.ShowAll(); MenusToolButton mtbFilter= new MenusToolButton(menuFilter,"filter.png"); mtbFilter.IsImportant = true; mtbFilter.Label = "Filter"; toolbar.Insert (mtbFilter, -1); this.PackStart(toolbar, false, false, 0); //this.PackStart(ComboFilter, false, false, 0); //ComboFilter.Active = 0; }
void CreateControlFromInfo () { this.vc = info.Item.Repository; this.filepath = info.Item.Path; // Widget setup VBox box = new VBox (false, 6); widget = box; // Create the toolbar commandbar = new Toolbar (); commandbar.ToolbarStyle = Gtk.ToolbarStyle.BothHoriz; commandbar.IconSize = Gtk.IconSize.Menu; box.PackStart (commandbar, false, false, 0); if (vinfo != null) { Gtk.ToolButton button = new Gtk.ToolButton (new Gtk.Image ("vc-diff", Gtk.IconSize.Menu), GettextCatalog.GetString ("View Changes")); button.IsImportant = true; button.Clicked += new EventHandler (DiffButtonClicked); commandbar.Insert (button, -1); button = new Gtk.ToolButton (new Gtk.Image (Gtk.Stock.Open, Gtk.IconSize.Menu), GettextCatalog.GetString ("View File")); button.IsImportant = true; button.Clicked += new EventHandler (ViewTextButtonClicked); commandbar.Insert (button, -1); } revertButton = new Gtk.ToolButton (new Gtk.Image ("vc-revert-command", Gtk.IconSize.Menu), GettextCatalog.GetString ("Revert changes from this revision")); revertButton.IsImportant = true; revertButton.Sensitive = false; revertButton.Clicked += new EventHandler (RevertRevisionClicked); commandbar.Insert (revertButton, -1); revertToButton = new Gtk.ToolButton (new Gtk.Image ("vc-revert-command", Gtk.IconSize.Menu), GettextCatalog.GetString ("Revert to this revision")); revertToButton.IsImportant = true; revertToButton.Sensitive = false; revertToButton.Clicked += new EventHandler (RevertToRevisionClicked); commandbar.Insert (revertToButton, -1); // A paned with two trees Gtk.VPaned paned = new Gtk.VPaned (); box.PackStart (paned, true, true, 0); // Create the log list loglist = new TreeView (); ScrolledWindow loglistscroll = new ScrolledWindow (); loglistscroll.ShadowType = Gtk.ShadowType.In; loglistscroll.Add (loglist); loglistscroll.HscrollbarPolicy = PolicyType.Automatic; loglistscroll.VscrollbarPolicy = PolicyType.Automatic; paned.Add1 (loglistscroll); ((Paned.PanedChild)paned [loglistscroll]).Resize = true; TreeView changedPaths = new TreeView (); ScrolledWindow changedPathsScroll = new ScrolledWindow (); changedPathsScroll.ShadowType = Gtk.ShadowType.In; changedPathsScroll.HscrollbarPolicy = PolicyType.Automatic; changedPathsScroll.VscrollbarPolicy = PolicyType.Automatic; changedPathsScroll.Add (changedPaths); paned.Add2 (changedPathsScroll); ((Paned.PanedChild)paned [changedPathsScroll]).Resize = false; widget.ShowAll (); // Revision list setup CellRendererText textRenderer = new CellRendererText (); textRenderer.Yalign = 0; TreeViewColumn colRevNum = new TreeViewColumn (GettextCatalog.GetString ("Revision"), textRenderer, "text", 0); colRevNum.Resizable = true; TreeViewColumn colRevDate = new TreeViewColumn (GettextCatalog.GetString ("Date"), textRenderer, "text", 1); colRevDate.Resizable = true; TreeViewColumn colRevAuthor = new TreeViewColumn (GettextCatalog.GetString ("Author"), textRenderer, "text", 2); colRevAuthor.Resizable = true; TreeViewColumn colRevMessage = new TreeViewColumn (GettextCatalog.GetString ("Message"), textRenderer, "text", 3); colRevMessage.Resizable = true; loglist.AppendColumn (colRevNum); loglist.AppendColumn (colRevDate); loglist.AppendColumn (colRevAuthor); loglist.AppendColumn (colRevMessage); logstore = new ListStore (typeof (string), typeof (string), typeof (string), typeof (string)); loglist.Model = logstore; // Changed paths list setup changedpathstore = new ListStore (typeof(Gdk.Pixbuf), typeof (string), typeof(Gdk.Pixbuf), typeof (string)); changedPaths.Model = changedpathstore; TreeViewColumn colOperation = new TreeViewColumn (); CellRendererText crt = new CellRendererText (); var crp = new CellRendererPixbuf (); colOperation.Title = GettextCatalog.GetString ("Operation"); colOperation.PackStart (crp, false); colOperation.PackStart (crt, true); colOperation.AddAttribute (crp, "pixbuf", 0); colOperation.AddAttribute (crt, "text", 1); changedPaths.AppendColumn (colOperation); TreeViewColumn colChangedPath = new TreeViewColumn (); crp = new CellRendererPixbuf (); crt = new CellRendererText (); colChangedPath.Title = GettextCatalog.GetString ("File Path"); colChangedPath.PackStart (crp, false); colChangedPath.PackStart (crt, true); colChangedPath.AddAttribute (crp, "pixbuf", 2); colChangedPath.AddAttribute (crt, "text", 3); changedPaths.AppendColumn (colChangedPath); loglist.Selection.Changed += new EventHandler (TreeSelectionChanged); info.Updated += delegate { history = this.info.History; vinfo = this.info.VersionInfo; ShowHistory (); }; history = this.info.History; vinfo = this.info.VersionInfo; ShowHistory (); }
public SingleView(SafeUri [] uris) { this.uri = uris [0]; Log.Debug ("uri: " + this.uri); GtkBeans.Builder builder = new GtkBeans.Builder ("single_view.ui"); builder.Autoconnect (this); LoadPreference (Preferences.VIEWER_WIDTH); LoadPreference (Preferences.VIEWER_MAXIMIZED); Gtk.Toolbar toolbar = new Gtk.Toolbar (); toolbar_hbox.PackStart (toolbar); rl_button = GtkUtil.ToolButtonFromTheme ("object-rotate-left", Catalog.GetString ("Rotate Left"), true); rl_button.Clicked += HandleRotate270Command; rl_button.TooltipText = Catalog.GetString ("Rotate photo left"); toolbar.Insert (rl_button, -1); rr_button = GtkUtil.ToolButtonFromTheme ("object-rotate-right", Catalog.GetString ("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; rr_button.TooltipText = Catalog.GetString ("Rotate photo right"); toolbar.Insert (rr_button, -1); toolbar.Insert (new SeparatorToolItem (), -1); ToolButton fs_button = GtkUtil.ToolButtonFromTheme ("view-fullscreen", Catalog.GetString ("Fullscreen"), true); 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"), true); ss_button.Clicked += HandleViewSlideshow; ss_button.TooltipText = Catalog.GetString ("View photos in a slideshow"); toolbar.Insert (ss_button, -1); collection = new UriCollection (uris); TargetList targetList = new TargetList(); targetList.AddTextTargets((uint)DragDropTargets.TargetType.PlainText); targetList.AddUriTargets((uint)DragDropTargets.TargetType.UriList); directory_view = new SelectionCollectionGridView (collection); directory_view.Selection.Changed += HandleSelectionChanged; directory_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet (directory_view, DestDefaults.All, (TargetEntry[])targetList, DragAction.Copy | DragAction.Move); directory_view.DisplayTags = false; directory_view.DisplayDates = false; directory_view.DisplayRatings = false; directory_scrolled = new ScrolledWindow(); directory_scrolled.Add (directory_view); sidebar = new Sidebar (); info_vbox.Add (sidebar); sidebar.AppendPage (directory_scrolled, Catalog.GetString ("Folder"), "gtk-directory"); AddinManager.AddExtensionNodeHandler ("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Single; sidebar.CloseRequested += HandleHideSidePane; sidebar.Show (); ThumbnailLoader.Default.OnPixbufLoaded += delegate { directory_view.QueueDraw (); }; image_view = new PhotoImageView (collection); GtkUtil.ModifyColors (image_view); GtkUtil.ModifyColors (image_scrolled); image_view.ZoomChanged += HandleZoomChanged; image_view.Item.Changed += HandleItemChanged; image_view.ButtonPressEvent += HandleImageViewButtonPressEvent; image_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet (image_view, DestDefaults.All, (TargetEntry[])targetList, DragAction.Copy | DragAction.Move); image_scrolled.Add (image_view); Window.ShowAll (); zoom_scale.ValueChanged += HandleZoomScaleValueChanged; LoadPreference (Preferences.VIEWER_SHOW_TOOLBAR); LoadPreference (Preferences.VIEWER_INTERPOLATION); LoadPreference (Preferences.VIEWER_TRANSPARENCY); LoadPreference (Preferences.VIEWER_TRANS_COLOR); ShowSidebar = collection.Count > 1; LoadPreference (Preferences.VIEWER_SHOW_FILENAMES); Preferences.SettingChanged += OnPreferencesChanged; Window.DeleteEvent += HandleDeleteEvent; collection.Changed += HandleCollectionChanged; // wrap the methods to fit to the delegate image_view.Item.Changed += delegate (object sender, BrowsablePointerChangedEventArgs old) { BrowsablePointer pointer = sender as BrowsablePointer; if (pointer == null) return; IPhoto [] item = {pointer.Current}; sidebar.HandleSelectionChanged (new PhotoList (item)); }; image_view.Item.Collection.ItemsChanged += sidebar.HandleSelectionItemsChanged; UpdateStatusLabel (); if (collection.Count > 0) directory_view.Selection.Add (0); export.Submenu = (Mono.Addins.AddinManager.GetExtensionNode ("/FSpot/Menus/Exports") as FSpot.Extensions.SubmenuNode).GetMenuItem (this).Submenu; export.Submenu.ShowAll (); export.Activated += HandleExportActivated ; }
public SingleView(Uri [] uris) { string glade_name = "single_view"; this.uri = uris [0]; System.Console.WriteLine("uri = {0}", uri.ToString()); xml = new Glade.XML(null, "f-spot.glade", glade_name, "f-spot"); xml.Autoconnect(this); window = (Gtk.Window)xml.GetWidget(glade_name); LoadPreference(Preferences.VIEWER_WIDTH); LoadPreference(Preferences.VIEWER_MAXIMIZED); Gtk.Toolbar toolbar = new Gtk.Toolbar(); toolbar_hbox.PackStart(toolbar); ToolButton rl_button = GtkUtil.ToolButtonFromTheme("object-rotate-left", Catalog.GetString("Rotate Left"), true); rl_button.Clicked += HandleRotate270Command; rl_button.SetTooltip(toolTips, Catalog.GetString("Rotate photo left"), null); toolbar.Insert(rl_button, -1); ToolButton rr_button = GtkUtil.ToolButtonFromTheme("object-rotate-right", Catalog.GetString("Rotate Right"), true); rr_button.Clicked += HandleRotate90Command; rr_button.SetTooltip(toolTips, Catalog.GetString("Rotate photo right"), null); toolbar.Insert(rr_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); collection = new UriCollection(uris); TargetEntry [] dest_table = { new TargetEntry("text/uri-list", 0, 0), new TargetEntry("text/plain", 0, 1) }; directory_view = new FSpot.Widgets.IconView(collection); directory_view.Selection.Changed += HandleSelectionChanged; directory_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet(directory_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); directory_view.DisplayTags = false; directory_view.DisplayDates = false; directory_view.DisplayRatings = false; directory_scrolled = new ScrolledWindow(); directory_scrolled.Add(directory_view); sidebar = new Sidebar(); info_vbox.Add(sidebar); sidebar.AppendPage(directory_scrolled, Catalog.GetString("Folder"), "gtk-directory"); AddinManager.AddExtensionNodeHandler("/FSpot/Sidebar", OnSidebarExtensionChanged); sidebar.Context = ViewContext.Single; sidebar.CloseRequested += HandleHideSidePane; sidebar.Show(); ThumbnailGenerator.Default.OnPixbufLoaded += delegate { directory_view.QueueDraw(); }; image_view = new PhotoImageView(collection); GtkUtil.ModifyColors(image_view); GtkUtil.ModifyColors(image_scrolled); image_view.ZoomChanged += HandleZoomChanged; image_view.Item.Changed += HandleItemChanged; image_view.ButtonPressEvent += HandleImageViewButtonPressEvent; image_view.DragDataReceived += HandleDragDataReceived; Gtk.Drag.DestSet(image_view, DestDefaults.All, dest_table, DragAction.Copy | DragAction.Move); image_scrolled.Add(image_view); Window.ShowAll(); zoom_scale.ValueChanged += HandleZoomScaleValueChanged; LoadPreference(Preferences.VIEWER_SHOW_TOOLBAR); LoadPreference(Preferences.VIEWER_INTERPOLATION); LoadPreference(Preferences.VIEWER_TRANSPARENCY); LoadPreference(Preferences.VIEWER_TRANS_COLOR); ShowSidebar = collection.Count > 1; LoadPreference(Preferences.VIEWER_SHOW_FILENAMES); Preferences.SettingChanged += OnPreferencesChanged; window.DeleteEvent += HandleDeleteEvent; collection.Changed += HandleCollectionChanged; // wrap the methods to fit to the delegate image_view.Item.Changed += delegate(BrowsablePointer pointer, BrowsablePointerChangedArgs old) { IBrowsableItem [] item = { pointer.Current }; PhotoArray item_array = new PhotoArray(item); sidebar.HandleSelectionChanged(item_array); }; image_view.Item.Collection.ItemsChanged += sidebar.HandleSelectionItemsChanged; UpdateStatusLabel(); if (collection.Count > 0) { directory_view.Selection.Add(0); } export.Submenu = (Mono.Addins.AddinManager.GetExtensionNode("/FSpot/Menus/Exports") as FSpot.Extensions.SubmenuNode).GetMenuItem(this).Submenu; export.Submenu.ShowAll(); export.Activated += HandleExportActivated; }
// // 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 (); }
public SearchResultWidget () { var vbox = new VBox (); var toolbar = new Toolbar () { Orientation = Orientation.Vertical, IconSize = IconSize.Menu, ToolbarStyle = ToolbarStyle.Icons, }; this.PackStart (vbox, true, true, 0); this.PackStart (toolbar, false, false, 0); labelStatus = new Label () { Xalign = 0, Justify = Justification.Left, }; var hpaned = new HPaned (); vbox.PackStart (hpaned, true, true, 0); vbox.PackStart (labelStatus, false, false, 0); var resultsScroll = new CompactScrolledWindow (); hpaned.Pack1 (resultsScroll, true, true); scrolledwindowLogView = new CompactScrolledWindow (); hpaned.Pack2 (scrolledwindowLogView, true, true); textviewLog = new TextView () { Editable = false, }; scrolledwindowLogView.Add (textviewLog); store = new ListStore (typeof (SearchResult), typeof (bool) // didRead ); treeviewSearchResults = new PadTreeView () { Model = store, HeadersClickable = true, RulesHint = true, }; treeviewSearchResults.Selection.Mode = Gtk.SelectionMode.Multiple; resultsScroll.Add (treeviewSearchResults); var projectColumn = new TreeViewColumn { Resizable = true, SortColumnId = 1, Title = GettextCatalog.GetString ("Project"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 100 }; var projectPixbufRenderer = new CellRendererImage (); projectColumn.PackStart (projectPixbufRenderer, false); projectColumn.SetCellDataFunc (projectPixbufRenderer, ResultProjectIconDataFunc); var renderer = treeviewSearchResults.TextRenderer; renderer.Ellipsize = Pango.EllipsizeMode.End; projectColumn.PackStart (renderer, true); projectColumn.SetCellDataFunc (renderer, ResultProjectDataFunc); treeviewSearchResults.AppendColumn (projectColumn); var fileNameColumn = new TreeViewColumn { Resizable = true, SortColumnId = 2, Title = GettextCatalog.GetString ("File"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 200 }; var fileNamePixbufRenderer = new CellRendererImage (); fileNameColumn.PackStart (fileNamePixbufRenderer, false); fileNameColumn.SetCellDataFunc (fileNamePixbufRenderer, FileIconDataFunc); fileNameColumn.PackStart (renderer, true); fileNameColumn.SetCellDataFunc (renderer, FileNameDataFunc); treeviewSearchResults.AppendColumn (fileNameColumn); TreeViewColumn textColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Text"), renderer, ResultTextDataFunc); textColumn.Resizable = true; textColumn.Sizing = TreeViewColumnSizing.Fixed; textColumn.FixedWidth = 300; pathColumn = treeviewSearchResults.AppendColumn (GettextCatalog.GetString ("Path"), renderer, ResultPathDataFunc); pathColumn.SortColumnId = 3; pathColumn.Resizable = true; pathColumn.Sizing = TreeViewColumnSizing.Fixed; pathColumn.FixedWidth = 500; store.DefaultSortFunc = DefaultSortFunc; store.SetSortFunc (1, CompareProjectFileNames); store.SetSortFunc (2, CompareFileNames); store.SetSortFunc (3, CompareFilePaths); treeviewSearchResults.RowActivated += TreeviewSearchResultsRowActivated; buttonStop = new ToolButton (new ImageView (Gui.Stock.Stop, Gtk.IconSize.Menu), null) { Sensitive = false }; buttonStop.Clicked += ButtonStopClicked; buttonStop.TooltipText = GettextCatalog.GetString ("Stop"); toolbar.Insert (buttonStop, -1); var buttonClear = new ToolButton (new ImageView (Gui.Stock.Clear, Gtk.IconSize.Menu), null); buttonClear.Clicked += ButtonClearClicked; buttonClear.TooltipText = GettextCatalog.GetString ("Clear results"); toolbar.Insert (buttonClear, -1); var buttonOutput = new ToggleToolButton (); buttonOutput.IconWidget = new ImageView (Gui.Stock.OutputIcon, Gtk.IconSize.Menu); buttonOutput.Clicked += ButtonOutputClicked; buttonOutput.TooltipText = GettextCatalog.GetString ("Show output"); toolbar.Insert (buttonOutput, -1); buttonPin = new ToggleToolButton (); buttonPin.IconWidget = new ImageView (Gui.Stock.PinUp, Gtk.IconSize.Menu); buttonPin.Clicked += ButtonPinClicked; buttonPin.TooltipText = GettextCatalog.GetString ("Pin results pad"); toolbar.Insert (buttonPin, -1); // store.SetSortColumnId (3, SortType.Ascending); ShowAll (); scrolledwindowLogView.Hide (); treeviewSearchResults.FixedHeightMode = true; UpdateStyles (); IdeApp.Preferences.ColorScheme.Changed += UpdateStyles; }
public void PopulateToolbarPlaceholder (Toolbar toolbar, string path, Widget item, bool expand) { ToolItem placeholder = (ToolItem)UIManager.GetWidget (path); int position = toolbar.GetItemIndex (placeholder); toolbar.Remove (placeholder); if (item is ToolItem) { ((ToolItem)item).Expand = expand; toolbar.Insert ((ToolItem)item, position); } else { ToolItem container_item = new Hyena.Widgets.GenericToolItem<Widget> (item); container_item.Expand = expand; container_item.Show (); container_item.ToolbarReconfigured += (o, a) => { SetItemSize (container_item, container_item.IconSize); }; toolbar.Insert (container_item, position); } }
public override void Initialize (NodeBuilder[] builders, TreePadOption[] options, string menuPath) { base.Initialize (builders, options, menuPath); testChangedHandler = (EventHandler) DispatchService.GuiDispatch (new EventHandler (OnDetailsTestChanged)); testService.TestSuiteChanged += (EventHandler) DispatchService.GuiDispatch (new EventHandler (OnTestSuiteChanged)); paned = new VPaned (); VBox vbox = new VBox (); DockItemToolbar topToolbar = Window.GetToolbar (PositionType.Top); buttonRunAll = new Button (new Gtk.Image (Gtk.Stock.GoUp, IconSize.Menu)); buttonRunAll.Clicked += new EventHandler (OnRunAllClicked); buttonRunAll.Sensitive = true; buttonRunAll.TooltipText = GettextCatalog.GetString ("Run all tests"); topToolbar.Add (buttonRunAll); buttonRun = new Button (new Gtk.Image (Gtk.Stock.Execute, IconSize.Menu)); buttonRun.Clicked += new EventHandler (OnRunClicked); buttonRun.Sensitive = true; buttonRun.TooltipText = GettextCatalog.GetString ("Run test"); topToolbar.Add (buttonRun); buttonStop = new Button (new Gtk.Image (Gtk.Stock.Stop, IconSize.Menu)); buttonStop.Clicked += new EventHandler (OnStopClicked); buttonStop.Sensitive = false; buttonStop.TooltipText = GettextCatalog.GetString ("Cancel running test"); topToolbar.Add (buttonStop); topToolbar.ShowAll (); vbox.PackEnd (base.Control, true, true, 0); vbox.FocusChain = new Gtk.Widget [] { base.Control }; paned.Pack1 (vbox, true, true); detailsPad = new VBox (); EventBox eb = new EventBox (); HBox header = new HBox (); eb.Add (header); detailLabel = new HeaderLabel (); detailLabel.Padding = 6; Button hb = new Button (new Gtk.Image ("gtk-close", IconSize.SmallToolbar)); hb.Relief = ReliefStyle.None; hb.Clicked += new EventHandler (OnCloseDetails); header.PackEnd (hb, false, false, 0); hb = new Button (new Gtk.Image ("gtk-go-back", IconSize.SmallToolbar)); hb.Relief = ReliefStyle.None; hb.Clicked += new EventHandler (OnGoBackTest); header.PackEnd (hb, false, false, 0); header.Add (detailLabel); Gdk.Color hcol = eb.Style.Background (StateType.Normal); hcol.Red = (ushort) (((double)hcol.Red) * 0.9); hcol.Green = (ushort) (((double)hcol.Green) * 0.9); hcol.Blue = (ushort) (((double)hcol.Blue) * 0.9); // eb.ModifyBg (StateType.Normal, hcol); detailsPad.PackStart (eb, false, false, 0); VPaned panedDetails = new VPaned (); panedDetails.BorderWidth = 3; VBox boxPaned1 = new VBox (); chart = new TestChart (); chart.ButtonPressEvent += OnChartButtonPress; chart.SelectionChanged += new EventHandler (OnChartDateChanged); chart.HeightRequest = 50; Toolbar toolbar = new Toolbar (); toolbar.IconSize = IconSize.SmallToolbar; toolbar.ToolbarStyle = ToolbarStyle.Icons; toolbar.ShowArrow = false; ToolButton but = new ToolButton ("gtk-zoom-in"); but.Clicked += new EventHandler (OnZoomIn); toolbar.Insert (but, -1); but = new ToolButton ("gtk-zoom-out"); but.Clicked += new EventHandler (OnZoomOut); toolbar.Insert (but, -1); but = new ToolButton ("gtk-go-back"); but.Clicked += new EventHandler (OnChartBack); toolbar.Insert (but, -1); but = new ToolButton ("gtk-go-forward"); but.Clicked += new EventHandler (OnChartForward); toolbar.Insert (but, -1); but = new ToolButton ("gtk-goto-last"); but.Clicked += new EventHandler (OnChartLast); toolbar.Insert (but, -1); boxPaned1.PackStart (toolbar, false, false, 0); boxPaned1.PackStart (chart, true, true, 0); panedDetails.Pack1 (boxPaned1, false, false); // Detailed test information -------- infoBook = new ButtonNotebook (); infoBook.PageLoadRequired += new EventHandler (OnPageLoadRequired); // Info - Group summary Frame tf = new Frame (); ScrolledWindow sw = new ScrolledWindow (); detailsTree = new TreeView (); detailsTree.HeadersVisible = true; detailsTree.RulesHint = true; detailsStore = new ListStore (typeof(object), typeof(string), typeof (string), typeof (string), typeof (string)); CellRendererText trtest = new CellRendererText (); CellRendererText tr; TreeViewColumn col3 = new TreeViewColumn (); col3.Expand = false; // col3.Alignment = 0.5f; col3.Widget = new Gtk.Image (CircleImage.Success); col3.Widget.Show (); tr = new CellRendererText (); // tr.Xalign = 0.5f; col3.PackStart (tr, false); col3.AddAttribute (tr, "markup", 2); detailsTree.AppendColumn (col3); TreeViewColumn col4 = new TreeViewColumn (); col4.Expand = false; // col4.Alignment = 0.5f; col4.Widget = new Gtk.Image (CircleImage.Failure); col4.Widget.Show (); tr = new CellRendererText (); // tr.Xalign = 0.5f; col4.PackStart (tr, false); col4.AddAttribute (tr, "markup", 3); detailsTree.AppendColumn (col4); TreeViewColumn col5 = new TreeViewColumn (); col5.Expand = false; // col5.Alignment = 0.5f; col5.Widget = new Gtk.Image (CircleImage.NotRun); col5.Widget.Show (); tr = new CellRendererText (); // tr.Xalign = 0.5f; col5.PackStart (tr, false); col5.AddAttribute (tr, "markup", 4); detailsTree.AppendColumn (col5); TreeViewColumn col1 = new TreeViewColumn (); // col1.Resizable = true; // col1.Expand = true; col1.Title = "Test"; col1.PackStart (trtest, true); col1.AddAttribute (trtest, "markup", 1); detailsTree.AppendColumn (col1); detailsTree.Model = detailsStore; sw.Add (detailsTree); tf.Add (sw); tf.ShowAll (); TestSummaryPage = infoBook.AddPage (GettextCatalog.GetString ("Summary"), tf); // Info - Regressions list tf = new Frame (); sw = new ScrolledWindow (); tf.Add (sw); regressionTree = new TreeView (); regressionTree.HeadersVisible = false; regressionTree.RulesHint = true; regressionStore = new ListStore (typeof(object), typeof(string), typeof (Pixbuf)); CellRendererText trtest2 = new CellRendererText (); var pr = new CellRendererPixbuf (); TreeViewColumn col = new TreeViewColumn (); col.PackStart (pr, false); col.AddAttribute (pr, "pixbuf", 2); col.PackStart (trtest2, false); col.AddAttribute (trtest2, "markup", 1); regressionTree.AppendColumn (col); regressionTree.Model = regressionStore; sw.Add (regressionTree); tf.ShowAll (); TestRegressionsPage = infoBook.AddPage (GettextCatalog.GetString ("Regressions"), tf); // Info - Failed tests list tf = new Frame (); sw = new ScrolledWindow (); tf.Add (sw); failedTree = new TreeView (); failedTree.HeadersVisible = false; failedTree.RulesHint = true; failedStore = new ListStore (typeof(object), typeof(string), typeof (Pixbuf)); trtest2 = new CellRendererText (); pr = new CellRendererPixbuf (); col = new TreeViewColumn (); col.PackStart (pr, false); col.AddAttribute (pr, "pixbuf", 2); col.PackStart (trtest2, false); col.AddAttribute (trtest2, "markup", 1); failedTree.AppendColumn (col); failedTree.Model = failedStore; sw.Add (failedTree); tf.ShowAll (); TestFailuresPage = infoBook.AddPage (GettextCatalog.GetString ("Failed tests"), tf); // Info - results tf = new Frame (); sw = new ScrolledWindow (); tf.Add (sw); resultView = new TextView (); resultView.Editable = false; sw.Add (resultView); tf.ShowAll (); TestResultPage = infoBook.AddPage (GettextCatalog.GetString ("Result"), tf); // Info - Output tf = new Frame (); sw = new ScrolledWindow (); tf.Add (sw); outputView = new TextView (); outputView.Editable = false; sw.Add (outputView); tf.ShowAll (); TestOutputPage = infoBook.AddPage (GettextCatalog.GetString ("Output"), tf); panedDetails.Pack2 (infoBook, true, true); detailsPad.PackStart (panedDetails, true, true, 0); paned.Pack2 (detailsPad, true, true); paned.ShowAll (); infoBook.HidePage (TestResultPage); infoBook.HidePage (TestOutputPage); infoBook.HidePage (TestSummaryPage); infoBook.HidePage (TestRegressionsPage); infoBook.HidePage (TestFailuresPage); detailsPad.Sensitive = false; detailsPad.Hide (); detailsTree.RowActivated += new Gtk.RowActivatedHandler (OnTestActivated); regressionTree.RowActivated += new Gtk.RowActivatedHandler (OnRegressionTestActivated); failedTree.RowActivated += new Gtk.RowActivatedHandler (OnFailedTestActivated); foreach (UnitTest t in testService.RootTests) TreeView.AddChild (t); }
// pridanie menu a toolbarov do prislusnich widgetov private void OnWidgetAdd(object obj, AddWidgetArgs args) { if (args.Widget is Toolbar) { args.Widget.Show(); if (args.Widget.Name == "toolbarLeft") { toolbarLeft = (Toolbar)args.Widget; toolbarLeft.ShowAll(); toolbarLeft.IconSize = IconSize.LargeToolbar; vpMenuLeft.Pack1(toolbarLeft, false, false); } if (args.Widget.Name == "toolbarMiddle") { toolbarMiddle = (Toolbar)args.Widget; vbMenuMidle.PackEnd(toolbarMiddle,true, true, 0);//true, false, ToolItem tic = new ToolItem(); ToolItem tic2 = new ToolItem(); ToolItem tic3 = new ToolItem(); ToolItem til1 = new ToolItem(); ToolItem til2 = new ToolItem(); ToolItem til3 = new ToolItem(); /*Label lbl1 = new Label(MainClass.Languages.Translate("project")); Label lbl2 = new Label(MainClass.Languages.Translate("resolution")); Label lbl3 = new Label(MainClass.Languages.Translate("device"));*/ Label lbl1 = new Label(MainClass.Languages.Translate(" ")); Label lbl2 = new Label(MainClass.Languages.Translate(" ")); Label lbl3 = new Label(MainClass.Languages.Translate(" ")); til1.Add(lbl1); til2.Add(lbl2); til3.Add(lbl3); if(MainClass.Platform.IsMac){ VBox vboxMenu1 = new VBox(); vboxMenu1.PackStart(new Label(),true,false,0); vboxMenu1.PackStart(ddbProject,false,false,0); vboxMenu1.PackEnd(new Label(),true,false,0); VBox vboxMenu2 = new VBox(); vboxMenu2.PackStart(new Label(),true,false,0); vboxMenu2.PackStart(ddbResolution,false,false,0); vboxMenu2.PackEnd(new Label(),true,false,0); VBox vboxMenu3 = new VBox(); vboxMenu3.PackStart(new Label(),true,false,0); vboxMenu3.PackStart(ddbDevice,false,false,0); vboxMenu3.PackEnd(new Label(),true,false,0); tic.Add(vboxMenu1); tic2.Add(vboxMenu2); tic3.Add(vboxMenu3); } else { tic.Add(ddbProject); tic2.Add(ddbResolution); tic3.Add(ddbDevice); } toolbarMiddle.Insert(tic2, 0); toolbarMiddle.Insert(til2, 0); //toolbarMiddle.Insert(new SeparatorToolItem(), 0); toolbarMiddle.Insert(tic3, 0); toolbarMiddle.Insert(til3, 0); //toolbarMiddle.Insert(new SeparatorToolItem(), 0); toolbarMiddle.Insert(tic, 0); toolbarMiddle.Insert(til1, 0); toolbarMiddle.ShowAll(); } if (args.Widget.Name == "toolbarRight1") { toolbarRight1 = (Toolbar)args.Widget; toolbarRight1.IconSize = IconSize.SmallToolbar; toolbarRight1.ToolbarStyle = ToolbarStyle.Icons; //toolbarRight. //hbMenuRight.PackStart(toolbarRight, true, true,0); //vbRight.PackStart(toolbarRight1, true, true,0);//Pack1(toolbarRight, true, true); tblMenuRight.Attach(toolbarRight1,1,2,0,1,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Fill,0,0); } if (args.Widget.Name == "toolbarRight2") { toolbarRight2 = (Toolbar)args.Widget; toolbarRight2.IconSize = IconSize.SmallToolbar; toolbarRight2.ToolbarStyle = ToolbarStyle.Icons; //toolbarRight2.AccelCanActivate; //toolbarRight. //hbMenuRight.PackStart(toolbarRight, true, true,0); tblMenuRight.Attach(toolbarRight2,1,2,1,2,AttachOptions.Expand|AttachOptions.Fill,AttachOptions.Fill,0,0); //vbRight.PackEnd(toolbarRight2, true, true,0);//Pack1(toolbarRight, true, true); } } if (args.Widget is MenuBar) { mainMenu =(MenuBar)args.Widget; mainMenu.Show(); if(!MainClass.Platform.IsMac) vbMenuMidle.PackStart(mainMenu, true, true, 0); } }