/*************************************************************************** * Copyright (C) 2006 Nicolas Hadacek * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #ifndef CONTAINER_H #define CONTAINER_H #include #include #include #include class PopupButton; //---------------------------------------------------------------------------- class Container : public TQFrame { Q_OBJECT public: enum Type { Flat, Sunken }; Container(TQWidget *parent = 0, Type type = Flat); Container(TQWidgetStack *stack, uint index, Type type = Flat); Container(TQTabWidget *tabw, const TQString &title, Type type = Flat); void addWidget(TQWidget *widget, uint startRow, uint endRow, uint startCol, uint endCol, int alignment = 0); void addLayout(TQLayout *layout, uint startRow, uint endRow, uint startCol, uint endCol, int alignment = 0); uint numRows() const { return _gridLayout->numRows(); } uint numCols() const { return _gridLayout->numCols(); } void setFrame(Type type); void setMargin(uint margin) { _topLayout->setMargin(margin); } void setRowSpacing(uint row, uint spacing) { _gridLayout->setRowSpacing(row, spacing); } void setColSpacing(uint col, uint spacing) { _gridLayout->setColSpacing(col, spacing); } void setRowStretch(uint row, uint stretch) { _gridLayout->setRowStretch(row, stretch); } void setColStretch(uint col, uint stretch) { _gridLayout->setColStretch(col, stretch); } private: Type _type; TQGridLayout *_topLayout, *_gridLayout; void initLayout(); }; //---------------------------------------------------------------------------- class ButtonContainer : public Container { Q_OBJECT public: ButtonContainer(const TQString &title, TQWidget *parent); PopupButton &button() { return *_button; } private: PopupButton *_button; }; #endif