libplasma
borderlayout.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef PLASMA_BORDER_LAYOUT
00021 #define PLASMA_BORDER_LAYOUT
00022
00023 #include <QtCore/QMap>
00024
00025 #include <plasma/plasma_export.h>
00026 #include <plasma/plasma.h>
00027 #include <plasma/layouts/layout.h>
00028
00029 namespace Plasma {
00030
00031 class BorderLayoutPrivate;
00032
00039 class PLASMA_EXPORT BorderLayout : public Layout {
00040 public:
00041
00042 explicit BorderLayout(LayoutItem * parent = 0);
00043 virtual ~BorderLayout();
00044
00045 virtual Qt::Orientations expandingDirections() const;
00046
00047 QSizeF sizeHint() const;
00048
00053 void addItem(Plasma::LayoutItem * item);
00054
00058 void addItem(Plasma::LayoutItem * item, Position position);
00059
00060 void removeItem(Plasma::LayoutItem * item);
00061
00062 virtual int count() const;
00063 virtual int indexOf(LayoutItem * item) const;
00064 virtual LayoutItem * itemAt(int i) const;
00065 virtual LayoutItem * takeAt(int i);
00066
00074 void setSize(qreal size, Position border);
00075
00080 void setAutoSize(Position border);
00081
00087 qreal size(Position border);
00088
00089 protected:
00090 void relayout();
00091 void releaseManagedItems();
00092
00093 private:
00094 BorderLayoutPrivate * const d;
00095 };
00096
00097 }
00098
00099 #endif