libplasma
flowlayout.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 __FLOWLAYOUT__
00021 #define __FLOWLAYOUT__
00022
00023 #include <plasma/plasma_export.h>
00024 #include <plasma/layouts/layout.h>
00025
00026 namespace Plasma
00027 {
00028
00034 class PLASMA_EXPORT FlowLayout : public Layout
00035 {
00036 public:
00038 explicit FlowLayout(LayoutItem* parent);
00039 virtual ~FlowLayout();
00040
00041
00042 virtual int count() const;
00043 virtual void addItem(LayoutItem* item);
00044 virtual void removeItem(LayoutItem* item);
00045 virtual int indexOf(LayoutItem* item) const;
00046 virtual LayoutItem* itemAt(int i) const;
00047 virtual LayoutItem* takeAt(int i);
00048
00049 virtual QSizeF sizeHint() const;
00050 virtual Qt::Orientations expandingDirections() const;
00051 virtual void setColumnWidth( const qreal width );
00052 virtual qreal columnWidth() const;
00053
00054 protected:
00055 void relayout();
00056
00057 private:
00058 class Private;
00059 Private *const d;
00060 };
00061
00062 }
00063
00064 #endif // __FLOWLAYOUT__
00065