protected internal override void OnMouseUp(Point _hitPoint, int _iButton) { if (_iButton == Screen.Game.InputMgr.PrimaryMouseButton) { if (mNotebook.DraggedTab == this) { mNotebook.DropTab(); DragOffset = 0; } if (_hitPoint.Y < mNotebook.LayoutRect.Y + mNotebook.Style.TabHeight /* && IsInTab */) { if (_hitPoint.X > LayoutRect.X && _hitPoint.X < LayoutRect.Right) { OnActivateUp(); } } } else if (_iButton == 1) { if (IsClosable && HitBox.Contains(_hitPoint)) { Close(); Screen.Focus(mNotebook); if (mNotebook.TabClosedHandler != null) { mNotebook.TabClosedHandler(this); } } } }
//---------------------------------------------------------------------- public NotebookTab(Notebook _notebook, string _strText, Texture2D _iconTex) : base(_notebook.Screen) { mNotebook = _notebook; Parent = _notebook; mLabel = new Label(Screen, "", Anchor.Start, Screen.Style.DefaultTextColor); mIcon = new Image(Screen, _iconTex); mTooltip = new Tooltip(Screen, ""); mCloseButton = new Button(Screen, new Button.ButtonStyle(5, null, null, mNotebook.Style.TabCloseHover, mNotebook.Style.TabCloseDown, null, 0, 0), "", mNotebook.Style.TabClose, Anchor.Center); mCloseButton.Parent = this; mCloseButton.Padding = new Box(0); mCloseButton.ClickHandler = delegate { mNotebook.Tabs.Remove(this); Screen.Focus(mNotebook); if (mNotebook.TabClosedHandler != null) { mNotebook.TabClosedHandler(this); } }; Text = _strText; PageGroup = new Group(Screen); PageGroup.Parent = this; }
//---------------------------------------------------------------------- public NotebookTab( Notebook _notebook, string _strText, Texture2D _iconTex ) : base(_notebook.Screen) { mNotebook = _notebook; Parent = _notebook; mLabel = new Label( Screen, "", Anchor.Start, Screen.Style.DefaultTextColor ); mIcon = new Image( Screen, _iconTex ); mTooltip = new Tooltip( Screen, "" ); mCloseButton = new Button( Screen, new Button.ButtonStyle( 5, null, null, Screen.Style.NotebookTabCloseHover, Screen.Style.NotebookTabCloseDown, null, 0, 0 ), "", Screen.Style.NotebookTabClose, Anchor.Center ); mCloseButton.Parent = this; mCloseButton.Padding = new Box(0); mCloseButton.ClickHandler = delegate { mNotebook.Tabs.Remove( this ); Screen.Focus( mNotebook ); if( mNotebook.TabClosedHandler != null ) { mNotebook.TabClosedHandler( this ); } }; Text = _strText; PageGroup = new Group( Screen ); PageGroup.Parent = this; }