protected override void OnEdited(string path, string new_text) { Gtk.TreeIter iter; if (treeModel.GetIterFromString(out iter, path)) { treeModel.SetValue(iter, ((TextCellView)view).TextField.Index, new_text); } base.OnEdited(path, new_text); }
protected override void OnToggled(string path) { if (!view.RaiseToggled() && view.ActiveField != null) { Gtk.TreeIter iter; if (treeModel.GetIterFromString(out iter, path)) { CellUtil.SetModelValue(treeModel, iter, view.ActiveField.Index, view.ActiveField.FieldType, !Active); } } base.OnToggled(path); }
protected override void OnEdited(string path, string new_text) { if (!view.RaiseTextChanged() && view.TextField != null) { Gtk.TreeIter iter; if (treeModel.GetIterFromString(out iter, path)) { CellUtil.SetModelValue(treeModel, iter, view.TextField.Index, view.TextField.FieldType, new_text); } } base.OnEdited(path, new_text); }
void HandleEdited(object o, EditedArgs args) { SetCurrentEventRow(); var view = (ITextCellViewFrontend)Frontend; if (!view.RaiseTextChanged() && view.TextField != null) { Gtk.TreeIter iter; if (TreeModel.GetIterFromString(out iter, args.Path)) { CellUtil.SetModelValue(TreeModel, iter, view.TextField.Index, view.TextField.FieldType, args.NewText); } } }
protected override void OnToggled(string path) { CellUtil.SetCurrentEventRow(treeBackend, path); IDataField field = (IDataField)view.StateField ?? view.ActiveField; if (!view.RaiseToggled() && (field != null)) { Type type = field.FieldType; Gtk.TreeIter iter; if (treeModel.GetIterFromString(out iter, path)) { CheckBoxState newState; if (view.AllowMixed && type == typeof(CheckBoxState)) { if (Inconsistent) { newState = CheckBoxState.Off; } else if (Active) { newState = CheckBoxState.Mixed; } else { newState = CheckBoxState.On; } } else { if (Active) { newState = CheckBoxState.Off; } else { newState = CheckBoxState.On; } } object newValue = type == typeof(CheckBoxState) ? (object)newState : (object)(newState == CheckBoxState.On); CellUtil.SetModelValue(treeModel, iter, field.Index, type, newValue); } } base.OnToggled(path); }
void HandleToggled(object o, ToggledArgs args) { SetCurrentEventRow(); var view = (IToggleCellViewFrontend)Frontend; IDataField field = (IDataField)(view as ICheckBoxCellViewFrontend)?.StateField ?? view.ActiveField; if (!view.RaiseToggled() && (field != null)) { Type type = field.FieldType; Gtk.TreeIter iter; if (TreeModel.GetIterFromString(out iter, args.Path)) { CheckBoxState newState; if (type == typeof(CheckBoxState) && ((ICheckBoxCellViewFrontend)view).AllowMixed) { if (renderer.Inconsistent) { newState = CheckBoxState.Off; } else if (renderer.Active) { newState = CheckBoxState.Mixed; } else { newState = CheckBoxState.On; } } else { if (renderer.Active) { newState = CheckBoxState.Off; } else { newState = CheckBoxState.On; } } object newValue = type == typeof(CheckBoxState) ? (object)newState : (object)(newState == CheckBoxState.On); CellUtil.SetModelValue(TreeModel, iter, field.Index, type, newValue); } } }
void HandleSelectionChanged(TreeModel model, TreePath [] selectedItems) { TreeIter iter; if (swallowSignals) { return; } if (ProjectsSelected != null) { selectedProjects = new List <LMProject> (); for (int i = 0; i < selectedItems.Length; i++) { model.GetIterFromString(out iter, selectedItems [i].ToString()); selectedProjects.Add((LMProject)model.GetValue(iter, COL_PROJECT)); } ProjectsSelected(selectedProjects); } }
void HandleSelectionChanged(TreeModel model, TreePath[] selectedItems) { TreeIter iter; List <ProjectDescription> list; if (swallowSignals) { return; } if (ProjectsSelected != null) { list = new List <ProjectDescription> (); for (int i = 0; i < selectedItems.Length; i++) { model.GetIterFromString(out iter, selectedItems [i].ToString()); list.Add((ProjectDescription)model.GetValue(iter, COL_PROJECT_DESCRIPTION)); } ProjectsSelected(list); } }
void HandleSelectionChanged(TreeModel model, TreePath[] selectedItems) { TreeIter iter; if (swallowSignals) return; if (ProjectsSelected != null) { selectedProjects = new List<ProjectLongoMatch> (); for (int i = 0; i < selectedItems.Length; i++) { model.GetIterFromString (out iter, selectedItems [i].ToString ()); selectedProjects.Add ((ProjectLongoMatch)model.GetValue (iter, COL_PROJECT)); } ProjectsSelected (selectedProjects); } }
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)); }
void HandleSelectionChanged(TreeModel model, TreePath[] selectedItems) { TreeIter iter; List<ProjectDescription> list; if (swallowSignals) return; if (ProjectsSelected != null) { list = new List<ProjectDescription> (); for (int i = 0; i < selectedItems.Length; i++) { model.GetIterFromString (out iter, selectedItems [i].ToString ()); list.Add ((ProjectDescription)model.GetValue (iter, COL_PROJECT_DESCRIPTION)); } ProjectsSelected (list); } }