private void SetupTree() { tree = new TreeView (); this.store = new ListStore (typeof (object)); tree.Model = store; TreeViewColumn col = new TreeViewColumn (); col.Sizing = TreeViewColumnSizing.Fixed; col.Spacing = 4; CellRendererText text_renderer = new CellRendererText (); text_renderer.WrapMode = Pango.WrapMode.Word; col.PackStart (text_renderer, true); col.SetCellDataFunc (text_renderer, new TreeCellDataFunc (PluginInfoCellDataFunc)); CellRendererToggle loaded_renderer = new CellRendererToggle (); loaded_renderer.Activatable = false; col.PackStart (loaded_renderer, false); col.SetCellDataFunc (loaded_renderer, new TreeCellDataFunc (LoadedStatusCellDataFunc)); col.Title = Catalog.GetString("Plugins Details"); tree.AppendColumn (col); }
public CompleteWithTimerColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Completed"), Sizing = TreeViewColumnSizing.Autosize, Resizable = false, Clickable = true }; var renderer = new CellRendererToggle (); renderer.Toggled += OnTaskToggled; TreeViewColumn.PackStart (renderer, false); TreeViewColumn.SetCellDataFunc (renderer, TaskToggleCellDataFunc); }
public TimerColumn() { timeoutTargets = new ConcurrentDictionary<ITask, TaskCompleteTimer> (); TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Timer"), Sizing = TreeViewColumnSizing.Fixed, FixedWidth = 20, Resizable = false }; var renderer = new CellRendererPixbuf { Xalign = 0.5f }; TreeViewColumn.PackStart (renderer, false); TreeViewColumn.SetCellDataFunc (renderer, TaskTimerCellDataFunc); }
/// <summary> /// Required designer variable. /// </summary> //private System.ComponentModel.IContainer components = null; /* * /// <summary> * /// Clean up any resources being used. * /// </summary> * /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> * protected override void Dispose(bool disposing) * { * if (disposing && (components != null)) * { * components.Dispose(); * } * base.Dispose(); * } */ #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(LoginWindow)); this.checkBox2 = new Gtk.CheckButton(); this.checkBox1 = new Gtk.CheckButton(); this.cancelButton = new Gtk.Button(); this.loginButton = new Gtk.Button(); // // checkBox2 // this.checkBox2.Active = true; this.checkBox2.Name = "checkBox2"; this.checkBox2.Label = "Graphical Menu"; this.checkBox2.Xalign = 0; // // checkBox1 // this.checkBox1.Active = false; this.checkBox1.Name = "checkBox1"; this.checkBox1.Label = "Don\'t save password"; this.checkBox1.Xalign = 0; /* * // * // nickname_label * // * this.nickname_label.Name = "nickname_label"; * this.nickname_label.Xalign = 0; * this.nickname_label.SetSizeRequest(73, 23); * this.nickname_label.Text = "Nickname:"; * * // * // nickname * // * this.nickname.Name = "nickname"; * this.nickname.Text = "Guest"; */ // // button1 // this.cancelButton.SetSizeRequest(80, 25); this.cancelButton.Label = "Cancel"; this.cancelButton.Clicked += new System.EventHandler(this.Close); // // refreshButton // this.refreshButton = new Gtk.Button(); this.refreshButton.Name = "refreshButton"; this.refreshButton.SetSizeRequest(80, 25); this.refreshButton.Label = "Refresh"; this.refreshButton.Clicked += new System.EventHandler(this.refreshButton_Click); // // LoginButton // this.loginButton.Name = "LoginButton"; this.loginButton.SetSizeRequest(80, 25); this.loginButton.Label = "Connect"; this.loginButton.Clicked += new System.EventHandler(this.loginButton_Click); /* * // * // port * // * this.port.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(123)))), ((int)(((byte)(76))))); * this.port.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; * this.port.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(184)))), ((int)(((byte)(142))))); * this.port.Location = new System.Drawing.Point(215, 101); * this.port.Margin = new System.Windows.Forms.Padding(0); * this.port.MaximumSize = new System.Drawing.Size(50, 25); * this.port.Name = "port"; * this.port.Size = new System.Drawing.Size(50, 21); * this.port.TabIndex = 9; * this.port.Text = "14922"; * this.port.TextChanged += new System.EventHandler(this.port_TextChanged); * // * // port_label * // * this.port_label.AutoSize = true; * this.port_label.BackColor = System.Drawing.Color.Transparent; * this.port_label.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(52)))), ((int)(((byte)(16))))); * this.port_label.Location = new System.Drawing.Point(183, 101); * this.port_label.Name = "port_label"; * this.port_label.Size = new System.Drawing.Size(29, 15); * this.port_label.TabIndex = 8; * this.port_label.Text = "Port"; * // * // server * // * this.server.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(123)))), ((int)(((byte)(76))))); * this.server.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; * this.server.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(213)))), ((int)(((byte)(184)))), ((int)(((byte)(142))))); * this.server.Location = new System.Drawing.Point(27, 119); * this.server.Name = "server"; * this.server.Size = new System.Drawing.Size(170, 21); * this.server.TabIndex = 7; * this.server.Text = "listserver.graalonline.com"; * // * // server_label * // * this.server_label.AutoSize = true; * this.server_label.BackColor = System.Drawing.Color.Transparent; * this.server_label.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(52)))), ((int)(((byte)(16))))); * this.server_label.Location = new System.Drawing.Point(36, 94); * this.server_label.Name = "server_label"; * this.server_label.Size = new System.Drawing.Size(42, 15); * this.server_label.TabIndex = 6; * this.server_label.Text = "Server"; * this.server_label.Click += new System.EventHandler(this.server_label_Click); * */ // // ServerWindow // Table table = new Table(2, 1, false); Table table2 = new Table(1, 2, false); table2.RowSpacing = 1; Label spacer = new Label(); spacer.SetSizeRequest(10, 1); table2.Attach(spacer, 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Fill, 5, 1); //table2.Attach(this.nickname_label, 0, 1, 1, 2, AttachOptions.Fill, AttachOptions.Fill, 5, 1); this.logText = new Gtk.Entry(); this.logText.SetSizeRequest(230, 230); this.tree = new Gtk.NodeView(); this.tree.SetSizeRequest(230, 230); this.musicListStore = new Gtk.ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(int)); //this.tree.Selection.Changed += new System.EventHandler(OnSelectionChanged); this.tree.CursorChanged += new System.EventHandler(OnSelectionChanged); this.tree.ButtonPressEvent += new ButtonPressEventHandler(delegate(object o, ButtonPressEventArgs args) { System.Console.WriteLine(args.ToString()); }); Gtk.CellRendererPixbuf pixbufrender = new Gtk.CellRendererPixbuf(); TreeViewColumn TypeCol = this.tree.AppendColumn("", new Gtk.CellRendererPixbuf(), "pixbuf", 0); TypeCol.SortIndicator = true; TypeCol.SortColumnId = 0; Gtk.CellRendererPixbuf cellpb = new Gtk.CellRendererPixbuf(); Gtk.CellRendererText cell = new Gtk.CellRendererText(); TypeCol.PackStart(cellpb, false); TypeCol.PackStart(cell, false); TreeViewColumn NameCol = this.tree.AppendColumn("Name", new Gtk.CellRendererText(), "text", 1); NameCol.SortIndicator = true; NameCol.SortColumnId = 1; TreeViewColumn PCCol = this.tree.AppendColumn("Players", new Gtk.CellRendererText(), "text", 2); PCCol.SortIndicator = true; PCCol.SortColumnId = 2; this.tree.FixedHeightMode = false; this.tree.HeadersClickable = true; this.tree.SearchColumn = 1; this.tree.EnableSearch = true; this.tree.EnableTreeLines = true; this.tree.ShowExpanders = true; //this.tree.Vadjustment. musicListStore.AppendValues("", "Loading...", ""); Gtk.Frame frame2 = new Gtk.Frame(); this.tree.Model = musicListStore; this.GtkScrolledWindow = new global::Gtk.ScrolledWindow(); this.GtkScrolledWindow.Name = "GtkScrolledWindow"; this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); // Container child GtkScrolledWindow.Gtk.Container+ContainerChild this.GtkScrolledWindow.Add(this.tree); frame2.Add(this.GtkScrolledWindow); table2.Attach(this.logText, 1, 2, 0, 1, AttachOptions.Fill | AttachOptions.Expand, AttachOptions.Fill | AttachOptions.Expand, 5, 1); table2.Attach(frame2, 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Fill, 5, 1); HBox hbox = new HBox(true, 5); table.BorderWidth = 0; table.SetSizeRequest(100, 100); Frame frame = new Frame(); frame.Label = " Servers "; //frame.Add(new Label()); frame.Add(table2); table.Attach(frame, 0, 1, 0, 1, AttachOptions.Fill | AttachOptions.Expand, AttachOptions.Fill | AttachOptions.Expand, 5, 5); hbox.Add(this.cancelButton); hbox.Add(this.refreshButton); hbox.Add(this.loginButton); Alignment halign = new Alignment(1, 0, 0, 0); halign.Add(hbox); table.Attach(halign, 0, 1, 1, 2, AttachOptions.Fill, AttachOptions.Fill, 5, 5); this.Add(table); this.SetSizeRequest(520, 350); this.DoubleBuffered = true; this.Icon = global::Gdk.Pixbuf.LoadFromResource("OpenGraal.GraalIM.Resources.rcicon.ico"); this.Name = "ServerWindow"; this.SetPosition(Gtk.WindowPosition.Center); this.Title = "Graal Servers"; this.DeleteEvent += ServerWindow_Closed; this.Hidden += ServerWindow_hide; }
public OverridesImplementsDialog(MonoDevelop.Ide.Gui.Document editor, IType cls) { this.Build(); this.editor = editor; this.cls = cls; // FIXME: title Title = GettextCatalog.GetString("Override and/or implement members"); store = new TreeStore(typeof(bool), typeof(Gdk.Pixbuf), typeof(string), typeof(bool), typeof(IMember)); // Column #1 TreeViewColumn nameCol = new TreeViewColumn(); nameCol.Title = GettextCatalog.GetString("Name"); nameCol.Expand = true; nameCol.Resizable = true; CellRendererToggle cbRenderer = new CellRendererToggle(); cbRenderer.Activatable = true; cbRenderer.Toggled += OnSelectToggled; nameCol.PackStart(cbRenderer, false); nameCol.AddAttribute(cbRenderer, "active", colCheckedIndex); CellRendererPixbuf iconRenderer = new CellRendererPixbuf(); nameCol.PackStart(iconRenderer, false); nameCol.AddAttribute(iconRenderer, "pixbuf", colIconIndex); CellRendererText nameRenderer = new CellRendererText(); nameRenderer.Ellipsize = Pango.EllipsizeMode.End; nameCol.PackStart(nameRenderer, true); nameCol.AddAttribute(nameRenderer, "text", colNameIndex); treeview.AppendColumn(nameCol); // Column #2 CellRendererToggle explicitRenderer = new CellRendererToggle(); explicitRenderer.Activatable = true; explicitRenderer.Xalign = 0.0f; explicitRenderer.Toggled += OnExplicitToggled; TreeViewColumn explicitCol = new TreeViewColumn(); explicitCol.Title = GettextCatalog.GetString("Explicit"); explicitCol.PackStart(explicitRenderer, true); explicitCol.SetCellDataFunc(explicitRenderer, new TreeCellDataFunc(RenderExplicitCheckbox)); explicitCol.AddAttribute(explicitRenderer, "active", colExplicitIndex); treeview.AppendColumn(explicitCol); store.SetSortColumnId(colNameIndex, SortType.Ascending); treeview.Model = store; buttonCancel.Clicked += OnCancelClicked; buttonOk.Clicked += OnOKClicked; buttonSelectAll.Clicked += delegate { SelectAll(true); }; buttonUnselectAll.Clicked += delegate { SelectAll(false); }; refactorer = IdeApp.Workspace.GetCodeRefactorer(IdeApp.ProjectOperations.CurrentSelectedSolution); ambience = AmbienceService.GetAmbienceForFile(cls.GetDefinition().Region.FileName); PopulateTreeView(); UpdateOKButton(); }
public DueDateColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString("Due Date"), Sizing = TreeViewColumnSizing.Fixed, Alignment = 0f, FixedWidth = 90, Resizable = false, Clickable = true }; var dueDateStore = new ListStore(typeof(string)); var today = DateTime.Now; dueDateStore.AppendValues( today.ToString(Catalog.GetString("M/d - ")) + Catalog.GetString("Today")); dueDateStore.AppendValues( today.AddDays(1).ToString(Catalog.GetString("M/d - ")) + Catalog.GetString("Tomorrow")); dueDateStore.AppendValues( today.AddDays(2).ToString(Catalog.GetString("M/d - ddd"))); dueDateStore.AppendValues( today.AddDays(3).ToString(Catalog.GetString("M/d - ddd"))); dueDateStore.AppendValues( today.AddDays(4).ToString(Catalog.GetString("M/d - ddd"))); dueDateStore.AppendValues( today.AddDays(5).ToString(Catalog.GetString("M/d - ddd"))); dueDateStore.AppendValues( today.AddDays(6).ToString(Catalog.GetString("M/d - ddd"))); dueDateStore.AppendValues( today.AddDays(7).ToString(Catalog.GetString("M/d - ")) + Catalog.GetString("In 1 Week")); dueDateStore.AppendValues(Catalog.GetString("No Date")); dueDateStore.AppendValues(Catalog.GetString("Choose Date...")); var renderer = new CellRendererCombo { Editable = true, HasEntry = false, Model = dueDateStore, TextColumn = 0, Xalign = 0.0f }; renderer.EditingStarted += (o, args) => { TreeIter iter; var path = new TreePath(args.Path); if (!model.GetIter(out iter, path)) { return; } var task = model.GetValue(iter, 0) as ITask; if (task == null) { return; } taskBeingEdited = new TaskBeingEdited(task, iter, path); if (CellEditingStarted != null) { CellEditingStarted(this, new TaskRowEditingEventArgs(task, iter, path)); } }; renderer.EditingCanceled += delegate { EndCellEditing(); }; renderer.Edited += (o, args) => { TreeIter iter; var path = new TreePath(args.Path); var newText = args.NewText; if (newText != null && model.GetIter(out iter, path)) { // 2/11 - Today // 2/12 - Tomorrow // 2/13 - Wed // 2/14 - Thu // 2/15 - Fri // 2/16 - Sat // 2/17 - Sun // -------------- // 2/18 - In 1 Week // -------------- // No Date // --------------- // Choose Date... var newDate = DateTime.MinValue; var tday = DateTime.Now; var task = model.GetValue(iter, 0) as ITask; if (newText == tday.ToString(Catalog.GetString("M/d - ")) + Catalog.GetString("Today")) { newDate = tday; } else if (newText == tday.AddDays(1).ToString(Catalog.GetString("M/d - ")) + Catalog.GetString("Tomorrow")) { newDate = tday.AddDays(1); } else if (newText == Catalog.GetString("No Date")) { newDate = DateTime.MinValue; } else if (newText == tday.AddDays(7).ToString(Catalog.GetString("M/d - ")) + Catalog.GetString("In 1 Week")) { newDate = tday.AddDays(7); } else if (newText == Catalog.GetString("Choose Date...")) { var tc = new TaskCalendar(task, view.TreeView.Parent); tc.ShowCalendar(); return; } else { for (int i = 2; i <= 6; i++) { DateTime testDate = tday.AddDays(i); if (testDate.ToString(Catalog.GetString("M/d - ddd")) == newText) { newDate = testDate; break; } } } Logger.Debug("task.State {0}", task.State); if (task.State != TaskState.Completed) { // Modify the due date task.DueDate = newDate; } } EndCellEditing(); }; TreeViewColumn.PackStart(renderer, true); TreeViewColumn.SetCellDataFunc(renderer, DueDateCellDataFunc); }
public CommitDialog(ChangeSet changeSet) { Build(); store = new ListStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(string), typeof(bool), typeof(object)); fileList.Model = store; fileList.SearchColumn = -1; // disable the interactive search this.changeSet = changeSet; oldMessage = changeSet.GlobalComment; CellRendererText crt = new CellRendererText(); var crp = new CellRendererImage(); TreeViewColumn colStatus = new TreeViewColumn(); colStatus.Title = GettextCatalog.GetString("Status"); colStatus.PackStart(crp, false); colStatus.PackStart(crt, true); colStatus.Spacing = 2; colStatus.AddAttribute(crp, "image", 0); colStatus.AddAttribute(crt, "text", 1); CellRendererToggle cellToggle = new CellRendererToggle(); cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler); TreeViewColumn colCommit = new TreeViewColumn("", cellToggle, "active", 3); TreeViewColumn colFile = new TreeViewColumn(GettextCatalog.GetString("File"), new CellRendererText(), "text", 2); fileList.AppendColumn(colCommit); fileList.AppendColumn(colStatus); fileList.AppendColumn(colFile); colCommit.Visible = false; object[] exts = AddinManager.GetExtensionObjects("/MonoDevelop/VersionControl/CommitDialogExtensions", false); bool separatorRequired = false; foreach (object ob in exts) { CommitDialogExtension ext = ob as CommitDialogExtension; if (ext == null) { LoggingService.LogError("Commit extension type " + ob.GetType() + " must be a subclass of CommitDialogExtension"); continue; } if (ext.Initialize(changeSet)) { var newTitle = ext.FormatDialogTitle(changeSet, Title); if (newTitle != null) { Title = newTitle; } ext.CommitMessageTextViewHook(textview); if (separatorRequired) { HSeparator sep = new HSeparator(); sep.Show(); vboxExtensions.PackEnd(sep, false, false, 0); } vboxExtensions.PackEnd(ext, false, false, 0); extensions.Add(ext); ext.AllowCommitChanged += HandleAllowCommitChanged; separatorRequired = true; } else { ext.Destroy(); } } HandleAllowCommitChanged(null, null); foreach (ChangeSetItem info in changeSet.Items) { Xwt.Drawing.Image statusicon = VersionControlService.LoadIconForStatus(info.Status); string lstatus = VersionControlService.GetStatusLabel(info.Status); string localpath; if (info.IsDirectory) { localpath = (!info.LocalPath.IsChildPathOf(changeSet.BaseLocalPath)? ".": (string)info.LocalPath.ToRelative(changeSet.BaseLocalPath)); } else { localpath = System.IO.Path.GetFileName((string)info.LocalPath); } if (localpath.Length > 0 && localpath[0] == System.IO.Path.DirectorySeparatorChar) { localpath = localpath.Substring(1); } if (localpath == "") { localpath = "."; } // not sure if this happens store.AppendValues(statusicon, lstatus, localpath, true, info); selected.Add(info.LocalPath); } if (string.IsNullOrEmpty(changeSet.GlobalComment)) { AuthorInformation aInfo; CommitMessageFormat fmt = VersionControlService.GetCommitMessageFormat(changeSet, out aInfo); Message = changeSet.GenerateGlobalComment(fmt, aInfo); } else { Message = changeSet.GlobalComment; } textview.Buffer.Changed += OnTextChanged; responseSensitive = !string.IsNullOrEmpty(Message); // Focus the text view and move the insert point to the beginning. Makes it easier to insert // a comment header. textview.Buffer.MoveMark(textview.Buffer.InsertMark, textview.Buffer.StartIter); textview.Buffer.MoveMark(textview.Buffer.SelectionBound, textview.Buffer.StartIter); textview.GrabFocus(); textview.Buffer.MarkSet += OnMarkSet; SetResponseSensitive(ResponseType.Ok, responseSensitive); }
public int Run() { dialog.AddActionWidget(new Button(Stock.Cancel), ResponseType.Cancel); dialog.AddActionWidget(new Button(Stock.Ok), ResponseType.Ok); TreeView tree = new Gtk.TreeView(); tree.RulesHint = true; ScrolledWindow w = new ScrolledWindow(); w.Add(tree); dialog.VBox.Add(w); CellRendererText nameCell = new CellRendererText(); CellRendererText initialCountCell = new CellRendererText(); initialCountCell.Editable = true; initialCountCell.WidthChars = 4; initialCountCell.Xalign = 1; initialCountCell.Edited += BuildCountEdited(1); CellRendererText minimumCountCell = new CellRendererText(); minimumCountCell.Editable = true; minimumCountCell.WidthChars = 4; minimumCountCell.Xalign = 1; minimumCountCell.Edited += BuildCountEdited(2); CellRendererText maximumCountCell = new CellRendererText(); maximumCountCell.Editable = true; maximumCountCell.WidthChars = 4; maximumCountCell.Xalign = 1; maximumCountCell.Edited += BuildCountEdited(3); TreeViewColumn randomCountColumn = new TreeViewColumn(); randomCountColumn.Title = "Total\nAvailable"; CellRendererText randomCountCell = new CellRendererText(); randomCountCell.Editable = true; randomCountCell.WidthChars = 4; randomCountCell.Xalign = 1; randomCountColumn.PackStart(randomCountCell, true); randomCountColumn.SetCellDataFunc(randomCountCell, (TreeCellDataFunc)RandomCountData); randomCountCell.Edited += RandomCountEdited; CellRendererText appearanceCell = new CellRendererText(); appearanceCell.Editable = true; appearanceCell.WidthChars = 3; appearanceCell.Xalign = 1; appearanceCell.Edited += AppearanceEdited; TreeViewColumn infiniteAvailableColumn = new TreeViewColumn(); infiniteAvailableColumn.Title = "Infinite\nAvailable"; CellRendererToggle infiniteAvailableCell = new CellRendererToggle(); infiniteAvailableCell.Activatable = true; infiniteAvailableColumn.PackStart(infiniteAvailableCell, true); infiniteAvailableColumn.SetCellDataFunc(infiniteAvailableCell, (TreeCellDataFunc)InfiniteAvailableData); infiniteAvailableCell.Toggled += InfiniteAvailableToggled; CellRendererToggle randomLocationCell = new CellRendererToggle(); randomLocationCell.Activatable = true; randomLocationCell.Toggled += RandomLocationToggled; tree.AppendColumn("Name", nameCell, "text", 0); tree.Columns[0].Expand = true; tree.AppendColumn("Initial\nCount", initialCountCell, "text", 1); tree.AppendColumn("Min\nCount", minimumCountCell, "text", 2); tree.AppendColumn("Max\nCount", maximumCountCell, "text", 3); tree.AppendColumn(randomCountColumn); tree.AppendColumn(infiniteAvailableColumn); tree.AppendColumn("Appearance (%)", appearanceCell, "text", 5); tree.AppendColumn("Random\nLocation", randomLocationCell, "active", 6); store = new ListStore(typeof(string), typeof(int), typeof(int), typeof(int), typeof(int), typeof(int), typeof(bool)); tree.Model = store; for (int i = 1; i < names.Length; ++i) { store.AppendValues(names[i], (int)placements[i].InitialCount, (int)placements[i].MinimumCount, (int)placements[i].MaximumCount, (int)placements[i].RandomCount, placements[i].RandomPercent, placements[i].RandomLocation); } dialog.ShowAll(); int result = dialog.Run(); if (result == (int)ResponseType.Ok) { int i = 1; foreach (object[] row in store) { placements[i].InitialCount = (short)(int)row[1]; placements[i].MinimumCount = (short)(int)row[2]; placements[i].MaximumCount = (short)(int)row[3]; placements[i].RandomCount = (short)(int)row[4]; placements[i].RandomPercent = (int)row[5]; placements[i].RandomLocation = (bool)row[6]; ++i; } } dialog.Destroy(); return(result); }
private void ShowAdd2Page() { CmisTreeStore cmisStore = new CmisTreeStore(); Gtk.TreeView treeView = new Gtk.TreeView(cmisStore.CmisStore); bool firstRepo = true; List <RootFolder> repositories = new List <RootFolder>(); Dictionary <string, AsyncNodeLoader> loader = new Dictionary <string, AsyncNodeLoader> (); foreach (KeyValuePair <String, String> repository in Controller.repositories) { RootFolder root = new RootFolder() { Name = repository.Value, Id = repository.Key, Address = Controller.saved_address.ToString() }; if (firstRepo) { root.Selected = true; firstRepo = false; } else { root.Selected = false; } repositories.Add(root); CmisRepoCredentials cred = new CmisRepoCredentials() { UserName = Controller.saved_user, Password = Controller.saved_password, Address = Controller.saved_address, RepoId = repository.Key }; AsyncNodeLoader asyncLoader = new AsyncNodeLoader(root, cred, PredefinedNodeLoader.LoadSubFolderDelegate, PredefinedNodeLoader.CheckSubFolderDelegate); asyncLoader.UpdateNodeEvent += delegate { cmisStore.UpdateCmisTree(root); }; cmisStore.UpdateCmisTree(root); asyncLoader.Load(root); loader.Add(root.Id, asyncLoader); } Header = CmisSync.Properties_Resources.Which; VBox layout_vertical = new VBox(false, 12); Button cancel_button = new Button(cancelText); cancel_button.Clicked += delegate { foreach (AsyncNodeLoader task in loader.Values) { task.Cancel(); } Controller.PageCancelled(); }; Button continue_button = new Button(continueText) { Sensitive = (repositories.Count > 0) }; continue_button.Clicked += delegate { RootFolder root = repositories.Find(x => (x.Selected != false)); if (root != null) { foreach (AsyncNodeLoader task in loader.Values) { task.Cancel(); } Controller.saved_repository = root.Id; List <string> ignored = NodeModelUtils.GetIgnoredFolder(root); List <string> selected = NodeModelUtils.GetSelectedFolder(root); Controller.Add2PageCompleted(root.Id, root.Path, ignored.ToArray(), selected.ToArray()); } }; Button back_button = new Button(backText) { Sensitive = true }; back_button.Clicked += delegate { foreach (AsyncNodeLoader task in loader.Values) { task.Cancel(); } Controller.BackToPage1(); }; Gtk.TreeIter iter; treeView.HeadersVisible = false; treeView.Selection.Mode = SelectionMode.Single; TreeViewColumn column = new TreeViewColumn(); column.Title = "Name"; CellRendererToggle renderToggle = new CellRendererToggle(); column.PackStart(renderToggle, false); renderToggle.Activatable = true; column.AddAttribute(renderToggle, "active", (int)CmisTreeStore.Column.ColumnSelected); column.AddAttribute(renderToggle, "inconsistent", (int)CmisTreeStore.Column.ColumnSelectedThreeState); column.AddAttribute(renderToggle, "radio", (int)CmisTreeStore.Column.ColumnRoot); renderToggle.Toggled += delegate(object render, ToggledArgs args) { TreeIter iterToggled; if (!cmisStore.CmisStore.GetIterFromString(out iterToggled, args.Path)) { Console.WriteLine("Toggled GetIter Error " + args.Path); return; } Node node = cmisStore.CmisStore.GetValue(iterToggled, (int)CmisTreeStore.Column.ColumnNode) as Node; if (node == null) { Console.WriteLine("Toggled GetValue Error " + args.Path); return; } RootFolder selectedRoot = repositories.Find(x => (x.Selected != false)); Node parent = node; while (parent.Parent != null) { parent = parent.Parent; } RootFolder root = parent as RootFolder; if (root != selectedRoot) { selectedRoot.Selected = false; cmisStore.UpdateCmisTree(selectedRoot); } if (node.Parent == null) { node.Selected = true; } else { if (node.Selected == false) { node.Selected = true; } else { node.Selected = false; } } cmisStore.UpdateCmisTree(root); }; CellRendererText renderText = new CellRendererText(); column.PackStart(renderText, false); column.SetAttributes(renderText, "text", (int)CmisTreeStore.Column.ColumnName); column.Expand = true; treeView.AppendColumn(column); treeView.AppendColumn("Status", new StatusCellRenderer(), "text", (int)CmisTreeStore.Column.ColumnStatus); treeView.RowExpanded += delegate(object o, RowExpandedArgs args) { Node node = cmisStore.CmisStore.GetValue(args.Iter, (int)CmisTreeStore.Column.ColumnNode) as Node; Node parent = node; while (parent.Parent != null) { parent = parent.Parent; } RootFolder root = parent as RootFolder; loader[root.Id].Load(node); }; ScrolledWindow sw = new ScrolledWindow() { ShadowType = Gtk.ShadowType.In }; sw.Add(treeView); layout_vertical.PackStart(new Label(""), false, false, 0); layout_vertical.PackStart(sw, true, true, 0); Add(layout_vertical); AddButton(back_button); AddButton(cancel_button); AddButton(continue_button); if (repositories.Count > 0) { continue_button.GrabDefault(); continue_button.GrabFocus(); } else { back_button.GrabDefault(); back_button.GrabFocus(); } }
public LogWidget(VersionControlDocumentInfo info) { this.Build(); this.info = info; if (info.Document != null) { this.preselectFile = info.Item.Path; } var separator = new HeaderBox(); separator.SetMargins(1, 0, 0, 0); separator.HeightRequest = 4; separator.ShowAll(); hpaned1 = hpaned1.ReplaceWithWidget(new HPanedThin(), true); vpaned1 = vpaned1.ReplaceWithWidget(new VPanedThin() { HandleWidget = separator }, true); revertButton = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert changes from this revision")); revertButton.Sensitive = false; revertButton.Clicked += new EventHandler(RevertRevisionClicked); revertToButton = new DocumentToolButton("vc-revert-command", GettextCatalog.GetString("Revert to this revision")); revertToButton.Sensitive = false; revertToButton.Clicked += new EventHandler(RevertToRevisionClicked); refreshButton = new DocumentToolButton(Gtk.Stock.Refresh, GettextCatalog.GetString("Refresh")); refreshButton.Clicked += new EventHandler(RefreshClicked); searchEntry = new SearchEntry(); searchEntry.WidthRequest = 200; searchEntry.ForceFilterButtonVisible = true; searchEntry.EmptyMessage = GettextCatalog.GetString("Search"); searchEntry.Changed += HandleSearchEntryFilterChanged; searchEntry.Ready = true; searchEntry.Show(); messageRenderer.Ellipsize = Pango.EllipsizeMode.End; TreeViewColumn colRevMessage = new TreeViewColumn(); colRevMessage.Title = GettextCatalog.GetString("Message"); var graphRenderer = new RevisionGraphCellRenderer(); colRevMessage.PackStart(graphRenderer, false); colRevMessage.SetCellDataFunc(graphRenderer, GraphFunc); colRevMessage.PackStart(messageRenderer, true); colRevMessage.SetCellDataFunc(messageRenderer, MessageFunc); colRevMessage.Sizing = TreeViewColumnSizing.Autosize; treeviewLog.AppendColumn(colRevMessage); colRevMessage.MinWidth = 350; colRevMessage.Resizable = true; TreeViewColumn colRevDate = new TreeViewColumn(GettextCatalog.GetString("Date"), textRenderer); colRevDate.SetCellDataFunc(textRenderer, DateFunc); colRevDate.Resizable = true; treeviewLog.AppendColumn(colRevDate); TreeViewColumn colRevAuthor = new TreeViewColumn(); colRevAuthor.Title = GettextCatalog.GetString("Author"); colRevAuthor.PackStart(pixRenderer, false); colRevAuthor.PackStart(textRenderer, true); colRevAuthor.SetCellDataFunc(textRenderer, AuthorFunc); colRevAuthor.SetCellDataFunc(pixRenderer, AuthorIconFunc); colRevAuthor.Resizable = true; treeviewLog.AppendColumn(colRevAuthor); TreeViewColumn colRevNum = new TreeViewColumn(GettextCatalog.GetString("Revision"), textRenderer); colRevNum.SetCellDataFunc(textRenderer, RevisionFunc); colRevNum.Resizable = true; treeviewLog.AppendColumn(colRevNum); treeviewLog.Model = logstore; treeviewLog.Selection.Changed += TreeSelectionChanged; treeviewFiles = new FileTreeView(); treeviewFiles.DiffLineActivated += HandleTreeviewFilesDiffLineActivated; scrolledwindowFiles.Child = treeviewFiles; scrolledwindowFiles.ShowAll(); changedpathstore = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), // icon/file name typeof(Xwt.Drawing.Image), typeof(string), // icon/operation typeof(string), // path typeof(string), // revision path (invisible) typeof(string []) // diff ); TreeViewColumn colChangedFile = new TreeViewColumn(); var crp = new CellRendererImage(); var crt = new CellRendererText(); colChangedFile.Title = GettextCatalog.GetString("File"); colChangedFile.PackStart(crp, false); colChangedFile.PackStart(crt, true); colChangedFile.AddAttribute(crp, "image", 2); colChangedFile.AddAttribute(crt, "text", 3); treeviewFiles.AppendColumn(colChangedFile); TreeViewColumn colOperation = new TreeViewColumn(); colOperation.Title = GettextCatalog.GetString("Operation"); colOperation.PackStart(crp, false); colOperation.PackStart(crt, true); colOperation.AddAttribute(crp, "image", 0); colOperation.AddAttribute(crt, "text", 1); treeviewFiles.AppendColumn(colOperation); TreeViewColumn colChangedPath = new TreeViewColumn(); colChangedPath.Title = GettextCatalog.GetString("Path"); diffRenderer.DrawLeft = true; colChangedPath.PackStart(diffRenderer, true); colChangedPath.SetCellDataFunc(diffRenderer, SetDiffCellData); treeviewFiles.AppendColumn(colChangedPath); treeviewFiles.Model = changedpathstore; treeviewFiles.TestExpandRow += HandleTreeviewFilesTestExpandRow; treeviewFiles.Events |= Gdk.EventMask.PointerMotionMask; textviewDetails.WrapMode = Gtk.WrapMode.Word; labelAuthor.Text = ""; labelDate.Text = ""; labelRevision.Text = ""; vbox2.Remove(scrolledwindow1); HeaderBox tb = new HeaderBox(); tb.Show(); tb.SetMargins(1, 0, 0, 0); tb.ShowTopShadow = true; tb.ShadowSize = 4; tb.SetPadding(8, 8, 8, 8); tb.UseChildBackgroundColor = true; tb.Add(scrolledwindow1); vbox2.PackStart(tb, true, true, 0); }
public ChangeSetView() { ShadowType = Gtk.ShadowType.In; filelist = new FileTreeView(); filelist.Selection.Mode = SelectionMode.Multiple; Add(filelist); HscrollbarPolicy = PolicyType.Automatic; VscrollbarPolicy = PolicyType.Automatic; filelist.RowActivated += OnRowActivated; filelist.DiffLineActivated += OnDiffLineActivated; CellRendererToggle cellToggle = new CellRendererToggle(); // cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler); var crc = new CellRendererImage(); crc.StockId = "vc-comment"; colCommit = new TreeViewColumn(); colCommit.Spacing = 2; colCommit.Widget = new Xwt.ImageView(Xwt.Drawing.Image.FromResource("commit-16.png")).ToGtkWidget(); colCommit.Widget.Show(); colCommit.PackStart(cellToggle, false); colCommit.PackStart(crc, false); colCommit.AddAttribute(cellToggle, "active", ColCommit); colCommit.AddAttribute(cellToggle, "visible", ColShowToggle); colCommit.AddAttribute(crc, "visible", ColShowComment); colCommit.Visible = false; CellRendererText crt = new CellRendererText(); var crp = new CellRendererImage(); TreeViewColumn colStatus = new TreeViewColumn(); colStatus.Title = GettextCatalog.GetString("Status"); colStatus.PackStart(crp, false); colStatus.PackStart(crt, true); colStatus.AddAttribute(crp, "image", ColIcon); colStatus.AddAttribute(crp, "visible", ColShowStatus); colStatus.AddAttribute(crt, "text", ColStatus); colStatus.AddAttribute(crt, "foreground", ColStatusColor); TreeViewColumn colFile = new TreeViewColumn(); colFile.Title = GettextCatalog.GetString("File"); colFile.Spacing = 2; crp = new CellRendererImage(); diffRenderer = new CellRendererDiff(); colFile.PackStart(crp, false); colFile.PackStart(diffRenderer, true); colFile.AddAttribute(crp, "image", ColIconFile); colFile.AddAttribute(crp, "visible", ColShowStatus); colFile.SetCellDataFunc(diffRenderer, new TreeCellDataFunc(SetDiffCellData)); filelist.AppendColumn(colStatus); filelist.AppendColumn(colCommit); filelist.AppendColumn(colFile); filestore = new TreeStore(typeof(Xwt.Drawing.Image), typeof(string), typeof(string[]), typeof(bool), typeof(bool), typeof(string), typeof(bool), typeof(bool), typeof(Xwt.Drawing.Image), typeof(bool), typeof(string)); filelist.Model = filestore; filelist.SearchColumn = -1; // disable the interactive search filelist.TestExpandRow += new Gtk.TestExpandRowHandler(OnTestExpandRow); ShowAll(); filelist.Selection.Changed += new EventHandler(OnCursorChanged); filelist.HeadersClickable = true; filestore.SetSortFunc(0, CompareNodes); colStatus.SortColumnId = 0; filestore.SetSortFunc(1, CompareNodes); colCommit.SortColumnId = 1; filestore.SetSortFunc(2, CompareNodes); colFile.SortColumnId = 2; filestore.SetSortColumnId(2, Gtk.SortType.Ascending); }
public TaskNameColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Task Name"), Sizing = TreeViewColumnSizing.Autosize, Expand = true, Resizable = true }; // TODO: Add in code to determine how wide we should make the name // column. // TODO: Add in code to readjust the size of the name column if the // user resizes the Task Window. //column.FixedWidth = 250; var renderer = new CellRendererText { Editable = true }; renderer.EditingStarted += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (!model.GetIter (out iter, path)) return; var task = model.GetValue (iter, 0) as ITask; if (task == null) return; taskBeingEdited = new TaskBeingEdited (task, iter, path); if (CellEditingStarted != null) CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path)); }; renderer.EditingCanceled += delegate { EndCellEditing (); }; renderer.Edited += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (model.GetIter (out iter, path)) { var task = model.GetValue (iter, 0) as ITask; if (task == null) return; var newText = args.NewText; // Attempt to derive due date information from text. if (preferences.GetBool (PreferencesKeys.ParseDateEnabledKey) && task.State == TaskState.Active && task.DueDate == DateTime.MinValue) { string parsedTaskText; DateTime parsedDueDate; TaskParser.Instance.TryParse (newText, out parsedTaskText, out parsedDueDate); if (parsedDueDate != DateTime.MinValue) task.DueDate = parsedDueDate; newText = parsedTaskText; } task.Text = newText; } EndCellEditing (); }; TreeViewColumn.PackStart (renderer, true); TreeViewColumn.SetCellDataFunc (renderer, TaskNameTextCellDataFunc); }
private void SetupTree() { gamesStore = new ListStore (typeof (object)); tree.Model = gamesStore; tree.HeadersVisible = false; filter = new TreeModelFilter (gamesStore, null); filter.VisibleFunc = SearchFilterFunc; TreeViewColumn col; col = new TreeViewColumn (); idx_renderer = new CellRendererText (); idx_renderer.Yalign = 0; info_renderer = new CellRendererText (); col.Title = Catalog.GetString ("Games"); col.PackStart (idx_renderer, false); col.SetCellDataFunc (idx_renderer, new TreeCellDataFunc (IdxCellDataFunc)); col.PackStart (info_renderer, true); col.SetCellDataFunc (info_renderer, new TreeCellDataFunc (InfoCellDataFunc)); col.Resizable = false; col.Expand = true; tree.AppendColumn (col); }
private void SetupMovesTree() { TreeViewColumn col = new TreeViewColumn (); CellRendererText moveno_renderer = new CellRendererText (); CellRendererText whitemove_renderer = new CellRendererText (); CellRendererText blackmove_renderer = new CellRendererText (); moveno_renderer.Xalign = 1; col.PackStart (moveno_renderer, false); col.SetCellDataFunc (moveno_renderer, new TreeCellDataFunc (MoveNumCellDataFunc)); col.Title = Catalog.GetString("No"); gameView.AppendColumn (col); col = new TreeViewColumn (); col.PackStart (whitemove_renderer, true); col.SetCellDataFunc (whitemove_renderer, new TreeCellDataFunc (WhiteMoveCellDataFunc)); col.Title = Catalog.GetString("White"); col.Resizable = true; col.Expand = true; gameView.AppendColumn (col); whitecol = col; whitecol.Spacing = 5; col = new TreeViewColumn (); col.PackStart (blackmove_renderer, false); col.SetCellDataFunc (blackmove_renderer, new TreeCellDataFunc (BlackMoveCellDataFunc)); col.Expand = true; col.Title = Catalog.GetString("Black"); gameView.AppendColumn (col); blackcol = col; gameView.HeadersVisible = true; }
void InitializeComponents() { iconView = new TemplateView(); iconView.ShowAll(); boxTemplates.PackStart(iconView, true, true, 0); catStore = new TreeStore(typeof(string), typeof(List <Category>), typeof(List <TemplateItem>)); TreeViewColumn treeViewColumn = new TreeViewColumn(); treeViewColumn.Title = "categories"; CellRenderer cellRenderer = new CellRendererText(); treeViewColumn.PackStart(cellRenderer, true); treeViewColumn.AddAttribute(cellRenderer, "text", 0); catView.AppendColumn(treeViewColumn); catStore.SetSortColumnId(0, SortType.Ascending); catView.Model = catStore; okButton.Clicked += new EventHandler(OpenEvent); cancelButton.Clicked += new EventHandler(cancelClicked); nameEntry.Changed += new EventHandler(NameChanged); nameEntry.Activated += new EventHandler(OpenEvent); infoLabel.Text = string.Empty; labelTemplateTitle.Text = string.Empty; ReadOnlyCollection <Project> projects = null; if (parentProject == null) { projects = IdeApp.Workspace.GetAllProjects(); } if (projects != null && projects.Count > 0) { Project curProject = IdeApp.ProjectOperations.CurrentSelectedProject; boxProject.Visible = true; projectAddCheckbox.Active = curProject != null; projectAddCheckbox.Toggled += new EventHandler(AddToProjectToggled); projectNames = new string[projects.Count]; projectRefs = new Project[projects.Count]; int i = 0; bool singleSolution = IdeApp.Workspace.Items.Count == 1 && IdeApp.Workspace.Items[0] is Solution; foreach (Project project in projects) { projectRefs[i] = project; if (singleSolution) { projectNames[i++] = project.Name; } else { projectNames[i++] = project.ParentSolution.Name + "/" + project.Name; } } Array.Sort(projectNames, projectRefs); i = Array.IndexOf(projectRefs, curProject); foreach (string pn in projectNames) { projectAddCombo.AppendText(pn); } projectAddCombo.Active = i != -1 ? i : 0; projectAddCombo.Sensitive = projectAddCheckbox.Active; projectAddCombo.Changed += new EventHandler(AddToProjectComboChanged); projectPathLabel.Sensitive = projectAddCheckbox.Active; projectFolderEntry.Sensitive = projectAddCheckbox.Active; if (curProject != null) { projectFolderEntry.Path = curProject.BaseDirectory; } projectFolderEntry.PathChanged += new EventHandler(AddToProjectPathChanged); if (curProject != null) { basePath = curProject.BaseDirectory; parentProject = curProject; } } else { boxProject.Visible = false; } catView.Selection.Changed += new EventHandler(CategoryChange); catView.RowActivated += new RowActivatedHandler(CategoryActivated); iconView.SelectionChanged += new EventHandler(SelectedTemplateChanged); iconView.DoubleClicked += new EventHandler(OpenEvent); InitializeDialog(false); InitializeView(); UpdateOkStatus(); }
public TypesView() { window = new ScrolledWindow(); list = new TreeView(); list.RulesHint = true; // icon type count #bytes avg size avg age # backtraces store = new ListStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(object)); list.Model = store; CellRendererPixbuf pixbufRenderer = new CellRendererPixbuf(); CellRendererText typeRenderer = new CellRendererText(); CellRendererText countRenderer = new CellRendererText(); CellRendererText totalSizeRenderer = new CellRendererText(); CellRendererText avgSizeRenderer = new CellRendererText(); CellRendererText avgAgeRenderer = new CellRendererText(); CellRendererText backtracesRenderer = new CellRendererText(); TreeViewColumn columnType = new TreeViewColumn(); TreeViewColumn columnCount = new TreeViewColumn(); TreeViewColumn columnTotalSize = new TreeViewColumn(); TreeViewColumn columnAvgSize = new TreeViewColumn(); TreeViewColumn columnAvgAge = new TreeViewColumn(); TreeViewColumn columnBacktraces = new TreeViewColumn(); columnType.Title = GettextCatalog.GetString("Type"); columnCount.Title = GettextCatalog.GetString("Count"); columnTotalSize.Title = GettextCatalog.GetString("Total Size"); columnAvgSize.Title = GettextCatalog.GetString("Avg Size"); columnAvgAge.Title = GettextCatalog.GetString("Avg Age"); columnBacktraces.Title = GettextCatalog.GetString("Backtraces"); columnType.PackStart(pixbufRenderer, false); columnType.PackStart(typeRenderer, true); columnCount.PackStart(countRenderer, true); columnTotalSize.PackStart(totalSizeRenderer, true); columnAvgSize.PackStart(avgSizeRenderer, true); columnAvgAge.PackStart(avgAgeRenderer, true); columnBacktraces.PackStart(backtracesRenderer, true); columnType.AddAttribute(pixbufRenderer, "stock-id", 0); columnType.AddAttribute(typeRenderer, "text", 1); columnCount.AddAttribute(countRenderer, "text", 2); columnTotalSize.AddAttribute(totalSizeRenderer, "text", 3); columnAvgSize.AddAttribute(avgSizeRenderer, "text", 4); columnAvgAge.AddAttribute(avgAgeRenderer, "text", 5); columnBacktraces.AddAttribute(backtracesRenderer, "text", 6); list.AppendColumn(columnType); list.AppendColumn(columnCount); list.AppendColumn(columnTotalSize); list.AppendColumn(columnAvgSize); list.AppendColumn(columnAvgAge); list.AppendColumn(columnBacktraces); int nc = 0; foreach (TreeViewColumn c in list.Columns) { store.SetSortFunc(nc, CompareNodes); c.SortColumnId = nc++; } store.SetSortColumnId(1, SortType.Descending); window.Add(list); window.ShowAll(); }
/// <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, }; mainWidget = completionForm; 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; }
public busca_pacientes(string _tipo_, string LoginEmpleado, string NomEmpleado, string AppEmpleado, string ApmEmpleado) { //string []userName = {"Admin","Root","Guest","Nobody"}; //string []passWord= {"test","blank","Guest","password"}; Console.WriteLine("registro_admision.glade"); Glade.XML gxml = new Glade.XML(null, "registro_admision.glade", "busca_paciente", null); gxml.Autoconnect(this); busca_paciente.Show(); //TreeView ListStore = new TreeView(); treeViewEngine = new TreeStore(typeof(bool), typeof(string), typeof(string), typeof(string)); lista_de_Pacientes.Model = treeViewEngine; //treeViewEngine.SetSortFunc (0, StoreSortFunc); treeViewEngine.SetSortColumnId(1, Gtk.SortType.Ascending); for (int i = 0; i < 10; i++) { TreeIter iter = treeViewEngine.AppendValues(null, "Demo " + i, "Data " + i, "01/01/200" + i); } //lista_de_Pacientes.Selection.Changed += onItemSelected; // cambio de fila lista_de_Pacientes.RowActivated += OnRowActivated; // Doble click selecciono paciente TreeViewColumn col_Seleccion = new TreeViewColumn(); CellRendererToggle cellrtg = new CellRendererToggle(); col_Seleccion.Title = "Seleccion"; // titulo de la cabecera de la columna, si está visible col_Seleccion.PackStart(cellrtg, true); col_Seleccion.SetCellDataFunc(cellrtg, new TreeCellDataFunc(BoolCellDataFunc)); col_Seleccion.AddAttribute(cellrtg, "active", 0); // la siguiente columna será 1 en vez de 0 cellrtg.Activatable = true; cellrtg.Toggled += crt_toogled; TreeViewColumn col_PidPaciente = new TreeViewColumn(); CellRendererText cellrt = new CellRendererText(); col_PidPaciente.Title = "PID Paciente"; // titulo de la cabecera de la columna, si está visible col_PidPaciente.PackStart(cellrt, true); col_PidPaciente.AddAttribute(cellrt, "text", 1); // la siguiente columna será 1 en vez de 0 cellrt.Editable = true; TreeViewColumn col_NombrePaciente = new TreeViewColumn(); CellRendererText cellrt1 = new CellRendererText(); col_NombrePaciente.Title = "Nombre de Paciente"; col_NombrePaciente.PackStart(cellrt1, true); col_NombrePaciente.AddAttribute(cellrt1, "text", 2); // la siguiente columna será 2 en vez de 1 TreeViewColumn col_fechaCrea = new TreeViewColumn(); col_fechaCrea.Title = "Fecha"; col_fechaCrea.PackStart(cellrt1, true); col_fechaCrea.AddAttribute(cellrt1, "text", 3); // la siguiente columna será 3 en vez de 2 lista_de_Pacientes.AppendColumn(col_Seleccion); lista_de_Pacientes.AppendColumn(col_PidPaciente); lista_de_Pacientes.AppendColumn(col_NombrePaciente); lista_de_Pacientes.AppendColumn(col_fechaCrea); }
/// <summary> /// Default constructor that configures the Completion form. /// </summary> public EditorView(ViewBase owner) : base(owner) { scroller = new ScrolledWindow(); textEditor = new MonoTextEditor(); scroller.Add(textEditor); _mainWidget = scroller; TextEditorOptions options = new TextEditorOptions(); options.EnableSyntaxHighlighting = true; options.ColorScheme = "Visual Studio"; options.HighlightCaretLine = true; textEditor.Options = options; textEditor.Document.LineChanged += OnTextHasChanged; textEditor.LeaveNotifyEvent += OnTextBoxLeave; _mainWidget.Destroyed += _mainWidget_Destroyed; CompletionForm = new Window(WindowType.Toplevel); CompletionForm.Decorated = false; CompletionForm.SkipPagerHint = true; CompletionForm.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)); CompletionView = new TreeView(completionModel); completionScroller.Add(CompletionView); TreeViewColumn column = new TreeViewColumn(); CellRendererPixbuf iconRender = new Gtk.CellRendererPixbuf(); column.PackStart(iconRender, false); CellRendererText textRender = new Gtk.CellRendererText(); textRender.Editable = false; column.PackStart(textRender, true); column.SetAttributes(iconRender, "pixbuf", 0); column.SetAttributes(textRender, "text", 1); column.Title = "Item"; column.Resizable = true; CompletionView.AppendColumn(column); textRender = new CellRendererText(); column = new TreeViewColumn("Units", textRender, "text", 2); column.Resizable = true; CompletionView.AppendColumn(column); textRender = new CellRendererText(); column = new TreeViewColumn("Type", textRender, "text", 3); column.Resizable = true; CompletionView.AppendColumn(column); textRender = new CellRendererText(); column = new TreeViewColumn("Descr", textRender, "text", 4); column.Resizable = true; CompletionView.AppendColumn(column); functionPixbuf = new Gdk.Pixbuf(null, "ApsimNG.Resources.Function.png", 16, 16); propertyPixbuf = new Gdk.Pixbuf(null, "ApsimNG.Resources.Property.png", 16, 16); textEditor.TextArea.KeyPressEvent += OnKeyPress; CompletionView.HasTooltip = true; CompletionView.TooltipColumn = 5; CompletionForm.FocusOutEvent += OnLeaveCompletion; CompletionView.ButtonPressEvent += OnContextListMouseDoubleClick; CompletionView.KeyPressEvent += OnContextListKeyDown; CompletionView.KeyReleaseEvent += CompletionView_KeyReleaseEvent; IntelliSenseChars = "."; }
public TriggersEditorWidget(ISchemaProvider schemaProvider, SchemaActions action) { if (schemaProvider == null) { throw new ArgumentNullException("schemaProvider"); } this.schemaProvider = schemaProvider; this.action = action; this.Build(); sqlEditor.Editable = false; sqlEditor.TextChanged += new EventHandler(SourceChanged); store = new ListStore(typeof(string), typeof(string), typeof(string), typeof(bool), typeof(string), typeof(bool), typeof(string), typeof(string), typeof(object)); storeTypes = new ListStore(typeof(string)); storeEvents = new ListStore(typeof(string)); listTriggers.Model = store; listTriggers.Selection.Changed += new EventHandler(OnSelectionChanged); foreach (string name in Enum.GetNames(typeof(TriggerType))) { storeTypes.AppendValues(name); } foreach (string name in Enum.GetNames(typeof(TriggerEvent))) { storeEvents.AppendValues(name); } TreeViewColumn colName = new TreeViewColumn(); TreeViewColumn colType = new TreeViewColumn(); TreeViewColumn colEvent = new TreeViewColumn(); TreeViewColumn colFireType = new TreeViewColumn(); TreeViewColumn colPosition = new TreeViewColumn(); TreeViewColumn colActive = new TreeViewColumn(); TreeViewColumn colComment = new TreeViewColumn(); colName.Title = GettextCatalog.GetString("Name"); colType.Title = GettextCatalog.GetString("Type"); colEvent.Title = GettextCatalog.GetString("Event"); colFireType.Title = GettextCatalog.GetString("Each Row"); colPosition.Title = GettextCatalog.GetString("Position"); colActive.Title = GettextCatalog.GetString("Active"); colComment.Title = GettextCatalog.GetString("Comment"); colType.MinWidth = 120; colEvent.MinWidth = 120; CellRendererText nameRenderer = new CellRendererText(); CellRendererCombo typeRenderer = new CellRendererCombo(); CellRendererCombo eventRenderer = new CellRendererCombo(); CellRendererToggle fireTypeRenderer = new CellRendererToggle(); CellRendererText positionRenderer = new CellRendererText(); CellRendererToggle activeRenderer = new CellRendererToggle(); CellRendererText commentRenderer = new CellRendererText(); nameRenderer.Editable = true; nameRenderer.Edited += new EditedHandler(NameEdited); typeRenderer.Model = storeTypes; typeRenderer.TextColumn = 0; typeRenderer.Editable = true; typeRenderer.Edited += new EditedHandler(TypeEdited); eventRenderer.Model = storeEvents; eventRenderer.TextColumn = 0; eventRenderer.Editable = true; eventRenderer.Edited += new EditedHandler(EventEdited); fireTypeRenderer.Activatable = true; fireTypeRenderer.Toggled += new ToggledHandler(FireTypeToggled); positionRenderer.Editable = true; positionRenderer.Edited += new EditedHandler(PositionEdited); activeRenderer.Activatable = true; activeRenderer.Toggled += new ToggledHandler(ActiveToggled); commentRenderer.Editable = true; commentRenderer.Edited += new EditedHandler(CommentEdited); colName.PackStart(nameRenderer, true); colType.PackStart(typeRenderer, true); colEvent.PackStart(eventRenderer, true); colFireType.PackStart(fireTypeRenderer, true); colPosition.PackStart(positionRenderer, true); colActive.PackStart(activeRenderer, true); colComment.PackStart(commentRenderer, true); colName.AddAttribute(nameRenderer, "text", colNameIndex); colType.AddAttribute(typeRenderer, "text", colTypeIndex); colEvent.AddAttribute(eventRenderer, "text", colEventIndex); colFireType.AddAttribute(fireTypeRenderer, "active", colFireTypeIndex); colPosition.AddAttribute(positionRenderer, "text", colPositionIndex); colActive.AddAttribute(activeRenderer, "active", colActiveIndex); colComment.AddAttribute(commentRenderer, "text", colCommentIndex); listTriggers.AppendColumn(colName); listTriggers.AppendColumn(colType); listTriggers.AppendColumn(colEvent); listTriggers.AppendColumn(colFireType); listTriggers.AppendColumn(colPosition); listTriggers.AppendColumn(colActive); listTriggers.AppendColumn(colComment); ShowAll(); }
/// <summary> /// Set up the UI inside the Window /// </summary> private void InitializeWidgets() { this.SetDefaultSize(500, 400); this.Icon = new Gdk.Pixbuf(Util.ImagesPath("ifolder16.png")); VBox dialogBox = new VBox(); dialogBox.Spacing = 10; dialogBox.BorderWidth = 10; this.VBox.PackStart(dialogBox, true, true, 0); Label l = new Label( string.Format("<span size=\"large\" weight=\"bold\">{0}</span>", Util.GS("Add users to this iFolder"))); l.Xalign = 0; l.UseMarkup = true; dialogBox.PackStart(l, false, false, 0); //------------------------------ // Selection Area //------------------------------ HBox selBox = new HBox(false, 10); dialogBox.PackStart(selBox, true, true, 0); //------------------------------ // All Users tree //------------------------------ VBox vbox = new VBox(false, 0); selBox.PackStart(vbox, false, false, 0); //------------------------------ // Find Entry //------------------------------ HBox searchHBox = new HBox(false, 4); vbox.PackStart(searchHBox, false, false, 0); Label findLabel = new Label(Util.GS("_Find:")); searchHBox.PackStart(findLabel, false, false, 0); findLabel.Xalign = 0; SearchEntry = new Entry(); searchHBox.PackStart(SearchEntry, true, true, 0); findLabel.MnemonicWidget = SearchEntry; SearchEntry.SelectRegion(0, -1); SearchEntry.CanFocus = true; SearchEntry.Changed += new EventHandler(OnSearchEntryChanged); Image stopImage = new Image(Stock.Stop, Gtk.IconSize.Menu); stopImage.SetAlignment(0.5F, 0F); CancelSearchButton = new Button(stopImage); searchHBox.PackEnd(CancelSearchButton, false, false, 0); CancelSearchButton.Relief = ReliefStyle.None; CancelSearchButton.Sensitive = false; CancelSearchButton.Clicked += new EventHandler(OnCancelSearchButton); memberListModel = new MemberListModel(domainID, simws); memberList = new BigList(memberListModel); // FIXME: Fix up the BigList class to support both horizontal and vertical scrolling and then use the scroll adjustments to construct the ScrolledWindow ScrolledWindow sw = new ScrolledWindow(memberList.HAdjustment, memberList.VAdjustment); sw.ShadowType = Gtk.ShadowType.EtchedIn; sw.Add(memberList); vbox.PackStart(sw, true, true, 0); memberList.ItemSelected += new ItemSelected(OnMemberIndexSelected); memberList.ItemActivated += new ItemActivated(OnMemberIndexActivated); //------------------------------ // Buttons //------------------------------ VBox btnBox = new VBox(); btnBox.Spacing = 10; selBox.PackStart(btnBox, false, false, 0); Label spacer = new Label(""); btnBox.PackStart(spacer, true, true, 0); HBox buttonHBox = new HBox(false, 4); spacer = new Label(""); buttonHBox.PackStart(spacer, true, true, 0); Label buttonLabel = new Label(Util.GS("_Add")); buttonHBox.PackStart(buttonLabel, false, false, 0); Image buttonImage = new Image(Stock.GoForward, IconSize.Button); buttonHBox.PackStart(buttonImage, false, false, 0); spacer = new Label(""); buttonHBox.PackStart(spacer, true, true, 0); UserAddButton = new Button(buttonHBox); btnBox.PackStart(UserAddButton, false, true, 0); UserAddButton.Clicked += new EventHandler(OnAddButtonClicked); buttonHBox = new HBox(false, 4); spacer = new Label(""); buttonHBox.PackStart(spacer, true, true, 0); buttonImage = new Image(Stock.GoBack, IconSize.Button); buttonHBox.PackStart(buttonImage, false, false, 0); buttonLabel = new Label(Util.GS("_Remove")); buttonHBox.PackStart(buttonLabel, false, false, 0); spacer = new Label(""); buttonHBox.PackStart(spacer, true, true, 0); UserDelButton = new Button(buttonHBox); btnBox.PackStart(UserDelButton, false, true, 0); UserDelButton.Clicked += new EventHandler(OnRemoveButtonClicked); spacer = new Label(""); btnBox.PackStart(spacer, true, true, 0); //------------------------------ // Selected Users tree //------------------------------ vbox = new VBox(false, 0); selBox.PackStart(vbox, true, true, 0); l = new Label(Util.GS("_Users to add:")); l.Xalign = 0; vbox.PackStart(l, false, false, 0); SelTreeView = new TreeView(); ScrolledWindow ssw = new ScrolledWindow(); ssw.ShadowType = Gtk.ShadowType.EtchedIn; ssw.Add(SelTreeView); vbox.PackStart(ssw, true, true, 0); ssw.WidthRequest = 200; l.MnemonicWidget = SelTreeView; // Set up the iFolder TreeView SelTreeStore = new ListStore(typeof(MemberInfo)); SelTreeStore.SetSortFunc( 0, new TreeIterCompareFunc(SelTreeStoreSortFunction)); SelTreeStore.SetSortColumnId(0, SortType.Ascending); SelTreeView.Model = SelTreeStore; SelTreeView.HeadersVisible = false; // Set up Pixbuf and Text Rendering for "iFolder Users" column TreeViewColumn selmemberColumn = new TreeViewColumn(); CellRendererText smcrt = new CellRendererText(); selmemberColumn.PackStart(smcrt, false); selmemberColumn.SetCellDataFunc(smcrt, new TreeCellDataFunc( UserCellTextDataFunc)); selmemberColumn.Title = Util.GS("Users to Add..."); SelTreeView.AppendColumn(selmemberColumn); SelTreeView.Selection.Mode = SelectionMode.Multiple; SelTreeView.Selection.Changed += new EventHandler( OnSelUserSelectionChanged); this.AddButton(Stock.Cancel, ResponseType.Cancel); this.AddButton(Stock.Ok, ResponseType.Ok); this.AddButton(Stock.Help, ResponseType.Help); SetResponseSensitive(ResponseType.Ok, false); SearchiFolderUsers(); }
public CodeIssuePanelWidget(string mimeType) { this.mimeType = mimeType; // ReSharper disable once DoNotCallOverridableMethodsInConstructor Build(); // ensure selected row remains visible treeviewInspections.SizeAllocated += (o, args) => { TreeIter iter; if (treeviewInspections.Selection.GetSelected(out iter)) { var path = treeviewInspections.Model.GetPath(iter); treeviewInspections.ScrollToCell(path, treeviewInspections.Columns[0], false, 0f, 0f); } }; treeviewInspections.TooltipColumn = 2; treeviewInspections.HasTooltip = true; var toggleRenderer = new CellRendererToggle(); toggleRenderer.Toggled += delegate(object o, ToggledArgs args) { TreeIter iter; if (treeStore.GetIterFromString(out iter, args.Path)) { var provider = (BaseCodeIssueProvider)treeStore.GetValue(iter, 1); enableState[provider] = !enableState[provider]; } }; var titleCol = new TreeViewColumn(); treeviewInspections.AppendColumn(titleCol); titleCol.PackStart(toggleRenderer, false); titleCol.Sizing = TreeViewColumnSizing.Autosize; titleCol.SetCellDataFunc(toggleRenderer, delegate(TreeViewColumn treeColumn, CellRenderer cell, TreeModel model, TreeIter iter) { var provider = (BaseCodeIssueProvider)model.GetValue(iter, 1); if (provider == null) { toggleRenderer.Visible = false; return; } toggleRenderer.Visible = true; toggleRenderer.Active = enableState[provider]; }); var cellRendererText = new CellRendererText { Ellipsize = Pango.EllipsizeMode.End }; titleCol.PackStart(cellRendererText, true); titleCol.AddAttribute(cellRendererText, "markup", 0); titleCol.Expand = true; searchentryFilter.ForceFilterButtonVisible = true; searchentryFilter.RoundedShape = true; searchentryFilter.HasFrame = true; searchentryFilter.Ready = true; searchentryFilter.Visible = true; searchentryFilter.Entry.Changed += ApplyFilter; var comboRenderer = new CellRendererCombo { Alignment = Pango.Alignment.Center }; var col = treeviewInspections.AppendColumn("Severity", comboRenderer); col.Sizing = TreeViewColumnSizing.GrowOnly; col.MinWidth = 100; col.Expand = false; var comboBoxStore = new ListStore(typeof(string), typeof(Severity)); // comboBoxStore.AppendValues (GetDescription (Severity.None), Severity.None); comboBoxStore.AppendValues(GetDescription(Severity.Error), Severity.Error); comboBoxStore.AppendValues(GetDescription(Severity.Warning), Severity.Warning); comboBoxStore.AppendValues(GetDescription(Severity.Hint), Severity.Hint); comboBoxStore.AppendValues(GetDescription(Severity.Suggestion), Severity.Suggestion); comboRenderer.Model = comboBoxStore; comboRenderer.Mode = CellRendererMode.Activatable; comboRenderer.TextColumn = 0; comboRenderer.Editable = true; comboRenderer.HasEntry = false; comboRenderer.Edited += delegate(object o, EditedArgs args) { TreeIter iter; if (!treeStore.GetIterFromString(out iter, args.Path)) { return; } TreeIter storeIter; if (!comboBoxStore.GetIterFirst(out storeIter)) { return; } do { if ((string)comboBoxStore.GetValue(storeIter, 0) == args.NewText) { var provider = (BaseCodeIssueProvider)treeStore.GetValue(iter, 1); var severity = (Severity)comboBoxStore.GetValue(storeIter, 1); severities[provider] = severity; return; } } while (comboBoxStore.IterNext(ref storeIter)); }; col.SetCellDataFunc(comboRenderer, delegate(TreeViewColumn treeColumn, CellRenderer cell, TreeModel model, TreeIter iter) { var provider = (BaseCodeIssueProvider)model.GetValue(iter, 1); if (provider == null) { comboRenderer.Visible = false; return; } var severity = severities[provider]; comboRenderer.Visible = true; comboRenderer.Text = GetDescription(severity); comboRenderer.BackgroundGdk = GetColor(severity); }); treeviewInspections.HeadersVisible = false; treeviewInspections.Model = treeStore; GetAllSeverities(); FillInspectors(null); }
public ProjectFileSelectorDialog(Project project, string defaultFilterName, string defaultFilterPattern, string [] buildActions) { this.project = project; this.defaultFilter = new SelectFileDialogFilter(defaultFilterName, defaultFilterPattern ?? "*"); this.buildActions = buildActions; this.Build(); projBuf = ImageService.GetIcon(project.StockIcon, IconSize.Menu); dirClosedBuf = ImageService.GetIcon(MonoDevelop.Ide.Gui.Stock.ClosedFolder, IconSize.Menu); dirOpenBuf = ImageService.GetIcon(MonoDevelop.Ide.Gui.Stock.OpenFolder, IconSize.Menu); TreeViewColumn projectCol = new TreeViewColumn(); projectCol.Title = GettextCatalog.GetString("Project Folders"); var pixRenderer = new CellRendererImage(); CellRendererText txtRenderer = new CellRendererText(); projectCol.PackStart(pixRenderer, false); projectCol.PackStart(txtRenderer, true); projectCol.SetCellDataFunc(pixRenderer, new TreeCellDataFunc(PixDataFunc)); projectCol.SetCellDataFunc(txtRenderer, new TreeCellDataFunc(TxtDataFunc)); projectTree.Model = dirStore; projectTree.AppendColumn(projectCol); TreeIter projectIter = dirStore.AppendValues("", FilePath.Empty); InitDirs(projectIter); projectTree.ExpandAll(); projectTree.RowActivated += delegate { fileList.GrabFocus(); }; projectTree.KeyPressEvent += ProjectListKeyPressEvent; TreeViewColumn fileCol = new TreeViewColumn(); var filePixRenderer = new CellRendererImage(); fileCol.Title = GettextCatalog.GetString("Files"); fileCol.PackStart(filePixRenderer, false); fileCol.PackStart(txtRenderer, true); fileCol.AddAttribute(filePixRenderer, "image", 1); fileCol.SetCellDataFunc(txtRenderer, new TreeCellDataFunc(TxtFileDataFunc)); fileList.Model = fileStore; fileList.AppendColumn(fileCol); fileList.RowActivated += delegate { TreeIter iter; if (fileList.Selection.GetSelected(out iter)) { Respond(ResponseType.Ok); } }; fileList.KeyPressEvent += FileListKeyPressEvent; fileList.KeyReleaseEvent += FileListKeyReleaseEvent; TreeIter root; if (dirStore.GetIterFirst(out root)) { projectTree.Selection.SelectIter(root); } UpdateFileList(null, null); projectTree.Selection.Changed += UpdateFileList; fileList.Selection.Changed += UpdateSensitivity; this.DefaultResponse = ResponseType.Cancel; this.Modal = true; }
protected void AddPlatformTab(string friendlyName, string msfPayloadFilter, Notebook parent, string negativeFilter = null, Widget payloadDetails = null) { HBox split = new HBox(); TreeView payloads = new TreeView(); payloads.RowActivated += (object o, RowActivatedArgs args) => { TreeModel model = _treeViews [_parentNotebook.CurrentPage].Model; TreeIter iter; model.GetIterFromString(out iter, args.Path.ToString()); string str = model.GetValue(iter, 1) as string; VBox deeets = RedrawOptions(_newPayloads [str], true); HBox updateButton = new HBox(); Button update = new Button("Update payload"); update.Clicked += (object sender, EventArgs e) => { Dictionary <string, object> newopts = new Dictionary <string, object> (); foreach (Widget child in _dynamicOptions[_parentNotebook.CurrentPage].Children) { if (child is CheckButton) { newopts.Add((child as CheckButton).Label, (child as CheckButton).Active.ToString()); } else if (child is HBox) { foreach (Widget c in (child as HBox).Children) { if (c is Entry) { newopts.Add((c as Entry).TooltipText, (c as Entry).Text); } } } } _newPayloads [str] = newopts; }; updateButton.PackStart(update, false, false, 0); deeets.PackStart(updateButton, false, false, 0); deeets.ShowAll(); }; TreeViewColumn no = new TreeViewColumn(); no.Title = "#"; CellRendererText noText = new CellRendererText(); no.PackStart(noText, true); no.AddAttribute(noText, "text", 0); TreeViewColumn treedeets = new TreeViewColumn(); payloads.AppendColumn(no); CellRendererText treeDeetsText = new CellRendererText(); treedeets.Title = "Details"; treedeets.PackStart(treeDeetsText, true); treedeets.AddAttribute(treeDeetsText, "text", 1); payloads.AppendColumn(treedeets); ListStore payloadListStore = new ListStore(typeof(string), typeof(string)); payloads.Model = payloadListStore; payloads.WidthRequest = 250; payloads.HeightRequest = 500; _treeViews.Add(payloads); split.PackStart(payloads, false, false, 10); VBox deetsAndButtons = new VBox(); VBox deets = new VBox(); HBox payloadComboContainer = new HBox(); ComboBox payloadCombo = ComboBox.NewText(); payloadCombo.Changed += OnPayloadChanged; payloadCombo.WidthRequest = 250; var ps = ((List <object>)_payloads ["modules"]).Where(s => ((string)s).StartsWith(msfPayloadFilter)); if (negativeFilter != null) { ps = ps.Where(s => !((string)s).Contains(negativeFilter)); } foreach (var payload in ps.OrderBy(s => s)) { payloadCombo.AppendText(payload.ToString()); } payloadComboContainer.PackStart(payloadCombo, false, false, 0); deetsAndButtons.PackStart(payloadComboContainer, false, false, 0); deetsAndButtons.PackStart(deets, false, false, 0); if (payloadDetails != null) { deets.PackStart(payloadDetails, false, false, 0); } _dynamicOptions.Add(deets); split.PackEnd(deetsAndButtons, true, true, 0); parent.AppendPage(split, new Label(friendlyName)); }
private void InitView(VolumeType volType, out TreeModel model) { currentVolumeType = volType; TreeViewColumn col; switch (volType) { case VolumeType.FileSystemVolume: HeadersVisible = false; CellRendererPixbuf pix = new CellRendererPixbuf(); CellRendererText txt = new CellRendererText(); col = new TreeViewColumn(); col.PackStart(pix, false); col.PackStart(txt, false); col.SetAttributes(pix, "pixbuf", 0); col.SetAttributes(txt, "text", 1); col.SetCellDataFunc(txt, CellDataFunc); AppendColumn(col); // set up store model = new TreeStore(typeof(Gdk.Pixbuf), typeof(string), /* VolumeItem - not visible */ typeof(FileSystemVolumeItem)); item_col = 2; break; case VolumeType.AudioCdVolume: HeadersVisible = true; col = new TreeViewColumn(string.Empty, new CellRendererPixbuf(), "pixbuf", 0); col.Resizable = false; col.Expand = false; AppendColumn(col); var tmp = new CellRendererText(); col = new TreeViewColumn(S._("Name"), tmp, "text", 1); col.Resizable = true; col.Expand = true; col.SetCellDataFunc(tmp, CellDataFunc); AppendColumn(col); col = new TreeViewColumn(S._("Artist"), new CellRendererText(), "text", 2); col.Resizable = true; col.Expand = true; AppendColumn(col); col = new TreeViewColumn(S._("Duration"), new CellRendererText(), "text", 3); col.Resizable = true; col.Expand = false; AppendColumn(col); // set up store model = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), /* VolumeItem - not visible */ typeof(AudioTrackVolumeItem)); item_col = 4; break; default: throw new NotImplementedException("View initialization has not been implemented for this volumetype"); } }
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); 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(); RestoreLastPanel(); this.DefaultResponse = Gtk.ResponseType.Ok; buttonOk.CanDefault = true; buttonOk.GrabDefault(); DefaultWidth = 960; DefaultHeight = 680; }
public override void Initialize(NodeBuilder[] builders, TreePadOption[] options, string menuPath) { base.Initialize(builders, options, menuPath); UnitTestService.TestSuiteChanged += OnTestSuiteChanged; paned = new VPaned(); VBox vbox = new VBox(); DockItemToolbar topToolbar = Window.GetToolbar(DockPositionType.Top); buttonRunAll = new Button(new ImageView(ImageService.GetIcon("md-execute-all", IconSize.Menu))); buttonRunAll.Accessible.Name = "TestPad.RunAll"; buttonRunAll.Accessible.Description = GettextCatalog.GetString("Start a test run and run all the tests"); buttonRunAll.Clicked += new EventHandler(OnRunAllClicked); buttonRunAll.Sensitive = true; buttonRunAll.TooltipText = GettextCatalog.GetString("Run all tests"); topToolbar.Add(buttonRunAll); buttonDebugAll = new Button(new ImageView(ImageService.GetIcon("md-debug-all", IconSize.Menu))); buttonDebugAll.Accessible.Name = "TestPad.DebugAll"; buttonDebugAll.Accessible.Description = GettextCatalog.GetString("Debug all the tests"); buttonDebugAll.Clicked += new EventHandler(OnDebugAllClicked); buttonDebugAll.Sensitive = true; buttonDebugAll.TooltipText = GettextCatalog.GetString("Debug all tests"); topToolbar.Add(buttonDebugAll); buttonStop = new Button(new ImageView(Ide.Gui.Stock.Stop, IconSize.Menu)); buttonStop.Clicked += new EventHandler(OnStopClicked); buttonStop.Sensitive = false; buttonStop.TooltipText = GettextCatalog.GetString("Cancel running test"); buttonStop.Accessible.Name = "TestPad.StopAll"; buttonStop.Accessible.SetTitle(GettextCatalog.GetString(("Cancel"))); buttonStop.Accessible.Description = GettextCatalog.GetString("Stops the current test run"); 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 ImageView("gtk-close", IconSize.SmallToolbar)); hb.Relief = ReliefStyle.None; hb.Clicked += new EventHandler(OnCloseDetails); header.PackEnd(hb, false, false, 0); hb = new Button(new ImageView("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.SelectionChanged += new EventHandler(OnChartDateChanged); var chartWidget = chart.GetNativeWidget <Widget> (); chartWidget.ButtonPressEvent += OnChartButtonPress; chartWidget.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 { Name = "testPadDetailsTree" }; detailsTree.HeadersVisible = true; detailsTree.RulesHint = true; detailsStore = new ListStore(typeof(object), typeof(string), typeof(string), typeof(string), typeof(string)); SemanticModelAttribute modelAttr = new SemanticModelAttribute("store__UnitTest", "store__Name", "store__Passed", "store__ErrorsAndFailures", "store__Ignored"); SCM.TypeDescriptor.AddAttributes(detailsStore, modelAttr); CellRendererText trtest = new CellRendererText(); CellRendererText tr; TreeViewColumn col3 = new TreeViewColumn(); col3.Expand = false; // col3.Alignment = 0.5f; col3.Widget = new ImageView(TestStatusIcon.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 ImageView(TestStatusIcon.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 ImageView(TestStatusIcon.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 { Name = "testPadRegressionTree" }; regressionTree.HeadersVisible = false; regressionTree.RulesHint = true; regressionStore = new ListStore(typeof(object), typeof(string), typeof(Xwt.Drawing.Image)); SemanticModelAttribute regressionModelAttr = new SemanticModelAttribute("store__UnitTest", "store__Name", "store__Icon"); SCM.TypeDescriptor.AddAttributes(detailsStore, regressionModelAttr); CellRendererText trtest2 = new CellRendererText(); var pr = new CellRendererImage(); TreeViewColumn col = new TreeViewColumn(); col.PackStart(pr, false); col.AddAttribute(pr, "image", 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(Xwt.Drawing.Image)); SemanticModelAttribute failedModelAttr = new SemanticModelAttribute("store__UnitTest", "store__Name", "store__Icon"); SCM.TypeDescriptor.AddAttributes(failedStore, failedModelAttr); trtest2 = new CellRendererText(); pr = new CellRendererImage(); col = new TreeViewColumn(); col.PackStart(pr, false); col.AddAttribute(pr, "image", 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 UnitTestService.RootTests) { TreeView.AddChild(t); } base.TreeView.Tree.Name = "unitTestBrowserTree"; }
public KeyBindingsPanel() { this.Build(); keyStore = new TreeStore(typeof(Command), typeof(string), typeof(string), typeof(string), typeof(int), typeof(string), typeof(bool), typeof(bool)); keyTreeView.Model = filterModel = new TreeModelFilter(keyStore, null); filterModel.VisibleColumn = visibleCol; TreeViewColumn col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Command"); col.Spacing = 4; CellRendererImage crp = new CellRendererImage(); col.PackStart(crp, false); col.AddAttribute(crp, "stock-id", iconCol); col.AddAttribute(crp, "visible", iconVisibleCol); CellRendererText crt = new CellRendererText(); col.PackStart(crt, true); col.AddAttribute(crt, "text", labelCol); col.AddAttribute(crt, "weight", boldCol); keyTreeView.AppendColumn(col); bindingTVCol = new TreeViewColumn(); bindingTVCol.Title = GettextCatalog.GetString("Key Binding"); CellRendererKeyButtons bindingRenderer = new CellRendererKeyButtons(this); bindingRenderer.KeyBindingSelected += BindingRenderer_KeyBindingSelected; bindingTVCol.PackStart(bindingRenderer, false); bindingTVCol.AddAttribute(bindingRenderer, "text", bindingCol); bindingTVCol.AddAttribute(bindingRenderer, "command", commandCol); keyTreeView.AppendColumn(bindingTVCol); keyTreeView.AppendColumn(GettextCatalog.GetString("Description"), new CellRendererText(), "text", descCol); keyTreeView.Selection.Changed += OnKeysTreeViewSelectionChange; accelEntry.KeyPressEvent += OnAccelEntryKeyPress; accelEntry.KeyReleaseEvent += OnAccelEntryKeyRelease; accelEntry.Changed += delegate { UpdateWarningLabel(); }; updateButton.Clicked += OnUpdateButtonClick; addButton.Clicked += OnAddRemoveButtonClick; currentBindings = KeyBindingService.CurrentKeyBindingSet.Clone(); schemes = new List <KeyBindingScheme> (KeyBindingService.Schemes); foreach (KeyBindingScheme s in schemes) { schemeCombo.AppendText(s.Name); } if (schemes.Count > 0) { schemeCombo.RowSeparatorFunc = (TreeModel model, TreeIter iter) => { if (model.GetValue(iter, 0) as string == "---") { return(true); } return(false); }; schemeCombo.AppendText("---"); } schemeCombo.AppendText(GettextCatalog.GetString("Custom")); SelectCurrentScheme(); schemeCombo.Changed += OnKeyBindingSchemeChanged; searchEntry.Ready = true; searchEntry.Visible = true; searchEntry.Changed += delegate { processedFilterTerms = searchEntry.Entry.Text.ToLower().Split(new char [] { ' ' }, StringSplitOptions.RemoveEmptyEntries); filterChanged = true; if (!filterTimeoutRunning) { filterTimeoutRunning = true; GLib.Timeout.Add(50, delegate { if (!filterChanged) { if (filterTimeoutRunning) { Refilter(); } filterTimeoutRunning = false; return(false); } filterChanged = false; return(true); }); } ; }; keyTreeView.SearchColumn = -1; // disable the interactive search //HACK: workaround for MD Bug 608021: Stetic loses values assigned to "new" properties of custom widget conflicButton.Label = GettextCatalog.GetString("_View Conflicts"); conflicButton.UseUnderline = true; SetupAccessibility(); }
/// <summary> /// Constructor. Initialises the jobs TreeView and the controls associated with it. /// </summary> /// <param name="owner"></param> public CloudJobDisplayView(ViewBase owner) : base(owner) { store = new ListStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string)); Type[] types = new Type[columnTitles.Length]; tree = new Gtk.TreeView() { CanFocus = true, RubberBanding = true, Name = "custom_treeview" }; tree.Selection.Mode = SelectionMode.Multiple; for (int i = 0; i < columnTitles.Length; i++) { types[i] = typeof(string); TreeViewColumn col = new TreeViewColumn { Title = columnTitles[i], SortColumnId = i, Resizable = true, Sizing = TreeViewColumnSizing.GrowOnly }; CellRendererText cell = new CellRendererText(); col.PackStart(cell, false); col.AddAttribute(cell, "text", i); tree.AppendColumn(col); } store = new ListStore(types); // this filter holds the model (data) and is used to filter jobs based on whether // they were submitted by the user filterOwner = new TreeModelFilter(store, null) { VisibleFunc = FilterOwnerFunc }; filterOwner.Refilter(); // the filter then goes into this TreeModelSort, which is used to sort results when // the user clicks on a column header sort = new TreeModelSort(filterOwner) { DefaultSortFunc = (model, a, b) => SortData(model, a, b, Array.IndexOf(columnTitles, "Start Time")) }; for (int i = 0; i < columnTitles.Length; i++) { int count = i; sort.SetSortFunc(i, (model, a, b) => SortData(model, a, b, count)); } // change the colour of every other row - makes it easier to read string style = "style \"custom-treestyle\"{ GtkTreeView::odd-row-color = \"#ECF2FD\" GtkTreeView::even-row-color = \"#FFFFFF\" GtkTreeView::allow-rules = 1 } widget \"*custom_treeview*\" style \"custom-treestyle\""; //tree.CanFocus = true; tree.RulesHint = true; Rc.ParseString(style); // the tree holds the sorted, filtered data tree.Model = sort; // the tree goes into this ScrolledWindow, allowing users to scroll down // to view more jobs ScrolledWindow scroll = new ScrolledWindow(); scroll.Add(tree); // never allow horizontal scrolling, and only allow vertical scrolling when needed scroll.HscrollbarPolicy = PolicyType.Automatic; scroll.VscrollbarPolicy = PolicyType.Automatic; // the scrolled window goes into this frame to distinguish the job view // from the controls beside it Frame treeContainer = new Frame("Cloud Jobs"); treeContainer.Add(scroll); chkFilterOwner = new CheckButton("Display my jobs only"); // display the user's jobs only by default myJobsOnly = true; chkFilterOwner.Active = true; chkFilterOwner.Toggled += ApplyFilter; chkFilterOwner.Yalign = 0; downloadProgress = new ProgressBar(new Adjustment(0, 0, 1, 0.01, 0.01, 1)); lblDownloadProgress = new Label("Downloading: "); downloadProgressContainer = new HBox(); downloadProgressContainer.PackStart(lblDownloadProgress, false, false, 0); downloadProgressContainer.PackStart(downloadProgress, false, false, 0); loadingProgress = new ProgressBar(new Adjustment(0, 0, 100, 0.01, 0.01, 100)); loadingProgress.Adjustment.Lower = 0; loadingProgress.Adjustment.Upper = 100; lblDownloadStatus = new Label(""); lblDownloadStatus.Xalign = 0; btnChangeDownloadDir = new Button("Change Download Directory"); btnChangeDownloadDir.Clicked += BtnChangeDownloadDir_Click; tblButtonContainer = new Table(1, 1, false); tblButtonContainer.Attach(btnChangeDownloadDir, 0, 1, 0, 1, AttachOptions.Shrink, AttachOptions.Shrink, 0, 0); btnDownload = new Button("Download"); btnDownload.Clicked += BtnDownload_Click; HBox downloadButtonContainer = new HBox(); downloadButtonContainer.PackStart(btnDownload, false, true, 0); btnDelete = new Button("Delete Job(s)"); btnDelete.Clicked += BtnDelete_Click; HBox deleteButtonContainer = new HBox(); deleteButtonContainer.PackStart(btnDelete, false, true, 0); btnStop = new Button("Stop Job(s)"); btnStop.Clicked += BtnStop_Click; HBox stopButtonContainer = new HBox(); stopButtonContainer.PackStart(btnStop, false, true, 0); btnSetup = new Button("Credentials"); btnSetup.Clicked += BtnSetup_Click; HBox setupButtonContainer = new HBox(); setupButtonContainer.PackStart(btnSetup, false, true, 0); progress = new HBox(); progress.PackStart(new Label("Loading Jobs: "), false, false, 0); progress.PackStart(loadingProgress, false, false, 0); vboxDownloadStatuses = new VBox(); controlsContainer = new VBox(); controlsContainer.PackStart(chkFilterOwner, false, false, 0); controlsContainer.PackStart(downloadButtonContainer, false, false, 0); controlsContainer.PackStart(stopButtonContainer, false, false, 0); controlsContainer.PackStart(deleteButtonContainer, false, false, 0); controlsContainer.PackStart(setupButtonContainer, false, false, 0); controlsContainer.PackEnd(tblButtonContainer, false, false, 0); hboxPrimary = new HBox(); hboxPrimary.PackStart(treeContainer, true, true, 0); hboxPrimary.PackStart(controlsContainer, false, true, 0); vboxPrimary = new VBox(); vboxPrimary.PackStart(hboxPrimary); vboxPrimary.PackStart(lblDownloadStatus, false, false, 0); vboxPrimary.PackEnd(progress, false, false, 0); vboxPrimary.PackEnd(downloadProgressContainer, false, false, 0); _mainWidget = vboxPrimary; vboxPrimary.ShowAll(); downloadProgressContainer.HideAll(); HideLoadingProgressBar(); }
public StackTracePad() { this.ShadowType = ShadowType.None; var evalCmd = new ActionCommand("StackTracePad.EvaluateMethodParams", GettextCatalog.GetString("Evaluate Method Parameters")); var gotoCmd = new ActionCommand("StackTracePad.ActivateFrame", GettextCatalog.GetString("Activate Stack Frame")); menuSet = new CommandEntrySet(); menuSet.Add(evalCmd); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.SelectAll); menuSet.AddItem(EditCommands.Copy); store = new ListStore(typeof(bool), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style), typeof(object), typeof(int), typeof(bool)); tree = new PadTreeView(store); tree.RulesHint = true; tree.HeadersVisible = true; tree.Selection.Mode = SelectionMode.Multiple; tree.SearchEqualFunc = Search; tree.EnableSearch = true; tree.SearchColumn = 1; tree.ButtonPressEvent += HandleButtonPressEvent; tree.DoPopupMenu = ShowPopup; var col = new TreeViewColumn(); var crp = new CellRendererImage(); col.PackStart(crp, false); crp.Image = pointerImage; col.AddAttribute(crp, "visible", IconColumn); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Name"); refresh = new CellRendererImage(); refresh.Image = ImageService.GetIcon(Gtk.Stock.Refresh).WithSize(12, 12); col.PackStart(refresh, false); col.AddAttribute(refresh, "visible", CanRefreshColumn); col.PackStart(tree.TextRenderer, true); col.AddAttribute(tree.TextRenderer, "text", MethodColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); col.AddAttribute(tree.TextRenderer, "style", StyleColumn); col.Resizable = true; col.Alignment = 0.0f; tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("File"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", FileColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Language"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", LangColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Address"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", AddrColumn); col.AddAttribute(tree.TextRenderer, "foreground", ForegroundColumn); tree.AppendColumn(col); Add(tree); ShowAll(); UpdateDisplay(); DebuggingService.CallStackChanged += OnClassStackChanged; DebuggingService.CurrentFrameChanged += OnFrameChanged; DebuggingService.StoppedEvent += OnDebuggingServiceStopped; tree.RowActivated += OnRowActivated; }
/// <summary> /// Displays a child window with a list of soils, from which the user can make a selection /// This should probabaly be re-factored into a separate class /// Code largely copied from the intellisense viewer /// </summary> /// <param name="soilList">The list of soils to display</param> /// <returns>The index within the list of the user's selection, or -2 if cancelled</returns> private int SelectSoil(List <XmlNode> soilList) { ListStore soilsModel; curSel = -1; selWindow = new Window(WindowType.Toplevel) { HeightRequest = 300, WidthRequest = 750, Decorated = false, SkipPagerHint = true, SkipTaskbarHint = true, TransientFor = dialog1, Parent = dialog1, WindowPosition = WindowPosition.CenterOnParent }; Frame selFrame = new Frame(); selWindow.Add(selFrame); ScrolledWindow selScroller = new ScrolledWindow(); selFrame.Add(selScroller); soilsModel = new ListStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string)); soilsView = new Gtk.TreeView(soilsModel); selScroller.Add(soilsView); TreeViewColumn column = new TreeViewColumn() { Title = "Name", Resizable = true, }; CellRendererText textRender = new CellRendererText() { Editable = false, WidthChars = 25, Ellipsize = Pango.EllipsizeMode.End }; column.PackStart(textRender, true); column.SetAttributes(textRender, "text", 0); soilsView.AppendColumn(column); column = new TreeViewColumn("Apsoil number", textRender, "text", 1) { Resizable = true }; soilsView.AppendColumn(column); column = new TreeViewColumn("Soil type", textRender, "text", 2) { Resizable = true }; soilsView.AppendColumn(column); column = new TreeViewColumn("Distance", textRender, "text", 3) { Resizable = true }; soilsView.AppendColumn(column); soilsView.HasTooltip = true; soilsView.TooltipColumn = 4; soilsView.ButtonPressEvent += OnButtonPress; soilsView.KeyPressEvent += OnSoilListKeyDown; soilsModel.Clear(); foreach (XmlNode node in soilList) { string name = XmlUtilities.NameAttr(node); string number = XmlUtilities.Value(node, "ApsoilNumber"); string soilType = XmlUtilities.Value(node, "SoilType"); string distance = XmlUtilities.Value(node, "distanceFromQueryLocation"); string comments = XmlUtilities.Value(node, "Comments"); soilsModel.AppendValues(name, number, soilType, distance, comments); } selWindow.ShowAll(); while (curSel == -1) { GLib.MainContext.Iteration(); } return(curSel); }
public StackTracePad() { this.ShadowType = ShadowType.None; ActionCommand gotoCmd = new ActionCommand("StackTracePad.ActivateFrame", GettextCatalog.GetString("Activate Stack Frame")); menuSet = new CommandEntrySet(); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(EditCommands.SelectAll); menuSet.AddItem(EditCommands.Copy); store = new ListStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(Pango.Style)); tree = new MonoDevelop.Ide.Gui.Components.PadTreeView(store); tree.RulesHint = true; tree.HeadersVisible = true; tree.Selection.Mode = SelectionMode.Multiple; tree.DoPopupMenu = ShowPopup; TreeViewColumn col = new TreeViewColumn(); CellRenderer crp = new CellRendererIcon(); col.PackStart(crp, false); col.AddAttribute(crp, "stock_id", 0); tree.AppendColumn(col); TreeViewColumn FrameCol = new TreeViewColumn(); FrameCol.Title = GettextCatalog.GetString("Name"); FrameCol.PackStart(tree.TextRenderer, true); FrameCol.AddAttribute(tree.TextRenderer, "text", 1); FrameCol.AddAttribute(tree.TextRenderer, "foreground", 5); FrameCol.AddAttribute(tree.TextRenderer, "style", 6); FrameCol.Resizable = true; FrameCol.Alignment = 0.0f; tree.AppendColumn(FrameCol); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("File"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 2); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Language"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 3); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); col = new TreeViewColumn(); col.Title = GettextCatalog.GetString("Address"); col.PackStart(tree.TextRenderer, false); col.AddAttribute(tree.TextRenderer, "text", 4); col.AddAttribute(tree.TextRenderer, "foreground", 5); tree.AppendColumn(col); Add(tree); ShowAll(); current_backtrace = DebuggingService.CurrentCallStack; UpdateDisplay(); DebuggingService.CallStackChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnClassStackChanged)); DebuggingService.CurrentFrameChanged += (EventHandler)DispatchService.GuiDispatch(new EventHandler(OnFrameChanged)); tree.RowActivated += OnRowActivated; }
public void Initialize(IPadWindow window) { // Toolbar and menu definitions ActionCommand gotoCmd = new ActionCommand(LocalCommands.GoToFile, GettextCatalog.GetString("Go to File")); ActionCommand propertiesCmd = new ActionCommand(LocalCommands.Properties, GettextCatalog.GetString("Properties"), Gtk.Stock.Properties); menuSet = new CommandEntrySet(); menuSet.Add(gotoCmd); menuSet.AddSeparator(); menuSet.AddItem(DebugCommands.EnableDisableBreakpoint); menuSet.AddItem(DebugCommands.ClearAllBreakpoints); menuSet.AddItem(DebugCommands.DisableAllBreakpoints); menuSet.AddItem(EditCommands.DeleteKey); menuSet.AddSeparator(); menuSet.Add(propertiesCmd); CommandEntrySet toolbarSet = new CommandEntrySet(); toolbarSet.AddItem(DebugCommands.EnableDisableBreakpoint); toolbarSet.AddItem(DebugCommands.ClearAllBreakpoints); toolbarSet.AddItem(DebugCommands.DisableAllBreakpoints); toolbarSet.AddItem(EditCommands.Delete); toolbarSet.AddSeparator(); toolbarSet.Add(propertiesCmd); // The breakpoint list store = new TreeStore(typeof(string), typeof(bool), typeof(string), typeof(object), typeof(string), typeof(string), typeof(string), typeof(string)); tree = new PadTreeView(); tree.Model = store; tree.RulesHint = true; tree.HeadersVisible = true; tree.DoPopupMenu = ShowPopup; tree.KeyPressEvent += OnKeyPressEvent; tree.Selection.Mode = SelectionMode.Multiple; treeState = new TreeViewState(tree, (int)Columns.Breakpoint); TreeViewColumn col = new TreeViewColumn(); CellRenderer crp = new CellRendererImage(); col.PackStart(crp, false); col.AddAttribute(crp, "stock_id", (int)Columns.Icon); tree.AppendColumn(col); Gtk.CellRendererToggle toggleRender = new Gtk.CellRendererToggle(); toggleRender.Toggled += new ToggledHandler(ItemToggled); col = new TreeViewColumn(); col.PackStart(toggleRender, false); col.AddAttribute(toggleRender, "active", (int)Columns.Selected); tree.AppendColumn(col); TreeViewColumn FrameCol = new TreeViewColumn(); CellRenderer crt = tree.TextRenderer; FrameCol.Title = GettextCatalog.GetString("Name"); FrameCol.PackStart(crt, true); FrameCol.AddAttribute(crt, "text", (int)Columns.FileName); FrameCol.Resizable = true; FrameCol.Alignment = 0.0f; tree.AppendColumn(FrameCol); col = tree.AppendColumn(GettextCatalog.GetString("Condition"), crt, "text", (int)Columns.Condition); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Trace Expression"), crt, "text", (int)Columns.TraceExp); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Hit Count"), crt, "text", (int)Columns.HitCount); col.Resizable = true; col = tree.AppendColumn(GettextCatalog.GetString("Last Trace"), crt, "text", (int)Columns.LastTrace); col.Resizable = true; sw = new Gtk.ScrolledWindow(); sw.ShadowType = ShadowType.None; sw.Add(tree); control = sw; control.ShowAll(); breakpoints = DebuggingService.Breakpoints; UpdateDisplay(); breakpointUpdatedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointUpdated); breakpointRemovedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointRemoved); breakpointAddedHandler = DispatchService.GuiDispatch <EventHandler <BreakpointEventArgs> > (OnBreakpointAdded); breakpointChangedHandler = DispatchService.GuiDispatch <EventHandler> (OnBreakpointChanged); breakpoints.BreakpointAdded += breakpointAddedHandler; breakpoints.BreakpointRemoved += breakpointRemovedHandler; breakpoints.Changed += breakpointChangedHandler; breakpoints.BreakpointUpdated += breakpointUpdatedHandler; DebuggingService.PausedEvent += OnDebuggerStatusCheck; DebuggingService.ResumedEvent += OnDebuggerStatusCheck; DebuggingService.StoppedEvent += OnDebuggerStatusCheck; tree.RowActivated += OnRowActivated; DockItemToolbar toolbar = window.GetToolbar(PositionType.Top); toolbar.Add(toolbarSet, sw); toolbar.ShowAll(); }
/// <summary> /// Populate the grid from the DataSource. /// Note that we don't statically set the contents of the grid cells, but rather do this /// dynamically in OnSetCellData. However, we do set up appropriate attributes for /// cell columns, and a set of cell renderers. /// </summary> private void PopulateGrid() { // WaitCursor = true; // Set the cursor directly rather than via the WaitCursor property, as the property setter // runs a message loop. This is normally desirable, but in this case, we have lots // of events associated with the grid data, and it's best to let them be handled in the // main message loop. if (MasterView.MainWindow != null) { MasterView.MainWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch); } ClearGridColumns(); Fixedcolview.Visible = false; colLookup.Clear(); // Begin by creating a new ListStore with the appropriate number of // columns. Use the string column type for everything. int nCols = DataSource != null ? this.DataSource.Columns.Count : 0; Type[] colTypes = new Type[nCols]; for (int i = 0; i < nCols; i++) { colTypes[i] = typeof(string); } gridmodel = new ListStore(colTypes); image1.Visible = false; // Now set up the grid columns for (int i = 0; i < nCols; i++) { // Design plan: include renderers for text, toggles and combos, but hide all but one of them CellRendererText textRender = new Gtk.CellRendererText(); CellRendererPixbuf pixbufRender = new CellRendererPixbuf(); pixbufRender.Pixbuf = new Gdk.Pixbuf(null, "ApsimNG.Resources.MenuImages.Save.svg"); pixbufRender.Xalign = 0.5f; if (i == 0 || i == nCols - 1) { colLookup.Add(textRender, i); } else { colLookup.Add(pixbufRender, i); } textRender.FixedHeightFromFont = 1; // 1 line high pixbufRender.Height = 19; //TODO change based on zoom rate of UI //previously 23 before smaller UI font textRender.Editable = !isReadOnly; textRender.Xalign = ((i == 0) || (i == 1) && isPropertyMode) ? 0.0f : 1.0f; // For right alignment of text cell contents; left align the first column TreeViewColumn column = new TreeViewColumn(); column.Title = this.DataSource.Columns[i].Caption; if (i == 0 || i == nCols - 1) { column.PackStart(textRender, true); // 0 } else { column.PackStart(pixbufRender, false); // 3 } if (i == 0 || i == nCols - 1) { column.SetCellDataFunc(textRender, OnSetCellData); } else { column.SetCellDataFunc(pixbufRender, RenderActivityStatus); } if (i == 1 && isPropertyMode) { column.Alignment = 0.0f; } else { column.Alignment = 0.5f; // For centered alignment of the column header } Grid.AppendColumn(column); // Gtk Treeview doesn't support "frozen" columns, so we fake it by creating a second, identical, TreeView to display // the columns we want frozen // For now, these frozen columns will be treated as read-only text TreeViewColumn fixedColumn = new TreeViewColumn(this.DataSource.Columns[i].ColumnName, textRender, "text", i); //fixedColumn.Sizing = TreeViewColumnSizing.GrowOnly; fixedColumn.Resizable = false; if (i == 0) { fixedColumn.SetCellDataFunc(textRender, OnSetCellData); } else { fixedColumn.SetCellDataFunc(pixbufRender, RenderActivityStatus); } fixedColumn.Alignment = 0.0f; // For centered alignment of the column header fixedColumn.Visible = true; Fixedcolview.AppendColumn(fixedColumn); } if (!isPropertyMode) { // Add an empty column at the end; auto-sizing will give this any "leftover" space TreeViewColumn fillColumn = new TreeViewColumn(); Grid.AppendColumn(fillColumn); fillColumn.Sizing = TreeViewColumnSizing.Autosize; } int nRows = DataSource != null ? this.DataSource.Rows.Count : 0; Grid.Model = null; Fixedcolview.Model = null; for (int row = 0; row < nRows; row++) { // We could store data into the grid model, but we don't. // Instead, we retrieve the data from our datastore when the OnSetCellData function is called gridmodel.Append(); } Grid.Model = gridmodel; SetColumnHeaders(Grid); SetColumnHeaders(Fixedcolview); Grid.EnableSearch = false; Fixedcolview.EnableSearch = false; Grid.Show(); Fixedcolview.WidthRequest = 150; if (MasterView.MainWindow != null) { MasterView.MainWindow.Cursor = null; } }
public TestReportDialog(int passedNumber, int failedNumber, List <string> resultsAL) : base("UnitTest", "UnitTest", IntPtr.Zero, 0, null, "UnitTest", Stock.Ok, ResponseType.Ok) { string testReport; SetSizeRequest(700, 400); var passedLabel = new Label("Passed : " + passedNumber); var failedLabel = new Label("Failed : " + failedNumber); var table = new GimpTable(2, 10, false) { BorderWidth = 12, ColumnSpacing = 6, RowSpacing = 6 }; var frame = new Frame("Tests results:"); _filterEntry = new Entry(); _filterEntry.Changed += delegate { filter.Refilter(); }; var filterLabel = new Label("Assembly Search:"); var filterBox = new HBox(); filterBox.PackStart(filterLabel, false, false, 20); filterBox.PackEnd(_filterEntry, true, true, 20); var tree = new TreeView(); var assemblyColumn = new TreeViewColumn() { Title = "Assembly" }; var assemblyNameCell = new CellRendererText(); assemblyColumn.PackStart(assemblyNameCell, true); var resultColumn = new TreeViewColumn() { Title = "Result" }; var resultReportCell = new CellRendererText() { Editable = false }; resultColumn.PackStart(resultReportCell, true); tree.AppendColumn(assemblyColumn); tree.AppendColumn(resultColumn); var resultListStore = new ListStore(typeof(string), typeof(string)); foreach (string tmp in resultsAL) { int pos = tmp.IndexOf(":"); string assembly = tmp.Substring(0, pos); // +2 because of the ': ' testReport = tmp.Substring(pos + 2, tmp.Length - (pos + 2)); resultListStore.AppendValues(assembly, testReport); } assemblyColumn.SetCellDataFunc(assemblyNameCell, new TreeCellDataFunc(RenderAssembly)); resultColumn.SetCellDataFunc(resultReportCell, new TreeCellDataFunc(RenderResult)); filter = new TreeModelFilter(resultListStore, null); filter.VisibleFunc = new TreeModelFilterVisibleFunc(FilterTree); tree.Model = filter; var sw = new ScrolledWindow() { ShadowType = ShadowType.EtchedIn }; sw.SetPolicy(PolicyType.Automatic, PolicyType.Automatic); sw.Add(tree); var swBox = new HBox(); swBox.PackStart(sw, true, true, 20); table.AttachAligned(0, 0, "", 0.0, 0.5, passedLabel, 1, true); table.AttachAligned(0, 1, "", 0.0, 0.5, failedLabel, 1, true); frame.Add(table); var dummyFrameBox = new HBox(); dummyFrameBox.PackStart(frame, true, true, 20); VBox.PackStart(dummyFrameBox, false, false, 0); VBox.PackStart(swBox, true, true, 0); VBox.PackStart(filterBox, false, false, 0); }
private void create_tree() { tree = new TreeView (); tree.Model = store; tree.HeadersVisible = false; //tree.HeadersClickable = true; CellRendererText renderer = new CellRendererText (); renderer.Yalign = 0; TreeViewColumn col = new TreeViewColumn (); //col.Title = Catalog.GetString ("Tournament"); col.PackStart (renderer, false); col.SetAttributes (renderer, "markup", 1); CellRendererText resultRenderer = new CellRendererText (); resultRenderer.Xpad = 5; resultRenderer.Yalign = 0; col.PackStart (resultRenderer, false); col.SetAttributes (resultRenderer, "markup", 2); tree.AppendColumn (col); tree.RowActivated += OnRowActivated; }
public StatusView(string filepath, Repository vc) : base(Path.GetFileName(filepath) + " Status") { this.vc = vc; this.filepath = filepath; changeSet = vc.CreateChangeSet(filepath); main = new VBox(false, 6); widget = main; buttonCommit = new Gtk.Button() { Image = new Gtk.Image("vc-commit", Gtk.IconSize.Menu), Label = GettextCatalog.GetString("Commit...") }; buttonCommit.Image.Show(); buttonRevert = new Gtk.Button() { Image = new Gtk.Image("vc-revert-command", Gtk.IconSize.Menu), Label = GettextCatalog.GetString("Revert") }; buttonRevert.Image.Show(); showRemoteStatus = new Gtk.Button() { Image = new Gtk.Image("vc-remote-status", Gtk.IconSize.Menu), Label = GettextCatalog.GetString("Show Remote Status") }; showRemoteStatus.Image.Show(); status = new Label(""); main.PackStart(status, false, false, 0); scroller = new ScrolledWindow(); scroller.ShadowType = Gtk.ShadowType.None; filelist = new FileTreeView(); filelist.Selection.Mode = Gtk.SelectionMode.Multiple; scroller.Add(filelist); scroller.HscrollbarPolicy = PolicyType.Automatic; scroller.VscrollbarPolicy = PolicyType.Automatic; filelist.RowActivated += OnRowActivated; filelist.DiffLineActivated += OnDiffLineActivated; CellRendererToggle cellToggle = new CellRendererToggle(); cellToggle.Toggled += new ToggledHandler(OnCommitToggledHandler); var crc = new CellRendererIcon(); crc.StockId = "vc-comment"; colCommit = new TreeViewColumn(); colCommit.Spacing = 2; colCommit.Widget = new Gtk.Image("vc-commit", Gtk.IconSize.Menu); colCommit.Widget.Show(); colCommit.PackStart(cellToggle, false); colCommit.PackStart(crc, false); colCommit.AddAttribute(cellToggle, "active", ColCommit); colCommit.AddAttribute(cellToggle, "visible", ColShowToggle); colCommit.AddAttribute(crc, "visible", ColShowComment); CellRendererText crt = new CellRendererText(); var crp = new CellRendererPixbuf(); TreeViewColumn colStatus = new TreeViewColumn(); colStatus.Title = GettextCatalog.GetString("Status"); colStatus.PackStart(crp, false); colStatus.PackStart(crt, true); colStatus.AddAttribute(crp, "pixbuf", ColIcon); colStatus.AddAttribute(crp, "visible", ColShowStatus); colStatus.AddAttribute(crt, "text", ColStatus); colStatus.AddAttribute(crt, "foreground", ColStatusColor); TreeViewColumn colFile = new TreeViewColumn(); colFile.Title = GettextCatalog.GetString("File"); colFile.Spacing = 2; crp = new CellRendererPixbuf(); diffRenderer = new CellRendererDiff(); colFile.PackStart(crp, false); colFile.PackStart(diffRenderer, true); colFile.AddAttribute(crp, "pixbuf", ColIconFile); colFile.AddAttribute(crp, "visible", ColShowStatus); colFile.SetCellDataFunc(diffRenderer, new TreeCellDataFunc(SetDiffCellData)); crt = new CellRendererText(); crp = new CellRendererPixbuf(); colRemote = new TreeViewColumn(); colRemote.Title = GettextCatalog.GetString("Remote Status"); colRemote.PackStart(crp, false); colRemote.PackStart(crt, true); colRemote.AddAttribute(crp, "pixbuf", ColRemoteIcon); colRemote.AddAttribute(crt, "text", ColRemoteStatus); colRemote.AddAttribute(crt, "foreground", ColStatusColor); filelist.AppendColumn(colStatus); filelist.AppendColumn(colRemote); filelist.AppendColumn(colCommit); filelist.AppendColumn(colFile); colRemote.Visible = false; filestore = new TreeStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string[]), typeof(string), typeof(bool), typeof(bool), typeof(string), typeof(bool), typeof(bool), typeof(Gdk.Pixbuf), typeof(bool), typeof(Gdk.Pixbuf), typeof(string), typeof(bool), typeof(bool)); filelist.Model = filestore; filelist.TestExpandRow += new Gtk.TestExpandRowHandler(OnTestExpandRow); commitBox = new VBox(); HeaderBox commitMessageLabelBox = new HeaderBox(); commitMessageLabelBox.SetPadding(6, 6, 6, 6); commitMessageLabelBox.SetMargins(1, 1, 0, 0); HBox labBox = new HBox(); labelCommit = new Gtk.Label(GettextCatalog.GetString("Commit message:")); labelCommit.Xalign = 0; labBox.PackStart(new Gtk.Image("vc-comment", Gtk.IconSize.Menu), false, false, 0); labBox.PackStart(labelCommit, true, true, 3); commitMessageLabelBox.Add(labBox); commitMessageLabelBox.ShowAll(); //commitBox.PackStart (commitMessageLabelBox, false, false, 0); Gtk.ScrolledWindow frame = new Gtk.ScrolledWindow(); frame.HeightRequest = 75; frame.ShadowType = ShadowType.None; commitText = new TextView(); commitText.WrapMode = WrapMode.WordChar; commitText.Buffer.Changed += OnCommitTextChanged; frame.Add(commitText); commitBox.PackStart(frame, true, true, 0); var paned = new VPanedThin(); paned.HandleWidget = commitMessageLabelBox; paned.Pack1(scroller, true, true); paned.Pack2(commitBox, false, false); main.PackStart(paned, true, true, 0); main.ShowAll(); status.Visible = false; filelist.Selection.Changed += new EventHandler(OnCursorChanged); VersionControlService.FileStatusChanged += OnFileStatusChanged; filelist.HeadersClickable = true; filestore.SetSortFunc(0, CompareNodes); colStatus.SortColumnId = 0; filestore.SetSortFunc(1, CompareNodes); colRemote.SortColumnId = 1; filestore.SetSortFunc(2, CompareNodes); colCommit.SortColumnId = 2; filestore.SetSortFunc(3, CompareNodes); colFile.SortColumnId = 3; filestore.SetSortColumnId(3, Gtk.SortType.Ascending); filelist.DoPopupMenu = DoPopupMenu; StartUpdate(); }
public DueDateColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Due Date"), Sizing = TreeViewColumnSizing.Fixed, Alignment = 0f, FixedWidth = 90, Resizable = false, Clickable = true }; var dueDateStore = new ListStore (typeof (string)); var today = DateTime.Now; dueDateStore.AppendValues ( today.ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Today")); dueDateStore.AppendValues ( today.AddDays (1).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Tomorrow")); dueDateStore.AppendValues ( today.AddDays (2).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (3).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (4).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (5).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (6).ToString (Catalog.GetString ("M/d - ddd"))); dueDateStore.AppendValues ( today.AddDays (7).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("In 1 Week")); dueDateStore.AppendValues (Catalog.GetString ("No Date")); dueDateStore.AppendValues (Catalog.GetString ("Choose Date...")); var renderer = new CellRendererCombo { Editable = true, HasEntry = false, Model = dueDateStore, TextColumn = 0, Xalign = 0.0f }; renderer.EditingStarted += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (!model.GetIter (out iter, path)) return; var task = model.GetValue (iter, 0) as ITask; if (task == null) return; taskBeingEdited = new TaskBeingEdited (task, iter, path); if (CellEditingStarted != null) CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path)); }; renderer.EditingCanceled += delegate { EndCellEditing (); }; renderer.Edited += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); var newText = args.NewText; if (newText != null && model.GetIter (out iter, path)) { // 2/11 - Today // 2/12 - Tomorrow // 2/13 - Wed // 2/14 - Thu // 2/15 - Fri // 2/16 - Sat // 2/17 - Sun // -------------- // 2/18 - In 1 Week // -------------- // No Date // --------------- // Choose Date... var newDate = DateTime.MinValue; var tday = DateTime.Now; var task = model.GetValue (iter, 0) as ITask; if (newText == tday.ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Today")) newDate = tday; else if (newText == tday.AddDays (1).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("Tomorrow")) newDate = tday.AddDays (1); else if (newText == Catalog.GetString ("No Date")) newDate = DateTime.MinValue; else if (newText == tday.AddDays (7).ToString (Catalog.GetString ("M/d - ")) + Catalog.GetString ("In 1 Week")) newDate = tday.AddDays (7); else if (newText == Catalog.GetString ("Choose Date...")) { var tc = new TaskCalendar (task, view.TreeView.Parent); tc.ShowCalendar (); return; } else { for (int i = 2; i <= 6; i++) { DateTime testDate = tday.AddDays (i); if (testDate.ToString (Catalog.GetString ("M/d - ddd")) == newText) { newDate = testDate; break; } } } Logger.Debug ("task.State {0}", task.State); if (task.State != TaskState.Completed) { // Modify the due date task.DueDate = newDate; } } EndCellEditing (); }; TreeViewColumn.PackStart (renderer, true); TreeViewColumn.SetCellDataFunc (renderer, DueDateCellDataFunc); }
public PriorityColumn() { TreeViewColumn = new TreeViewColumn { Title = Catalog.GetString ("Priority"), Sizing = TreeViewColumnSizing.Fixed, Alignment = 0.5f, FixedWidth = 30, Resizable = false, Clickable = true }; var priorityStore = new ListStore (typeof (string)); priorityStore.AppendValues (Catalog.GetString ("1")); // High priorityStore.AppendValues (Catalog.GetString ("2")); // Medium priorityStore.AppendValues (Catalog.GetString ("3")); // Low priorityStore.AppendValues (Catalog.GetString ("-")); // None var renderer = new CellRendererCombo { Editable = true, HasEntry = false, Model = priorityStore, TextColumn = 0, Xalign = 0.5f }; renderer.EditingStarted += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (!model.GetIter (out iter, path)) return; var task = model.GetValue (iter, 0) as ITask; if (task == null) return; taskBeingEdited = new TaskBeingEdited (task, iter, path); if (CellEditingStarted != null) CellEditingStarted (this, new TaskRowEditingEventArgs (task, iter, path)); }; renderer.EditingCanceled += delegate { EndCellEditing (); }; renderer.Edited += (o, args) => { TreeIter iter; var path = new TreePath (args.Path); if (model.GetIter (out iter, path)) { TaskPriority newPriority; var newText = args.NewText; if (newText == Catalog.GetString ("3")) newPriority = TaskPriority.Low; else if (newText == Catalog.GetString ("2")) newPriority = TaskPriority.Medium; else if (newText == Catalog.GetString ("1")) newPriority = TaskPriority.High; else newPriority = TaskPriority.None; // Update the priority if it's different var task = model.GetValue (iter, 0) as ITask; if (task.Priority != newPriority) task.Priority = newPriority; } EndCellEditing (); }; TreeViewColumn.PackStart (renderer, true); TreeViewColumn.SetCellDataFunc (renderer, TaskPriorityCellDataFunc); }