void IOptionsPanel.Initialize (OptionsDialog dialog, object dataObject) { this.ExpandHorizontal = true; this.ExpandVertical = true; this.HeightRequest = 400; list = new ListView (); store = new ListStore (language, completeOnSpace, completeOnChars); var languageColumn = list.Columns.Add (GettextCatalog.GetString ("Language"), language); languageColumn.CanResize = true; var checkBoxCellView = new CheckBoxCellView (completeOnSpace); checkBoxCellView.Editable = true; var completeOnSpaceColumn = list.Columns.Add (GettextCatalog.GetString ("Complete on space"), checkBoxCellView); completeOnSpaceColumn.CanResize = true; var textCellView = new TextCellView (completeOnChars); textCellView.Editable = true; var doNotCompleteOnColumn = list.Columns.Add (GettextCatalog.GetString ("Do complete on"), textCellView); doNotCompleteOnColumn.CanResize = true; list.DataSource = store; PackStart (list, true, true); var hbox = new HBox (); var button = new Button ("Reset to default"); button.Clicked += delegate { FillStore (CompletionCharacters.GetDefaultCompletionCharacters ()); }; hbox.PackEnd (button, false, false); PackEnd (hbox, false, true); FillStore (CompletionCharacters.GetCompletionCharacters ()); }
public override void Initialize (OptionsDialog dialog, object dataObject) { base.Initialize (dialog, dataObject); config = (SolutionRunConfigInfo)dataObject; store = new ListStore (selectedField, projectNameField, projectField, runConfigField, projectRunConfigsField); listView = new ListView (store); var col1 = new ListViewColumn (GettextCatalog.GetString ("Solution Item")); var cb = new CheckBoxCellView (selectedField); cb.Toggled += SelectionChanged; cb.Editable = true; col1.Views.Add (cb); col1.Views.Add (new TextCellView (projectNameField)); listView.Columns.Add (col1); var configSelView = new ComboBoxCellView (runConfigField); configSelView.Editable = true; configSelView.ItemsField = projectRunConfigsField; var col2 = new ListViewColumn (GettextCatalog.GetString ("Run Configuration"), configSelView); listView.Columns.Add (col2); foreach (var it in config.Solution.GetAllSolutionItems ().Where (si => si.SupportsExecute ()).OrderBy (si => si.Name)) { var row = store.AddRow (); var si = config.EditedConfig.Items.FirstOrDefault (i => i.SolutionItem == it); var sc = si?.RunConfiguration?.Name ?? it.GetDefaultRunConfiguration ()?.Name; var configs = new ItemCollection (); foreach (var pc in it.GetRunConfigurations ()) configs.Add (pc.Name); store.SetValues (row, selectedField, si != null, projectNameField, it.Name, projectField, it, runConfigField, sc, projectRunConfigsField, configs); } }
void BuildGui() { this.Title = "Select Projects"; this.Resizable = false; var vBox = new VBox(); var hbox = new HBox(); collectionsList.DataSource = collectionStore; collectionsList.Views.Add(new TextCellView(collectionName)); collectionsList.MinWidth = 200; collectionsList.MinHeight = 300; hbox.PackStart(collectionsList); projectsList.DataSource = projectsStore; projectsList.MinWidth = 200; projectsList.MinHeight = 300; var checkView = new CheckBoxCellView(isProjectSelected) { Editable = true }; checkView.Toggled += (sender, e) => { var row = projectsList.CurrentEventRow; var node = projectsStore.GetNavigatorAt(row); var isSelected = !node.GetValue(isProjectSelected); //Xwt gives previous value var project = node.GetValue(projectItem); if (isSelected && !SelectedProjects.Any(p => string.Equals(p.Uri, project.Uri))) { SelectedProjects.Add(project); } if (!isSelected && SelectedProjects.Any(p => string.Equals(p.Uri, project.Uri))) { SelectedProjects.RemoveAll(p => string.Equals(p.Uri, project.Uri)); } }; projectsList.Columns.Add(new ListViewColumn("", checkView)); projectsList.Columns.Add(new ListViewColumn("Name", new TextCellView(projectName))); hbox.PackEnd(projectsList); vBox.PackStart(hbox); Button ok = new Button(GettextCatalog.GetString("OK")); ok.Clicked += (sender, e) => Respond(Command.Ok); Button cancel = new Button(GettextCatalog.GetString("Cancel")); cancel.Clicked += (sender, e) => Respond(Command.Cancel); ok.MinWidth = cancel.MinWidth = Constants.ButtonWidth; var buttonBox = new HBox(); buttonBox.PackEnd(ok); buttonBox.PackEnd(cancel); vBox.PackStart(buttonBox); this.Content = vBox; }
void BuildGui() { this.Title = GettextCatalog.GetString("Check In files"); this.Resizable = false; notebook.TabOrientation = NotebookTabOrientation.Left; var checkInTab = new VBox(); checkInTab.PackStart(new Label(GettextCatalog.GetString("Pending Changes") + ":")); filesView.WidthRequest = 500; filesView.HeightRequest = 150; var checkView = new CheckBoxCellView(isCheckedField); checkView.Editable = true; filesView.Columns.Add("Name", checkView, new TextCellView(nameField)); filesView.Columns.Add("Changes", changesField); filesView.Columns.Add("Folder", folderField); filesView.DataSource = fileStore; checkInTab.PackStart(filesView, true, true); checkInTab.PackStart(new Label(GettextCatalog.GetString("Comment") + ":")); commentEntry.MultiLine = true; checkInTab.PackStart(commentEntry); notebook.Add(checkInTab, GettextCatalog.GetString("Pending Changes")); var workItemsTab = new HBox(); var workItemsListBox = new VBox(); workItemsListBox.PackStart(new Label(GettextCatalog.GetString("Work Items") + ":")); workItemsView.Columns.Add("Id", idField); workItemsView.Columns.Add("Title", titleField); workItemsView.DataSource = workItemsStore; workItemsListBox.PackStart(workItemsView, true); workItemsTab.PackStart(workItemsListBox, true, true); var workItemButtonBox = new VBox(); var addWorkItemButton = new Button(GettextCatalog.GetString("Add Work Item")); addWorkItemButton.Clicked += OnAddWorkItem; workItemButtonBox.PackStart(addWorkItemButton); var removeWorkItemButton = new Button(GettextCatalog.GetString("Remove Work Item")); removeWorkItemButton.Clicked += OnRemoveWorkItem; workItemButtonBox.PackStart(removeWorkItemButton); workItemsTab.PackStart(workItemButtonBox); notebook.Add(workItemsTab, GettextCatalog.GetString("Work Items")); this.Buttons.Add(Command.Ok, Command.Cancel); this.Content = notebook; }
void BuildGui() { this.Title = "Get"; this.Resizable = false; VBox content = new VBox(); content.PackStart(new Label(GettextCatalog.GetString("Files") + ":")); listStore = new ListStore(itemField, isSelectedField, nameField, pathField); var checkSell = new CheckBoxCellView(isSelectedField); checkSell.Editable = true; listView.Columns.Add("Name", checkSell, new TextCellView(nameField)); listView.Columns.Add("Folder", new TextCellView(pathField)); listView.MinHeight = 200; listView.DataSource = listStore; content.PackStart(listView); HBox typeBox = new HBox(); typeBox.PackStart(new Label(GettextCatalog.GetString("Version") + ":")); versionBox.Items.Add(0, "Changeset"); versionBox.Items.Add(1, "Latest Version"); versionBox.SelectedItem = 1; versionBox.SelectionChanged += (sender, e) => changeSetNumber.Visible = (int)versionBox.SelectedItem == 0; typeBox.PackStart(versionBox); changeSetNumber.Visible = false; changeSetNumber.WidthRequest = 100; changeSetNumber.MinimumValue = 1; changeSetNumber.MaximumValue = int.MaxValue; changeSetNumber.Value = 0; changeSetNumber.IncrementValue = 1; changeSetNumber.Digits = 0; typeBox.PackStart(changeSetNumber); content.PackStart(typeBox); content.PackStart(forceGet); //content.PackStart(overrideGet); HBox buttonBox = new HBox(); Button okButton = new Button(GettextCatalog.GetString("Get")); okButton.Clicked += OnGet; Button cancelButton = new Button(GettextCatalog.GetString("Cancel")); cancelButton.Clicked += (sender, e) => Respond(Command.Cancel); okButton.WidthRequest = cancelButton.WidthRequest = Constants.ButtonWidth; buttonBox.PackEnd(cancelButton); buttonBox.PackEnd(okButton); content.PackStart(buttonBox); this.Content = content; }
public ListView2() { ListView list = new ListView(); var editableActiveField = new DataField<bool>(); var nonEditableActiveField = new DataField<bool>(); var textField = new DataField<string>(); var textField2 = new DataField<string>(); var editableField = new DataField<bool>(); var somewhatEditableData = new DataField<bool>(); ListStore store = new ListStore(editableActiveField, nonEditableActiveField, textField, textField2, editableField, somewhatEditableData); list.DataSource = store; list.GridLinesVisible = GridLines.Horizontal; var checkCellView = new CheckBoxCellView { Editable = true, ActiveField = editableActiveField }; checkCellView.Toggled += (sender, e) => { if (list.CurrentEventRow == 0) { MessageDialog.ShowError("CurrentEventRow is null. This is not supposed to happen"); } else { store.SetValue(list.CurrentEventRow, textField, "Toggled"); } }; list.Columns.Add(new ListViewColumn("Editable", checkCellView)); list.Columns.Add(new ListViewColumn("Not Editable", new CheckBoxCellView { Editable = false, ActiveField = nonEditableActiveField })); list.Columns.Add(new ListViewColumn("Editable", new TextCellView { Editable = true, TextField = textField })); list.Columns.Add(new ListViewColumn("Somewhat Editable", new CheckBoxCellView { EditableField = editableField, ActiveField = somewhatEditableData })); list.Columns.Add(new ListViewColumn("Somewhat Editable", new TextCellView { EditableField = editableField, TextField = textField2 })); Random rand = new Random(); for (int n = 0; n < 100; n++) { var r = store.AddRow(); store.SetValue(r, editableActiveField, rand.Next(0, 2) == 0); store.SetValue(r, nonEditableActiveField, rand.Next(0, 2) == 0); store.SetValue(r, somewhatEditableData, rand.Next(0, 2) == 0); store.SetValue(r, textField, n.ToString()); var edit = (n % 2) == 0; store.SetValue(r, editableField, edit); store.SetValue(r, textField2, edit ? "editable" : "not editable"); } PackStart(list, true); }
void BuildGui() { this.Title = GettextCatalog.GetString("Undo changes"); this.Resizable = false; var content = new VBox(); content.PackStart(new Label(GettextCatalog.GetString("Files") + ":")); fileView.WidthRequest = 500; fileView.HeightRequest = 150; var checkView = new CheckBoxCellView(isCheckedField); checkView.Editable = true; fileView.Columns.Add("Name", checkView, new TextCellView(nameField)); fileView.Columns.Add("Changes", changesField); fileView.Columns.Add("Folder", folderField); fileView.DataSource = fileStore; content.PackStart(fileView, true, true); this.Buttons.Add(Command.Ok, Command.Cancel); this.Content = content; }
public TreeViews() { TreeView view = new TreeView(); TreeStore store = new TreeStore(triState, check, text, desc); view.GridLinesVisible = GridLines.Both; var triStateCellView = new CheckBoxCellView(triState) { Editable = true, AllowMixed = true }; triStateCellView.Toggled += (object sender, WidgetEventArgs e) => { if (view.CurrentEventRow == null) { MessageDialog.ShowError("CurrentEventRow is null. This is not supposed to happen"); } else { store.GetNavigatorAt(view.CurrentEventRow).SetValue(text, "TriState Toggled"); } }; var checkCellView = new CheckBoxCellView(check) { Editable = true }; checkCellView.Toggled += (object sender, WidgetEventArgs e) => { if (view.CurrentEventRow == null) { MessageDialog.ShowError("CurrentEventRow is null. This is not supposed to happen"); } else { store.GetNavigatorAt(view.CurrentEventRow).SetValue(text, "Toggled"); } }; view.Columns.Add("TriCheck", triStateCellView); view.Columns.Add("Check", checkCellView); view.Columns.Add("Item", text); view.Columns.Add("Desc", desc); store.AddNode().SetValue(text, "One").SetValue(desc, "First").SetValue(triState, CheckBoxState.Mixed); store.AddNode().SetValue(text, "Two").SetValue(desc, "Second").AddChild() .SetValue(text, "Sub two").SetValue(desc, "Sub second"); store.AddNode().SetValue(text, "Three").SetValue(desc, "Third").AddChild() .SetValue(text, "Sub three").SetValue(desc, "Sub third"); PackStart(view, true); Menu contextMenu = new Menu(); contextMenu.Items.Add(new MenuItem("Test menu")); view.ButtonPressed += delegate(object sender, ButtonEventArgs e) { TreePosition tmpTreePos; RowDropPosition tmpRowDrop; if ((e.Button == PointerButton.Right) && view.GetDropTargetRow(e.X, e.Y, out tmpRowDrop, out tmpTreePos)) { // Set actual row to selected view.SelectRow(tmpTreePos); contextMenu.Popup(view, e.X, e.Y); } }; view.DataSource = store; Label la = new Label(); PackStart(la); view.SetDragDropTarget(DragDropAction.All, TransferDataType.Text); view.SetDragSource(DragDropAction.All, TransferDataType.Text); view.DragDrop += delegate(object sender, DragEventArgs e) { TreePosition node; RowDropPosition pos; view.GetDropTargetRow(e.Position.X, e.Position.Y, out pos, out node); var nav = store.GetNavigatorAt(node); la.Text += "Dropped \"" + e.Data.Text + "\" into \"" + nav.GetValue(text) + "\" " + pos + "\n"; e.Success = true; }; view.DragOver += delegate(object sender, DragOverEventArgs e) { TreePosition node; RowDropPosition pos; view.GetDropTargetRow(e.Position.X, e.Position.Y, out pos, out node); if (pos == RowDropPosition.Into) e.AllowedAction = DragDropAction.None; else e.AllowedAction = e.Action; }; view.DragStarted += delegate(object sender, DragStartedEventArgs e) { var val = store.GetNavigatorAt(view.SelectedRow).GetValue(text); e.DragOperation.Data.AddValue(val); e.DragOperation.Finished += delegate(object s, DragFinishedEventArgs args) { Console.WriteLine("D:" + args.DeleteSource); }; }; view.RowExpanding += delegate(object sender, TreeViewRowEventArgs e) { var val = store.GetNavigatorAt(e.Position).GetValue(text); Console.WriteLine("Expanding: " + val); }; view.RowExpanded += delegate(object sender, TreeViewRowEventArgs e) { var val = store.GetNavigatorAt(e.Position).GetValue(text); Console.WriteLine("Expanded: " + val); }; view.RowCollapsing += delegate(object sender, TreeViewRowEventArgs e) { var val = store.GetNavigatorAt(e.Position).GetValue(text); Console.WriteLine("Collapsing: " + val); }; view.RowCollapsed += delegate(object sender, TreeViewRowEventArgs e) { var val = store.GetNavigatorAt(e.Position).GetValue(text); Console.WriteLine("Collapsed: " + val); }; int addCounter = 0; view.KeyPressed += (sender, e) => { if (e.Key == Key.Insert) { TreeNavigator n; if (view.SelectedRow != null) n = store.InsertNodeAfter(view.SelectedRow).SetValue(text, "Inserted").SetValue(desc, "Desc"); else n = store.AddNode().SetValue(text, "Inserted").SetValue(desc, "Desc"); view.ExpandToRow(n.CurrentPosition); view.ScrollToRow(n.CurrentPosition); view.UnselectAll(); view.SelectRow(n.CurrentPosition); view.FocusedRow = n.CurrentPosition; } }; Button addButton = new Button("Add"); addButton.Clicked += delegate(object sender, EventArgs e) { addCounter++; TreeNavigator n; if (view.SelectedRow != null) n = store.AddNode(view.SelectedRow).SetValue(text, "Added " + addCounter).SetValue(desc, "Desc"); else n = store.AddNode().SetValue(text, "Added " + addCounter).SetValue(desc, "Desc"); view.ExpandToRow(n.CurrentPosition); view.ScrollToRow(n.CurrentPosition); view.SelectRow(n.CurrentPosition); }; PackStart(addButton); Button removeButton = new Button("Remove Selection"); removeButton.Clicked += delegate(object sender, EventArgs e) { foreach (TreePosition row in view.SelectedRows) { store.GetNavigatorAt(row).Remove(); } }; PackStart(removeButton); var label = new Label(); PackStart(label); view.RowExpanded += (sender, e) => label.Text = "Row expanded: " + store.GetNavigatorAt(e.Position).GetValue(text); }
public void LoadQuery(StoredQuery query) { listView.Columns.Clear(); using (var progress = new MonoDevelop.Ide.ProgressMonitoring.MessageDialogProgressMonitor(true, false, false)) { var fields = CachedMetaData.Instance.Fields; WorkItemStore store = new WorkItemStore(query); var data = store.LoadByPage(progress); if (data.Count > 0) { var firstItem = data[0]; List<IDataField> dataFields = new List<IDataField>(); var mapping = new Dictionary<Field, IDataField<object>>(); foreach (var item in firstItem.WorkItemInfo.Keys) { var field = fields[item]; var dataField = new DataField<object>(); dataFields.Add(dataField); mapping.Add(field, dataField); } if (dataFields.Any()) { if (ShowCheckboxes) { isCheckedField = new DataField<bool>(); dataFields.Insert(0, isCheckedField); var checkColumn = new CheckBoxCellView(isCheckedField) { Editable = true }; checkColumn.Toggled += (sender, e) => { var astore = (TreeStore)listView.DataSource; var node = astore.GetNavigatorAt(listView.CurrentEventRow); var workItem = node.GetValue(workItemField); if (!node.GetValue(isCheckedField)) { if (OnSelectWorkItem != null) OnSelectWorkItem(workItem); } else { if (OnRemoveWorkItem != null) OnRemoveWorkItem(workItem); } }; listView.Columns.Add("", checkColumn); } workItemField = new DataField<WorkItem>(); dataFields.Insert(0, workItemField); var listStore = new TreeStore(dataFields.ToArray()); foreach (var map in mapping) { listView.Columns.Add(map.Key.Name, map.Value); } listView.DataSource = listStore; foreach (var workItem in data) { var row = listStore.AddNode(); row.SetValue(workItemField, workItem); foreach (var map in mapping) { object value; if (workItem.WorkItemInfo.TryGetValue(map.Key.ReferenceName, out value)) { row.SetValue(map.Value, value); } else { row.SetValue(map.Value, null); } } } } } } }
public TreeViews() { TreeView view = new TreeView (); TreeStore store = new TreeStore (triState, check, text, desc); var triStateCellView = new CheckBoxCellView (triState) { Editable = true, AllowMixed = true }; triStateCellView.Toggled += (object sender, WidgetEventArgs e) => { if (view.CurrentEventRow == null) { MessageDialog.ShowError("CurrentEventRow is null. This is not supposed to happen"); } else { store.GetNavigatorAt(view.CurrentEventRow).SetValue(text, "TriState Toggled"); } }; var checkCellView = new CheckBoxCellView (check) { Editable = true }; checkCellView.Toggled += (object sender, WidgetEventArgs e) => { if (view.CurrentEventRow == null) { MessageDialog.ShowError("CurrentEventRow is null. This is not supposed to happen"); } else { store.GetNavigatorAt(view.CurrentEventRow).SetValue(text, "Toggled"); } }; view.Columns.Add ("TriCheck", triStateCellView); view.Columns.Add ("Check", checkCellView); view.Columns.Add ("Item", text); view.Columns.Add ("Desc", desc); store.AddNode ().SetValue (text, "One").SetValue (desc, "First").SetValue (triState, CheckBoxState.Mixed); store.AddNode ().SetValue (text, "Two").SetValue (desc, "Second").AddChild () .SetValue (text, "Sub two").SetValue (desc, "Sub second"); store.AddNode ().SetValue (text, "Three").SetValue (desc, "Third").AddChild () .SetValue (text, "Sub three").SetValue (desc, "Sub third"); PackStart (view, true); view.DataSource = store; Label la = new Label (); PackStart (la); view.SetDragDropTarget (DragDropAction.All, TransferDataType.Text); view.SetDragSource (DragDropAction.All, TransferDataType.Text); view.DragDrop += delegate(object sender, DragEventArgs e) { TreePosition node; RowDropPosition pos; view.GetDropTargetRow (e.Position.X, e.Position.Y, out pos, out node); var nav = store.GetNavigatorAt (node); la.Text += "Dropped \"" + e.Data.Text + "\" into \"" + nav.GetValue (text) + "\" " + pos + "\n"; e.Success = true; }; view.DragOver += delegate(object sender, DragOverEventArgs e) { TreePosition node; RowDropPosition pos; view.GetDropTargetRow (e.Position.X, e.Position.Y, out pos, out node); if (pos == RowDropPosition.Into) e.AllowedAction = DragDropAction.None; else e.AllowedAction = e.Action; }; view.DragStarted += delegate(object sender, DragStartedEventArgs e) { var val = store.GetNavigatorAt (view.SelectedRow).GetValue (text); e.DragOperation.Data.AddValue (val); e.DragOperation.Finished += delegate(object s, DragFinishedEventArgs args) { Console.WriteLine ("D:" + args.DeleteSource); }; }; Button addButton = new Button ("Add"); addButton.Clicked += delegate(object sender, EventArgs e) { store.AddNode ().SetValue (text, "Added").SetValue (desc, "Desc"); }; PackStart (addButton); Button removeButton = new Button ("Remove Selection"); removeButton.Clicked += delegate(object sender, EventArgs e) { foreach (TreePosition row in view.SelectedRows) { store.GetNavigatorAt (row).Remove (); } }; PackStart (removeButton); var label = new Label (); PackStart (label); view.RowExpanded += (sender, e) => label.Text = "Row expanded: " + store.GetNavigatorAt (e.Position).GetValue (text); }