示例#1
0
        void HandleTaskServiceErrorsCurrentLocationTaskChanged(object sender, EventArgs e)
        {
            if (TaskService.Errors.CurrentLocationTask == null)
            {
                view.Selection.UnselectAll();
                return;
            }
            TreeIter it;

            if (!view.Model.GetIterFirst(out it))
            {
                return;
            }
            do
            {
                Task t = (Task)view.Model.GetValue(it, DataColumns.Task);
                if (t == TaskService.Errors.CurrentLocationTask)
                {
                    view.Selection.SelectIter(it);
                    view.ScrollToCell(view.Model.GetPath(it), view.Columns[0], false, 0, 0);
                    it = filter.ConvertIterToChildIter(sort.ConvertIterToChildIter(it));
                    store.SetValue(it, DataColumns.Read, true);
                    return;
                }
            } while (view.Model.IterNext(ref it));
        }
示例#2
0
        TreeIter ConvertModelIterToStoreIter(TreeIter iter)
        {
            TreeModelSort   sort   = (TreeModelSort)treeDebaters.Model;
            TreeModelFilter filter = (TreeModelFilter)sort.Model;

            return(filter.ConvertIterToChildIter(sort.ConvertIterToChildIter(iter)));
        }
示例#3
0
        /// <summary>
        /// Converts an iter from the visible store, the TreeModelSort, the original TreeStore store.
        /// </summary>
        /// <returns>The to root iter.</returns>
        /// <param name="iter">Iter.</param>
        protected TreeIter ConvertToRootIter(TreeIter iter)
        {
            TreeIter originalIter = sort.ConvertIterToChildIter(iter);

            originalIter = filter.ConvertIterToChildIter(originalIter);
            return(originalIter);
        }
示例#4
0
        /// <summary>
        /// Gets the reference which maps to the currently selected node.
        /// </summary>
        /// <returns>The currently selected reference.</returns>
        private FileReference GetSelectedReference()
        {
            this.Tree.Selection.GetSelected(out var selectedIter);

            var filterIter = _treeSorter.ConvertIterToChildIter(selectedIter);
            var modeliter  = _treeFilter.ConvertIterToChildIter(filterIter);

            return(_treeModel.GetReferenceByIter(this.GameContext, modeliter));
        }
示例#5
0
        public TreeIter GetPodcastModelIter(TreeIter iter)
        {
            if (iter.Equals(TreeIter.Zero))
            {
                return(TreeIter.Zero);
            }

            iter = sort.ConvertIterToChildIter(iter);
            iter = filter.ConvertIterToChildIter(iter);

            return(iter);
        }
        void HandleCellToggled(object o, ToggledArgs args)
        {
            TreeIter iter;

            if (sort.GetIterFromString(out iter, args.Path))
            {
                bool active = !((bool)sort.GetValue(iter, COL_ACTIVE));
                iter = sort.ConvertIterToChildIter(iter);
                iter = filter.ConvertIterToChildIter(iter);
                UpdateSelection(iter, active);
            }
        }
示例#7
0
        public static TreeIter ConvertViewToModel(TreeIter iter, TreeModelSort sortedModel, TreeModelFilter filterModel)
        {
            var iter1 = sortedModel.ConvertIterToChildIter(iter);

            return(filterModel.ConvertIterToChildIter(iter1));
        }