Esempio n. 1
0
        void OutlineTreeDataFunc(Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter)
        {
            Gtk.CellRendererText txtRenderer = (Gtk.CellRendererText)cell;
            RazorOutlineNode     n           = (RazorOutlineNode)model.GetValue(iter, 0);

            txtRenderer.Text = n.Name;
        }
Esempio n. 2
0
        void BuildTreeChildren(Gtk.TreeStore store, Gtk.TreeIter parent, XContainer p, IList <Block> blocks)
        {
            foreach (XNode node in p.Nodes)
            {
                var el = node as XElement;
                if (el == null)
                {
                    var startLoc = node.Region.Begin;
                    var endLoc   = node.Region.End;
                    var doc      = defaultEditor;

                    var blocksBetween = blocks.Where(n => n.Start.AbsoluteIndex >= doc.LocationToOffset(startLoc.Line, startLoc.Column) &&
                                                     n.Start.AbsoluteIndex <= doc.LocationToOffset(endLoc.Line, endLoc.Column));

                    foreach (var block in blocksBetween)
                    {
                        var outlineNode = new RazorOutlineNode(block)
                        {
                            Location = new MonoDevelop.Ide.Editor.DocumentRegion(doc.OffsetToLocation(block.Start.AbsoluteIndex),
                                                                                 doc.OffsetToLocation(block.Start.AbsoluteIndex + block.Length))
                        };
                        if (!parent.Equals(Gtk.TreeIter.Zero))
                        {
                            store.AppendValues(parent, outlineNode);
                        }
                        else
                        {
                            store.AppendValues(outlineNode);
                        }
                    }
                    continue;
                }

                Gtk.TreeIter childIter;
                if (!parent.Equals(Gtk.TreeIter.Zero))
                {
                    childIter = store.AppendValues(parent, new RazorOutlineNode(el));
                }
                else
                {
                    childIter = store.AppendValues(new RazorOutlineNode(el));
                }

                BuildTreeChildren(store, childIter, el, blocks);
            }
        }
Esempio n. 3
0
 void SelectNode(RazorOutlineNode n)
 {
     EditorSelect(n.Location);
 }