Пример #1
0
        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();
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
        /// <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.");
            }
        }
Пример #7
0
        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);
                }
            }
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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"));
        }
Пример #11
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);
        }
Пример #12
0
        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);
        }
Пример #13
0
        /*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);
        }
Пример #14
0
    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);
    }
Пример #15
0
        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);
        }
Пример #16
0
 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);
     }
 }
Пример #17
0
        /// <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;
                    }
                }
            }
        }
Пример #18
0
 // 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);
     }
 }
Пример #19
0
        /* 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);
        }
Пример #20
0
        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();
        }
Пример #21
0
        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);
        }
Пример #22
0
        // 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);
        }
Пример #23
0
        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);
        }
Пример #24
0
        /// <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);
            }
        }
Пример #25
0
        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);
        }
Пример #26
0
        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));
            }
        }
Пример #27
0
        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));
        }
Пример #28
0
        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));
        }
Пример #29
0
        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));
        }
Пример #30
0
        /// <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;
            }
        }