public ObjectInspectorPad() { controller = new ObjectInspectorTreeViewController(); controller.AllowEditing = true; treeView = controller.GetMacTreeView(ObjectValueTreeViewFlags.ObjectValuePadFlags); fontChanger = new PadFontChanger(treeView, SetCustomFont); var scrolled = new AppKit.NSScrollView { DocumentView = treeView, AutohidesScrollers = false, HasVerticalScroller = true, HasHorizontalScroller = true, }; scrolled.WantsLayer = true; scrolled.Layer.Actions = new NSDictionary( "actions", NSNull.Null, "contents", NSNull.Null, "hidden", NSNull.Null, "onLayout", NSNull.Null, "onOrderIn", NSNull.Null, "onOrderOut", NSNull.Null, "position", NSNull.Null, "sublayers", NSNull.Null, "transform", NSNull.Null, "bounds", NSNull.Null); var host = new GtkNSViewHost(scrolled); host.ShowAll(); control = host; }
public ObjectValuePad(bool allowWatchExpressions = false) { if (UseNewTreeView) { controller = new ObjectValueTreeViewController(allowWatchExpressions); controller.AllowEditing = true; if (Platform.IsMac) { LoggingService.LogInfo("Using MacObjectValueTreeView for {0}", allowWatchExpressions ? "Watch Pad" : "Locals Pad"); var treeView = controller.GetMacControl(ObjectValueTreeViewFlags.ObjectValuePadFlags); _treeview = treeView; fontChanger = new PadFontChanger(treeView, treeView.SetCustomFont, treeView.QueueResize); var scrolled = new AppKit.NSScrollView { DocumentView = treeView, AutohidesScrollers = false, HasVerticalScroller = true, HasHorizontalScroller = true, }; // disable implicit animations scrolled.WantsLayer = true; scrolled.Layer.Actions = new NSDictionary( "actions", NSNull.Null, "contents", NSNull.Null, "hidden", NSNull.Null, "onLayout", NSNull.Null, "onOrderIn", NSNull.Null, "onOrderOut", NSNull.Null, "position", NSNull.Null, "sublayers", NSNull.Null, "transform", NSNull.Null, "bounds", NSNull.Null); var host = new GtkNSViewHost(scrolled); host.ShowAll(); control = host; } else { LoggingService.LogInfo("Using GtkObjectValueTreeView for {0}", allowWatchExpressions ? "Watch Pad" : "Locals Pad"); var treeView = controller.GetGtkControl(ObjectValueTreeViewFlags.ObjectValuePadFlags); treeView.Show(); fontChanger = new PadFontChanger(treeView, treeView.SetCustomFont, treeView.QueueResize); var scrolled = new ScrolledWindow { HscrollbarPolicy = PolicyType.Automatic, VscrollbarPolicy = PolicyType.Automatic }; scrolled.Add(treeView); scrolled.Show(); control = scrolled; } } else { LoggingService.LogInfo("Using old ObjectValueTreeView for {0}", allowWatchExpressions ? "Watch Pad" : "Locals Pad"); tree = new ObjectValueTreeView(); tree.AllowAdding = allowWatchExpressions; tree.AllowEditing = true; tree.Show(); fontChanger = new PadFontChanger(tree, tree.SetCustomFont, tree.QueueResize); var scrolled = new ScrolledWindow { HscrollbarPolicy = PolicyType.Automatic, VscrollbarPolicy = PolicyType.Automatic }; scrolled.Add(tree); scrolled.Show(); control = scrolled; } DebuggingService.CurrentFrameChanged += OnFrameChanged; DebuggingService.PausedEvent += OnDebuggerPaused; DebuggingService.ResumedEvent += OnDebuggerResumed; DebuggingService.StoppedEvent += OnDebuggerStopped; DebuggingService.EvaluationOptionsChanged += OnEvaluationOptionsChanged; DebuggingService.VariableChanged += OnVariableChanged; needsUpdateValues = false; needsUpdateFrame = true; //If pad is created/opened while debugging... IsInitialResume = !DebuggingService.IsDebugging; }
public SplitterMacHostWidget() { view = new MacSplitterWidget(); host = new GtkNSViewHost(view); }
Widget CreateExceptionValueTreeView() { Widget scrolledWidget = null; if (useNewTreeView) { controller = new ObjectValueTreeViewController(); controller.SetStackFrame(DebuggingService.CurrentFrame); controller.AllowExpanding = true; if (Platform.IsMac) { macExceptionValueTreeView = controller.GetMacControl(ObjectValueTreeViewFlags.ObjectValuePadFlags); macExceptionValueTreeView.UIElementName = "ExceptionCaughtDialog"; } else { exceptionValueTreeView = controller.GetGtkControl(ObjectValueTreeViewFlags.ExceptionCaughtFlags); } } else { var objValueTreeView = new ObjectValueTreeView(); objValueTreeView.Frame = DebuggingService.CurrentFrame; objValueTreeView.AllowPopupMenu = false; objValueTreeView.AllowExpanding = true; objValueTreeView.AllowPinning = false; objValueTreeView.AllowEditing = false; objValueTreeView.AllowAdding = false; exceptionValueTreeView = objValueTreeView; } if (useNewTreeView && Platform.IsMac) { var scrolled = new AppKit.NSScrollView { DocumentView = macExceptionValueTreeView, AutohidesScrollers = true, HasVerticalScroller = true, HasHorizontalScroller = true, }; // disable implicit animations scrolled.WantsLayer = true; scrolled.Layer.Actions = new NSDictionary( "actions", NSNull.Null, "contents", NSNull.Null, "hidden", NSNull.Null, "onLayout", NSNull.Null, "onOrderIn", NSNull.Null, "onOrderOut", NSNull.Null, "position", NSNull.Null, "sublayers", NSNull.Null, "transform", NSNull.Null, "bounds", NSNull.Null); var host = new GtkNSViewHost(scrolled); host.ShowAll(); scrolledWidget = host; } else { exceptionValueTreeView.ModifyBase(StateType.Normal, Styles.ExceptionCaughtDialog.ValueTreeBackgroundColor.ToGdkColor()); exceptionValueTreeView.ModifyBase(StateType.Active, Styles.ObjectValueTreeActiveBackgroundColor.ToGdkColor()); exceptionValueTreeView.ModifyFont(Pango.FontDescription.FromString(Platform.IsWindows ? "9" : "11")); exceptionValueTreeView.RulesHint = false; exceptionValueTreeView.CanFocus = true; exceptionValueTreeView.Show(); var scrolled = new ScrolledWindow { CanFocus = true, HscrollbarPolicy = PolicyType.Automatic, VscrollbarPolicy = PolicyType.Automatic }; scrolled.ShadowType = ShadowType.None; scrolled.Add(exceptionValueTreeView); scrolled.Show(); scrolledWidget = scrolled; } var label = new Label(); label.Markup = "<b>" + GettextCatalog.GetString("Properties") + "</b>"; label.Xalign = 0; label.Xpad = 10; if (exceptionValueTreeView != null) { exceptionValueTreeView.SetCommonAccessibilityAttributes("ExceptionCaughtDialog.ExceptionValueTreeView", label, null); } else { macExceptionValueTreeView.AccessibilityTitle = new NSString(label.Text); } var vbox = new VBox(); vbox.PackStart(label, false, false, 12); vbox.PackStart(scrolledWidget, true, true, 0); vbox.ShowAll(); return(vbox); }
public SplitterMacHostWidget() { view = new MacSplitterWidget(); host = new GtkNSViewHost(view, AppKit.NSWindowOrderingMode.Above); }