libplasma
freelayout.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
00021 #ifndef PLASMA_FREE_LAYOUT_H
00022 #define PLASMA_FREE_LAYOUT_H
00023
00024 #include <QtCore/QList>
00025
00026 #include <plasma/plasma_export.h>
00027 #include <plasma/layouts/layout.h>
00028
00029 namespace Plasma
00030 {
00031
00040 class PLASMA_EXPORT FreeLayout : public Layout
00041 {
00042 public:
00046 explicit FreeLayout(LayoutItem *parent = 0);
00047 ~FreeLayout();
00048
00049
00050 virtual void addItem(LayoutItem *l);
00051 virtual void removeItem(LayoutItem *l);
00052 virtual int indexOf(LayoutItem *l) const;
00053 virtual LayoutItem *itemAt(int i) const;
00054 virtual LayoutItem *takeAt(int i);
00055 virtual Qt::Orientations expandingDirections() const;
00056 virtual QRectF geometry() const;
00057 virtual int count() const;
00058
00059 virtual QSizeF sizeHint() const;
00060
00061 protected:
00062 void relayout();
00063
00064 private:
00065 class Private;
00066 Private *const d;
00067 };
00068
00069 }
00070
00071 #endif