diff --git a/headers/private/interface/BMCPrivate.h b/headers/private/interface/BMCPrivate.h index 3843882dd0..c6f0bdead3 100644 --- a/headers/private/interface/BMCPrivate.h +++ b/headers/private/interface/BMCPrivate.h @@ -45,9 +45,11 @@ virtual void FrameResized(float width, float height); virtual void MessageReceived(BMessage* msg); virtual void MakeFocus(bool focused = true); - void TogglePopUpMarker(bool show) { fShowPopUpMarker = show; } - bool IsPopUpMarkerShown() const { return fShowPopUpMarker; } - + void TogglePopUpMarker(bool show) { fShowPopUpMarker = show; } + bool IsPopUpMarkerShown() const { return fShowPopUpMarker; } + +virtual BSize MaxSize(); + private: _BMCMenuBar_&operator=(const _BMCMenuBar_ &); diff --git a/src/kits/interface/BMCPrivate.cpp b/src/kits/interface/BMCPrivate.cpp index 82e02dcc4f..e817c93ca3 100644 --- a/src/kits/interface/BMCPrivate.cpp +++ b/src/kits/interface/BMCPrivate.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include #include @@ -321,6 +322,17 @@ _BMCMenuBar_::MakeFocus(bool focused) } +BSize +_BMCMenuBar_::MaxSize() +{ + // The maximum width of a normal BMenuBar is unlimited, but we want it + // limited. + BSize size; + BMenuBar::GetPreferredSize(&size.width, &size.height); + return BLayoutUtils::ComposeSize(ExplicitMaxSize(), size); +} + + _BMCMenuBar_ &_BMCMenuBar_::operator=(const _BMCMenuBar_ &) {