地面站终端 App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.3 KiB

15 years ago
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_DYNGRID_LAYOUT_H
#define QWT_DYNGRID_LAYOUT_H
#include "qwt_global.h"
15 years ago
#include <qlayout.h>
#include <qsize.h>
#include <qlist.h>
/*!
\brief The QwtDynGridLayout class lays out widgets in a grid,
adjusting the number of columns and rows to the current size.
QwtDynGridLayout takes the space it gets, divides it up into rows and
columns, and puts each of the widgets it manages into the correct cell(s).
It lays out as many number of columns as possible (limited by maxColumns()).
15 years ago
*/
class QWT_EXPORT QwtDynGridLayout : public QLayout
{
Q_OBJECT
public:
explicit QwtDynGridLayout( QWidget *, int margin = 0, int space = -1 );
explicit QwtDynGridLayout( int space = -1 );
15 years ago
virtual ~QwtDynGridLayout();
virtual void invalidate();
void setMaxColumns( uint maxCols );
uint maxColumns() const;
15 years ago
uint numRows () const;
uint numColumns () const;
15 years ago
virtual void addItem( QLayoutItem * );
15 years ago
virtual QLayoutItem *itemAt( int index ) const;
virtual QLayoutItem *takeAt( int index );
virtual int count() const;
void setExpandingDirections( Qt::Orientations );
15 years ago
virtual Qt::Orientations expandingDirections() const;
QList<QRect> layoutItems( const QRect &, uint numCols ) const;
15 years ago
virtual int maxItemWidth() const;
virtual void setGeometry( const QRect &rect );
15 years ago
virtual bool hasHeightForWidth() const;
virtual int heightForWidth( int ) const;
15 years ago
virtual QSize sizeHint() const;
virtual bool isEmpty() const;
uint itemCount() const;
virtual uint columnsForWidth( int width ) const;
15 years ago
protected:
void layoutGrid( uint numCols,
QVector<int>& rowHeight, QVector<int>& colWidth ) const;
void stretchGrid( const QRect &rect, uint numCols,
QVector<int>& rowHeight, QVector<int>& colWidth ) const;
15 years ago
private:
void init();
int maxRowWidth( int numCols ) const;
15 years ago
class PrivateData;
15 years ago
PrivateData *d_data;
};
#endif