From 23b9a9117879a58939a5eb58aec3e57f68bf66f4 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 19 Jun 2007 23:02:34 +0000 Subject: [PATCH] Also override MinSize() and PreferredSize(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21464 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/interface/MenuBar.h | 2 ++ src/kits/interface/MenuBar.cpp | 21 ++++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/headers/os/interface/MenuBar.h b/headers/os/interface/MenuBar.h index 8c0be34ea0..26e904ec01 100644 --- a/headers/os/interface/MenuBar.h +++ b/headers/os/interface/MenuBar.h @@ -81,7 +81,9 @@ public: // layout related + virtual BSize MinSize(); virtual BSize MaxSize(); + virtual BSize PreferredSize(); /*----- Private or reserved -----------------------------------------*/ virtual status_t Perform(perform_code d, void *arg); diff --git a/src/kits/interface/MenuBar.cpp b/src/kits/interface/MenuBar.cpp index 4b48a2ddf2..bdb4344cae 100644 --- a/src/kits/interface/MenuBar.cpp +++ b/src/kits/interface/MenuBar.cpp @@ -327,15 +327,26 @@ BMenuBar::Perform(perform_code d, void *arg) } +BSize +BMenuBar::MinSize() +{ + return BMenu::MinSize(); +} + + BSize BMenuBar::MaxSize() { - // TODO: cache the result - float width, height; - GetPreferredSize(&width, &height); - + BSize size = BMenu::MaxSize(); return BLayoutUtils::ComposeSize(ExplicitMaxSize(), - BSize(B_SIZE_UNLIMITED, height)); + BSize(B_SIZE_UNLIMITED, size.height)); +} + + +BSize +BMenuBar::PreferredSize() +{ + return BMenu::PreferredSize(); }