lbajardsilogic@7: lbajardsilogic@7: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ lbajardsilogic@7: lbajardsilogic@7: /* lbajardsilogic@7: Sound Access lbajardsilogic@7: EASAIER client application. lbajardsilogic@7: Silogic 2007. Benoit Rigolleau. lbajardsilogic@7: lbajardsilogic@7: This program is free software; you can redistribute it and/or lbajardsilogic@7: modify it under the terms of the GNU General Public License as lbajardsilogic@7: published by the Free Software Foundation; either version 2 of the lbajardsilogic@7: License, or (at your option) any later version. See the file lbajardsilogic@7: COPYING included with this distribution for more information. lbajardsilogic@7: */ lbajardsilogic@7: lbajardsilogic@7: #ifndef _EXPAND_WIDGET_H lbajardsilogic@7: #define _EXPAND_WIDGET_H lbajardsilogic@7: lbajardsilogic@7: #include lbajardsilogic@7: #include lbajardsilogic@7: #include lbajardsilogic@7: #include lbajardsilogic@7: #include lbajardsilogic@7: #include lbajardsilogic@7: #include lbajardsilogic@7: lbajardsilogic@7: class QPushButton; lbajardsilogic@7: class QSplitter; lbajardsilogic@7: lbajardsilogic@7: class ExpandWidget : public QSplitter{ lbajardsilogic@7: Q_OBJECT lbajardsilogic@7: lbajardsilogic@7: public: lbajardsilogic@7: enum Location { lbajardsilogic@7: Location_Top=0, lbajardsilogic@7: Location_Right=1, lbajardsilogic@7: Location_Bottom=2, lbajardsilogic@7: Location_Left=3 lbajardsilogic@7: }; lbajardsilogic@7: lbajardsilogic@7: ExpandWidget(QWidget *parent=0); lbajardsilogic@7: void setPanes(QWidget *newCenterPane, QWidget *newOtherPane); lbajardsilogic@7: void setWidgetLocation(ExpandWidget::Location newWidgetLocation); lbajardsilogic@7: lbajardsilogic@101: void setPercentage(int a, int b); lbajardsilogic@101: lbajardsilogic@205: inline bool isVisible(){return !m_paneClosed;} lbajardsilogic@205: lbajardsilogic@205: signals: lbajardsilogic@205: void paneStateChanged(bool );//emit true if the pane is visible false if not lbajardsilogic@205: lbajardsilogic@7: private slots: lbajardsilogic@205: void changePaneState(); lbajardsilogic@7: lbajardsilogic@7: private: lbajardsilogic@7: void refreshButtonIcone(); lbajardsilogic@7: lbajardsilogic@7: QPushButton *m_button; lbajardsilogic@7: QWidget *m_centerPane; lbajardsilogic@7: QWidget *m_otherPane; lbajardsilogic@7: QLayout *m_layout; lbajardsilogic@7: ExpandWidget::Location m_widgetLocation; lbajardsilogic@7: lbajardsilogic@7: bool m_paneClosed; lbajardsilogic@7: lbajardsilogic@7: }; lbajardsilogic@7: #endif lbajardsilogic@7: lbajardsilogic@7: