public ICSShell(ICSClient client) : base() { this.client = client; textView = new ShellTextView (client); commandEntry = new Entry (); sendButton = new Button (Catalog. GetString ("Send")); ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = win.VscrollbarPolicy = PolicyType.Automatic; win.Add (textView); PackStart (win, true, true, 4); HBox box = new HBox (); box.PackStart (commandEntry, true, true, 4); box.PackStart (sendButton, false, false, 4); PackStart (box, false, true, 4); textView.Editable = false; commandEntry.Activated += OnCommand; sendButton.Clicked += OnCommand; ShowAll (); }
public ICSShell(ICSClient client) : base() { this.client = client; max_chars = 16 * 1024; textView = new TextView (); textView.ModifyFont (Pango.FontDescription. FromString ("Monospace 9")); client.LineReceivedEvent += OnLineReceived; commandEntry = new Entry (); sendButton = new Button (Catalog. GetString ("Send")); ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = win.VscrollbarPolicy = PolicyType.Automatic; win.Add (textView); PackStart (win, true, true, 4); HBox box = new HBox (); box.PackStart (commandEntry, true, true, 4); box.PackStart (sendButton, false, false, 4); PackStart (box, false, true, 4); textView.Editable = false; commandEntry.Activated += OnCommand; sendButton.Clicked += OnCommand; ShowAll (); }
static void Main (string [] args) { Application.Init (); if (args.Length <= 0) { Console.WriteLine ("\nUSAGE: ImageBrowser.exe <directory>\n"); return; } string dir = args [0]; Window window = new Window ("Image Browser"); ScrolledWindow scroll = new ScrolledWindow ();//(new Adjustment (IntPtr.Zero), new Adjustment (IntPtr.Zero)); ArrayList images = GetItemsFromDirectory (dir); Table table = PopulateTable (images); window.Title = String.Format ("{0}: {1} ({2} images)", window.Title, dir, images.Count); window.SetDefaultSize (300, 200); //window.DeleteEvent += Window_Delete; scroll.AddWithViewport (table); //scroll.SetPolicy (PolicyType.Automatic, PolicyType.Automatic); window.Add (scroll); window.ShowAll (); Application.Run (); }
public RelayTournamentsView(ICSClient c) { client = c; tournamentIter = TreeIter.Zero; store = new TreeStore (typeof (int), typeof (string), typeof (string)); create_tree (); refreshButton = new Button (Stock.Refresh); refreshButton.Clicked += OnClicked; infoLabel = new Label (); infoLabel.UseMarkup = true; infoLabel.Xalign = 0; infoLabel.Xpad = 4; //infoLabel.Yalign = 0; //infoLabel.Ypad = 4; HBox box = new HBox (); box.PackStart (infoLabel, true, true, 4); box.PackStart (refreshButton, false, false, 4); PackStart (box, false, true, 4); ScrolledWindow scroll = new ScrolledWindow (); scroll.HscrollbarPolicy = scroll.VscrollbarPolicy = PolicyType.Automatic; scroll.Add (tree); PackStart (scroll, true, true, 4); client.AuthEvent += OnAuth; ShowAll (); }
public PluginManagerDialog(Window parent, PluginManager manager) : base(Catalog.GetString("Plugins"), parent, DialogFlags. Modal, Catalog.GetString("Close"), ResponseType. None) { SetupTree (); foreach (PluginInfo info in manager.Plugins) { if (info.Plugin == null) { continue; } store.AppendValues (info); } ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = PolicyType.Automatic; win.VscrollbarPolicy = PolicyType.Automatic; win.Child = tree; VBox.PackStart (win, true, true, 4); SetSizeRequest (400, 400); VBox.ShowAll (); }
public Form1(Point pos, Size size, Controllers.Form1 controller) : base("Form1", pos, size) { this.Closing += new EventListener(Form1_Closing); panel = new ScrolledWindow(this, (int)ID_CONTROLS.ID_PANEL /*, wxDefaultPosition, wxDefaultSize, WindowStyles.TAB_TRAVERSAL | WindowStyles.CLIP_CHILDREN | WindowStyles.BORDER_NONE*/); panel.AutoLayout = true; // At this point we don't know about the Model (so we don't have any labels etc..) so we have to wait for the model to get in touch text = new TextCtrl(panel, (int)ID_CONTROLS.ID_TEXT, string.Empty, wxDefaultPosition, wxDefaultSize, wx.WindowStyles.TE_MULTILINE | wx.WindowStyles.BORDER_SUNKEN); }
public static ScrolledWindow CreateViewport() { ScrolledWindow scroller = new ScrolledWindow(); Viewport viewer = new Viewport(); Table widgets = new Table(1, 2, false); widgets.Attach(new Button("This is example Entry 1"), 0, 1, 0, 1); widgets.Attach(new Button("This is example Entry 2"), 1, 2, 0, 1); // Place the widgets in a Viewport, and the // Viewport in a ScrolledWindow viewer.Add(widgets); scroller.Add(viewer); return scroller; }
public GamesListWidget() : base() { HBox hbox = new HBox (); hbox.PackStart (new Label (Catalog. GetString ("Filter")), false, false, 4); view = CreateIconView (); win = new ScrolledWindow (); win.HscrollbarPolicy = PolicyType.Automatic; win.VscrollbarPolicy = PolicyType.Automatic; win.Add (view); PackStart (win, true, true, 4); ShowAll (); }
static void SetUpGui () { Window w = new Window ("Sign Up"); VBox vbox = new VBox (); Button b = new Button ("Testing"); vbox.PackStart (b, false, false, 0); b = new Button ("Testing II"); vbox.PackStart (b, false, false, 0); ScrolledWindow sw = new ScrolledWindow (); sw.AddWithViewport (vbox); w.Add (sw); // w.SetDefaultSize (12, 12); w.ShowAll (); }
public ChessGameWidget() : base() { highlightMoveIndex = -1; gameInfoWidget = new ChessGameInfoWidget (); gameView = new TreeView (); moveStore = new ListStore (typeof (object)); gameView.Model = moveStore; SetupMovesTree (); gameInfoWidget.Show (); gameView.Show (); Show (); PackStart (gameInfoWidget, false, false, 0); ScrolledWindow win = new ScrolledWindow (); win.Child = gameView; win.HscrollbarPolicy = PolicyType.Never; win.VscrollbarPolicy = PolicyType.Automatic; win.Show (); PackStart (win, true, true, 0); }
public GamesListWidget() : base() { HBox hbox = new HBox (); hbox.PackStart (new Label (Catalog. GetString ("Filter")), false, false, 4); searchEntry = new Entry (); hbox.PackStart (searchEntry, true, true, 4); tree = new TreeView (); PackStart (hbox, false, true, 0); ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = PolicyType.Automatic; win.VscrollbarPolicy = PolicyType.Automatic; win.Add (tree); PackStart (win, true, true, 4); SetupTree (); ShowAll (); searchEntry.Activated += OnSearch; }
public OptionsDialog(MonoDevelop.Components.Window parentWindow, object dataObject, string extensionPath, bool removeEmptySections) { buttonCancel = new Gtk.Button(Gtk.Stock.Cancel); AddActionWidget(this.buttonCancel, ResponseType.Cancel); buttonOk = new Gtk.Button(Gtk.Stock.Ok); this.ActionArea.PackStart(buttonOk); buttonOk.Clicked += OnButtonOkClicked; mainHBox = new HBox(); tree = new TreeView(); var sw = new ScrolledWindow(); sw.Add(tree); sw.HscrollbarPolicy = PolicyType.Never; sw.VscrollbarPolicy = PolicyType.Automatic; sw.ShadowType = ShadowType.None; var fboxTree = new HeaderBox(); fboxTree.SetMargins(0, 1, 0, 1); fboxTree.SetPadding(0, 0, 0, 0); fboxTree.BackgroundColor = new Gdk.Color(255, 255, 255); fboxTree.Add(sw); mainHBox.PackStart(fboxTree, false, false, 0); Realized += delegate { fboxTree.BackgroundColor = tree.Style.Base(Gtk.StateType.Normal); }; var vbox = new VBox(); mainHBox.PackStart(vbox, true, true, 0); var headerBox = new HBox(false, 6); image = new Xwt.ImageView(); // headerBox.PackStart (image, false, false, 0); labelTitle = new Label(); labelTitle.Xalign = 0; textHeader = new Alignment(0, 0, 1, 1); textHeader.Add(labelTitle); textHeader.BorderWidth = 12; headerBox.PackStart(textHeader, true, true, 0); imageHeader = new OptionsDialogHeader(); imageHeader.Hide(); headerBox.PackStart(imageHeader.ToGtkWidget()); var fboxHeader = new HeaderBox(); fboxHeader.SetMargins(0, 1, 0, 0); fboxHeader.Add(headerBox); // fbox.GradientBackround = true; // fbox.BackgroundColor = new Gdk.Color (255, 255, 255); Realized += delegate { var c = Style.Background(Gtk.StateType.Normal).ToXwtColor(); c.Light += 0.09; fboxHeader.BackgroundColor = c.ToGdkColor(); }; StyleSet += delegate { if (IsRealized) { var c = Style.Background(Gtk.StateType.Normal).ToXwtColor(); c.Light += 0.09; fboxHeader.BackgroundColor = c.ToGdkColor(); } }; vbox.PackStart(fboxHeader, false, false, 0); pageFrame = new HBox(); var fbox = new HeaderBox(); fbox.SetMargins(0, 1, 0, 0); fbox.ShowTopShadow = true; fbox.Add(pageFrame); vbox.PackStart(fbox, true, true, 0); this.VBox.PackStart(mainHBox, true, true, 0); this.removeEmptySections = removeEmptySections; extensionContext = AddinManager.CreateExtensionContext(); this.mainDataObject = dataObject; this.extensionPath = extensionPath; if (parentWindow != null) { TransientFor = parentWindow; } ImageService.EnsureStockIconIsLoaded(emptyCategoryIcon); store = new TreeStore(typeof(OptionsDialogSection)); tree.Model = store; tree.HeadersVisible = false; // Column 0 is used to add some padding at the left of the expander TreeViewColumn col0 = new TreeViewColumn(); col0.MinWidth = 6; tree.AppendColumn(col0); TreeViewColumn col = new TreeViewColumn(); var crp = new CellRendererImage(); col.PackStart(crp, false); col.SetCellDataFunc(crp, PixbufCellDataFunc); var crt = new CellRendererText(); col.PackStart(crt, true); col.SetCellDataFunc(crt, TextCellDataFunc); tree.AppendColumn(col); tree.ExpanderColumn = col; tree.Selection.Changed += OnSelectionChanged; Child.ShowAll(); InitializeContext(extensionContext); FillTree(); ExpandCategories(); this.DefaultResponse = Gtk.ResponseType.Ok; buttonOk.CanDefault = true; buttonOk.GrabDefault(); DefaultWidth = 960; DefaultHeight = 680; }
public ExampleListView() : base(true, (int)AppSettings.Margin) { Examples = new List <Example>(); var exampleListContainer = new VBox(true, (int)AppSettings.Margin); exampleList = new ScrolledWindow(); exampleList.Add(new Label("No examples")); exampleListContainer.PackStart( exampleList, true, true, AppSettings.Margin ); PackStart(exampleListContainer, true, true, AppSettings.Margin); var exampleCreatorCont = new Frame("Create New Example"); var exampleCreatorScroll = new ScrolledWindow(); var exampleCreator = new VBox(true, 0); exampleCreator.PackStart( new Label("Romanization:"), false, false, 0 ); var romInput = new Entry(); exampleCreator.PackStart(romInput, false, false, 0); exampleCreator.PackStart( new Label("IPA:"), false, false, 0 ); var ipaInput = new Entry(); exampleCreator.PackStart(ipaInput, false, false, 0); exampleCreator.PackStart( new Label("Gloss:"), false, false, 0 ); var glossInput = new Entry(); exampleCreator.PackStart(glossInput, false, false, 0); exampleCreator.PackStart( new Label("Translation:"), false, false, 0 ); var transInput = new Entry(); exampleCreator.PackStart(transInput, false, false, 0); var submitButton = new Button("Submit"); submitButton.Clicked += (object sender, EventArgs args) => { Examples.Add(new Example { Romanization = romInput.Buffer.Text, Ipa = ipaInput.Buffer.Text, Gloss = glossInput.Buffer.Text, Translation = transInput.Buffer.Text }); romInput.Buffer.Text = ""; ipaInput.Buffer.Text = ""; glossInput.Buffer.Text = ""; transInput.Buffer.Text = ""; updateExampleList(); }; exampleCreator.PackStart( submitButton, false, false, 0 ); exampleCreatorScroll.Add(exampleCreator); exampleCreatorCont.Add(exampleCreatorScroll); PackStart(exampleCreatorCont, true, true, AppSettings.Margin); }
Widget CreateExceptionValueTreeView() { Widget scrolledWidget = null; if (useNewTreeView) { controller = new ObjectValueTreeViewController(); controller.SetStackFrame(DebuggingService.CurrentFrame); controller.AllowExpanding = true; if (Platform.IsMac) { macExceptionValueTreeView = controller.GetMacControl(ObjectValueTreeViewFlags.ObjectValuePadFlags); macExceptionValueTreeView.UIElementName = "ExceptionCaughtDialog"; } else { exceptionValueTreeView = controller.GetGtkControl(ObjectValueTreeViewFlags.ExceptionCaughtFlags); } } else { var objValueTreeView = new ObjectValueTreeView(); objValueTreeView.Frame = DebuggingService.CurrentFrame; objValueTreeView.AllowPopupMenu = false; objValueTreeView.AllowExpanding = true; objValueTreeView.AllowPinning = false; objValueTreeView.AllowEditing = false; objValueTreeView.AllowAdding = false; exceptionValueTreeView = objValueTreeView; } if (useNewTreeView && Platform.IsMac) { var scrolled = new AppKit.NSScrollView { DocumentView = macExceptionValueTreeView, AutohidesScrollers = true, HasVerticalScroller = true, HasHorizontalScroller = true, }; // disable implicit animations scrolled.WantsLayer = true; scrolled.Layer.Actions = new NSDictionary( "actions", NSNull.Null, "contents", NSNull.Null, "hidden", NSNull.Null, "onLayout", NSNull.Null, "onOrderIn", NSNull.Null, "onOrderOut", NSNull.Null, "position", NSNull.Null, "sublayers", NSNull.Null, "transform", NSNull.Null, "bounds", NSNull.Null); var host = new GtkNSViewHost(scrolled); host.ShowAll(); scrolledWidget = host; } else { exceptionValueTreeView.ModifyBase(StateType.Normal, Styles.ExceptionCaughtDialog.ValueTreeBackgroundColor.ToGdkColor()); exceptionValueTreeView.ModifyBase(StateType.Active, Styles.ObjectValueTreeActiveBackgroundColor.ToGdkColor()); exceptionValueTreeView.ModifyFont(Pango.FontDescription.FromString(Platform.IsWindows ? "9" : "11")); exceptionValueTreeView.RulesHint = false; exceptionValueTreeView.CanFocus = true; exceptionValueTreeView.Show(); var scrolled = new ScrolledWindow { CanFocus = true, HscrollbarPolicy = PolicyType.Automatic, VscrollbarPolicy = PolicyType.Automatic }; scrolled.ShadowType = ShadowType.None; scrolled.Add(exceptionValueTreeView); scrolled.Show(); scrolledWidget = scrolled; } var label = new Label(); label.Markup = "<b>" + GettextCatalog.GetString("Properties") + "</b>"; label.Xalign = 0; label.Xpad = 10; if (exceptionValueTreeView != null) { exceptionValueTreeView.SetCommonAccessibilityAttributes("ExceptionCaughtDialog.ExceptionValueTreeView", label, null); } else { macExceptionValueTreeView.AccessibilityTitle = new NSString(label.Text); } var vbox = new VBox(); vbox.PackStart(label, false, false, 12); vbox.PackStart(scrolledWidget, true, true, 0); vbox.ShowAll(); return(vbox); }
public QueryDebugger() : base("Hyena.Query Debugger") { SetDefaultSize(800, 600); var input_box = new VBox { Spacing = 8 }; var sw = new ScrolledWindow { ShadowType = ShadowType.In, HscrollbarPolicy = PolicyType.Never }; input = new TextView { AcceptsTab = false }; input.KeyReleaseEvent += delegate(object o, KeyReleaseEventArgs args) { if (args.Event.Key == Gdk.Key.Return || args.Event.Key == Gdk.Key.KP_Enter) { input.Buffer.Text = input.Buffer.Text.Trim(); OnParseUserQuery(null, EventArgs.Empty); } }; input.WrapMode = WrapMode.Word; sw.Add(input); input_box.PackStart(sw, true, true, 0); var button_box = new HBox(); var parse = new Button("Parse as User Query"); parse.Clicked += OnParseUserQuery; button_box.PackStart(parse, false, false, 0); input_box.PackStart(button_box, false, false, 0); var output_box = new HBox { Spacing = 8 }; sw = new ScrolledWindow { ShadowType = ShadowType.In, HscrollbarPolicy = PolicyType.Never }; sql = new TextView { WrapMode = WrapMode.Word }; sw.Add(sql); output_box.PackStart(sw, true, true, 0); sw = new ScrolledWindow { ShadowType = ShadowType.In, HscrollbarPolicy = PolicyType.Never }; xml = new TextView { WrapMode = WrapMode.Word }; sw.Add(xml); output_box.PackStart(sw, true, true, 0); var pane = new VPaned(); pane.Add1(input_box); pane.Add2(output_box); pane.Position = 100; Add(pane); pane.ShowAll(); input.HasFocus = true; LoadQueryFieldSet(); }
public LoggerWindow(params object[] options) : base() { sceneTitle = "Logger"; TextTagTable ttt = new TextTagTable(); buffer = new TextBuffer(ttt); var tag = new TextTag("DateTimeTag"); tag.ForegroundGdk = TouchColor.NewGtkColor("seca"); buffer.TagTable.Add(tag); tag = new TextTag("InfoTag"); tag.ForegroundGdk = TouchColor.NewGtkColor("pri"); buffer.TagTable.Add(tag); tag = new TextTag("WarningTag"); tag.ForegroundGdk = TouchColor.NewGtkColor("secb"); buffer.TagTable.Add(tag); tag = new TextTag("ErrorTag"); tag.ForegroundGdk = TouchColor.NewGtkColor("compl"); buffer.TagTable.Add(tag); foreach (var log in Logger.logs) { AddLogToBuffer(log); } tv = new TextView(buffer); tv.ModifyFont(Pango.FontDescription.FromString("Sans 11")); tv.ModifyBase(StateType.Normal, TouchColor.NewGtkColor("grey4")); tv.ModifyText(StateType.Normal, TouchColor.NewGtkColor("black")); tv.CanFocus = false; tv.Editable = false; ScrolledWindow sw = new ScrolledWindow(); sw.SetSizeRequest(720, 340); sw.VScrollbar.WidthRequest = 30; sw.HScrollbar.HeightRequest = 30; sw.Add(tv); Put(sw, 65, 60); sw.Show(); tv.Show(); var b = new TouchButton(); b.SetSizeRequest(100, 60); b.text = "Clear Logger"; b.ButtonReleaseEvent += OnClearButtonRelease; Put(b, 685, 405); b = new TouchButton(); b.SetSizeRequest(100, 60); b.text = "Save Logger"; b.ButtonReleaseEvent += (o, args) => SaveEvents(); Put(b, 575, 405); Logger.EventAddedEvent += OnEventAdded; Show(); }
protected virtual void Build() { Stetic.Gui.Initialize(this); // Widget Toys.Window Name = "ModelViewer"; Title = "Window"; WindowPosition = (WindowPosition)4; notebook = new Notebook(); // Container child Toys.Window.Gtk.Container+ContainerChild fixed1 = new Fixed(); fixed1.Name = "fixed1"; fixed1.HasWindow = false; // Container child fixed1.Gtk.Fixed+FixedChild scrolledwindow1 = new ScrolledWindow(); scrolledwindow1.WidthRequest = 154; scrolledwindow1.HeightRequest = 300; scrolledwindow1.CanFocus = true; scrolledwindow1.Name = "scrolledwindow1"; scrolledwindow1.VscrollbarPolicy = 0; scrolledwindow1.HscrollbarPolicy = (PolicyType)2; scrolledwindow1.ShadowType = (ShadowType)1; // Container child scrolledwindow1.Gtk.Container+ContainerChild Viewport w1 = new Viewport(); w1.ShadowType = 0; // Container child GtkViewport.Gtk.Container+ContainerChild fixedScene = new Fixed(); fixedScene.Name = "fixed2"; fixedScene.HasWindow = false; w1.Add(fixedScene); scrolledwindow1.Add(w1); fixed1.Add(scrolledwindow1); // Container child fixed1.Gtk.Fixed+FixedChild scrolledwindow2 = new ScrolledWindow(); scrolledwindow2.WidthRequest = 200; scrolledwindow2.HeightRequest = 300; scrolledwindow2.CanFocus = true; scrolledwindow2.Name = "scrolledwindow2"; scrolledwindow2.HscrollbarPolicy = (PolicyType)2; scrolledwindow2.ShadowType = (ShadowType)1; // Container child scrolledwindow2.Gtk.Container+ContainerChild Viewport w5 = new Viewport(); w5.ShadowType = 0; // Container child GtkViewport1.Gtk.Container+ContainerChild fixedComponents = new Fixed(); fixedComponents.Name = "fixed3"; fixedComponents.HasWindow = false; w5.Add(fixedComponents); scrolledwindow2.Add(w5); fixed1.Add(scrolledwindow2); Fixed.FixedChild w8 = (Fixed.FixedChild)fixed1[scrolledwindow2]; w8.X = 165; /* * // Container child fixed1.Gtk.Fixed+FixedChild * filechooserbutton2 = new FileChooserButton("Select a File", 0); * filechooserbutton2.WidthRequest = 124; * filechooserbutton2.Name = "filechooserbutton2"; * fixed1.Add(filechooserbutton2); * Fixed.FixedChild w9 = (Fixed.FixedChild)fixed1[filechooserbutton2]; * w9.X = 379; * w9.Y = 19; * // Container child fixed1.Gtk.Fixed+FixedChild * button2 = new Button(); * button2.WidthRequest = 109; * button2.CanFocus = true; * button2.Name = "button2"; * button2.UseUnderline = true; * button2.Label = "Play"; * fixed1.Add(button2); * Fixed.FixedChild w10 = (Fixed.FixedChild)fixed1[button2]; * w10.X = 379; * w10.Y = 63; * // Container child fixed1.Gtk.Fixed+FixedChild * button3 = new Button(); * button3.WidthRequest = 110; * button3.CanFocus = true; * button3.Name = "button3"; * button3.UseUnderline = true; * button3.Label = "Stop"; * fixed1.Add(button3); * Fixed.FixedChild w11 = (Fixed.FixedChild)fixed1[button3]; * w11.X = 379; * w11.Y = 108; * // Container child fixed1.Gtk.Fixed+FixedChild * button4 = new Button(); * button4.WidthRequest = 110; * button4.CanFocus = true; * button4.Name = "button4"; * button4.UseUnderline = true; * button4.Label = "Pause"; * fixed1.Add(button4); * Fixed.FixedChild w12 = (Fixed.FixedChild)fixed1[button4]; * w12.X = 379; * w12.Y = 153; */ scrolledwindow3 = new ScrolledWindow(); scrolledwindow3.WidthRequest = 200; scrolledwindow3.HeightRequest = 300; scrolledwindow3.CanFocus = true; scrolledwindow3.Name = "scrolledwindow3"; scrolledwindow3.VscrollbarPolicy = 0; scrolledwindow3.HscrollbarPolicy = (PolicyType)2; scrolledwindow3.ShadowType = (ShadowType)1; // Container child scrolledwindow1.Gtk.Container+ContainerChild Viewport w4 = new Viewport(); w4.ShadowType = 0; // Container child GtkViewport.Gtk.Container+ContainerChild fixed4 = new Fixed(); fixed4.Name = "fixed4"; fixed4.HasWindow = false; w4.Add(fixed4); scrolledwindow3.Add(w4); fixed1.Add(scrolledwindow3); Fixed.FixedChild w6 = (Fixed.FixedChild)fixed1[scrolledwindow3]; w6.X = 370; notebook.AppendPage(fixed1, new Label("Scene")); BuildClient(); /* * self.page1.set_border_width(10) * self.page1.add(Gtk.Label('Default Page!')) * self.notebook.append_page(self.page1, Gtk.Label('Plain Title')) * * self.page2 = Gtk.Box() * self.page2.set_border_width(10) * self.page2.add(Gtk.Label('A page with an image for a Title.')) * self.notebook.append_page( * self.page2, * Gtk.Image.new_from_icon_name( * "help-about", * Gtk.IconSize.MENU * ) */ Add(notebook); if (Child != null) { Child.ShowAll(); } DefaultWidth = 700; DefaultHeight = 342; Show(); /* * var provider = new CssProvider(); * string css = ReadFromAssetStream("ModelViewer.gtk_gui.gtkmain.css"); * provider.LoadFromData(css); * StyleContext.AddProviderForScreen(Gdk.Screen.Default, provider, StyleProviderPriority.User); */ BuildMorphs(); }
private Test () { const string path = "/tmp/TagSelectionTest.db"; try { File.Delete (path); } catch {} Db db = new Db (path, true); Category people_category = db.Tags.CreateCategory (null, "People"); db.Tags.CreateTag (people_category, "Anna"); db.Tags.CreateTag (people_category, "Ettore"); db.Tags.CreateTag (people_category, "Miggy"); db.Tags.CreateTag (people_category, "Nat"); Category places_category = db.Tags.CreateCategory (null, "Places"); db.Tags.CreateTag (places_category, "Milan"); db.Tags.CreateTag (places_category, "Boston"); Category exotic_category = db.Tags.CreateCategory (places_category, "Exotic"); db.Tags.CreateTag (exotic_category, "Bengalore"); db.Tags.CreateTag (exotic_category, "Manila"); db.Tags.CreateTag (exotic_category, "Tokyo"); selection_widget = new TagSelectionWidget (db.Tags); selection_widget.SelectionChanged += new SelectionChangedHandler (OnSelectionChanged); Window window = new Window (WindowType.Toplevel); window.SetDefaultSize (400, 200); ScrolledWindow scrolled = new ScrolledWindow (null, null); scrolled.SetPolicy (PolicyType.Automatic, PolicyType.Automatic); scrolled.Add (selection_widget); window.Add (scrolled); window.ShowAll (); }
public MainWindow() : base(WindowType.Toplevel) { VBox mainVBox = new VBox(false, 0); HBox nodeViewHBox = new HBox(true, 0); HBox crudButtonsHBox = new HBox(true, 0); HBox transactionContolButtonsHBox = new HBox(true, 0); Button refreshButton = new Button("Refresh"); Button createButton = new Button("Create"); Button deleteButton = new Button("Delete"); Button commitButton = new Button("Commit"); Button rollbackButton = new Button("Rollback"); refreshButton.Clicked += RefreshButtonClicked; createButton.Clicked += CreateButtonClicked; deleteButton.Clicked += DeleteButtonClicked; commitButton.Clicked += CommitButtonClicked; rollbackButton.Clicked += RollbackButtonClicked; HSeparator separator = new HSeparator(); view = new NodeView(Store); CellRendererText titleRenderer = new CellRendererText(); CellRendererText contentRenderer = new CellRendererText(); titleRenderer.Editable = true; contentRenderer.Editable = true; titleRenderer.Edited += NoteTitleEdited; contentRenderer.Edited += NoteContentEdited; view.AppendColumn("Title", titleRenderer, "text", 0); view.AppendColumn("Content", contentRenderer, "text", 1); ScrolledWindow scrolledWindow = new ScrolledWindow(); scrolledWindow.SetPolicy(PolicyType.Automatic, PolicyType.Automatic); scrolledWindow.AddWithViewport(view); try { //Если сервер и клиент запускаются из ИДЕ (по порядку, но практически одновременно), //сервер не успевает создать сокет, поэтому надо немного подождать System.Threading.Thread.Sleep(1000); RemotingConfiguration.Configure("remoteNotes.exe.config", false); clientActivated = new NotesClientActivated(); singleton = new NotesSingleton(); singlecall = new NotesTransactionSinglecall(); } catch (System.Net.WebException) { Logger.Write("Unable to connect"); return; } foreach (Note note in singleton.GetPesistentData()) { store.AddNode(new NoteTreeNode(note)); } nodeViewHBox.PackStart(scrolledWindow, false, true, 0); nodeViewHBox.SetSizeRequest(200, 200); crudButtonsHBox.PackStart(refreshButton, false, true, 0); crudButtonsHBox.PackStart(createButton, false, true, 0); crudButtonsHBox.PackStart(deleteButton, false, true, 0); transactionContolButtonsHBox.PackStart(commitButton, false, true, 0); transactionContolButtonsHBox.PackStart(rollbackButton, false, true, 0); mainVBox.PackStart(nodeViewHBox, true, false, 0); mainVBox.PackStart(crudButtonsHBox, true, false, 0); mainVBox.PackStart(separator, true, false, 2); mainVBox.PackStart(transactionContolButtonsHBox, true, false, 0); Add(mainVBox); mainVBox.ShowAll(); Build(); }
private void InitializeComponent() { this.plotView = new OxyPlot.GtkSharp.PlotView(); this.plotView.SetSizeRequest(300, 300); this.treeView = new TreeView(); this.treeView.Visible = true; var treeModel = new TreeStore(typeof(string), typeof(string)); var iter = new TreeIter(); string last = null; foreach (var ex in this.Examples) { if (last == null || last != ex.Category) { iter = treeModel.AppendValues(ex.Category); last = ex.Category; } treeModel.AppendValues(iter, ex.Title, ex.Category); } this.treeView.Model = treeModel; var exampleNameColumn = new TreeViewColumn { Title = "Example" }; var exampleNameCell = new CellRendererText(); exampleNameColumn.PackStart(exampleNameCell, true); this.treeView.AppendColumn(exampleNameColumn); exampleNameColumn.AddAttribute(exampleNameCell, "text", 0); this.treeView.Selection.Changed += (s, e) => { if (treeView.Selection.GetSelected(out var selectedModel, out var selectedNode)) { string val1 = (string)selectedModel.GetValue(selectedNode, 0); string val2 = (string)selectedModel.GetValue(selectedNode, 1); this.SelectedExample = this.Examples.FirstOrDefault(ex => ex.Category == val2 && ex.Title == val1); } }; var scrollwin = new ScrolledWindow(); scrollwin.Add(this.treeView); scrollwin.SetSizeRequest(250, 300); var txtSearch = new Entry(); treeView.SearchEntry = txtSearch; var treeVbox = new VBox(false, 0); treeVbox.BorderWidth = 6; treeVbox.PackStart(txtSearch, false, true, 0); treeVbox.PackStart(scrollwin, true, true, 0); this.paned = new HPaned(); this.paned.Pack1(treeVbox, false, false); this.paned.Pack2(this.plotView, true, false); this.paned.Position = 300; this.Add(this.paned); //this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); //this.AutoScaleMode = Gtk.AutoScaleMode.Font; //this.ClientSize = new System.Drawing.Size(943, 554); this.Title = "OxyPlot.GtkSharp Example Browser"; this.DeleteEvent += (s, a) => { Application.Quit(); a.RetVal = true; }; } }
public BubbleChartView(ViewBase owner = null) : base(owner) { vpaned1 = new VPaned(); mainWidget = vpaned1; mainWidget.Destroyed += OnDestroyed; graphView = new DirectedGraphView(this); vpaned1.Pack1(graphView.MainWidget, true, true); VBox vbox1 = new VBox(false, 0); ctxBox = new VBox(false, 0); // Arc selection: rules & actions VBox arcSelBox = new VBox(); Label l1 = new Label("Rules"); l1.Xalign = 0; arcSelBox.PackStart(l1, true, true, 0); RuleList = new EditorView(owner); RuleList.TextHasChangedByUser += OnRuleChanged; //RuleList.ScriptMode = false; ScrolledWindow rules = new ScrolledWindow(); rules.ShadowType = ShadowType.EtchedIn; rules.SetPolicy(PolicyType.Automatic, PolicyType.Automatic); rules.Add((RuleList as ViewBase).MainWidget); (RuleList as ViewBase).MainWidget.ShowAll(); arcSelBox.PackStart(rules, true, true, 0); rules.Show(); Label l2 = new Label("Actions"); l2.Xalign = 0; arcSelBox.PackStart(l2, true, true, 0); ActionList = new EditorView(owner); ActionList.TextHasChangedByUser += OnActionChanged; //ActionList.ScriptMode = false; ScrolledWindow actions = new ScrolledWindow(); actions.ShadowType = ShadowType.EtchedIn; actions.SetPolicy(PolicyType.Automatic, PolicyType.Automatic); actions.Add((ActionList as ViewBase).MainWidget); (ActionList as ViewBase).MainWidget.ShowAll(); arcSelBox.PackStart(actions, true, true, 0); actions.Show(); arcSelWdgt = arcSelBox as Widget; arcSelWdgt.Hide(); ctxBox.PackStart(arcSelWdgt, true, true, 0); // Node selection: Grid t1 = new Grid(); Label l3 = new Label("Name"); l3.Xalign = 0; t1.Attach(l3, 0, 0, 1, 1); Label l4 = new Label("Description"); l4.Xalign = 0; t1.Attach(l4, 0, 1, 1, 1); Label l5 = new Label("Colour"); l5.Xalign = 0; t1.Attach(l5, 0, 2, 1, 1); nameEntry = new Entry(); nameEntry.Changed += OnNameChanged; nameEntry.Xalign = 0; // Setting the WidthRequest to 350 will effectively // set the minimum size, beyond which it cannot be further // shrunk by dragging the HPaned's splitter. nameEntry.WidthRequest = 350; t1.Attach(nameEntry, 1, 0, 1, 1); descEntry = new Entry(); descEntry.Xalign = 0; descEntry.Changed += OnDescriptionChanged; descEntry.WidthRequest = 350; t1.Attach(descEntry, 1, 1, 1, 1); colourChooser = new ColorButton(); colourChooser.Xalign = 0; colourChooser.ColorSet += OnColourChanged; colourChooser.WidthRequest = 350; t1.Attach(colourChooser, 1, 2, 1, 1); nodeSelWdgt = t1; ctxBox.PackStart(t1, true, true, 0); // Info Label l6 = new Label(); l6.LineWrap = true; l6.Text = "<left-click>: select a node or arc.\n" + "<right-click>: shows a context-sensitive menu.\n\n" + "Once a node/arc is selected, it can be dragged to a new position.\n\n" + "Nodes are created by right-clicking on a blank area.\n\n" + "Transition arcs are created by firstly selecting a source node,\n" + "then right-clicking over a target node."; infoWdgt = l6 as Widget; infoWdgt.ShowAll(); l6.Xalign = 0; l6.Yalign = 0; l6.Wrap = false; Alignment infoWdgtWrapper = new Alignment(0, 0, 1, 0); infoWdgtWrapper.Add(infoWdgt); //ctxBox.PackStart(infoWdgt, true, true, 0); //vbox1.PackStart(ctxBox, false, false, 0); PropertiesView = new PropertyView(this); ((ScrolledWindow)((ViewBase)PropertiesView).MainWidget).HscrollbarPolicy = PolicyType.Never; // settingsBox = new Table(2, 2, false); // settingsBox.Attach(new Label("Initial State"), 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Fill, 0, 0); // combobox1 = new ComboBox(); // combobox1.PackStart(comboRender, false); // combobox1.AddAttribute(comboRender, "text", 0); // combobox1.Model = comboModel; // settingsBox.Attach(combobox1, 1, 2, 0, 1, AttachOptions.Expand | AttachOptions.Fill, AttachOptions.Fill, 0, 0); // chkVerbose = new CheckButton(); // chkVerbose.Toggled += OnToggleVerboseMode; // settingsBox.Attach(new Label("Verbose Mode"), 0, 1, 1, 2, AttachOptions.Fill, AttachOptions.Fill, 0, 0); // settingsBox.Attach(chkVerbose, 1, 2, 1, 2, AttachOptions.Expand | AttachOptions.Fill, AttachOptions.Fill, 0, 0); hpaned1 = new HPaned(); hpaned2 = new HPaned(); Frame frame1 = new Frame("Rotation Settings"); frame1.Add(((ViewBase)PropertiesView).MainWidget); frame1.ShadowType = ShadowType.In; Frame frame2 = new Frame(); frame2.Add(hpaned2); frame2.ShadowType = ShadowType.In; ctxFrame = new Frame(); ctxFrame.Add(ctxBox); ctxFrame.ShadowType = ShadowType.In; Frame frame4 = new Frame("Instructions"); frame4.Add(infoWdgtWrapper); frame4.ShadowType = ShadowType.In; hpaned1.Pack1(frame1, false, false); hpaned1.Pack2(frame2, true, false); hpaned2.Pack1(ctxFrame, true, false); hpaned2.Pack2(frame4, true, false); hpaned1.ShowAll(); Alignment halign = new Alignment(0, 0, 1, 1); halign.Add(hpaned1); vpaned1.Pack2(halign, false, false); vpaned1.Show(); graphView.OnGraphObjectSelected += OnGraphObjectSelected; graphView.OnGraphObjectMoved += OnGraphObjectMoved; //combobox1.Changed += OnComboBox1SelectedValueChanged; contextMenuHelper = new ContextMenuHelper(graphView.MainWidget); contextMenuHelper.ContextMenu += OnPopup; ContextMenu.SelectionDone += OnContextMenuDeactivated; ContextMenu.Mapped += OnContextMenuRendered; // Ensure the menu is populated Select(null); }
public NoteRenameDialog(IList <Note> notes, string oldTitle, Note renamedNote) : base(Catalog.GetString("Rename Note Links?"), renamedNote.Window, DialogFlags.NoSeparator) { this.DefaultResponse = ResponseType.Cancel; this.BorderWidth = 10; var renameButton = (Button) AddButton(Catalog.GetString("_Rename Links"), ResponseType.Yes); var dontRenameButton = (Button) AddButton(Catalog.GetString("_Don't Rename Links"), ResponseType.No); this.notes = notes; notesModel = new Gtk.TreeStore(typeof(bool), typeof(string), typeof(Note)); foreach (var note in notes) { notesModel.AppendValues(true, note.Title, note); } var labelText = Catalog.GetString("Rename links in other notes from \"<span underline=\"single\">{0}</span>\" " + "to \"<span underline=\"single\">{1}</span>\"?\n\n" + "If you do not rename the links, " + "they will no longer link to anything."); var label = new Label(); label.UseMarkup = true; label.Markup = String.Format(labelText, GLib.Markup.EscapeText(oldTitle), GLib.Markup.EscapeText(renamedNote.Title)); label.LineWrap = true; VBox.PackStart(label, false, true, 5); var notesView = new TreeView(notesModel); notesView.SetSizeRequest(-1, 200); var toggleCell = new CellRendererToggle(); toggleCell.Activatable = true; var column = new TreeViewColumn(Catalog.GetString("Rename Links"), toggleCell, "active", 0); column.SortColumnId = 0; column.Resizable = true; notesView.AppendColumn(column); toggleCell.Toggled += (o, args) => { TreeIter iter; if (!notesModel.GetIterFromString(out iter, args.Path)) { return; } bool val = (bool)notesModel.GetValue(iter, 0); notesModel.SetValue(iter, 0, !val); }; column = new TreeViewColumn(Catalog.GetString("Note Title"), new CellRendererText(), "text", 1); column.SortColumnId = 1; column.Resizable = true; notesView.AppendColumn(column); notesView.RowActivated += (o, args) => { TreeIter iter; if (!notesModel.GetIter(out iter, args.Path)) { return; } Note note = (Note)notesModel.GetValue(iter, 2); if (note != null) { note.Window.Present(); NoteFindBar find = note.Window.Find; find.ShowAll(); find.Visible = true; find.SearchText = "\"" + oldTitle + "\""; } }; var notesBox = new VBox(false, 5); var selectAllButton = new Button(); // Translators: This button causes all notes in the list to be selected selectAllButton.Label = Catalog.GetString("Select All"); selectAllButton.Clicked += (o, e) => { notesModel.Foreach((model, path, iter) => { notesModel.SetValue(iter, 0, true); return(false); }); }; var selectNoneButton = new Button(); // Translators: This button causes all notes in the list to be unselected selectNoneButton.Label = Catalog.GetString("Select None"); selectNoneButton.Clicked += (o, e) => { notesModel.Foreach((model, path, iter) => { notesModel.SetValue(iter, 0, false); return(false); }); }; var notesButtonBox = new HButtonBox(); notesButtonBox.Add(selectNoneButton); notesButtonBox.Add(selectAllButton); notesButtonBox.Spacing = 5; notesButtonBox.LayoutStyle = ButtonBoxStyle.End; var notesScroll = new ScrolledWindow(); notesScroll.Add(notesView); notesBox.PackStart(notesScroll); notesBox.PackStart(notesButtonBox, false, true, 0); var advancedExpander = new Expander(Catalog.GetString("Ad_vanced")); var expandBox = new VBox(); expandBox.PackStart(notesBox); alwaysShowDlgRadio = new RadioButton(Catalog.GetString("Always show this _window")); alwaysShowDlgRadio.Clicked += (o, e) => { selectAllButton.Click(); notesBox.Sensitive = true; renameButton.Sensitive = true; dontRenameButton.Sensitive = true; }; neverRenameRadio = new RadioButton(alwaysShowDlgRadio, Catalog.GetString("Never rename _links")); neverRenameRadio.Clicked += (o, e) => { selectNoneButton.Click(); notesBox.Sensitive = false; renameButton.Sensitive = false; dontRenameButton.Sensitive = true; }; alwaysRenameRadio = new RadioButton(alwaysShowDlgRadio, Catalog.GetString("Alwa_ys rename links")); alwaysRenameRadio.Clicked += (o, e) => { selectAllButton.Click(); notesBox.Sensitive = false; renameButton.Sensitive = true; dontRenameButton.Sensitive = false; }; expandBox.PackStart(alwaysShowDlgRadio, false, true, 0); expandBox.PackStart(neverRenameRadio, false, true, 0); expandBox.PackStart(alwaysRenameRadio, false, true, 0); advancedExpander.Add(expandBox); VBox.PackStart(advancedExpander, true, true, 5); advancedExpander.Activated += (o, e) => this.Resizable = advancedExpander.Expanded; this.Focus = dontRenameButton; VBox.ShowAll(); }
public Toolbox(ToolboxService toolboxService, IPadWindow container) { this.toolboxService = toolboxService; this.container = container; #region Toolbar DockItemToolbar toolbar = container.GetToolbar(DockPositionType.Top); filterEntry = new SearchEntry(); filterEntry.Ready = true; filterEntry.HasFrame = true; filterEntry.WidthRequest = 150; filterEntry.Changed += new EventHandler(filterTextChanged); filterEntry.Show(); toolbar.Add(filterEntry, true); catToggleButton = new ToggleButton(); catToggleButton.Image = new ImageView(Ide.Gui.Stock.GroupByCategory, IconSize.Menu); catToggleButton.Toggled += new EventHandler(toggleCategorisation); catToggleButton.TooltipText = GettextCatalog.GetString("Show categories"); toolbar.Add(catToggleButton); compactModeToggleButton = new ToggleButton(); compactModeToggleButton.Image = new ImageView(ImageService.GetIcon("md-compact-display", IconSize.Menu)); compactModeToggleButton.Toggled += new EventHandler(ToggleCompactMode); compactModeToggleButton.TooltipText = GettextCatalog.GetString("Use compact display"); toolbar.Add(compactModeToggleButton); toolboxAddButton = new Button(new ImageView(Ide.Gui.Stock.Add, IconSize.Menu)); toolbar.Add(toolboxAddButton); toolboxAddButton.TooltipText = GettextCatalog.GetString("Add toolbox items"); toolboxAddButton.Clicked += new EventHandler(toolboxAddButton_Clicked); toolbar.ShowAll(); #endregion toolboxWidget = new ToolboxWidget(); toolboxWidget.SelectedItemChanged += delegate { selectedNode = this.toolboxWidget.SelectedItem != null ? this.toolboxWidget.SelectedItem.Tag as ItemToolboxNode : null; toolboxService.SelectItem(selectedNode); }; this.toolboxWidget.DragBegin += delegate(object sender, Gtk.DragBeginArgs e) { if (this.toolboxWidget.SelectedItem != null) { this.toolboxWidget.HideTooltipWindow(); toolboxService.DragSelectedItem(this.toolboxWidget, e.Context); } }; this.toolboxWidget.ActivateSelectedItem += delegate { toolboxService.UseSelectedItem(); }; fontChanger = new MonoDevelop.Ide.Gui.PadFontChanger(toolboxWidget, toolboxWidget.SetCustomFont, toolboxWidget.QueueResize); this.toolboxWidget.DoPopupMenu = ShowPopup; scrolledWindow = new MonoDevelop.Components.CompactScrolledWindow(); base.PackEnd(scrolledWindow, true, true, 0); base.FocusChain = new Gtk.Widget [] { scrolledWindow }; //Initialise self scrolledWindow.ShadowType = ShadowType.None; scrolledWindow.VscrollbarPolicy = PolicyType.Automatic; scrolledWindow.HscrollbarPolicy = PolicyType.Never; scrolledWindow.WidthRequest = 150; scrolledWindow.Add(this.toolboxWidget); //update view when toolbox service updated toolboxService.ToolboxContentsChanged += delegate { Refresh(); }; toolboxService.ToolboxConsumerChanged += delegate { Refresh(); }; Refresh(); //set initial state this.toolboxWidget.ShowCategories = catToggleButton.Active = true; compactModeToggleButton.Active = MonoDevelop.Core.PropertyService.Get("ToolboxIsInCompactMode", false); this.toolboxWidget.IsListMode = !compactModeToggleButton.Active; this.ShowAll(); }
private void InitComponent() { Gdk.Color grey = new Gdk.Color(0xA0, 0xA0, 0xA0); Gdk.Color lightBlue = new Gdk.Color(207, 207, 239); var infoFont = Pango.FontDescription.FromString(AppSettings.Get("info-font", "Verdana")); var textFont = Pango.FontDescription.FromString(AppSettings.Get("text-font", "Courier New")); _textView = new TextView(); _textView.WrapMode = WrapMode.Word; _textView.ModifyBase(StateType.Normal, lightBlue); _textView.Buffer.Changed += _text_TextChanged; _textView.KeyPressEvent += _textView_KeyPressEvent; _textView.ModifyFont(textFont); ScrolledWindow scrolledTextView = new ScrolledWindow(); scrolledTextView.Add(_textView); _titleLabel = new Label(); _titleLabel.SetAlignment(0, 0); _titleLabel.Justify = Justification.Left; _titleLabel.SetPadding(0, 5); _titleLabel.ModifyFont(textFont); GLib.Timeout.Add((uint)TimeSpan.FromSeconds(3).TotalMilliseconds, () => { return(SaveTimerTick()); }); EventBox titleContainer = new EventBox(); titleContainer.Add(_titleLabel); // hbox // vbox // dateLabel // versionLabel // pageLabel HBox locationInfo = new HBox(); VBox locationLeft = new VBox(); _dateLabel = new Label(); _dateLabel.SetAlignment(0, 0); _dateLabel.Justify = Justification.Left; _dateLabel.SetPadding(5, 5); _dateLabel.ModifyFont(infoFont); locationLeft.PackStart(_dateLabel, false, false, 0); _versionLabel = new Label(); _versionLabel.SetAlignment(0, 0); _versionLabel.Justify = Justification.Left; _versionLabel.SetPadding(5, 5); _versionLabel.ModifyFont(infoFont); locationLeft.PackStart(_versionLabel, false, false, 0); locationInfo.PackStart(locationLeft, true, true, 0); _pageLabel = new Label(); _pageLabel.Markup = GetPageMarkup(1, 5); _pageLabel.SetAlignment(1, 0.5f); _pageLabel.Justify = Justification.Right; _pageLabel.SetPadding(5, 5); _pageLabel.ModifyFont(infoFont); locationInfo.PackEnd(_pageLabel, true, true, 0); Pango.Context ctx = _pageLabel.PangoContext; VBox outerVertical = new VBox(); outerVertical.PackStart(titleContainer, false, false, 0); outerVertical.PackStart(scrolledTextView, true, true, 0); outerVertical.PackEnd(locationInfo, false, false, 0); Add(outerVertical); BorderWidth = 5; }
public ICSGameObserverWidget(ICSClient client) : base() { split = new HPaned (); this.client = client; currentGames = new Hashtable (); gamesBook = new Notebook (); gamesBook.ShowTabs = false; gamesList = new TreeView (); gamesStore = new ListStore (typeof (string), typeof (string)); gamesList.Model = gamesStore; gamesList.AppendColumn ("Games", new CellRendererText (), "markup", 0); ScrolledWindow scroll = new ScrolledWindow (); scroll.HscrollbarPolicy = scroll.VscrollbarPolicy = PolicyType.Automatic; scroll.Add (gamesList); gamesList.CursorChanged += OnGamesListCursorChanged; split.Add1 (scroll); split.Add2 (gamesBook); split.ShowAll (); PackStart (split, true, true, 2); client.GameMessageEvent += OnGameMessage; }
/// <summary> /// Default constructor. Initialises intellisense popup, but doesn't display anything. /// </summary> public IntellisenseView(ViewBase owner) : base(owner) { completionForm = new Window(WindowType.Toplevel) { HeightRequest = 300, WidthRequest = 750, Decorated = false, SkipPagerHint = true, SkipTaskbarHint = true, }; Frame completionFrame = new Frame(); completionForm.Add(completionFrame); ScrolledWindow completionScroller = new ScrolledWindow(); completionFrame.Add(completionScroller); completionModel = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(bool)); completionView = new Gtk.TreeView(completionModel); completionScroller.Add(completionView); TreeViewColumn column = new TreeViewColumn() { Title = "Item", Resizable = true, }; CellRendererPixbuf iconRender = new CellRendererPixbuf(); column.PackStart(iconRender, false); CellRendererText textRender = new CellRendererText() { Editable = false, WidthChars = 25, Ellipsize = Pango.EllipsizeMode.End }; column.PackStart(textRender, true); column.SetAttributes(iconRender, "pixbuf", 0); column.SetAttributes(textRender, "text", 1); completionView.AppendColumn(column); textRender = new CellRendererText() { Editable = false, WidthChars = 10, Ellipsize = Pango.EllipsizeMode.End }; column = new TreeViewColumn("Units", textRender, "text", 2) { Resizable = true }; completionView.AppendColumn(column); textRender = new CellRendererText() { Editable = false, WidthChars = 15, Ellipsize = Pango.EllipsizeMode.End }; column = new TreeViewColumn("Type", textRender, "text", 3) { Resizable = true }; completionView.AppendColumn(column); textRender = new CellRendererText() { Editable = false, }; column = new TreeViewColumn("Descr", textRender, "text", 4) { Resizable = true }; completionView.AppendColumn(column); completionView.HasTooltip = true; completionView.TooltipColumn = 5; completionForm.FocusOutEvent += OnLeaveCompletion; completionView.ButtonPressEvent += OnButtonPress; completionView.KeyPressEvent += OnContextListKeyDown; completionView.KeyReleaseEvent += OnKeyRelease; }
private Frame GetCollectionDetailsFrame() { collectionEntry = new Entry (); ScrolledWindow scroll = new ScrolledWindow (); scroll.HscrollbarPolicy = PolicyType.Never; scroll.VscrollbarPolicy = PolicyType.Automatic; description = new TextView (); description.WrapMode = WrapMode.Word; scroll.Add (description); addCollectionToggle = new CheckButton (Catalog. GetString ("Create a collection")); addCollectionToggle.Toggled += OnToggled; addCollectionToggle.Active = false; addCollectionToggle.Toggle (); Frame frame = new Frame (); Table table = new Table (4, 2, false); Label label; uint row = 0; table.RowSpacing = table.ColumnSpacing = 4; table.Attach (addCollectionToggle, 0, 2, row, row + 1); row++; label = new Label (); label.Markup = Catalog.GetString ("<b>Title</b>"); label.Xalign = 0; table.Attach (label, 0, 1, row, row + 1); table.Attach (collectionEntry, 1, 2, row, row + 1); row++; label = new Label (); label.Xalign = 0; label.Markup = Catalog. GetString ("<i><small>Create a collection with this title</small></i>"); table.Attach (label, 0, 2, row, row + 1); label = new Label (); label.Markup = Catalog. GetString ("<b>Description</b>"); label.Xalign = 0; row++; table.Attach (label, 0, 2, row, row + 1); row++; table.Attach (scroll, 0, 2, row, row + 1); frame.Add (table); return frame; }
public Dialog(Image image, Drawable drawable, VariableSet variables) : base("Photoshop Actions", variables) { _image = image; _drawable = drawable; var vbox = new VBox(false, 12) { BorderWidth = 12 }; VBox.PackStart(vbox, true, true, 0); var store = CreateActionTree(); var sw = new ScrolledWindow() { HeightRequest = 400 }; vbox.PackStart(sw, true, true, 0); var view = new TreeView(store); sw.Add(view); var activeRenderer = new CellRendererToggle() { Activatable = true }; var columnOne = view.AppendColumn("Enabled", activeRenderer, new TreeCellDataFunc(RenderActive)); activeRenderer.Toggled += delegate(object o, ToggledArgs args) { TreeIter iter; var path = new TreePath(args.Path); if (store.GetIter(out iter, path)) { var executable = store.GetValue(iter, 1) as IExecutable; executable.IsEnabled = !executable.IsEnabled; path.Down(); while (store.GetIter(out iter, path)) { store.EmitRowChanged(path, iter); path.Next(); } } }; var textRenderer = new CellRendererText(); var column = view.AppendColumn("Set Name", textRenderer, new TreeCellDataFunc(RenderText)); var hbox = new HBox(); vbox.PackStart(hbox, false, true, 0); var play = new Button(Stock.Execute); play.Clicked += delegate { RenameToBackground(); var paths = view.Selection.GetSelectedRows(); var path = paths[0]; // Assume only 1 is selected var indices = path.Indices; var actions = _set[indices[0]]; if (indices.Length > 2) { actions.Execute(indices[1], indices[2]); path.Next(); view.Selection.SelectPath(path); } else { actions.Execute(indices[1]); } Gimp.DisplaysFlush(); }; hbox.PackStart(play, false, true, 0); view.Selection.Changed += delegate { var paths = view.Selection.GetSelectedRows(); var indices = paths[0].Indices; play.Sensitive = (indices.Length > 1); }; view.Selection.SetSelectFunction(delegate(TreeSelection selection, TreeModel model, TreePath path, bool path_currently_selected) { return(path.Indices.Length <= 3); }, IntPtr.Zero, null); ActionEvent.ActionSetCollection = _set; }
/// <summary> /// Set up the widgets /// </summary> /// <returns> /// Widget to display /// </returns> private void InitializeWidgets() { this.Spacing = 10; this.BorderWidth = 10; // Set up the iFolder2.x Accounts tree view in a scrolled window AccTreeView = new iFolderTreeView(); ScrolledWindow sw = new ScrolledWindow(); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(AccTreeView); this.PackStart(sw, true, true, 0); AccTreeStore = new ListStore(typeof(string)); AccTreeView.Model = AccTreeStore; // User Name Column TreeViewColumn serverColumn = new TreeViewColumn(); serverColumn.Title = Util.GS("User Name"); CellRendererText servercr = new CellRendererText(); servercr.Xpad = 5; serverColumn.PackStart(servercr, false); serverColumn.SetCellDataFunc(servercr, new TreeCellDataFunc(ServerCellTextDataFunc)); serverColumn.Resizable = true; serverColumn.MinWidth = 150; AccTreeView.AppendColumn(serverColumn); // Home Location Column TreeViewColumn nameColumn = new TreeViewColumn(); nameColumn.Title = Util.GS("Home Location"); CellRendererText ncrt = new CellRendererText(); nameColumn.PackStart(ncrt, false); nameColumn.SetCellDataFunc(ncrt, new TreeCellDataFunc(NameCellTextDataFunc)); nameColumn.Resizable = true; nameColumn.MinWidth = 150; AccTreeView.AppendColumn(nameColumn); AccTreeView.Selection.Mode = SelectionMode.Single; AccTreeView.Selection.Changed += new EventHandler(AccSelectionChangedHandler); // Status column TreeViewColumn statusColumn = new TreeViewColumn(); statusColumn.Title = Util.GS("Status"); CellRendererText stat = new CellRendererText(); stat.Xpad = 5; statusColumn.PackStart(stat, false); statusColumn.SetCellDataFunc(stat, new TreeCellDataFunc(statusCellTextDataFunc)); statusColumn.Resizable = true; statusColumn.MinWidth = 150; AccTreeView.AppendColumn(statusColumn); // Set up buttons for add/remove/accept/decline HButtonBox buttonBox = new HButtonBox(); buttonBox.Spacing = 10; buttonBox.Layout = ButtonBoxStyle.End; this.PackStart(buttonBox, false, false, 0); //AddButton = new Button("Add"); // buttonBox.PackStart(AddButton); MigrateButton = new Button("_Migrate"); buttonBox.PackStart(MigrateButton); MigrateButton.Clicked += new EventHandler(OnMigrateAccount); DetailsButton = new Button(Gtk.Stock.Properties); buttonBox.PackStart(DetailsButton); DetailsButton.Clicked += new EventHandler(OnDetailsClicked); AccTreeView.RowActivated += new RowActivatedHandler( OnAccTreeRowActivated); }
protected virtual void Build() { global::Stetic.Gui.Initialize(this); // Widget MainWindow this.Name = "MainWindow"; this.Title = Mono.Unix.Catalog.GetString("LogToCSV"); this.WindowPosition = (WindowPosition)4; this.Resizable = false; this.DefaultWidth = 0; this.DefaultHeight = 0; // Container child MainWindow.Gtk.Container+ContainerChild this.fixed2 = new Fixed { Name = "fixed2", HasWindow = false }; // Container child fixed2.Gtk.Fixed+FixedChild this.button6 = new Gtk.Button { CanFocus = true, Name = "button6", UseUnderline = true, Label = global::Mono.Unix.Catalog.GetString("Dosya Seçiz") }; this.fixed2.Add(this.button6); global::Gtk.Fixed.FixedChild w1 = ((global::Gtk.Fixed.FixedChild)(this.fixed2[this.button6])); w1.X = 70; w1.Y = 40; button6.Clicked += new EventHandler(FileOpen); // Container child fixed2.Gtk.Fixed+FixedChild this.button3 = new Gtk.Button { CanFocus = true, Name = "button3", UseUnderline = true, Label = global::Mono.Unix.Catalog.GetString("Dosyayı Görüntüle") }; this.fixed2.Add(this.button3); Fixed.FixedChild w2 = ((Fixed.FixedChild)(this.fixed2[this.button3])); w2.X = 70; w2.Y = 160; this.button3.Clicked += new EventHandler(FileList); // Container child fixed2.Gtk.Fixed+FixedChild this.button2 = new Gtk.Button { CanFocus = true, Name = "button2", UseUnderline = true, Label = global::Mono.Unix.Catalog.GetString("Konum Seçiniz") }; this.fixed2.Add(this.button2); Fixed.FixedChild w3 = ((Fixed.FixedChild)(this.fixed2[this.button2])); w3.X = 70; w3.Y = 220; button2.Clicked += new EventHandler(PathOpen); // Container child fixed2.Gtk.Fixed+FixedChild this.button1 = new Gtk.Button { CanFocus = true, Name = "button1", UseUnderline = true, Label = global::Mono.Unix.Catalog.GetString("Dosya Oluştur") }; this.fixed2.Add(this.button1); Fixed.FixedChild w4 = ((Fixed.FixedChild)(this.fixed2[this.button1])); w4.X = 70; w4.Y = 280; button1.Clicked += new EventHandler(FileCreate); // Container child fixed2.Gtk.Fixed+FixedChild this.GtkScrolledWindow = new ScrolledWindow { WidthRequest = 700, HeightRequest = 400, Name = "GtkScrolledWindow", ShadowType = ((global::Gtk.ShadowType)(1)) }; // Container child GtkScrolledWindow.Gtk.Container+ContainerChild this.textview3 = new TextView { CanFocus = true, Name = "textview3" }; this.GtkScrolledWindow.Add(this.textview3); this.fixed2.Add(this.GtkScrolledWindow); Fixed.FixedChild w6 = (Fixed.FixedChild) this.fixed2[this.GtkScrolledWindow]; w6.X = 265; w6.Y = 14; // Container child fixed2.Gtk.Fixed+FixedChild this.button4 = new Gtk.Button { CanFocus = true, Name = "button4", UseUnderline = true, Label = Mono.Unix.Catalog.GetString("TcTLO Seçiniz") }; this.fixed2.Add(this.button4); Fixed.FixedChild w7 = (Fixed.FixedChild) this.fixed2[this.button4]; w7.X = 70; w7.Y = 100; button4.Clicked += new EventHandler(TcTLO_O); // Container child fixed2.Gtk.Fixed + FixedChild this.button5 = new Gtk.Button { CanFocus = true, Name = "button5", UseUnderline = true, Label = global::Mono.Unix.Catalog.GetString("Bulunamayanlar") }; this.fixed2.Add(this.button5); global::Gtk.Fixed.FixedChild w8 = ((global::Gtk.Fixed.FixedChild)(this.fixed2[this.button5])); w8.X = 10; w8.Y = 330; button5.Clicked += new EventHandler(NotFound_L); // Container child fixed2.Gtk.Fixed+FixedChild this.button7 = new Gtk.Button { CanFocus = true, Name = "button7", UseUnderline = true, Label = Mono.Unix.Catalog.GetString("Temizle") }; this.fixed2.Add(this.button7); Fixed.FixedChild w9 = (Fixed.FixedChild)(this.fixed2[this.button7]); w9.X = 180; w9.Y = 380; button7.Clicked += new EventHandler(Clear); // Container child fixed2.Gtk.Fixed+FixedChild this.button8 = new Gtk.Button { CanFocus = true, Name = "button8", UseUnderline = true, Label = global::Mono.Unix.Catalog.GetString("Analiz Oluştur") }; this.fixed2.Add(this.button8); Fixed.FixedChild w10 = (Fixed.FixedChild)(this.fixed2[this.button8]); w10.X = 10; w10.Y = 380; button8.Clicked += new EventHandler(Create_analysis); this.Add(this.fixed2); if ((this.Child != null)) { this.Child.ShowAll(); } this.Show(); this.DeleteEvent += new DeleteEventHandler(this.OnDeleteEvent); }
public DebugValueWindow(Gtk.Window transientFor, PinnedWatchLocation location, StackFrame frame, ObjectValue value, PinnedWatch watch) : base(Gtk.WindowType.Toplevel) { TypeHint = WindowTypeHint.PopupMenu; AllowShrink = false; AllowGrow = false; Decorated = false; TransientFor = transientFor; // Avoid getting the focus when the window is shown. We'll get it when the mouse enters the window AcceptFocus = false; sw = new ScrolledWindow { HscrollbarPolicy = PolicyType.Never, VscrollbarPolicy = PolicyType.Never }; UpdateTreeStyle(Theme.BackgroundColor); if (useNewTreeView) { controller = new ObjectValueTreeViewController(); controller.SetStackFrame(frame); controller.AllowEditing = true; controller.PinnedWatch = watch; controller.PinnedWatchLocation = location; treeView = controller.GetGtkControl(headersVisible: false, allowPinning: true, compactView: true, rootPinVisible: true); if (treeView is IObjectValueTreeView ovtv) { ovtv.StartEditing += OnStartEditing; ovtv.EndEditing += OnEndEditing; ovtv.NodePinned += OnPinStatusChanged; } controller.AddValue(value); } else { objValueTreeView = new ObjectValueTreeView(); objValueTreeView.RootPinAlwaysVisible = true; objValueTreeView.HeadersVisible = false; objValueTreeView.AllowEditing = true; objValueTreeView.AllowPinning = true; objValueTreeView.CompactView = true; objValueTreeView.PinnedWatch = watch; objValueTreeView.PinnedWatchLocation = location; objValueTreeView.Frame = frame; objValueTreeView.AddValue(value); objValueTreeView.PinStatusChanged += OnPinStatusChanged; objValueTreeView.StartEditing += OnStartEditing; objValueTreeView.EndEditing += OnEndEditing; treeView = objValueTreeView; } treeView.Name = innerTreeName; treeView.Selection.UnselectAll(); treeView.SizeAllocated += OnTreeSizeChanged; sw.Add(treeView); ContentBox.Add(sw); sw.ShowAll(); ShowArrow = true; Theme.CornerRadius = 3; PreviewWindowManager.WindowClosed += PreviewWindowManager_WindowClosed; }
public void ShowPage(PageType type, string [] warnings) { if (type == PageType.Setup) { Header = "Welcome to SparkleShare!"; Description = "First off, what’s your name and email?\n(visible only to team members)"; Table table = new Table(2, 3, true) { RowSpacing = 6, ColumnSpacing = 6 }; Label name_label = new Label("<b>" + "Full Name:" + "</b>") { UseMarkup = true, Xalign = 1 }; Entry name_entry = new Entry() { Xalign = 0, ActivatesDefault = true }; try { UnixUserInfo user_info = UnixUserInfo.GetRealUser(); if (user_info != null && user_info.RealName != null) { // Some systems append a series of "," for some reason name_entry.Text = user_info.RealName.TrimEnd(",".ToCharArray()); } } catch (ArgumentException) { // No username, not a big deal } Entry email_entry = new Entry() { Xalign = 0, ActivatesDefault = true }; Label email_label = new Label("<b>" + "Email:" + "</b>") { UseMarkup = true, Xalign = 1 }; table.Attach(name_label, 0, 1, 0, 1); table.Attach(name_entry, 1, 2, 0, 1); table.Attach(email_label, 0, 1, 1, 2); table.Attach(email_entry, 1, 2, 1, 2); VBox wrapper = new VBox(false, 9); wrapper.PackStart(table, true, false, 0); Button cancel_button = new Button("Cancel"); Button continue_button = new Button("Continue") { Sensitive = false }; Controller.UpdateSetupContinueButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { continue_button.Sensitive = button_enabled; }); }; name_entry.Changed += delegate { Controller.CheckSetupPage(name_entry.Text, email_entry.Text); }; email_entry.Changed += delegate { Controller.CheckSetupPage(name_entry.Text, email_entry.Text); }; cancel_button.Clicked += delegate { Controller.SetupPageCancelled(); }; continue_button.Clicked += delegate { Controller.SetupPageCompleted(name_entry.Text, email_entry.Text); }; AddButton(cancel_button); AddButton(continue_button); Add(wrapper); Controller.CheckSetupPage(name_entry.Text, email_entry.Text); if (name_entry.Text.Equals("")) { name_entry.GrabFocus(); } else { email_entry.GrabFocus(); } } if (type == PageType.Add) { Header = "Where’s your project hosted?"; VBox layout_vertical = new VBox(false, 16); HBox layout_fields = new HBox(true, 32); VBox layout_address = new VBox(true, 0); VBox layout_path = new VBox(true, 0); ListStore store = new ListStore(typeof(string), typeof(Gdk.Pixbuf), typeof(string), typeof(SparklePlugin)); SparkleTreeView tree_view = new SparkleTreeView(store) { HeadersVisible = false }; ScrolledWindow scrolled_window = new ScrolledWindow() { ShadowType = ShadowType.In }; scrolled_window.SetPolicy(PolicyType.Never, PolicyType.Automatic); // Padding column tree_view.AppendColumn("Padding", new Gtk.CellRendererText(), "text", 0); tree_view.Columns [0].Cells [0].Xpad = 4; // Icon column tree_view.AppendColumn("Icon", new Gtk.CellRendererPixbuf(), "pixbuf", 1); tree_view.Columns [1].Cells [0].Xpad = 4; // Service column TreeViewColumn service_column = new TreeViewColumn() { Title = "Service" }; CellRendererText service_cell = new CellRendererText() { Ypad = 8 }; service_column.PackStart(service_cell, true); service_column.SetCellDataFunc(service_cell, new TreeCellDataFunc(RenderServiceColumn)); foreach (SparklePlugin plugin in Controller.Plugins) { store.AppendValues("", new Gdk.Pixbuf(plugin.ImagePath), "<span size=\"small\"><b>" + plugin.Name + "</b>\n" + "<span fgcolor=\"" + Program.UI.SecondaryTextColor + "\">" + plugin.Description + "</span>" + "</span>", plugin); } tree_view.AppendColumn(service_column); scrolled_window.Add(tree_view); Entry address_entry = new Entry() { Text = Controller.PreviousAddress, Sensitive = (Controller.SelectedPlugin.Address == null), ActivatesDefault = true }; Entry path_entry = new Entry() { Text = Controller.PreviousPath, Sensitive = (Controller.SelectedPlugin.Path == null), ActivatesDefault = true }; Label address_example = new Label() { Xalign = 0, UseMarkup = true, Markup = "<span size=\"small\" fgcolor=\"" + Program.UI.SecondaryTextColor + "\">" + Controller.SelectedPlugin.AddressExample + "</span>" }; Label path_example = new Label() { Xalign = 0, UseMarkup = true, Markup = "<span size=\"small\" fgcolor=\"" + Program.UI.SecondaryTextColor + "\">" + Controller.SelectedPlugin.PathExample + "</span>" }; TreeSelection default_selection = tree_view.Selection; TreePath default_path = new TreePath("" + Controller.SelectedPluginIndex); default_selection.SelectPath(default_path); tree_view.Model.Foreach(new TreeModelForeachFunc( delegate(ITreeModel model, TreePath path, TreeIter iter) { string address; try { address = (model.GetValue(iter, 2) as SparklePlugin).Address; } catch (NullReferenceException) { address = ""; } if (!string.IsNullOrEmpty(address) && address.Equals(Controller.PreviousAddress)) { tree_view.SetCursor(path, service_column, false); SparklePlugin plugin = (SparklePlugin)model.GetValue(iter, 2); if (plugin.Address != null) { address_entry.Sensitive = false; } if (plugin.Path != null) { path_entry.Sensitive = false; } return(true); } else { return(false); } } )); layout_address.PackStart(new Label() { Markup = "<b>" + "Address" + "</b>", Xalign = 0 }, true, true, 0); layout_address.PackStart(address_entry, false, false, 0); layout_address.PackStart(address_example, false, false, 0); path_entry.Changed += delegate { Controller.CheckAddPage(address_entry.Text, path_entry.Text, tree_view.SelectedRow); }; layout_path.PackStart(new Label() { Markup = "<b>" + "Remote Path" + "</b>", Xalign = 0 }, true, true, 0); layout_path.PackStart(path_entry, false, false, 0); layout_path.PackStart(path_example, false, false, 0); layout_fields.PackStart(layout_address, true, true, 0); layout_fields.PackStart(layout_path, true, true, 0); layout_vertical.PackStart(new Label(""), false, false, 0); layout_vertical.PackStart(scrolled_window, true, true, 0); layout_vertical.PackStart(layout_fields, false, false, 0); tree_view.ScrollToCell(new TreePath("" + Controller.SelectedPluginIndex), null, true, 0, 0); Add(layout_vertical); if (string.IsNullOrEmpty(path_entry.Text)) { address_entry.GrabFocus(); address_entry.Position = -1; } else { path_entry.GrabFocus(); path_entry.Position = -1; } Button cancel_button = new Button("Cancel"); Button add_button = new Button("Add") { Sensitive = false }; Controller.ChangeAddressFieldEvent += delegate(string text, string example_text, FieldState state) { Application.Invoke(delegate { address_entry.Text = text; address_entry.Sensitive = (state == FieldState.Enabled); address_example.Markup = "<span size=\"small\" fgcolor=\"" + Program.UI.SecondaryTextColor + "\">" + example_text + "</span>"; }); }; Controller.ChangePathFieldEvent += delegate(string text, string example_text, FieldState state) { Application.Invoke(delegate { path_entry.Text = text; path_entry.Sensitive = (state == FieldState.Enabled); path_example.Markup = "<span size=\"small\" fgcolor=\"" + Program.UI.SecondaryTextColor + "\">" + example_text + "</span>"; }); }; Controller.UpdateAddProjectButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { add_button.Sensitive = button_enabled; }); }; tree_view.CursorChanged += delegate(object sender, EventArgs e) { Controller.SelectedPluginChanged(tree_view.SelectedRow); }; address_entry.Changed += delegate { Controller.CheckAddPage(address_entry.Text, path_entry.Text, tree_view.SelectedRow); }; cancel_button.Clicked += delegate { Controller.PageCancelled(); }; add_button.Clicked += delegate { Controller.AddPageCompleted(address_entry.Text, path_entry.Text); }; CheckButton check_button = new CheckButton("Fetch prior revisions") { Active = true }; check_button.Toggled += delegate { Controller.HistoryItemChanged(check_button.Active); }; AddOption(check_button); AddButton(cancel_button); AddButton(add_button); Controller.HistoryItemChanged(check_button.Active); Controller.CheckAddPage(address_entry.Text, path_entry.Text, 1); } if (type == PageType.Invite) { Header = "You’ve received an invite!"; Description = "Do you want to add this project to SparkleShare?"; Table table = new Table(2, 3, true) { RowSpacing = 6, ColumnSpacing = 6 }; Label address_label = new Label("Address:") { Xalign = 1 }; Label path_label = new Label("Remote Path:") { Xalign = 1 }; Label address_value = new Label("<b>" + Controller.PendingInvite.Address + "</b>") { UseMarkup = true, Xalign = 0 }; Label path_value = new Label("<b>" + Controller.PendingInvite.RemotePath + "</b>") { UseMarkup = true, Xalign = 0 }; table.Attach(address_label, 0, 1, 0, 1); table.Attach(address_value, 1, 2, 0, 1); table.Attach(path_label, 0, 1, 1, 2); table.Attach(path_value, 1, 2, 1, 2); VBox wrapper = new VBox(false, 9); wrapper.PackStart(table, true, false, 0); Button cancel_button = new Button("Cancel"); Button add_button = new Button("Add"); cancel_button.Clicked += delegate { Controller.PageCancelled(); }; add_button.Clicked += delegate { Controller.InvitePageCompleted(); }; AddButton(cancel_button); AddButton(add_button); Add(wrapper); } if (type == PageType.Syncing) { Header = String.Format("Adding project ‘{0}’…", Controller.SyncingFolder); Description = "This may take a while for large projects.\nIsn’t it coffee-o’clock?"; ProgressBar progress_bar = new ProgressBar(); progress_bar.Fraction = Controller.ProgressBarPercentage / 100; Button cancel_button = new Button() { Label = "Cancel" }; Button finish_button = new Button("Finish") { Sensitive = false }; Label progress_label = new Label("Preparing to fetch files…") { Justify = Justification.Right, Xalign = 1 }; Controller.UpdateProgressBarEvent += delegate(double percentage, string speed) { Application.Invoke(delegate { progress_bar.Fraction = percentage / 100; progress_label.Text = speed; }); }; cancel_button.Clicked += delegate { Controller.SyncingCancelled(); }; VBox bar_wrapper = new VBox(false, 0); bar_wrapper.PackStart(progress_bar, false, false, 21); bar_wrapper.PackStart(progress_label, false, true, 0); Add(bar_wrapper); AddButton(cancel_button); AddButton(finish_button); } if (type == PageType.Error) { Header = "Oops! Something went wrong" + "…"; VBox points = new VBox(false, 0); Image list_point_one = new Image(SparkleUIHelpers.GetIcon("list-point", 16)); Image list_point_two = new Image(SparkleUIHelpers.GetIcon("list-point", 16)); Image list_point_three = new Image(SparkleUIHelpers.GetIcon("list-point", 16)); Label label_one = new Label() { Markup = "<b>" + Controller.PreviousUrl + "</b> is the address we’ve compiled. " + "Does this look alright?", Wrap = true, Xalign = 0 }; Label label_two = new Label() { Text = "Is this computer’s Client ID known by the host?", Wrap = true, Xalign = 0 }; points.PackStart(new Label("Please check the following:") { Xalign = 0 }, false, false, 6); HBox point_one = new HBox(false, 0); point_one.PackStart(list_point_one, false, false, 0); point_one.PackStart(label_one, true, true, 12); points.PackStart(point_one, false, false, 12); HBox point_two = new HBox(false, 0); point_two.PackStart(list_point_two, false, false, 0); point_two.PackStart(label_two, true, true, 12); points.PackStart(point_two, false, false, 12); if (warnings.Length > 0) { string warnings_markup = ""; foreach (string warning in warnings) { warnings_markup += "\n<b>" + warning + "</b>"; } Label label_three = new Label() { Markup = "Here’s the raw error message:" + warnings_markup, Wrap = true, Xalign = 0 }; HBox point_three = new HBox(false, 0); point_three.PackStart(list_point_three, false, false, 0); point_three.PackStart(label_three, true, true, 12); points.PackStart(point_three, false, false, 12); } points.PackStart(new Label(""), true, true, 0); Button cancel_button = new Button("Cancel"); Button try_again_button = new Button("Try Again…") { Sensitive = true }; cancel_button.Clicked += delegate { Controller.PageCancelled(); }; try_again_button.Clicked += delegate { Controller.ErrorPageCompleted(); }; AddButton(cancel_button); AddButton(try_again_button); Add(points); } if (type == PageType.CryptoSetup || type == PageType.CryptoPassword) { if (type == PageType.CryptoSetup) { Header = "Set up file encryption"; Description = "Please a provide a strong password that you don’t use elsewhere."; } else { Header = "This project contains encrypted files"; Description = "Please enter the password to see their contents."; } Label password_label = new Label("<b>" + "Password" + "</b>") { UseMarkup = true, Xalign = 1 }; Entry password_entry = new Entry() { Xalign = 0, Visibility = false, ActivatesDefault = true }; CheckButton show_password_check_button = new CheckButton("Show password") { Active = false, Xalign = 0, }; Table table = new Table(2, 3, true) { RowSpacing = 6, ColumnSpacing = 6 }; table.Attach(password_label, 0, 1, 0, 1); table.Attach(password_entry, 1, 2, 0, 1); table.Attach(show_password_check_button, 1, 2, 1, 2); VBox wrapper = new VBox(false, 9); wrapper.PackStart(table, true, false, 0); Image warning_image = new Image( SparkleUIHelpers.GetIcon("dialog-information", 24)); Label warning_label = new Label() { Xalign = 0, Wrap = true, Text = "This password can’t be changed later, and your files can’t be recovered if it’s forgotten." }; HBox warning_layout = new HBox(false, 0); warning_layout.PackStart(warning_image, false, false, 15); warning_layout.PackStart(warning_label, true, true, 0); VBox warning_wrapper = new VBox(false, 0); warning_wrapper.PackStart(warning_layout, false, false, 15); if (type == PageType.CryptoSetup) { wrapper.PackStart(warning_wrapper, false, false, 0); } Button cancel_button = new Button("Cancel"); Button continue_button = new Button("Continue") { Sensitive = false }; Controller.UpdateCryptoSetupContinueButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { continue_button.Sensitive = button_enabled; }); }; Controller.UpdateCryptoPasswordContinueButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { continue_button.Sensitive = button_enabled; }); }; show_password_check_button.Toggled += delegate { password_entry.Visibility = !password_entry.Visibility; }; password_entry.Changed += delegate { if (type == PageType.CryptoSetup) { Controller.CheckCryptoSetupPage(password_entry.Text); } else { Controller.CheckCryptoPasswordPage(password_entry.Text); } }; cancel_button.Clicked += delegate { Controller.CryptoPageCancelled(); }; continue_button.Clicked += delegate { if (type == PageType.CryptoSetup) { Controller.CryptoSetupPageCompleted(password_entry.Text); } else { Controller.CryptoPasswordPageCompleted(password_entry.Text); } }; Add(wrapper); AddButton(cancel_button); AddButton(continue_button); password_entry.GrabFocus(); } if (type == PageType.Finished) { Header = "Your shared project is ready!"; Description = "You can find the files in your SparkleShare folder."; UrgencyHint = true; Button show_files_button = new Button("Show Files…"); Button finish_button = new Button("Finish"); show_files_button.Clicked += delegate { Controller.ShowFilesClicked(); }; finish_button.Clicked += delegate { Controller.FinishPageCompleted(); }; if (warnings.Length > 0) { Image warning_image = new Image(SparkleUIHelpers.GetIcon("dialog-information", 24)); Label warning_label = new Label(warnings [0]) { Xalign = 0, Wrap = true }; HBox warning_layout = new HBox(false, 0); warning_layout.PackStart(warning_image, false, false, 15); warning_layout.PackStart(warning_label, true, true, 0); VBox warning_wrapper = new VBox(false, 0); warning_wrapper.PackStart(warning_layout, false, false, 0); Add(warning_wrapper); } else { Add(null); } AddButton(show_files_button); AddButton(finish_button); } if (type == PageType.Tutorial) { switch (Controller.TutorialPageNumber) { case 1: { Header = "What’s happening next?"; Description = "SparkleShare creates a special folder on your computer " + "that will keep track of your projects."; Button skip_tutorial_button = new Button("Skip Tutorial"); Button continue_button = new Button("Continue"); skip_tutorial_button.Clicked += delegate { Controller.TutorialSkipped(); }; continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; AddButton(skip_tutorial_button); AddButton(continue_button); break; } case 2: { Header = "Sharing files with others"; Description = "All files added to your project folders are synced automatically with " + "the host and your team members."; Button continue_button = new Button("Continue"); continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; AddButton(continue_button); break; } case 3: { Header = "The status icon helps you"; Description = "It shows the syncing progress, provides easy access to " + "your projects, and lets you view recent changes."; Button continue_button = new Button("Continue"); continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; AddButton(continue_button); break; } case 4: { Header = "Here’s your unique Client ID"; Description = "You’ll need it whenever you want to link this computer to a host. " + "You can also find it in the status icon menu."; Button finish_button = new Button("Finish"); VBox layout_vertical = new VBox(false, 0) { BorderWidth = 48 }; HBox layout_horizontal = new HBox(false, 6); Entry link_code_entry = new Entry() { Text = Program.Controller.CurrentUser.PublicKey, Sensitive = false }; Button copy_button = new Button(" Copy "); CheckButton check_button = new CheckButton("Add SparkleShare to startup items"); check_button.Active = true; copy_button.Clicked += delegate { Controller.CopyToClipboardClicked(); }; check_button.Toggled += delegate { Controller.StartupItemChanged(check_button.Active); }; finish_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; layout_horizontal.PackStart(link_code_entry, true, true, 0); layout_horizontal.PackStart(copy_button, false, false, 0); layout_vertical.PackStart(new Label(""), true, true, 0); layout_vertical.PackStart(layout_horizontal, false, false, 0); layout_vertical.PackStart(new Label(""), true, true, 18); Add(layout_vertical); AddOption(check_button); AddButton(finish_button); break; } } if (Controller.TutorialPageNumber < 4) { Image slide = SparkleUIHelpers.GetImage("tutorial-slide-" + Controller.TutorialPageNumber + ".png"); Add(slide); } } }
private Gtk.Dialog BuildDialog() { Gtk.Dialog dialog = new Gtk.Dialog(Catalog.GetString("Set Languages"), Base.Ui.Window, DialogFlags.Modal | DialogFlagsUseHeaderBar, Util.GetStockLabel("gtk-cancel"), ResponseType.Cancel, Util.GetStockLabel("gtk-apply"), ResponseType.Ok); dialog.DefaultResponse = ResponseType.Ok; dialog.DefaultWidth = WidgetStyles.DialogWidthMedium; dialog.DefaultHeight = WidgetStyles.DialogHeightMedium; Grid grid = new Grid(); grid.RowSpacing = WidgetStyles.RowSpacingMedium; grid.ColumnSpacing = WidgetStyles.ColumnSpacingLarge; grid.BorderWidth = WidgetStyles.BorderWidthMedium; grid.ColumnHomogeneous = true; /* Left part: Text Language */ Label textLabel = new Label("<b>" + Catalog.GetString("Text Language") + "</b>"); textLabel.UseMarkup = true; textLabel.Halign = Align.Start; grid.Attach(textLabel, 0, 0, 1, 1); textTreeView = CreateTreeView(); ScrolledWindow textScrolledWindow = CreateLanguagesScrolledWindow(textTreeView); SelectActiveLanguage(textTreeView, SubtitleTextType.Text); grid.Attach(textScrolledWindow, 0, 1, 1, 1); /* Right part: Translation Language */ Label transLabel = new Label("<b>" + Catalog.GetString("Translation Language") + "</b>"); transLabel.UseMarkup = true; transLabel.Halign = Align.Start; grid.Attach(transLabel, 1, 0, 1, 1); transTreeView = CreateTreeView(); ScrolledWindow transScrolledWindow = CreateLanguagesScrolledWindow(transTreeView); if (Base.Document.IsTranslationLoaded) { SelectActiveLanguage(transTreeView, SubtitleTextType.Translation); } else { transScrolledWindow.Sensitive = false; } grid.Attach(transScrolledWindow, 1, 1, 1, 1); /* Bottom: info message */ Label bottomLabel = Util.CreateLabel("<i>" + Catalog.GetString("For additional languages please install the corresponding package.") + "</i>", 0, 0); bottomLabel.UseMarkup = true; grid.Attach(bottomLabel, 0, 2, 2, 1); dialog.ContentArea.Add(grid); dialog.ContentArea.ShowAll(); ConnectSignals(); return(dialog); }
public override void LaunchDialogue() { //the Type in the collection IList collection = (IList)Value; string displayName = Property.DisplayName; //populate list with existing items ListStore itemStore = new ListStore(typeof(object), typeof(int), typeof(string)); for (int i = 0; i < collection.Count; i++) { itemStore.AppendValues(collection [i], i, collection [i].ToString()); } #region Building Dialogue TreeView itemTree; PropertyGrid grid; TreeIter previousIter = TreeIter.Zero; //dialogue and buttons var dialog = new Gtk.Dialog() { Title = displayName + " Editor", Modal = true, AllowGrow = true, AllowShrink = true, }; var toplevel = this.Container.GetNativeWidget <Gtk.Widget> ().Toplevel as Gtk.Window; if (toplevel != null) { dialog.TransientFor = toplevel; } dialog.AddActionWidget(new Button(Stock.Cancel), ResponseType.Cancel); dialog.AddActionWidget(new Button(Stock.Ok), ResponseType.Ok); //three columns for items, sorting, PropGrid HBox hBox = new HBox(); dialog.VBox.PackStart(hBox, true, true, 5); //propGrid at end grid = new PropertyGrid(base.EditorManager) { CurrentObject = null, WidthRequest = 200, ShowHelp = false }; hBox.PackEnd(grid, true, true, 5); //followed by a ButtonBox VBox buttonBox = new VBox(); buttonBox.Spacing = 6; hBox.PackEnd(buttonBox, false, false, 5); //add/remove buttons Button addButton = new Button(new Image(Stock.Add, IconSize.Button)); buttonBox.PackStart(addButton, false, false, 0); if (types [0].IsAbstract) { addButton.Sensitive = false; } Button removeButton = new Button(new Gtk.Image(Stock.Remove, IconSize.Button)); buttonBox.PackStart(removeButton, false, false, 0); //sorting buttons Button upButton = new Button(new Image(Stock.GoUp, IconSize.Button)); buttonBox.PackStart(upButton, false, false, 0); Button downButton = new Button(new Image(Stock.GoDown, IconSize.Button)); buttonBox.PackStart(downButton, false, false, 0); //Third column has list (TreeView) in a ScrolledWindow ScrolledWindow listScroll = new ScrolledWindow(); listScroll.WidthRequest = 200; listScroll.HeightRequest = 320; hBox.PackStart(listScroll, false, false, 5); itemTree = new TreeView(itemStore); itemTree.Selection.Mode = SelectionMode.Single; itemTree.HeadersVisible = false; listScroll.AddWithViewport(itemTree); //renderers and attribs for TreeView CellRenderer rdr = new CellRendererText(); itemTree.AppendColumn(new TreeViewColumn("Index", rdr, "text", 1)); rdr = new CellRendererText(); itemTree.AppendColumn(new TreeViewColumn("Object", rdr, "text", 2)); #endregion #region Events addButton.Clicked += delegate { //create the object object instance = System.Activator.CreateInstance(types[0]); //get existing selection and insert after it TreeIter oldIter, newIter; if (itemTree.Selection.GetSelected(out oldIter)) { newIter = itemStore.InsertAfter(oldIter); } //or append if no previous selection else { newIter = itemStore.Append(); } itemStore.SetValue(newIter, 0, instance); //select, set name and update all the indices itemTree.Selection.SelectIter(newIter); UpdateName(itemStore, newIter); UpdateIndices(itemStore); }; removeButton.Clicked += delegate { //get selected iter and the replacement selection TreeIter iter, newSelection; if (!itemTree.Selection.GetSelected(out iter)) { return; } newSelection = iter; if (!IterPrev(itemStore, ref newSelection)) { newSelection = iter; if (!itemStore.IterNext(ref newSelection)) { newSelection = TreeIter.Zero; } } //new selection. Zeroing previousIter prevents trying to update name of deleted iter. previousIter = TreeIter.Zero; if (itemStore.IterIsValid(newSelection)) { itemTree.Selection.SelectIter(newSelection); } //and the removal and index update itemStore.Remove(ref iter); UpdateIndices(itemStore); }; upButton.Clicked += delegate { TreeIter iter, prev; if (!itemTree.Selection.GetSelected(out iter)) { return; } //get previous iter prev = iter; if (!IterPrev(itemStore, ref prev)) { return; } //swap the two itemStore.Swap(iter, prev); //swap indices too object prevVal = itemStore.GetValue(prev, 1); object iterVal = itemStore.GetValue(iter, 1); itemStore.SetValue(prev, 1, iterVal); itemStore.SetValue(iter, 1, prevVal); }; downButton.Clicked += delegate { TreeIter iter, next; if (!itemTree.Selection.GetSelected(out iter)) { return; } //get next iter next = iter; if (!itemStore.IterNext(ref next)) { return; } //swap the two itemStore.Swap(iter, next); //swap indices too object nextVal = itemStore.GetValue(next, 1); object iterVal = itemStore.GetValue(iter, 1); itemStore.SetValue(next, 1, iterVal); itemStore.SetValue(iter, 1, nextVal); }; itemTree.Selection.Changed += delegate { TreeIter iter; if (!itemTree.Selection.GetSelected(out iter)) { removeButton.Sensitive = false; return; } removeButton.Sensitive = true; //update grid object obj = itemStore.GetValue(iter, 0); grid.CurrentObject = obj; //update previously selected iter's name UpdateName(itemStore, previousIter); //update current selection so we can update //name next selection change previousIter = iter; }; grid.Changed += delegate { TreeIter iter; if (itemTree.Selection.GetSelected(out iter)) { UpdateName(itemStore, iter); } }; TreeIter selectionIter; removeButton.Sensitive = itemTree.Selection.GetSelected(out selectionIter); dialog.ShowAll(); grid.ShowToolbar = false; #endregion //if 'OK' put items back in collection using (dialog) { if (MonoDevelop.Ide.MessageService.ShowCustomDialog(dialog, toplevel) == (int)ResponseType.Ok) { DesignerTransaction tran = CreateTransaction(Instance); object old = collection; try { collection.Clear(); foreach (object[] o in itemStore) { collection.Add(o [0]); } EndTransaction(Instance, tran, old, collection, true); } catch { EndTransaction(Instance, tran, old, collection, false); throw; } } } }
public DirtyFilesDialog(IReadOnlyList <Document> docs, bool closeWorkspace, bool groupByProject) : base(GettextCatalog.GetString("Save Files"), IdeApp.Workbench.RootWindow, DialogFlags.Modal) { tsFiles = new TreeStore(typeof(string), typeof(bool), typeof(SdiWorkspaceWindow), typeof(bool)); tvFiles = new TreeView(tsFiles); TreeIter topCombineIter = TreeIter.Zero; Hashtable projectIters = new Hashtable(); foreach (Document doc in docs) { if (!doc.IsDirty) { continue; } ViewContent viewcontent = doc.Window.ViewContent; if (groupByProject && viewcontent.Project != null) { TreeIter projIter = TreeIter.Zero; if (projectIters.ContainsKey(viewcontent.Project)) { projIter = (TreeIter)projectIters [viewcontent.Project]; } else { if (topCombineIter.Equals(TreeIter.Zero)) { projIter = tsFiles.AppendValues(GettextCatalog.GetString("Project: {0}", viewcontent.Project.Name), true, null, false); } else { projIter = tsFiles.AppendValues(topCombineIter, GettextCatalog.GetString("Project: {0}", viewcontent.Project.Name), true, null, false); } projectIters [viewcontent.Project] = projIter; } tsFiles.AppendValues(projIter, viewcontent.PathRelativeToProject, true, viewcontent.WorkbenchWindow); } else { if (viewcontent.ContentName == null) { viewcontent.ContentName = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), viewcontent.UntitledName); } tsFiles.AppendValues(viewcontent.ContentName, true, viewcontent.WorkbenchWindow); } } if (!topCombineIter.Equals(TreeIter.Zero)) { if (!tsFiles.IterHasChild(topCombineIter)) { tsFiles.Remove(ref topCombineIter); } } TreeViewColumn mainColumn = new TreeViewColumn(); mainColumn.Title = "header"; togRender = new CellRendererToggle(); togRender.Toggled += toggled; mainColumn.PackStart(togRender, false); mainColumn.AddAttribute(togRender, "active", 1); mainColumn.AddAttribute(togRender, "inconsistent", 3); textRender = new CellRendererText(); mainColumn.PackStart(textRender, true); mainColumn.AddAttribute(textRender, "text", 0); tvFiles.AppendColumn(mainColumn); tvFiles.HeadersVisible = false; tvFiles.ExpandAll(); ScrolledWindow sc = new ScrolledWindow(); sc.Add(tvFiles); sc.ShadowType = ShadowType.In; sc.BorderWidth = 6; this.VBox.PackStart(sc, true, true, 6); btnSaveAndQuit = new Button(closeWorkspace ? GettextCatalog.GetString("_Save and Quit") : GettextCatalog.GetString("_Save and Close")); btnQuit = new Button(closeWorkspace ? Gtk.Stock.Quit : Gtk.Stock.Close); btnCancel = new Button(Gtk.Stock.Cancel); btnSaveAndQuit.Clicked += SaveAndQuit; btnQuit.Clicked += Quit; btnCancel.Clicked += Cancel; this.ActionArea.PackStart(btnCancel); this.ActionArea.PackStart(btnQuit); this.ActionArea.PackStart(btnSaveAndQuit); this.SetDefaultSize(300, 200); this.Child.ShowAll(); }
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 = false, 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 = false; textColumn.FixedWidth = 300; TreeViewColumn pathColumn = treeviewSearchResults.AppendColumn(GettextCatalog.GetString("Path"), treeviewSearchResults.TextRenderer, ResultPathDataFunc); pathColumn.SortColumnId = 3; pathColumn.Resizable = false; 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(); }
public ConfigWindow(Window owner) : base("config") { this.WidthRequest = 500; this.HeightRequest = 300; this.ShowMinimize = false; this.Modal = true; this.WindowPosition = Gtk.WindowPosition.None; int root_x, root_y; owner.GetPosition(out root_x, out root_y); this.Move(root_x + (owner.WidthRequest / 2) - (this.WidthRequest / 2), root_y + (owner.HeightRequest / 2) - (this.HeightRequest / 2)); this.lblPort = new global::Gtk.Label(); this.lblPort.LabelProp = "Server Port:"; this.GridMain.Add(this.lblPort); global::Gtk.Fixed.FixedChild w2 = ((global::Gtk.Fixed.FixedChild)(this.GridMain[this.lblPort])); w2.X = 40; w2.Y = 62; this.txtPort = new global::Gtk.Entry(); this.txtPort.WidthRequest = 100; this.GridMain.Add(this.txtPort); w2 = ((global::Gtk.Fixed.FixedChild)(this.GridMain[this.txtPort])); w2.X = 110; w2.Y = 60; this.cbStartup = new CheckButton(); this.cbStartup.Label = "Start the web server when the PC starts up"; this.GridMain.Add(this.cbStartup); w2 = ((global::Gtk.Fixed.FixedChild)(this.GridMain[this.cbStartup])); w2.X = 40; w2.Y = 85; this.cbMinimize = new CheckButton(); this.cbMinimize.Label = "Minimize on startup"; this.GridMain.Add(this.cbMinimize); w2 = ((global::Gtk.Fixed.FixedChild)(this.GridMain[this.cbMinimize])); w2.X = 40; w2.Y = 105; this.swNetworkCards = new ScrolledWindow(); this.swNetworkCards.WidthRequest = 400; this.swNetworkCards.HeightRequest = 100; this.swNetworkCards.ShadowType = ((global::Gtk.ShadowType)(1)); this.GridMain.Add(this.swNetworkCards); w2 = ((global::Gtk.Fixed.FixedChild)(this.GridMain[this.swNetworkCards])); w2.X = 40; w2.Y = 130; this.tNetworkCards = new Table(6, 2, false); this.tNetworkCards.RowSpacing = (6); this.tNetworkCards.ColumnSpacing = (6); global::Gtk.Viewport w1 = new global::Gtk.Viewport(); w1.ShadowType = ((global::Gtk.ShadowType)(0)); w1.Add(tNetworkCards); this.swNetworkCards.Add(w1); _lstNetworkCards = new List <NetworkCard>(); List <string> ids = Globals.ReadEnvironmentVariables(Globals.V_NetworkID); IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName()); NetworkInterface[] netInterfaces = NetworkInterface.GetAllNetworkInterfaces(); uint i = 0; foreach (NetworkInterface adapter in netInterfaces) { var ipProps = adapter.GetIPProperties(); foreach (var ip in ipProps.UnicastAddresses) { if (ip.Address.AddressFamily == AddressFamily.InterNetwork) { CheckButton cbNetworkCard = new CheckButton(); cbNetworkCard.Active = ids.Contains(adapter.Id); cbNetworkCard.Label = String.Format("{0} - {1}", adapter.Name, ip.Address.ToString()); this.tNetworkCards.Add(cbNetworkCard); tNetworkCards.Add(cbNetworkCard); global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.tNetworkCards[cbNetworkCard])); w3.TopAttach = i++; w3.YOptions = ((global::Gtk.AttachOptions)(4)); NetworkCard networkCard = new NetworkCard(); networkCard.ID = adapter.Id; networkCard.NetworkName = adapter.Name; networkCard.IPAddress = ip.Address.ToString(); networkCard.CheckBox = cbNetworkCard; _lstNetworkCards.Add(networkCard); } } } this.btnApply = new Button(); this.btnApply.Clicked += btnApply_Clicked; this.btnApply.Label = "Apply"; this.btnApply.WidthRequest = 100; this.GridMain.Add(this.btnApply); w2 = ((global::Gtk.Fixed.FixedChild)(this.GridMain[this.btnApply])); w2.X = 150; w2.Y = 240; this.btnCancel = new Button(); this.btnCancel.Clicked += btnCancel_Clicked; this.btnCancel.Label = "Cancel"; this.btnCancel.WidthRequest = 100; this.GridMain.Add(this.btnCancel); w2 = ((global::Gtk.Fixed.FixedChild)(this.GridMain[this.btnCancel])); w2.X = 250; w2.Y = 240; //Apply settings txtPort.Text = Globals.ReadEnvironmentVariable <int>(Globals.V_WebServerPort).ToString(); cbStartup.Active = Globals.ReadEnvironmentVariable <bool>(Globals.V_WebServerAutoStart); cbMinimize.Active = Globals.ReadEnvironmentVariable <bool>(Globals.V_WebServerHide); this.ShowObjects(); }
public ObservableGamesWidget(GameObservationManager observer) { obManager = observer; iters = new TreeIter[3, 4]; gamesView = new TreeView (); infoLabel = new Label (); infoLabel.Xalign = 0; infoLabel.Xpad = 4; observer.ObservableGameEvent += OnObservableGameEvent; store = new TreeStore (typeof (string), // used for filtering typeof (int), // gameid typeof (string), // markup typeof (string), // typeof (string)); gamesView.HeadersVisible = true; gamesView.HeadersClickable = true; gamesView.AppendColumn (Catalog. GetString ("Games"), new CellRendererText (), "markup", 2); gamesView.AppendColumn (Catalog. GetString ("Time"), new CellRendererText (), "markup", 3); gamesView.AppendColumn (Catalog. GetString ("Category"), new CellRendererText (), "markup", 4); ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = win.VscrollbarPolicy = PolicyType.Automatic; win.Add (gamesView); UpdateInfoLabel (); filterEntry = new Entry (); filterEntry.Changed += OnFilter; filter = new TreeModelFilter (store, null); filter.VisibleFunc = FilterFunc; gamesView.Model = filter; AddParentIters (); infoLabel.UseMarkup = true; Button refreshButton = new Button (Stock.Refresh); refreshButton.Clicked += delegate (object o, EventArgs args) { Clear (); obManager.GetGames (); }; Alignment align = new Alignment (0, 1, 0, 0); align.Add (refreshButton); HBox hbox = new HBox (); hbox.PackStart (infoLabel, true, true, 4); hbox.PackStart (align, false, false, 4); PackStart (hbox, false, true, 4); Label tipLabel = new Label (); tipLabel.Xalign = 0; tipLabel.Xpad = 4; tipLabel.Markup = String. Format ("<small><i>{0}</i></small>", Catalog. GetString ("Press the refresh button to get an updated list of games.\nDouble click on a game to observe it.")); PackStart (tipLabel, false, true, 4); PackStart (filterEntry, false, true, 4); PackStart (win, true, true, 4); gamesView.RowActivated += OnRowActivated; SetSizeRequest (600, 400); ShowAll (); }
public SparkleEventLog() : base("") { SetSizeRequest(480, (int)(Gdk.Screen.Default.Height * 0.8)); int x = (int)(Gdk.Screen.Default.Width * 0.61); int y = (int)(Gdk.Screen.Default.Height * 0.5 - (HeightRequest * 0.5)); Move(x, y); Resizable = true; BorderWidth = 0; Title = "Recent Changes"; IconName = "folder-sparkleshare"; DeleteEvent += delegate(object o, DeleteEventArgs args) { Controller.WindowClosed(); args.RetVal = true; }; KeyPressEvent += delegate(object o, KeyPressEventArgs args) { if (args.Event.Key == Gdk.Key.Escape || (args.Event.State == Gdk.ModifierType.ControlMask && args.Event.Key == Gdk.Key.w)) { Controller.WindowClosed(); } }; this.size_label = new Label() { Markup = "<b>Size:</b> …", Xalign = 0 }; this.history_label = new Label() { Markup = "<b>History:</b> …", Xalign = 0 }; HBox layout_sizes = new HBox(false, 12); layout_sizes.Add(this.size_label); layout_sizes.Add(this.history_label); VBox layout_vertical = new VBox(false, 0); this.spinner = new SparkleSpinner(22); this.content_wrapper = new EventBox(); this.scrolled_window = new ScrolledWindow(); Gdk.Color white = new Gdk.Color(); Gdk.Color.Parse("white", ref white); this.content_wrapper.ModifyBg(StateType.Normal, white); this.web_view = new WebView() { Editable = false }; this.web_view.NavigationRequested += WebViewNavigationRequested; this.scrolled_window.Add(this.web_view); this.content_wrapper.Add(this.spinner); this.spinner.Start(); this.layout_horizontal = new HBox(true, 0); this.layout_horizontal.PackStart(layout_sizes, true, true, 12); layout_vertical.PackStart(this.layout_horizontal, false, false, 0); layout_vertical.PackStart(this.content_wrapper, true, true, 0); Add(layout_vertical); Controller.HideWindowEvent += delegate { Application.Invoke(delegate { HideAll(); if (this.content_wrapper.Child != null) { this.content_wrapper.Remove(this.content_wrapper.Child); } }); }; Controller.ShowWindowEvent += delegate { Application.Invoke(delegate { ShowAll(); Present(); }); }; Controller.ShowSaveDialogEvent += delegate(string file_name, string target_folder_path) { Application.Invoke(delegate { FileChooserDialog dialog = new FileChooserDialog("Restore from History", this, FileChooserAction.Save, "Cancel", ResponseType.Cancel, "Save", ResponseType.Ok); dialog.CurrentName = file_name; dialog.SetCurrentFolder(target_folder_path); if (dialog.Run() == (int)ResponseType.Ok) { Controller.SaveDialogCompleted(dialog.Filename); } else { Controller.SaveDialogCancelled(); } dialog.Destroy(); }); }; Controller.UpdateChooserEvent += delegate(string [] folders) { Application.Invoke(delegate { UpdateChooser(folders); }); }; Controller.UpdateChooserEnablementEvent += delegate(bool enabled) { Application.Invoke(delegate { this.combo_box.Sensitive = enabled; }); }; Controller.UpdateContentEvent += delegate(string html) { Application.Invoke(delegate { UpdateContent(html); }); }; Controller.ContentLoadingEvent += delegate { Application.Invoke(delegate { if (this.content_wrapper.Child != null) { this.content_wrapper.Remove(this.content_wrapper.Child); } this.content_wrapper.Add(this.spinner); this.spinner.Start(); this.content_wrapper.ShowAll(); }); }; Controller.UpdateSizeInfoEvent += delegate(string size, string history_size) { Application.Invoke(delegate { this.size_label.Markup = "<b>Size:</b> " + size; this.history_label.Markup = "<b>History:</b> " + history_size; this.size_label.ShowAll(); this.history_label.ShowAll(); }); }; }
private void UpdateOtherTags(IList ignoreTags) { Table table = new Table ((uint) game.TagList.Count, 2, false); uint i = 0; foreach (PGNTag tag in game.TagList) { if (ignoreTags.Contains (tag.Name)) continue; Label nameLabel = new Label ("<b>" + tag.Name + "</b>"); Label valueLabel = new Label ((string) tag. Value); nameLabel.UseMarkup = true; nameLabel.Xalign = 0; valueLabel.Xalign = 0; table.Attach (nameLabel, 0, 1, i, i + 1); table.Attach (valueLabel, 1, 2, i, i + 1); i++; } ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = PolicyType.Automatic; win.VscrollbarPolicy = PolicyType.Automatic; win.AddWithViewport (table); win.ShowAll (); if (otherTagsWidget.Child != null) { otherTagsWidget. Remove (otherTagsWidget. Child); } otherTagsWidget.Add (win); }
public SqlQueryView() { stoppedQueries = new List <object> (); MonoDevelop.SourceEditor.Extension.TemplateExtensionNodeLoader.Init(); this.UntitledName = string.Concat(AddinCatalog.GetString("Untitled Sql Script"), ".sql"); vbox = new VBox(false, 6); vbox.BorderWidth = 6; Toolbar toolbar = new Toolbar(); toolbar.ToolbarStyle = ToolbarStyle.BothHoriz; buttonExecute = new ToolButton(ImageService.GetImage("md-db-execute", IconSize.SmallToolbar), AddinCatalog.GetString("_Execute")); buttonExecute.Label = AddinCatalog.GetString("Execute"); buttonExecute.Sensitive = false; buttonExecute.TooltipMarkup = AddinCatalog.GetString("Execute Query"); buttonExecute.IsImportant = true; buttonExecute.Clicked += new EventHandler(ExecuteClicked); buttonStop = new ToolButton("gtk-stop"); buttonStop.TooltipText = AddinCatalog.GetString("Stop Query Execution"); buttonStop.Sensitive = false; buttonStop.Clicked += new EventHandler(StopClicked); buttonClear = new ToolButton(ImageService.GetImage("gtk-clear", IconSize.Button), AddinCatalog.GetString("Clear Results")); buttonClear.TooltipText = AddinCatalog.GetString("Clear Results"); buttonClear.Clicked += new EventHandler(ClearClicked); comboConnections = new DatabaseConnectionContextComboBox(); selectedConnection = comboConnections.DatabaseConnection; comboConnections.Changed += new EventHandler(ConnectionChanged); ToolItem comboItem = new ToolItem(); comboItem.Child = comboConnections; toolbar.Add(buttonExecute); toolbar.Add(buttonStop); toolbar.Add(buttonClear); toolbar.Add(new SeparatorToolItem()); toolbar.Add(comboItem); pane = new VPaned(); // Sql History Window ScrolledWindow windowHistory = new ScrolledWindow(); history = new SqlEditorWidget(); history.Editable = false; windowHistory.AddWithViewport(history); // Status of the Last Query ScrolledWindow windowStatus = new ScrolledWindow(); status = new TextView(); windowStatus.Add(status); notebook = new Notebook(); notebook.AppendPage(windowStatus, new Label(AddinCatalog.GetString("Status"))); notebook.AppendPage(windowHistory, new Label(AddinCatalog.GetString("Query History"))); pane.Pack2(notebook, true, true); vbox.PackStart(toolbar, false, true, 0); vbox.PackStart(pane, true, true, 0); this.Document.TextReplaced += SqlChanged; vbox.ShowAll(); Document.DocumentUpdated += delegate(object sender, EventArgs args) { // Default mime type or a provider defined. if (selectedConnection == null) { Document.MimeType = "text/x-sql"; } else { Document.MimeType = GetMimeType(); } }; notebook.Hide(); }
public ChessGameView() : base() { handCursor = new Gdk.Cursor (Gdk.CursorType.Hand2); regularCursor = new Gdk.Cursor (Gdk.CursorType.Xterm); marks = new Hashtable (); tag_links = new Hashtable (); taglinks = new ArrayList (); curMoveIdx = -1; view = new TextView (); view.WrapMode = WrapMode.Word; view.Editable = false; view.WidgetEventAfter += EventAfter; view.MotionNotifyEvent += MotionNotify; view.VisibilityNotifyEvent += VisibilityNotify; ScrolledWindow win = new ScrolledWindow (); win.SetPolicy (PolicyType.Never, PolicyType.Automatic); win.Add (view); PackStart (win, true, true, 0); view.WidthRequest = 150; CreateTags (); ShowAll (); }
public ObservingGamePage(ICSGameObserverWidget widget, MoveDetails details) : base() { this.win = widget; gameId = details.gameNumber; InitGameWidget (details); movesWidget = new ChessMovesWidget (); movesWidget.CursorChanged += OnCursorChanged; gameWidget.WhiteAtBottom = !details.blackAtBottom; board.side = details.blackAtBottom; gameWidget.whiteClock.Configure (details. initial_time * 60, (uint) details. increment); gameWidget.blackClock.Configure (details. initial_time * 60, (uint) details. increment); white = details.white; black = details.black; gameWidget.White = white; gameWidget.Black = black; gameWidget.Show (); board.Show (); movesWidget.Show (); HBox box = new HBox (); Button closeButton; if (Config.WindowsBuild) closeButton = new Button (Stock.Close); else { closeButton = new Button (""); closeButton.Image = new Image (Stock.Close, IconSize.Menu); } resultLabel = new Label (); resultLabel.Xalign = 0; box.PackStart (resultLabel, true, true, 2); box.PackStart (closeButton, false, false, 2); PackStart (box, false, true, 2); box = new HBox (); ScrolledWindow scroll = new ScrolledWindow (); scroll.HscrollbarPolicy = PolicyType.Never; scroll.VscrollbarPolicy = PolicyType.Automatic; scroll.Add (movesWidget); VBox movesBox = new VBox (); movesBox.PackStart (scroll, true, true, 2); AddGameNavigationButtons (movesBox); box.PackStart (gameWidget, true, true, 2); box.PackStart (movesBox, false, true, 2); PackStart (box, true, true, 2); closeButton.Clicked += OnCloseButtonClicked; Update (details); ShowAll (); }
public ExceptionDialog(Exception e) : base() { debugInfo = BuildExceptionMessage(e); HasSeparator = false; BorderWidth = 5; Resizable = false; Title = Catalog.GetString("F-Spot Encountered a Fatal Error"); VBox.Spacing = 12; ActionArea.Layout = ButtonBoxStyle.End; accel_group = new AccelGroup(); AddAccelGroup(accel_group); HBox hbox = new HBox(false, 12); hbox.BorderWidth = 5; VBox.PackStart(hbox, false, false, 0); Image image = new Image(Stock.DialogError, IconSize.Dialog); image.Yalign = 0.0f; hbox.PackStart(image, true, true, 0); VBox label_vbox = new VBox(false, 0); label_vbox.Spacing = 12; hbox.PackStart(label_vbox, false, false, 0); Label label = new Label(String.Format("<b><big>{0}</big></b>", GLib.Markup.EscapeText(Title))); label.UseMarkup = true; label.Justify = Justification.Left; label.LineWrap = true; label.SetAlignment(0.0f, 0.5f); label_vbox.PackStart(label, false, false, 0); label = new Label(e.Message); label.UseMarkup = true; label.Justify = Gtk.Justification.Left; label.LineWrap = true; label.SetAlignment(0.0f, 0.5f); label_vbox.PackStart(label, false, false, 0); Label details_label = new Label(String.Format("<b>{0}</b>", GLib.Markup.EscapeText(Catalog.GetString("Error Details")))); details_label.UseMarkup = true; Expander details_expander = new Expander("Details"); details_expander.LabelWidget = details_label; label_vbox.PackStart(details_expander, true, true, 0); ScrolledWindow scroll = new ScrolledWindow(); TextView view = new TextView(); scroll.HscrollbarPolicy = PolicyType.Automatic; scroll.VscrollbarPolicy = PolicyType.Automatic; scroll.AddWithViewport(view); scroll.SetSizeRequest(450, 250); view.Editable = false; view.Buffer.Text = debugInfo; details_expander.Add(scroll); hbox.ShowAll(); AddButton(Stock.Close, ResponseType.Close, true); }
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.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler(OnChartPopupMenu); 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); } }
public ChessGameInfoWidget() { box = new VBox (); titleLabel = new Label (); titleLabel.UseMarkup = true; resultLabel = new Label (Catalog. GetString ("<b>Result</b>")); resultLabel.UseMarkup = true; dateLabel = new Label (Catalog. GetString ("<b>Date</b>")); dateLabel.UseMarkup = true; eventLabel = new Label (Catalog. GetString ("<b>Event</b>")); eventLabel.UseMarkup = true; siteLabel = new Label (Catalog. GetString ("<b>Site</b>")); siteLabel.UseMarkup = true; resultValueLabel = new Label (); dateValueLabel = new Label (); eventValueLabel = new Label (); siteValueLabel = new Label (); titleLabel = new Label (); titleLabel.UseMarkup = true; Table table = new Table (5, 2, false); uint row = 0; table.Attach (titleLabel, 0, 2, row, row + 1); titleLabel.Xalign = 0; row++; table.Attach (resultLabel, 0, 1, row, row + 1); resultLabel.Xalign = 0; table.Attach (resultValueLabel, 1, 2, row, row + 1); resultValueLabel.Xalign = 0; row++; table.Attach (dateLabel, 0, 1, row, row + 1); dateLabel.Xalign = 0; table.Attach (dateValueLabel, 1, 2, row, row + 1); dateValueLabel.Xalign = 0; row++; table.Attach (eventLabel, 0, 1, row, row + 1); eventLabel.Xalign = 0; table.Attach (eventValueLabel, 1, 2, row, row + 1); eventValueLabel.Xalign = 0; row++; table.Attach (siteLabel, 0, 1, row, row + 1); siteLabel.Xalign = 0; table.Attach (siteValueLabel, 1, 2, row, row + 1); siteValueLabel.Xalign = 0; ScrolledWindow win = new ScrolledWindow (); win.HscrollbarPolicy = PolicyType.Automatic; win.VscrollbarPolicy = PolicyType.Never; win.AddWithViewport (table); box.PackStart (win, false, false, 2); otherTagsWidget = new Expander (Catalog. GetString ("Other details")); box.PackStart (otherTagsWidget, false, false, 2); box.ShowAll (); Child = box; }
public EmbedWidget(IntPtr handle, Adjustment h, Adjustment v) : base(Gtk.WindowType.Toplevel) { this.handle = handle; window = new Gtk.ScrolledWindow(h, v); }
void CreateControl() { control = new HPaned(); store = new Gtk.TreeStore(typeof(Xwt.Drawing.Image), // image - type typeof(bool), // read? typeof(TaskListEntry), // read? -- use Pango weight typeof(string)); SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__Type", "store__Read", "store__Task", "store__Description"); TypeDescriptor.AddAttributes(store, modelAttr); TreeModelFilterVisibleFunc filterFunct = new TreeModelFilterVisibleFunc(FilterTasks); filter = new TreeModelFilter(store, null); filter.VisibleFunc = filterFunct; sort = new TreeModelSort(filter); sort.SetSortFunc(VisibleColumns.Type, SeverityIterSort); sort.SetSortFunc(VisibleColumns.Project, ProjectIterSort); sort.SetSortFunc(VisibleColumns.File, FileIterSort); sort.SetSortFunc(VisibleColumns.Category, CategoryIterSort); view = new PadTreeView(sort); view.ShowExpanders = true; view.RulesHint = true; view.DoPopupMenu = (evnt) => IdeApp.CommandService.ShowContextMenu(view, evnt, CreateMenu()); AddColumns(); LoadColumnsVisibility(); view.Columns[VisibleColumns.Type].SortColumnId = VisibleColumns.Type; view.Columns[VisibleColumns.Project].SortColumnId = VisibleColumns.Project; view.Columns[VisibleColumns.File].SortColumnId = VisibleColumns.File; view.Columns[VisibleColumns.Category].SortColumnId = VisibleColumns.Category; sw = new MonoDevelop.Components.CompactScrolledWindow(); sw.ShadowType = ShadowType.None; sw.Add(view); TaskService.Errors.TasksRemoved += ShowResults; TaskService.Errors.TasksAdded += TaskAdded; TaskService.Errors.TasksChanged += TaskChanged; TaskService.Errors.CurrentLocationTaskChanged += HandleTaskServiceErrorsCurrentLocationTaskChanged; IdeApp.Workspace.FirstWorkspaceItemOpened += OnCombineOpen; IdeApp.Workspace.LastWorkspaceItemClosed += OnCombineClosed; view.RowActivated += new RowActivatedHandler(OnRowActivated); iconWarning = ImageService.GetIcon(Ide.Gui.Stock.Warning, Gtk.IconSize.Menu); iconError = ImageService.GetIcon(Ide.Gui.Stock.Error, Gtk.IconSize.Menu); iconInfo = ImageService.GetIcon(Ide.Gui.Stock.Information, Gtk.IconSize.Menu); iconEmpty = ImageService.GetIcon(Ide.Gui.Stock.Empty, Gtk.IconSize.Menu); control.Add1(sw); outputView = new LogView { Name = "buildOutput" }; control.Add2(outputView); control.ShowAll(); control.SizeAllocated += HandleControlSizeAllocated; bool outputVisible = OutputViewVisible; if (outputVisible) { outputView.Visible = true; logBtn.Active = true; } else { outputView.Hide(); } sw.SizeAllocated += HandleSwSizeAllocated; // Load existing tasks foreach (TaskListEntry t in TaskService.Errors) { AddTask(t); } control.FocusChain = new Gtk.Widget [] { outputView }; }
public OpeningBrowserUI(OpeningsDb db) : base() { menubar = new AppMenuBar (); title = Catalog.GetString ("Opening Browser"); accel = new AccelGroup (); menubar.quitMenuItem. AddAccelerator ("activate", accel, new AccelKey (Gdk.Key. q, Gdk. ModifierType. ControlMask, AccelFlags. Visible)); toolbutton = new ToolButton (Stock.Info); toolbutton.Label = Catalog.GetString ("Openings"); toolbutton.ShowAll (); this.db = db; store = new TreeStore (typeof (string), typeof (int), typeof (string)); this.db.PopulateTree (store); view = new TreeView (); view.Model = store; view.AppendColumn (Catalog. GetString ("Moves"), new CellRendererText (), "text", 0); view.AppendColumn (Catalog. GetString ("Variations"), new CellRendererText (), "text", 1); view.AppendColumn (Catalog. GetString ("Name"), new CellRendererText (), "markup", 2); ScrolledWindow win = new ScrolledWindow (); win.SetPolicy (PolicyType.Automatic, PolicyType.Automatic); win.Add (view); boardWidget = new GameViewerBoard (); HPaned split = new HPaned (); VBox box = new VBox (); box.PackStart (boardWidget, true, true, 2); split.Pack1 (box, false, true); // resize, shrink split.Pack2 (win, true, true); split.ShowAll (); //split.Position = 400; int width, height; CsBoardApp.Instance.Window.GetSize (out width, out height); split.Position = (int) Math.Round (width * 0.5f); split.PositionSet = true; PackStart (split, true, true, 2); view.CursorChanged += OnCursorChanged; ShowAll (); }
public SparkleSetup() : base() { Controller.HideWindowEvent += delegate { Application.Invoke(delegate { HideAll(); }); }; Controller.ShowWindowEvent += delegate { Application.Invoke(delegate { ShowAll(); Present(); }); }; Controller.ChangePageEvent += delegate(PageType type, string [] warnings) { Application.Invoke(delegate { Reset(); switch (type) { case PageType.Setup: { Header = "Welcome to SparkleShare!"; Description = "First off, what's your name and email?\nThis information is only visible to team members."; Table table = new Table(2, 3, true) { RowSpacing = 6, ColumnSpacing = 6 }; Label name_label = new Label("<b>" + "Full Name:" + "</b>") { UseMarkup = true, Xalign = 1 }; string username = UnixUserInfo.GetRealUser().RealName; username = username.TrimEnd(",".ToCharArray()); Entry name_entry = new Entry(username) { Xalign = 0, ActivatesDefault = true }; Entry email_entry = new Entry() { Xalign = 0, ActivatesDefault = true }; name_entry.Changed += delegate { Controller.CheckSetupPage(name_entry.Text, email_entry.Text); }; email_entry.Changed += delegate { Controller.CheckSetupPage(name_entry.Text, email_entry.Text); }; Label email_label = new Label("<b>" + "Email:" + "</b>") { UseMarkup = true, Xalign = 1 }; table.Attach(name_label, 0, 1, 0, 1); table.Attach(name_entry, 1, 2, 0, 1); table.Attach(email_label, 0, 1, 1, 2); table.Attach(email_entry, 1, 2, 1, 2); VBox wrapper = new VBox(false, 9); wrapper.PackStart(table, true, false, 0); Button cancel_button = new Button("Cancel"); cancel_button.Clicked += delegate { Controller.SetupPageCancelled(); }; Button continue_button = new Button("Continue") { Sensitive = false }; continue_button.Clicked += delegate(object o, EventArgs args) { string full_name = name_entry.Text; string email = email_entry.Text; Controller.SetupPageCompleted(full_name, email); }; AddButton(cancel_button); AddButton(continue_button); Add(wrapper); Controller.UpdateSetupContinueButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { continue_button.Sensitive = button_enabled; }); }; Controller.CheckSetupPage(name_entry.Text, email_entry.Text); break; } case PageType.Add: { Header = "Where's your project hosted?"; VBox layout_vertical = new VBox(false, 12); HBox layout_fields = new HBox(true, 12); VBox layout_address = new VBox(true, 0); VBox layout_path = new VBox(true, 0); ListStore store = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(SparklePlugin)); SparkleTreeView tree = new SparkleTreeView(store) { HeadersVisible = false }; ScrolledWindow scrolled_window = new ScrolledWindow(); scrolled_window.AddWithViewport(tree); // Icon column tree.AppendColumn("Icon", new Gtk.CellRendererPixbuf(), "pixbuf", 0); tree.Columns [0].Cells [0].Xpad = 6; // Service column TreeViewColumn service_column = new TreeViewColumn() { Title = "Service" }; CellRendererText service_cell = new CellRendererText() { Ypad = 4 }; service_column.PackStart(service_cell, true); service_column.SetCellDataFunc(service_cell, new TreeCellDataFunc(RenderServiceColumn)); foreach (SparklePlugin plugin in Controller.Plugins) { store.AppendValues( new Gdk.Pixbuf(plugin.ImagePath), "<span size=\"small\"><b>" + plugin.Name + "</b>\n" + "<span fgcolor=\"" + SecondaryTextColorSelected + "\">" + plugin.Description + "</span>" + "</span>", plugin); } tree.AppendColumn(service_column); Entry address_entry = new Entry() { Text = Controller.PreviousAddress, Sensitive = (Controller.SelectedPlugin.Address == null), ActivatesDefault = true }; Entry path_entry = new Entry() { Text = Controller.PreviousPath, Sensitive = (Controller.SelectedPlugin.Path == null), ActivatesDefault = true }; Label address_example = new Label() { Xalign = 0, UseMarkup = true, Markup = "<span size=\"small\" fgcolor=\"" + SecondaryTextColor + "\">" + Controller.SelectedPlugin.AddressExample + "</span>" }; Label path_example = new Label() { Xalign = 0, UseMarkup = true, Markup = "<span size=\"small\" fgcolor=\"" + SecondaryTextColor + "\">" + Controller.SelectedPlugin.PathExample + "</span>" }; // Select the first plugin by default TreeSelection default_selection = tree.Selection; TreePath default_path = new TreePath("0"); default_selection.SelectPath(default_path); Controller.SelectedPluginChanged(0); Controller.ChangeAddressFieldEvent += delegate(string text, string example_text, FieldState state) { Application.Invoke(delegate { address_entry.Text = text; address_entry.Sensitive = (state == FieldState.Enabled); address_example.Markup = "<span size=\"small\" fgcolor=\"" + SecondaryTextColor + "\">" + example_text + "</span>"; }); }; Controller.ChangePathFieldEvent += delegate(string text, string example_text, FieldState state) { Application.Invoke(delegate { path_entry.Text = text; path_entry.Sensitive = (state == FieldState.Enabled); path_example.Markup = "<span size=\"small\" fgcolor=\"" + SecondaryTextColor + "\">" + example_text + "</span>"; }); }; Controller.CheckAddPage(address_entry.Text, path_entry.Text, 1); // Update the address field text when the selection changes tree.CursorChanged += delegate(object sender, EventArgs e) { Controller.SelectedPluginChanged(tree.SelectedRow); // TODO: Scroll to selected row when using arrow keys }; tree.Model.Foreach(new TreeModelForeachFunc(delegate(TreeModel model, TreePath path, TreeIter iter) { string address; try { address = (model.GetValue(iter, 2) as SparklePlugin).Address; } catch (NullReferenceException) { address = ""; } if (!string.IsNullOrEmpty(address) && address.Equals(Controller.PreviousAddress)) { tree.SetCursor(path, service_column, false); SparklePlugin plugin = (SparklePlugin)model.GetValue(iter, 2); if (plugin.Address != null) { address_entry.Sensitive = false; } if (plugin.Path != null) { path_entry.Sensitive = false; } // TODO: Scroll to the selection return(true); } else { return(false); } })); address_entry.Changed += delegate { Controller.CheckAddPage(address_entry.Text, path_entry.Text, tree.SelectedRow); }; layout_address.PackStart(new Label() { Markup = "<b>" + "Address:" + "</b>", Xalign = 0 }, true, true, 0); layout_address.PackStart(address_entry, false, false, 0); layout_address.PackStart(address_example, false, false, 0); path_entry.Changed += delegate { Controller.CheckAddPage(address_entry.Text, path_entry.Text, tree.SelectedRow); }; layout_path.PackStart(new Label() { Markup = "<b>" + "Remote Path:" + "</b>", Xalign = 0 }, true, true, 0); layout_path.PackStart(path_entry, false, false, 0); layout_path.PackStart(path_example, false, false, 0); layout_fields.PackStart(layout_address); layout_fields.PackStart(layout_path); layout_vertical.PackStart(new Label(""), false, false, 0); layout_vertical.PackStart(scrolled_window, true, true, 0); layout_vertical.PackStart(layout_fields, false, false, 0); Add(layout_vertical); // Cancel button Button cancel_button = new Button("Cancel"); cancel_button.Clicked += delegate { Controller.PageCancelled(); }; Button add_button = new Button("Add") { Sensitive = false }; add_button.Clicked += delegate { string server = address_entry.Text; string folder_name = path_entry.Text; Controller.AddPageCompleted(server, folder_name); }; Controller.UpdateAddProjectButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { add_button.Sensitive = button_enabled; }); }; CheckButton check_button = new CheckButton("Fetch prior history") { Active = false }; check_button.Toggled += delegate { Controller.HistoryItemChanged(check_button.Active); }; AddOption(check_button); AddButton(cancel_button); AddButton(add_button); Controller.CheckAddPage(address_entry.Text, path_entry.Text, 1); break; } case PageType.Invite: { Header = "You've received an invite!"; Description = "Do you want to add this project to SparkleShare?"; Table table = new Table(2, 3, true) { RowSpacing = 6, ColumnSpacing = 6 }; Label address_label = new Label("Address:") { Xalign = 1 }; Label path_label = new Label("Remote Path:") { Xalign = 1 }; Label address_value = new Label("<b>" + Controller.PendingInvite.Address + "</b>") { UseMarkup = true, Xalign = 0 }; Label path_value = new Label("<b>" + Controller.PendingInvite.RemotePath + "</b>") { UseMarkup = true, Xalign = 0 }; table.Attach(address_label, 0, 1, 0, 1); table.Attach(address_value, 1, 2, 0, 1); table.Attach(path_label, 0, 1, 1, 2); table.Attach(path_value, 1, 2, 1, 2); VBox wrapper = new VBox(false, 9); wrapper.PackStart(table, true, false, 0); Button cancel_button = new Button("Cancel"); cancel_button.Clicked += delegate { Controller.PageCancelled(); }; Button add_button = new Button("Add"); add_button.Clicked += delegate { Controller.InvitePageCompleted(); }; AddButton(cancel_button); AddButton(add_button); Add(wrapper); break; } case PageType.Syncing: { Header = String.Format("Adding project ‘{0}’…", Controller.SyncingFolder); Description = "This may take a while for large projects.\nIsn't it coffee-o'clock?"; this.progress_bar.Fraction = Controller.ProgressBarPercentage / 100; Button finish_button = new Button() { Sensitive = false, Label = "Finish" }; Button cancel_button = new Button() { Label = "Cancel" }; cancel_button.Clicked += delegate { Controller.SyncingCancelled(); }; AddButton(cancel_button); AddButton(finish_button); Controller.UpdateProgressBarEvent += delegate(double percentage) { Application.Invoke(delegate { this.progress_bar.Fraction = percentage / 100; }); }; if (this.progress_bar.Parent != null) { (this.progress_bar.Parent as Container).Remove(this.progress_bar); } VBox bar_wrapper = new VBox(false, 0); bar_wrapper.PackStart(this.progress_bar, false, false, 15); Add(bar_wrapper); break; } case PageType.Error: { Header = "Oops! Something went wrong" + "…"; VBox points = new VBox(false, 0); Image list_point_one = new Image(SparkleUIHelpers.GetIcon("list-point", 16)); Image list_point_two = new Image(SparkleUIHelpers.GetIcon("list-point", 16)); Image list_point_three = new Image(SparkleUIHelpers.GetIcon("list-point", 16)); Label label_one = new Label() { Markup = "<b>" + Controller.PreviousUrl + "</b> is the address we've compiled. " + "Does this look alright?", Wrap = true, Xalign = 0 }; Label label_two = new Label() { Text = "Do you have access rights to this remote project?", Wrap = true, Xalign = 0 }; points.PackStart(new Label("Please check the following:") { Xalign = 0 }, false, false, 6); HBox point_one = new HBox(false, 0); point_one.PackStart(list_point_one, false, false, 0); point_one.PackStart(label_one, true, true, 12); points.PackStart(point_one, false, false, 12); HBox point_two = new HBox(false, 0); point_two.PackStart(list_point_two, false, false, 0); point_two.PackStart(label_two, true, true, 12); points.PackStart(point_two, false, false, 12); if (warnings.Length > 0) { string warnings_markup = ""; foreach (string warning in warnings) { warnings_markup += "\n<b>" + warning + "</b>"; } Label label_three = new Label() { Markup = "Here's the raw error message:" + warnings_markup, Wrap = true, Xalign = 0 }; HBox point_three = new HBox(false, 0); point_three.PackStart(list_point_three, false, false, 0); point_three.PackStart(label_three, true, true, 12); points.PackStart(point_three, false, false, 12); } points.PackStart(new Label(""), true, true, 0); Button cancel_button = new Button("Cancel"); cancel_button.Clicked += delegate { Controller.PageCancelled(); }; Button try_again_button = new Button("Try Again…") { Sensitive = true }; try_again_button.Clicked += delegate { Controller.ErrorPageCompleted(); }; AddButton(cancel_button); AddButton(try_again_button); Add(points); break; } case PageType.CryptoSetup: { Header = "Set up file encryption"; Description = "This project is supposed to be encrypted, but it doesn't yet have a password set. Please provide one below."; Label password_label = new Label("<b>" + "Password:"******"</b>") { UseMarkup = true, Xalign = 1 }; Entry password_entry = new Entry() { Xalign = 0, Visibility = false, ActivatesDefault = true }; CheckButton show_password_check_button = new CheckButton("Show password") { Active = false, Xalign = 0, }; show_password_check_button.Toggled += delegate { password_entry.Visibility = !password_entry.Visibility; }; password_entry.Changed += delegate { Controller.CheckCryptoSetupPage(password_entry.Text); }; Button continue_button = new Button("Continue") { Sensitive = false }; continue_button.Clicked += delegate { Controller.CryptoSetupPageCompleted(password_entry.Text); }; Button cancel_button = new Button("Cancel"); cancel_button.Clicked += delegate { Controller.CryptoPageCancelled(); }; Controller.UpdateCryptoSetupContinueButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { continue_button.Sensitive = button_enabled; }); }; Table table = new Table(2, 3, true) { RowSpacing = 6, ColumnSpacing = 6 }; table.Attach(password_label, 0, 1, 0, 1); table.Attach(password_entry, 1, 2, 0, 1); table.Attach(show_password_check_button, 1, 2, 1, 2); VBox wrapper = new VBox(false, 9); wrapper.PackStart(table, true, false, 0); Image warning_image = new Image( SparkleUIHelpers.GetIcon("dialog-information", 24) ); Label warning_label = new Label() { Xalign = 0, Wrap = true, Text = "This password can't be changed later, and your files can't be recovered if it's forgotten." }; HBox warning_layout = new HBox(false, 0); warning_layout.PackStart(warning_image, false, false, 15); warning_layout.PackStart(warning_label, true, true, 0); VBox warning_wrapper = new VBox(false, 0); warning_wrapper.PackStart(warning_layout, false, false, 15); wrapper.PackStart(warning_wrapper, false, false, 0); Add(wrapper); AddButton(cancel_button); AddButton(continue_button); break; } case PageType.CryptoPassword: { Header = "This project contains encrypted files"; Description = "Please enter the password to see their contents."; Label password_label = new Label("<b>" + "Password:"******"</b>") { UseMarkup = true, Xalign = 1 }; Entry password_entry = new Entry() { Xalign = 0, Visibility = false, ActivatesDefault = true }; CheckButton show_password_check_button = new CheckButton("Show password") { Active = false, Xalign = 0 }; show_password_check_button.Toggled += delegate { password_entry.Visibility = !password_entry.Visibility; }; password_entry.Changed += delegate { Controller.CheckCryptoPasswordPage(password_entry.Text); }; Button continue_button = new Button("Continue") { Sensitive = false }; continue_button.Clicked += delegate { Controller.CryptoPasswordPageCompleted(password_entry.Text); }; Button cancel_button = new Button("Cancel"); cancel_button.Clicked += delegate { Controller.CryptoPageCancelled(); }; Controller.UpdateCryptoPasswordContinueButtonEvent += delegate(bool button_enabled) { Application.Invoke(delegate { continue_button.Sensitive = button_enabled; }); }; Table table = new Table(2, 3, true) { RowSpacing = 6, ColumnSpacing = 6 }; table.Attach(password_label, 0, 1, 0, 1); table.Attach(password_entry, 1, 2, 0, 1); table.Attach(show_password_check_button, 1, 2, 1, 2); VBox wrapper = new VBox(false, 9); wrapper.PackStart(table, true, false, 0); Add(wrapper); AddButton(cancel_button); AddButton(continue_button); break; } case PageType.Finished: { UrgencyHint = true; if (!HasToplevelFocus) { string title = "Your shared project is ready!"; string subtext = "You can find the files in your SparkleShare folder."; Program.UI.Bubbles.Controller.ShowBubble(title, subtext, null); } Header = "Your shared project is ready!"; Description = "You can find it in your SparkleShare folder"; // A button that opens the synced folder Button open_folder_button = new Button(string.Format("Open {0}", System.IO.Path.GetFileName(Controller.PreviousPath))); open_folder_button.Clicked += delegate { Controller.OpenFolderClicked(); }; Button finish_button = new Button("Finish"); finish_button.Clicked += delegate { Controller.FinishPageCompleted(); }; if (warnings.Length > 0) { Image warning_image = new Image( SparkleUIHelpers.GetIcon("dialog-information", 24) ); Label warning_label = new Label(warnings [0]) { Xalign = 0, Wrap = true }; HBox warning_layout = new HBox(false, 0); warning_layout.PackStart(warning_image, false, false, 15); warning_layout.PackStart(warning_label, true, true, 0); VBox warning_wrapper = new VBox(false, 0); warning_wrapper.PackStart(warning_layout, false, false, 0); Add(warning_wrapper); } else { Add(null); } AddButton(open_folder_button); AddButton(finish_button); break; } case PageType.Tutorial: { switch (Controller.TutorialPageNumber) { case 1: { Header = "What's happening next?"; Description = "SparkleShare creates a special folder on your computer " + "that will keep track of your projects."; Button skip_tutorial_button = new Button("Skip Tutorial"); skip_tutorial_button.Clicked += delegate { Controller.TutorialSkipped(); }; Button continue_button = new Button("Continue"); continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; Image slide = SparkleUIHelpers.GetImage("tutorial-slide-1.png"); Add(slide); AddButton(skip_tutorial_button); AddButton(continue_button); break; } case 2: { Header = "Sharing files with others"; Description = "All files added to your project folders are synced automatically with " + "the host and your team members."; Button continue_button = new Button("Continue"); continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; Image slide = SparkleUIHelpers.GetImage("tutorial-slide-2.png"); Add(slide); AddButton(continue_button); break; } case 3: { Header = "The status icon is here to help"; Description = "It shows the syncing progress, provides easy access to " + "your projects and let's you view recent changes."; Button continue_button = new Button("Continue"); continue_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; Image slide = SparkleUIHelpers.GetImage("tutorial-slide-3.png"); Add(slide); AddButton(continue_button); break; } case 4: { Header = "Adding projects to SparkleShare"; Description = "You can do this through the status icon menu, or by clicking " + "magic buttons on webpages that look like this:"; Image slide = SparkleUIHelpers.GetImage("tutorial-slide-4.png"); Button finish_button = new Button("Finish"); finish_button.Clicked += delegate { Controller.TutorialPageCompleted(); }; CheckButton check_button = new CheckButton("Add SparkleShare to startup items") { Active = true }; check_button.Toggled += delegate { Controller.StartupItemChanged(check_button.Active); }; Add(slide); AddOption(check_button); AddButton(finish_button); break; } } break; } } ShowAll(); }); }; }