Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

qwt_dyngrid_layout.h

00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_DYNGRID_LAYOUT_H
00011 #define QWT_DYNGRID_LAYOUT_H
00012 
00013 #include <qlayout.h>
00014 #include <qsize.h>
00015 #include "qwt_array.h"
00016 #include <qvaluelist.h>
00017 #include "qwt_global.h"
00018 
00019 class QwtDynGridLayoutPrivate;
00020 
00030 class QWT_EXPORT QwtDynGridLayout : public QLayout
00031 {
00032     Q_OBJECT
00033 public:
00034     QwtDynGridLayout(QWidget *, int margin=0, 
00035         int space=-1, const char *name = 0);
00036     QwtDynGridLayout(QLayout *, int space=-1, const char * name = 0 );
00037     QwtDynGridLayout(int space=-1, const char * name=0 );
00038 
00039     virtual ~QwtDynGridLayout();
00040 
00041     void setMaxCols(uint maxCols);
00042     uint maxCols() const;
00043 
00044     uint numRows () const; 
00045     uint numCols () const;
00046 
00047     virtual void addItem(QLayoutItem *);
00048     virtual QLayoutIterator iterator();
00049 
00050     virtual int maxItemWidth() const;
00051 
00052     virtual void setGeometry(const QRect &rect);
00053 
00054     virtual bool hasHeightForWidth() const;
00055     virtual int heightForWidth(int) const;
00056 
00057     virtual QSize sizeHint() const;
00058 
00059     void setExpanding(QSizePolicy::ExpandData);
00060     virtual QSizePolicy::ExpandData expanding() const;
00061 
00062     virtual bool isEmpty() const;
00063     uint itemCount() const;
00064 
00065     virtual uint columnsForWidth(int width) const;
00066 
00067     QValueList<QRect> layoutItems(const QRect &, uint numCols) const;
00068 
00069 protected:
00070 
00071     void layoutGrid(uint numCols,
00072             QwtArray<int>& rowHeight, QwtArray<int>& colWidth) const;
00073     void stretchGrid(const QRect &rect, uint numCols, 
00074         QwtArray<int>& rowHeight, QwtArray<int>& colWidth) const;
00075 
00076 private:
00077     void init();
00078 
00079     uint d_maxCols;
00080     uint d_numRows;
00081     uint d_numCols;
00082     
00083     QSizePolicy::ExpandData d_expanding;
00084     QwtDynGridLayoutPrivate *d_layoutData;
00085 };
00086 
00087 #endif
00088 
00089 // Local Variables:
00090 // mode: C++
00091 // c-file-style: "stroustrup"
00092 // indent-tabs-mode: nil
00093 // End:

Generated on Sun Sep 26 23:24:36 2004 for Qwt User's Guide by doxygen 1.3.6