示例#1
0
        public void Measure(MacObjectValueTreeView treeView)
        {
            if (OptimalXOffset < 0)
            {
                nfloat offset = 17.0f;
                var    node   = Target;

                while (!(node.Parent is RootObjectValueNode))
                {
                    node    = node.Parent;
                    offset += 16.0f;
                }

                OptimalXOffset = offset;
            }

            if (OptimalNameFont != treeView.CustomFont || OptimalNameWidth < 0)
            {
                OptimalNameWidth = MacDebuggerObjectNameView.GetOptimalWidth(treeView, Target);
                OptimalNameFont  = treeView.CustomFont;
            }

            if (OptimalValueFont != treeView.CustomFont || OptimalValueWidth < 0)
            {
                OptimalValueWidth = MacDebuggerObjectValueView.GetOptimalWidth(treeView, Target, HideValueButton);
                OptimalValueFont  = treeView.CustomFont;
            }
        }
示例#2
0
        public override NSView GetView(NSOutlineView outlineView, NSTableColumn tableColumn, NSObject item)
        {
            var view = (MacDebuggerObjectCellViewBase)outlineView.MakeView(tableColumn.Identifier, this);

            switch (tableColumn.Identifier)
            {
            case "name":
                if (view == null)
                {
                    view = new MacDebuggerObjectNameView(treeView);
                }
                break;

            case "value":
                if (view == null)
                {
                    view = new MacDebuggerObjectValueView(treeView);
                }
                break;

            case "type":
                if (view == null)
                {
                    view = new MacDebuggerObjectTypeView(treeView);
                }
                break;

            case "pin":
                if (view == null)
                {
                    view = new MacDebuggerObjectPinView(treeView);
                }
                break;

            default:
                return(null);
            }

            view.Row         = outlineView.RowForItem(item);
            view.ObjectValue = item;

            return(view);
        }
示例#3
0
 public EditableTextField(MacDebuggerObjectValueView valueView)
 {
     this.valueView = valueView;
 }