2 * Copyright 2006-2010, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
10 #include <Archivable.h>
19 class BLayoutItem
: public BArchivable
{
22 BLayoutItem(BMessage
* from
);
23 virtual ~BLayoutItem();
25 BLayout
* Layout() const;
28 virtual BSize
MinSize() = 0;
29 virtual BSize
MaxSize() = 0;
30 virtual BSize
PreferredSize() = 0;
31 virtual BAlignment
Alignment() = 0;
33 virtual void SetExplicitMinSize(BSize size
) = 0;
34 virtual void SetExplicitMaxSize(BSize size
) = 0;
35 virtual void SetExplicitPreferredSize(BSize size
) = 0;
36 void SetExplicitSize(BSize size
);
37 virtual void SetExplicitAlignment(BAlignment alignment
) = 0;
39 virtual bool IsVisible() = 0;
40 virtual void SetVisible(bool visible
) = 0;
42 virtual BRect
Frame() = 0;
43 virtual void SetFrame(BRect frame
) = 0;
45 virtual bool HasHeightForWidth();
46 virtual void GetHeightForWidth(float width
, float* min
,
47 float* max
, float* preferred
);
49 virtual BView
* View();
51 virtual void InvalidateLayout(bool children
= false);
52 virtual void Relayout(bool immediate
= false);
54 void* LayoutData() const;
55 void SetLayoutData(void* data
);
57 void AlignInFrame(BRect frame
);
59 virtual status_t
Archive(BMessage
* into
, bool deep
= true) const;
61 virtual status_t
Perform(perform_code d
, void* arg
);
65 virtual status_t
AllArchived(BMessage
* into
) const;
66 virtual status_t
AllUnarchived(const BMessage
* from
);
69 virtual void LayoutInvalidated(bool children
);
71 virtual void AttachedToLayout();
72 virtual void DetachedFromLayout(BLayout
* layout
);
74 virtual void AncestorVisibilityChanged(bool shown
);
77 void SetLayout(BLayout
* layout
);
79 virtual void _ReservedLayoutItem1();
80 virtual void _ReservedLayoutItem2();
81 virtual void _ReservedLayoutItem3();
82 virtual void _ReservedLayoutItem4();
83 virtual void _ReservedLayoutItem5();
84 virtual void _ReservedLayoutItem6();
85 virtual void _ReservedLayoutItem7();
86 virtual void _ReservedLayoutItem8();
87 virtual void _ReservedLayoutItem9();
88 virtual void _ReservedLayoutItem10();
91 BLayoutItem(const BLayoutItem
&);
92 void operator =(const BLayoutItem
&);
103 #endif // _LAYOUT_ITEM_H