protected void OnBtnEditIFiClicked(object sender, EventArgs e) { TreeSelection ts = tvIgnoreFiles.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } IgnoreFolder iFol = (IgnoreFolder)tvIgnoreFiles.Model.GetValue(ti, 3); if (String.IsNullOrEmpty(iFol.Folder)) { return; } EntryDialog ed = new EntryDialog(iFol.Folder, MainClass.Languages.Translate("new_name"), parentWindow); int result = ed.Run(); if (result == (int)ResponseType.Ok) { if (!String.IsNullOrEmpty(ed.TextEntry)) { iFol.Folder = ed.TextEntry; storeIFi.SetValues(ti, ed.TextEntry, iFol.IsForIde, iFol.IsForPublish, iFol); } } ed.Destroy(); }
/// <summary> /// Selection has Owner or Current /// </summary> /// <returns>true if it has owner or Current</returns> public bool SelectionHasOwnerOrCurrent() { TreeModel tModel; TreeSelection tSelect = UserTreeView.Selection; Array treePaths = tSelect.GetSelectedRows(out tModel); // remove compiler warning if (tModel != null) { tModel = null; } foreach (TreePath tPath in treePaths) { TreeIter iter; if (UserTreeStore.GetIter(out iter, tPath)) { iFolderUser user = (iFolderUser)UserTreeStore.GetValue(iter, 0); if (user.UserID == ifolder.OwnerID) { return(true); } if (user.UserID == ifolder.CurrentUserID) { return(true); } } } return(false); }
protected void OnBtnDeleteIFiClicked(object sender, EventArgs e) { TreeSelection ts = tvIgnoreFiles.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } IgnoreFolder iFol = (IgnoreFolder)tvIgnoreFiles.Model.GetValue(ti, 3); if (iFol == null) { return; } MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("delete_resolution", iFol.Folder), "", Gtk.MessageType.Question, parentWindow); int result = md.ShowDialog(); if (result != (int)Gtk.ResponseType.Yes) { return; } ignoreFile.Remove(iFol); storeIFi.Remove(ref ti); }
protected virtual void OnBtnDeleteFilterClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFilter.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1); if (cd == null) { return; } MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("delete_filter", cd.Display), "", Gtk.MessageType.Question, parentWindow); int result = md.ShowDialog(); if (result != (int)Gtk.ResponseType.Yes) { return; } conditions.Remove(cd); maskStore.Clear(); filterStore.Remove(ref ti); }
void HandleSelectionChanged(object sender, EventArgs e) { TreeSelection selection = (TreeSelection)sender; //TreeIter iterCell = new TreeIter (); //selection.GetSelected (out iterCell); TreePath[] paths = selection.GetSelectedRows(); T[] items = new T[paths.Length]; for (int n = 0; n < paths.Length; n++) { TreeIter iter; Model.GetIter(out iter, paths[n]); items[n] = (T)Model.GetValue(iter, 0); } SelectedItems = items; var itemEvent = ItemSelected; if (itemEvent != null) { itemEvent(items); } }
/// <summary> /// Callback method executed when row/rows is/are selected /// </summary> /// <param name="o">TreeSelection object</param> /// <param name="args">Event arguments</param> void OnSelectionChanged(object o, EventArgs args) { TreeSelection selection = (TreeSelection)o; ITreeModel filtered; TreePath[] selectedRows = selection.GetSelectedRows(out filtered); // Clear a list storing PID to kill _processIdToKill.Clear(); TreeIter iter; if (selectedRows.Length > 0) { for (int i = 0; i < selectedRows.Length; i++) { filtered.GetIter(out iter, selectedRows[i]); int id; int.TryParse(filtered.GetValue(iter, 0).ToString(), out id); if (id != 0) { _processIdToKill.Add(id); } } } else { Console.WriteLine("Node is null."); } }
protected void onBnFace2Remove(object sender, EventArgs e) { TreeSelection selection = treeviewFace2.Selection; TreeModel model; TreeIter iter; if (selection.CountSelectedRows() == 1) { TreePath tp = selection.GetSelectedRows()[0]; int iPlace = tp.Indices[0]; if (selection.GetSelected(out model, out iter)) { // get the face1 list // Dictionary <String, String> cardDefinition = CardGeneratorDB.Instance.getRowFromTable(CardGeneratorDB.TABLECardDefinitions, "FaceCardName", _SelectedCardTypeName); List <CardDefinitions.CardDefClass> face1 = CardDefinitions.faceCardStructureFromJSONString(cardDefinition["Face2"]); face1.RemoveAt(iPlace); String face1JSONString = CardDefinitions.JSONStringFromfaceCardStructure(face1); CardGeneratorDB.Instance.updateRowField(CardGeneratorDB.TABLECardDefinitions, CardGeneratorDB.COLUMNCardDefinitionID, cardDefinition[CardGeneratorDB.COLUMNCardDefinitionID], "Face2", face1JSONString); SelectCardType(_SelectedCardTypeName); } } }
override protected bool SelectFunction(TreeSelection selection, TreeModel model, TreePath path, bool selected) { TreePath [] selectedRows; selectedRows = selection.GetSelectedRows(); if (!selected && selectedRows.Length > 0) { object currentSelected; object firstSelected; firstSelected = GetValueFromPath(selectedRows [0]); // No multiple selection for players if (selectedRows.Length == 1 && firstSelected is Player) { return(false); } currentSelected = GetValueFromPath(path); if (currentSelected is Player) { return(false); } return(true); } // Always unselect return(true); }
override protected bool SelectFunction(TreeSelection selection, TreeModel model, TreePath path, bool selected) { TreePath [] selectedRows; selectedRows = selection.GetSelectedRows(); if (!selected && selectedRows.Length > 0) { object currentSelected; object firstSelected; firstSelected = GetValueFromPath(selectedRows [0]); // No multiple selection for event types and substitution events if (selectedRows.Length == 1) { if (firstSelected is EventType) { return(false); } else if (firstSelected is StatEvent) { return(false); } } currentSelected = GetValueFromPath(path); if (currentSelected is EventType || currentSelected is StatEvent) { return(false); } return(true); } // Always unselect return(true); }
protected void OnBtnDeleteClicked(object sender, EventArgs e) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("are_you_sure"), "", Gtk.MessageType.Question, parentWindow); int result = md.ShowDialog(); if (result != (int)Gtk.ResponseType.Yes) { return; } TreeSelection ts = tvExtension.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } MainClass.Settings.ExtensionList.Remove(selectedExtensionSetting); resolStore.Remove(ref ti); tvExtension.Selection.SelectPath(new TreePath("0")); }
protected void OnBtnSaveClicked(object sender, EventArgs e) { /* MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("are_you_sure"), "", Gtk.MessageType.Question,parentWindow); * int result = md.ShowDialog(); * if (result != (int)Gtk.ResponseType.Yes) * return; */ TreeSelection ts = tvExtension.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } selectedExtensionSetting = (ExtensionSetting)tvExtension.Model.GetValue(ti, 1); int seltyp = (int)ddrbAction.CurrentItem; selectedExtensionSetting.OpenType = (ExtensionSetting.OpenTyp)seltyp; selectedExtensionSetting.Extension = entrExtension.Text; if (selectedExtensionSetting.OpenType == ExtensionSetting.OpenTyp.EXTERNAL) { selectedExtensionSetting.ExternalProgram = feExternalPRogram.Path; selectedExtensionSetting.Parameter = entrParameters.Text; } resolStore.SetValues(ti, selectedExtensionSetting.Extension, selectedExtensionSetting); }
protected virtual void OnBtnDeleteFieldClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFields.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } FieldTable cd = (FieldTable)tvFields.Model.GetValue(ti, 2); if (cd == null) { return; } MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("delete_field", cd.Name), "", Gtk.MessageType.Question, this); int result = md.ShowDialog(); if (result != (int)Gtk.ResponseType.Yes) { return; } fields.Remove(cd); fieldsStore.Remove(ref ti); }
/*private TreeIter GetSelectedTopParentTreeIter() * { * TreeSelection ts = treeView.Selection; * Gtk.TreePath[] selRow = ts.GetSelectedRows(); * Gtk.TreePath tp = selRow[0]; * * string path = filter.ConvertPathToChildPath(tp).ToString(); * * int indx = path.IndexOf(':'); * if (indx > -1) { * path = path.Remove(indx); * } * * TreeIter tiParent = new TreeIter(); * TreePath tpPath = new TreePath(path); * store.GetIter(out tiParent, tpPath); * * return tiParent; * }*/ private TreeIter GetSelectedParentTreeIter(bool topParent) { TreeSelection ts = treeView.Selection; Gtk.TreePath[] selRow = ts.GetSelectedRows(); if (selRow.Length == 0) { return(TreeIter.Zero); } Gtk.TreePath tp = selRow[0]; string path = filter.ConvertPathToChildPath(tp).ToString(); int indx = path.LastIndexOf(':'); if (topParent) { indx = path.IndexOf(':'); } if (indx > -1) { path = path.Remove(indx); } TreeIter tiParent = new TreeIter(); TreePath tpPath = new TreePath(path); store.GetIter(out tiParent, tpPath); return(tiParent); }
void OnSelectionChanged(object o, EventArgs args) { TreeIter iter; TreeModel model; TreeSelection treeSelection = o as TreeSelection; int count = treeSelection.CountSelectedRows(); if (count == 0 || count > 1) { changesetDetailView.Clear(); changesetDiffView.Clear(); return; } TreePath[] paths = treeSelection.GetSelectedRows(out model); foreach (TreePath path in paths) { model.GetIter(out iter, path); currentCid = Convert.ToInt32(model.GetValue(iter, 0)); } IChangesetViewChild child = viewChildren.CurrentPageWidget as IChangesetViewChild; UpdateChildCid(child); }
protected virtual void OnBtnDeleteCond1Clicked(object sender, System.EventArgs e) { if (!MainClass.LicencesSystem.CheckFunction("conditions", parentWindow)) { return; } TreeSelection ts = tvConditions.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } Condition cd = (Condition)tvConditions.Model.GetValue(ti, 2); if (cd == null) { return; } TreeSelection tsR = tvRules.Selection; TreeIter tiR = new TreeIter(); tsR.GetSelected(out tiR); TreePath[] tpR = tsR.GetSelectedRows(); if (tpR.Length < 1) { return; } Rule rl = (Rule)tvRules.Model.GetValue(tiR, 2); if (rl == null) { return; } MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("delete_rule", rl.Name), "", Gtk.MessageType.Question, parentWindow); int result = md.ShowDialog(); if (result != (int)Gtk.ResponseType.Yes) { return; } ruleStore.Remove(ref tiR); Condition cd2 = conditions.Find(x => x.Id == cd.Id); cd2.Rules.Remove(rl); conditionStore.SetValues(ti, cd2.Id, cd2.Name, cd2); }
override protected bool SelectFunction(TreeSelection selection, TreeModel model, TreePath path, bool selected) { // Don't allow multiselection for Players if (!selected && selection.GetSelectedRows().Length > 0) { if (selection.GetSelectedRows().Length == 1 && GetValueFromPath(selection.GetSelectedRows() [0]) is Player) { return(false); } return(!(GetValueFromPath(path) is Player)); } // Always unselect else { return(true); } }
/// <summary> /// To handle if the selection is changed in conflict tree display /// </summary> /// <param name="o"></param> /// <param name="args"></param> private void OnEnhancedConflictSelectionChanged(object o, EventArgs args) { bool bHasFileConflict = false; OnConflictSelectionChanged(o, args); TreeSelection tSelect = ConflictTreeView.Selection; int selectedRows = tSelect.CountSelectedRows(); if (selectedRows > 0) { EnableEnhancedConflictControls(); TreeModel tModel; ConflictHolder ch = null; Array treePaths = tSelect.GetSelectedRows(out tModel); foreach (TreePath tPath in treePaths) { TreeIter iter; if (ConflictTreeStore.GetIter(out iter, tPath)) { ch = (ConflictHolder)tModel.GetValue(iter, 0); if (!ch.IsNameConflict) { bHasFileConflict = true; } } } if (selectedRows == 1) { if (bHasFileConflict) { EnableEnhancedConflictControls(); } else { ActionFrame.Sensitive = false; } } else { // We're dealing with multiple selections here if (bHasFileConflict) { EnableEnhancedConflictControls(); } else { ActionFrame.Sensitive = false; } } } }
// class TreeSelection has a method ".SelectAll()" - we need the opposite, ".SelectNone()" public static void SelectNone(this TreeSelection selection) { // this does not work: // selection.SelectIter(TreeIter.Zero); // workaround: TreePath[] selected = selection.GetSelectedRows(); foreach (TreePath p in selected) { selection.UnselectPath(p); } }
/* C# Insanity to get the index of the selected item */ void M_GtkTreeThumb_RowActivated(object o, RowActivatedArgs args) { TreeModel treeModel; TreeSelection my_selected_row = m_GtkTreeThumb.Selection; var TreePath = my_selected_row.GetSelectedRows(out treeModel); var item = TreePath.GetValue(0); var result = item.ToString(); int index = System.Convert.ToInt32(result); ScrollMainTo(index); }
protected virtual void OnBtnAddMaskClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFilter.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1); if (cd == null) { return; } EntryDialog ed = new EntryDialog("", MainClass.Languages.Translate("new_mask"), parentWindow); int result = ed.Run(); if (result == (int)ResponseType.Ok) { string newStr = ed.TextEntry; if (!String.IsNullOrEmpty(newStr)) { //int maxCountRule = 0; /*foreach (string rlf in cd.Mask){ * if (maxCountRule < rlf.Id) maxCountRule = rlf.Id; * }*/ string rlFind = cd.Mask.Find(x => x.ToUpper() == newStr.ToUpper()); if (rlFind != null) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("mask_is_exist", rlFind), "", Gtk.MessageType.Error, parentWindow); md.ShowDialog(); ed.Destroy(); return; } maskStore.AppendValues(newStr); LogicalSystem cd2 = conditions.Find(x => x.Display.ToUpper() == cd.Display.ToUpper()); cd2.Mask.Add(newStr); filterStore.SetValues(ti, cd2.Display, cd2); } } ed.Destroy(); }
protected virtual void OnBtnDeleteMaskClicked(object sender, System.EventArgs e) { TreeSelection ts = tvFilter.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } LogicalSystem cd = (LogicalSystem)tvFilter.Model.GetValue(ti, 1); if (cd == null) { return; } TreeSelection tsR = tvMask.Selection; TreeIter tiR = new TreeIter(); tsR.GetSelected(out tiR); TreePath[] tpR = tsR.GetSelectedRows(); if (tpR.Length < 1) { return; } string rl = (string)tvMask.Model.GetValue(tiR, 0); if (String.IsNullOrEmpty(rl)) { return; } MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.YesNo, MainClass.Languages.Translate("delete_mask", rl), "", Gtk.MessageType.Question, parentWindow); int result = md.ShowDialog(); if (result != (int)Gtk.ResponseType.Yes) { return; } maskStore.Remove(ref tiR); LogicalSystem cd2 = conditions.Find(x => x.Display.ToUpper() == cd.Display.ToUpper()); cd2.Mask.Remove(rl); filterStore.SetValues(ti, cd2.Display, cd2); }
// this function is the same as GetSelectedRows(), but returns List<TreeIter> instead of List<TreePath> // or // this function is the same as GetSelected(), but does not return just 1 TreeItem, but a list of them public static List <TreeIter> GetSelectedRows_TreeIter(this TreeSelection selection) { List <TreeIter> result = new List <TreeIter>(); foreach (TreePath path in selection.GetSelectedRows()) { TreeIter iter; if (selection.TreeView.Model.GetIter(out iter, path)) { result.Add(iter); } } return(result); }
private void OpenProject() { TreeSelection ts = tvFiles.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return; } //string fileState = tvFiles.Model.GetValue(ti, 2).ToString(); string filePath = tvFiles.Model.GetValue(ti, 3).ToString(); string prjName = tvFiles.Model.GetValue(ti, 1).ToString(); int fileStat = (int)tvFiles.Model.GetValue(ti, 4); if (fileStat == (int)StatEnum.Open) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("project_is_opened", prjName), null, Gtk.MessageType.Error); md.ShowDialog(); return; } else if (fileStat == (int)StatEnum.Close) { MainClass.MainWindow.OpenProject(filePath, true); this.Respond(ResponseType.Ok); } else if (fileStat == (int)StatEnum.Not_Create) { AppFile appFile = new AppFile(filePath); string projectDir = appFile.Directory; if (!Directory.Exists(projectDir)) { MessageDialogs md = new MessageDialogs(MessageDialogs.DialogButtonType.Ok, MainClass.Languages.Translate("application_foldes_not_exist"), projectDir, Gtk.MessageType.Error); md.ShowDialog(); return; } MainClass.MainWindow.ConvertAppToProject(appFile); this.Respond(ResponseType.Ok); } this.Respond(ResponseType.Ok); }
/// <summary> /// Resolve Selected Conflicts /// </summary> /// <param name="localChangesWin">true if localchanges</param> private void ResolveSelectedConflicts(bool localChangesWin) { TreeModel tModel; Queue iterQueue; iterQueue = new Queue(); TreeSelection tSelect = ConflictTreeView.Selection; Array treePaths = tSelect.GetSelectedRows(out tModel); // We can't remove anything while getting the iters // because it will change the paths and we'll remove // the wrong stuff. foreach (TreePath tPath in treePaths) { TreeIter iter; if (tModel.GetIter(out iter, tPath)) { iterQueue.Enqueue(iter); } } if (iterQueue.Count > 0) { // Now that we have all of the TreeIters, loop and // remove them all while (iterQueue.Count > 0) { TreeIter iter = (TreeIter)iterQueue.Dequeue(); ConflictHolder ch = (ConflictHolder)tModel.GetValue(iter, 0); if (!ch.IsNameConflict) { try { ifws.ResolveFileConflict( ch.FileConflict.iFolderID, ch.FileConflict.ConflictID, localChangesWin); ConflictTreeStore.Remove(ref iter); } catch {} } } UpdateFields(null, false); } }
private string GetDirectory(ref TreeIter tiDirectory) { TreeSelection ts = treeView.Selection; Gtk.TreePath[] selRow = ts.GetSelectedRows(); if (selRow.Length < 1) { return(null); } Gtk.TreePath tp = selRow[0]; store.GetIter(out tiDirectory, tp); string pFile = store.GetValue(tiDirectory, PATH_ROW).ToString(); // Full Path object tFile = store.GetValue(tiDirectory, TYPE_ROW); string directory = ""; // Typ if ((int)tFile != (int)TypeFile.Directory) { string path = tp.ToString(); int indx = path.LastIndexOf(':'); if (indx > -1) { path = path.Remove(indx); } TreePath tpPath = new TreePath(path); store.GetIter(out tiDirectory, tpPath); directory = store.GetValue(tiDirectory, PATH_ROW).ToString(); } else { directory = pFile; } if (!System.IO.Directory.Exists(directory)) { return(null); } return(directory); }
private void OnCursorChanged(object sender, EventArgs a) { TreeSelection sel = tree.Selection; ITreeModel model; TreeIter iter; var x = sel.GetSelectedRows(); Console.WriteLine(x.Length); if (sel.GetSelected(out model, out iter)) { Console.WriteLine(model.GetValue(iter, 0) + " " + model.GetValue(iter, 1)); } }
private Condition GetSelected() { TreeSelection ts = tvConditions.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return(null); } return((Condition)tvConditions.Model.GetValue(ti, 2)); }
private LogicalSystem GetSelected() { TreeSelection ts = tvFilter.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return(null); } return((LogicalSystem)tvFilter.Model.GetValue(ti, 1)); }
private ExtensionSetting GetSelectedExtensionSetting() { TreeSelection ts = tvExtension.Selection; TreeIter ti = new TreeIter(); ts.GetSelected(out ti); TreePath[] tp = ts.GetSelectedRows(); if (tp.Length < 1) { return(null); } return((ExtensionSetting)tvExtension.Model.GetValue(ti, 1)); }
/// <summary> /// Repsonds to selection changes in the main grid by /// selecting corresponding rows in the "fixed columns" grid /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Gridview_CursorChanged(object sender, EventArgs e) { if (fixedcolview.Visible && !selfCursorMove) { selfCursorMove = true; TreeSelection gridSel = gridview.Selection; TreePath[] selPaths = gridSel.GetSelectedRows(); TreeSelection fixedSel = fixedcolview.Selection; fixedSel.UnselectAll(); foreach (TreePath path in selPaths) { fixedSel.SelectPath(path); } selfCursorMove = false; } }