Make the MenuScrollView a fixed size...
instead of trying to make it follow fExpando just make it a fixed size on creation. It is invisible and extends to the bottom of the screen. fExpando grows inside it, and the window follows fExpando. When the window grows taller than the screenframe the arrows are added. You can scroll with the mouse wheel, but I haven't yet gotten scrolling to work from clicking. Deskbar still crashes when going from Mini mode to vertical expando mode. I have no idea why.
This commit is contained in:
@@ -16,17 +16,17 @@
|
||||
class BLayout;
|
||||
class BMenu;
|
||||
class BMenuScroller;
|
||||
class BPoint;
|
||||
|
||||
|
||||
class BMenuScrollView : public BView {
|
||||
public:
|
||||
BMenuScrollView(BMenu* menu);
|
||||
BMenuScrollView(BRect frame, BMenu* menu);
|
||||
virtual ~BMenuScrollView();
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void DetachedFromWindow();
|
||||
virtual void Draw(BRect updateRect);
|
||||
virtual void FrameResized(float newWidth, float newHeight);
|
||||
virtual void MouseDown(BPoint where);
|
||||
|
||||
void AttachScrollers();
|
||||
void DetachScrollers();
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
|
||||
void SetSmallStep(float step);
|
||||
void GetSteps(float* _smallStep, float* _largeStep) const;
|
||||
|
||||
bool CheckForScrolling(const BPoint& cursor);
|
||||
bool TryScrollBy(const float& step);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user