* Added layout-related methods (Min/Max/PreferredSize(), InvalidateLayout(),

DoLayout()).
* Don't resize the view and the window anymore, when fResizeToFit is not
  set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21426 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2007-06-17 01:15:05 +00:00
parent 05e3a10655
commit 4fa167e12d
2 changed files with 127 additions and 22 deletions
+9 -1
View File
@@ -113,11 +113,16 @@ virtual void SetMaxContentWidth(float max);
virtual void MessageReceived(BMessage *msg);
virtual void KeyDown(const char *bytes, int32 numBytes);
virtual void Draw(BRect updateRect);
virtual BSize MinSize();
virtual BSize MaxSize();
virtual BSize PreferredSize();
virtual void GetPreferredSize(float *width, float *height);
virtual void ResizeToPreferred();
virtual void DoLayout();
virtual void FrameMoved(BPoint new_position);
virtual void FrameResized(float new_width, float new_height);
void InvalidateLayout();
virtual void InvalidateLayout(bool descendants);
virtual BHandler *ResolveSpecifier(BMessage *msg,
int32 index,
@@ -180,6 +185,8 @@ friend status_t _init_interface_kit_();
friend status_t set_menu_info(menu_info *);
friend status_t get_menu_info(menu_info *);
struct LayoutData;
virtual void _ReservedMenu3();
virtual void _ReservedMenu4();
virtual void _ReservedMenu5();
@@ -202,6 +209,7 @@ virtual void _ReservedMenu6();
bool del = false);
bool RelayoutIfNeeded();
void LayoutItems(int32 index);
BSize _ValidatePreferredSize();
void ComputeLayout(int32 index, bool bestFit, bool moveItems,
float* width, float* height);
void _ComputeColumnLayout(int32 index, bool bestFit, bool moveItems, BRect &outRect);
@@ -292,7 +300,7 @@ static bool sAltAsCommandKey;
BPoint *fInitMatrixSize;
_ExtraMenuData_ *fExtraMenuData;
uint32 _reserved[1];
LayoutData* fLayoutData;
int32 fSubmenus;