Esempio n. 1
0
        private void filesList_Selection_Changed(object o, EventArgs args)
        {
            if (filesList.Selection.GetSelectedRows().Length > 0)
            {
                TreePath path = filesList.Selection.GetSelectedRows()[0];

                if (!selectedRows.ContainsKey(currentPath))
                {
                    selectedRows.Add(currentPath, path.ToString());
                }
                else
                {
                    selectedRows[currentPath] = path.ToString();
                }
            }
        }
Esempio n. 2
0
    public static void TreeviewScrollToLastRow(Gtk.TreeView tv, Gtk.ListStore store, int nrows)
    {
        TreeIter iter   = new TreeIter();
        bool     iterOk = store.GetIterFirst(out iter);

        if (!iterOk)
        {
            return;
        }

        for (int i = 0; i < (nrows - 1); i++)
        {
            iterOk = tv.Model.IterNext(ref iter);
        }

        if (!iterOk)
        {
            return;
        }

        TreePath path = store.GetPath(iter);

        LogB.Debug(path.ToString());
        tv.ScrollToCell(path, tv.Columns[0], true, 0, 0);
    }
Esempio n. 3
0
            bool GetCellPosition(int mx, int my, out int cellx, out int celly, out TreeIter iter, out TreePath path)
            {
                TreeViewColumn col;

                iter = TreeIter.Zero;

                if (!keyBindingsTree.GetPathAtPos(mx, my, out path, out col, out cellx, out celly))
                {
                    return(false);
                }

                if (!keyBindingsTree.Model.GetIterFromString(out iter, path.ToString()))
                {
                    return(false);
                }

                int sp, w;

                if (col.CellGetPosition(this, out sp, out w))
                {
                    if (cellx >= sp && cellx < sp + w)
                    {
                        return(true);
                    }
                }
                return(false);
            }
Esempio n. 4
0
    private static bool treeviewSelectRow(Gtk.TreeView tv, Gtk.TreeStore store, int rowNum, bool scrollToRow)
    {
        if (rowNum == -1)
        {
            return(false);
        }

        //set the selected
        int      count = 0;
        TreeIter iter;
        bool     iterOk = store.GetIterFirst(out iter);

        while (iterOk)
        {
            if (count == rowNum)
            {
                //1 select row
                tv.Selection.SelectIter(iter);

                //2 scroll to that row
                if (scrollToRow)
                {
                    TreePath path = store.GetPath(iter);
                    LogB.Debug(path.ToString());
                    tv.ScrollToCell(path, tv.Columns[0], true, 0, 0);
                }

                return(true);
            }

            count++;
            store.IterNext(ref iter);
        }
        return(false);
    }
Esempio n. 5
0
        TViewModel GetParentVM(TreePath path)
        {
            TreeIter iterParent, iter;

            store.GetIterFromString(out iter, path.ToString());
            store.IterParent(out iterParent, iter);
            return(store.GetValue(iterParent, COL_DATA) as TViewModel);
        }
Esempio n. 6
0
 public int[] getSelectedIndexes()
 {
     TreePath[] paths = this.Selection.GetSelectedRows();
     int[]      ret   = new int[paths.Length];
     for (int i = 0; i < paths.Length; i++)
     {
         TreePath path = paths[i];
         ret[i] = int.Parse(path.ToString());
         Console.WriteLine("selectat->" + ret[i]);
     }
     return(ret);
 }
Esempio n. 7
0
        // TODO remove this function again. It is redundant to the existing ExpandToPath() function which does exactly the same, see http://wrapl.sourceforge.net/doc/Gtk/Gtk/TreeView.html
        public static void ExpandRowWithParents(this TreeView treeView, TreeIter iter)
        {
            Stack <TreePath> stack     = new Stack <TreePath>();
            TreeStore        treeStore = treeView.Model as TreeStore;
            TreePath         tp        = treeStore.GetPath(iter);

            do
            {
                stack.Push(new TreePath(tp.ToString())); // clone
            }while (tp.Up());
            while (stack.Count > 0)
            {
                treeView.ExpandRow(stack.Pop(), false);
            }
        }
Esempio n. 8
0
        void treeViewFontStyles_SelectionChanged(object sender, EventArgs args)
        {
            string fontstyle_selected = "";

            TreeSelection selection = (sender as TreeView).Selection;
            TreeModel     model;
            TreeIter      iter;

            // iter - points to selected row
            if (selection.GetSelected(out model, out iter))
            {
                TreePath tree_path   = model.GetPath(iter);
                string   select_path = tree_path.ToString();

                int    idx_column      = 0;
                object selected_object = model.GetValue(iter, idx_column);
                fontstyle_selected = (string)selected_object;
            }

            entryFontStyle.Text = fontstyle_selected;
            switch (fontstyle_selected)
            {
            case "Regular":
                ApplyTextTags(textviewDemoText.Buffer, "style:normal");
                ApplyTextTags(textviewDemoText.Buffer, "fontweight:normal");
                break;

            case "Italic":
                ApplyTextTags(textviewDemoText.Buffer, "style:italic");
                ApplyTextTags(textviewDemoText.Buffer, "fontweight:normal");
                break;

            case "Bold":
                ApplyTextTags(textviewDemoText.Buffer, "style:normal");
                ApplyTextTags(textviewDemoText.Buffer, "fontweight:bold");
                break;

            case "Bold Italic":
                ApplyTextTags(textviewDemoText.Buffer, "style:italic");
                ApplyTextTags(textviewDemoText.Buffer, "fontweight:bold");
                break;

            default:
                break;
            }

            return;
        }
Esempio n. 9
0
    //selects a row that has an uniqueID (usually at col 0)
    public static void TreeviewSelectRowWithID(Gtk.TreeView tv, Gtk.TreeStore store, int colNum, int id, bool scrollToRow)
    {
        if (id <= 0)
        {
            return;
        }

        int rowNum = getRowNumOfThisID(store, colNum, id);

        if (rowNum == -1)
        {
            return;
        }

        //set the selected
        int      count = 0;
        TreeIter iter;
        bool     iterOk = store.GetIterFirst(out iter);

        while (iterOk)
        {
            if (count == rowNum)
            {
                //1 select row
                tv.Selection.SelectIter(iter);

                //2 scroll to that row
                if (scrollToRow)
                {
                    TreePath path = store.GetPath(iter);
                    LogB.Debug(path.ToString());
                    tv.ScrollToCell(path, tv.Columns[0], true, 0, 0);
                }

                return;
            }

            count++;
            store.IterNext(ref iter);
        }
    }
Esempio n. 10
0
        void treeViewFontSizes_SelectionChanged(object sender, EventArgs args)
        {
            int fontsize_selected = -1;

            TreeSelection selection = (sender as TreeView).Selection;
            TreeModel     model;
            TreeIter      iter;

            // iter - points to selected row
            if (selection.GetSelected(out model, out iter))
            {
                TreePath tree_path   = model.GetPath(iter);
                string   select_path = tree_path.ToString();

                int    idx_column      = 0;
                object selected_object = model.GetValue(iter, idx_column);
                fontsize_selected = (int)selected_object;
            }

            entryFontSize.Text = fontsize_selected.ToString();
            ApplyTextTags(textviewDemoText.Buffer, "fontsize:" + fontsize_selected.ToString());

            return;
        }
Esempio n. 11
0
 public static void Serialize(TreePath value, TextWriter sw)
 {
     sw.Write('"');
     sw.Write(value.ToString());
     sw.Write('"');
 }
Esempio n. 12
0
    protected override void printData(string [] statValues)
    {
        if (numContinuous != -1)
        {
            int bestPos = findBestContinuous(statValues, numContinuous);
            if (bestPos != -1)
            {
                statValues = markBestContinuous(statValues, numContinuous, bestPos);
            }
        }

        if (toReport)
        {
            bool allowedRow = false;
            for (int i = 0; i < markedRows.Count; i++)
            {
                if (Convert.ToInt32(markedRows[i]) == rowsPassedToReport)
                {
                    allowedRow = true;
                    break;
                }
            }
            if (allowedRow)
            {
                reportString += "<TR>";
                //in report, if there are more than 5 jumps, break the row
                if (maxJumps > 5)
                {
                    //show 5 jumps in a row (every jump has 2 cols: TC + TF)
                    int countCols = -3;                     //jumper, index , fall, count (from -3 to 0)
                    int countRows = 0;
                    for (int i = 0; i < statValues.Length; i++)
                    {
                        //if a jump is shorter than the others,
                        //there's no need of filling rows with '-' in every cell
                        if (countCols >= 1 && statValues[i] == "-")
                        {
                            break;
                        }

                        //when countCols is 0, and countRows is 0 we should print the first 'Count'
                        if (countCols == 0 && countRows == 0)
                        {
                            reportString += "<TD>1-5</TD>";
                        }

                        //change line
                        if (countCols >= 10)
                        {
                            reportString += "</TR><TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD>";
                            countRows++;
                            countCols     = 0;
                            reportString += "<TD>" + (countRows * 5 + 1) + "-" +
                                            (countRows * 5 + 5) + "</TD>";
                        }
                        reportString += "<TD>" + statValues[i] + "</TD>";
                        countCols++;
                    }
                }
                else
                {
                    for (int i = 0; i < statValues.Length; i++)
                    {
                        reportString += "<TD>" + statValues[i] + "</TD>";
                    }
                }
                reportString += "</TR>\n";
            }
            rowsPassedToReport++;
        }
        else
        {
            //iter = store.AppendValues (statValues);
            iter = new TreeIter();

            //iter = store.Append (iter);	//doesn't work
            //store.Append (out iter);	//add new row and make iter point to it
            iter = store.AppendNode();

            //addAllNoneIfNeeded(statValues.Length);

            TreePath myPath = store.GetPath(iter);

            if (statValues[0] != Catalog.GetString("AVG") && statValues[0] != Catalog.GetString("SD"))
            {
                store.SetValue(iter, 0, true);                  //first col is true if it's not AVG or SD
                markedRows.Add(myPath.ToString());
                //LogB.Information("FROM PRINTDATA (EVOLUTION) Added to markedRows row:{0}", myPath.ToString());
            }

            for (int i = 0; i < statValues.Length; i++)
            {
                store.SetValue(iter, i + 1, statValues[i]);
            }
        }
    }
Esempio n. 13
0
 public static void Serialize(TreePath value, TextWriter sw)
 {
     sw.Write('"');
     sw.Write(value.ToString());
     sw.Write('"');
 }
 private static string Convert(TreePath value)
 {
     return(value != null ? "'" + value.ToString().Replace("'", "''") + "'" : "null");
 }
Esempio n. 15
0
        public void RebuildTable()
        {
            if ((null == model) || (null == items) || (null == table))
            {
                iFolderViewGroup.log.Info("NULL Reference Exception: Object, model is -{0}-items is-{1}-table is -{2}-", model, items, table);
                return;                 // prevent null pointer exception
            }

            int numOfItems = model.IterNChildren();

            if (numOfItems > 0)
            {
                int availableWidth = currentWidth
                                     - (int)(contentVBox.BorderWidth * 2)
                                     - (int)(table.BorderWidth * 2);

                int numOfColumns = availableWidth / ItemMaxWidth;
                if (numOfColumns < 1)
                {
                    numOfColumns = 1;                           // Force at least one column
                }
                int numOfRows = numOfItems / numOfColumns;
                if ((numOfItems % numOfColumns) > 0)
                {
                    numOfRows++;
                }

                bFirstTableBuild = false;

                ///
                /// Clear out the old items
                ///
                items.Clear();

                foreach (Widget w in table.Children)
                {
                    table.Remove(w);
                    w.Destroy();
                }

                table.Resize((uint)numOfRows, (uint)numOfColumns);

                int currentRow    = 0;
                int currentColumn = 0;

                TreeIter iter;
                if (model.GetIterFirst(out iter))
                {
                    do
                    {
                        iFolderHolder holder = (iFolderHolder)model.GetValue(iter, 0);
                        if (holder != null)
                        {
                            iFolderViewItem item = new iFolderViewItem(holder, this, iter, ItemMaxWidth);
                            if (null == item)
                            {
                                iFolderViewGroup.log.Info("NULL Reference Exception: Object item is NULL");
                                return;                                 //prevent null pointer exception
                            }

                            table.Attach(item,
                                         (uint)currentColumn, (uint)currentColumn + 1,
                                         (uint)currentRow, (uint)currentRow + 1,
                                         AttachOptions.Shrink | AttachOptions.Fill,
                                         0, 0, 0);

                            // Save off the item so we can quickly reference it later
                            TreePath path = model.GetPath(iter);
                            items[path.ToString()] = item;

                            // Register for the click events
                            item.LeftClicked +=
                                new EventHandler(OnItemLeftClicked);
                            item.RightClicked +=
                                new EventHandler(OnItemRightClicked);
                            item.DoubleClicked +=
                                new EventHandler(OnItemDoubleClicked);

                            currentColumn = ((currentColumn + 1) % numOfColumns);
                            if (currentColumn == 0)
                            {
                                currentRow++;
                            }
                        }
                    } while (model.IterNext(ref iter));
                }

                table.ShowAll();
            }
            else
            {
                items.Clear();
                foreach (Widget w in table.Children)
                {
                    table.Remove(w);
                    w.Destroy();
                }
            }
        }