public CTTabStripController(CTTabStripView view, global::MonoMac.AppKit.NSView switchView, CTBrowser browser)
     : base(NSObjectFlag.Empty)
 {
     if (view == null)
     {
         throw new ArgumentNullException("view");
     }
     if (switchView == null)
     {
         throw new ArgumentNullException("switchView");
     }
     if (browser == null)
     {
         throw new ArgumentNullException("browser");
     }
     IsDirectBinding = GetType().Assembly == global::ChromiumTabsAPI.Messaging.this_assembly;
     if (IsDirectBinding)
     {
         Handle = MonoMac.ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr_IntPtr(this.Handle, selInitWithViewSwitchViewBrowser_Handle, view.Handle, switchView.Handle, browser.Handle);
     }
     else
     {
         Handle = MonoMac.ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr_IntPtr(this.SuperHandle, selInitWithViewSwitchViewBrowser_Handle, view.Handle, switchView.Handle, browser.Handle);
     }
 }
 public static CTBrowserWindowController BrowserWindowControllerForView(global::MonoMac.AppKit.NSView view)
 {
     if (view == null)
     {
         throw new ArgumentNullException("view");
     }
     return((CTBrowserWindowController)Runtime.GetNSObject(MonoMac.ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr(class_ptr, selBrowserWindowControllerForView_Handle, view.Handle)));
 }
 public virtual void SetTab(global::MonoMac.AppKit.NSView tabView, bool draggable)
 {
     if (tabView == null)
     {
         throw new ArgumentNullException("tabView");
     }
     if (IsDirectBinding)
     {
         MonoMac.ObjCRuntime.Messaging.void_objc_msgSend_IntPtr_bool(this.Handle, selSetTabIsDraggable_Handle, tabView.Handle, draggable);
     }
     else
     {
         MonoMac.ObjCRuntime.Messaging.void_objc_msgSendSuper_IntPtr_bool(this.SuperHandle, selSetTabIsDraggable_Handle, tabView.Handle, draggable);
     }
 }
 public virtual bool IsTabDraggable(global::MonoMac.AppKit.NSView tabView)
 {
     if (tabView == null)
     {
         throw new ArgumentNullException("tabView");
     }
     if (IsDirectBinding)
     {
         return(MonoMac.ObjCRuntime.Messaging.bool_objc_msgSend_IntPtr(this.Handle, selIsTabDraggable_Handle, tabView.Handle));
     }
     else
     {
         return(MonoMac.ObjCRuntime.Messaging.bool_objc_msgSendSuper_IntPtr(this.SuperHandle, selIsTabDraggable_Handle, tabView.Handle));
     }
 }
 public virtual int ModelIndexForTabView(global::MonoMac.AppKit.NSView view)
 {
     if (view == null)
     {
         throw new ArgumentNullException("view");
     }
     if (IsDirectBinding)
     {
         return(MonoMac.ObjCRuntime.Messaging.int_objc_msgSend_IntPtr(this.Handle, selModelIndexForTabView_Handle, view.Handle));
     }
     else
     {
         return(MonoMac.ObjCRuntime.Messaging.int_objc_msgSendSuper_IntPtr(this.SuperHandle, selModelIndexForTabView_Handle, view.Handle));
     }
 }
 public virtual void MoveTabView(global::MonoMac.AppKit.NSView view, CTTabWindowController controller)
 {
     if (view == null)
     {
         throw new ArgumentNullException("view");
     }
     if (controller == null)
     {
         throw new ArgumentNullException("controller");
     }
     if (IsDirectBinding)
     {
         MonoMac.ObjCRuntime.Messaging.void_objc_msgSend_IntPtr_IntPtr(this.Handle, selMoveTabViewFromController_Handle, view.Handle, controller.Handle);
     }
     else
     {
         MonoMac.ObjCRuntime.Messaging.void_objc_msgSendSuper_IntPtr_IntPtr(this.SuperHandle, selMoveTabViewFromController_Handle, view.Handle, controller.Handle);
     }
 }