From 9a9ad47d2ab365c985c607bb26dbd2457a6a2de7 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 13 Oct 2021 12:10:21 -0700 Subject: [PATCH] UI fixes --- BeefLibs/Beefy2D/src/widgets/ListView.bf | 2 +- BeefLibs/Beefy2D/src/widgets/ScrollableWidget.bf | 4 ++-- BeefLibs/Beefy2D/src/widgets/TabbedView.bf | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/BeefLibs/Beefy2D/src/widgets/ListView.bf b/BeefLibs/Beefy2D/src/widgets/ListView.bf index e4360ee8..839cc575 100644 --- a/BeefLibs/Beefy2D/src/widgets/ListView.bf +++ b/BeefLibs/Beefy2D/src/widgets/ListView.bf @@ -339,7 +339,7 @@ namespace Beefy.widgets } else { - if (item.Selected) + if ((item.Selected) && (item.mMouseOver)) { item.mOnMouseUp.AddFront(new => ItemMouseUpHandler); diff --git a/BeefLibs/Beefy2D/src/widgets/ScrollableWidget.bf b/BeefLibs/Beefy2D/src/widgets/ScrollableWidget.bf index 7e03fda2..afa18417 100644 --- a/BeefLibs/Beefy2D/src/widgets/ScrollableWidget.bf +++ b/BeefLibs/Beefy2D/src/widgets/ScrollableWidget.bf @@ -103,13 +103,13 @@ namespace Beefy.widgets } } - public bool HorzScrollTo(double horzPos) + public bool HorzScrollTo(double horzPos, bool immediate = false) { double aHorzPos = Math.Max(0, Math.Min(horzPos, mScrollContent.mWidth - mScrollContentContainer.mWidth)); if (aHorzPos == mHorzPos.mDest) return false; - mHorzPos.Set(aHorzPos); + mHorzPos.Set(aHorzPos, immediate); if (mHorzScrollbar != null) { mHorzScrollbar.mContentPos = mHorzPos.v; diff --git a/BeefLibs/Beefy2D/src/widgets/TabbedView.bf b/BeefLibs/Beefy2D/src/widgets/TabbedView.bf index 59e00f54..0b9f30f6 100644 --- a/BeefLibs/Beefy2D/src/widgets/TabbedView.bf +++ b/BeefLibs/Beefy2D/src/widgets/TabbedView.bf @@ -162,7 +162,7 @@ namespace Beefy.widgets if ((mSrcDraggingWindow != null) && (mSrcDraggingWindow.mCaptureWidget != null)) mSrcDraggingWindow.ReleaseMouseCaptures(); - mTabbedView.mParentDockingFrame.GetRootDockingFrame().HideDragTarget(this, !mDragHelper.mAborted); + mTabbedView.mParentDockingFrame?.GetRootDockingFrame().HideDragTarget(this, !mDragHelper.mAborted); if (mNewDraggingWindow != null) { mNewDraggingWindow.mOnWindowLostFocus.Remove(scope => WindowDragLostFocusHandler, true); @@ -176,7 +176,7 @@ namespace Beefy.widgets public void MouseDrag(float x, float y, float dX, float dY) { - mTabbedView.mParentDockingFrame.GetRootDockingFrame().ShowDragTarget(this); + mTabbedView.mParentDockingFrame?.GetRootDockingFrame().ShowDragTarget(this); } public override void MouseUp(float x, float y, int32 btn) @@ -198,6 +198,8 @@ namespace Beefy.widgets public virtual bool IsTotalWindowContent() { + if (mTabbedView.mParentDockingFrame == null) + return false; return (mTabbedView.mParentDockingFrame.mParentDockingFrame == null) && (mTabbedView.mParentDockingFrame.GetDockedWindowCount() == 1) && (mTabbedView.GetTabCount() == 1) &&