annotate widgets/ExpandWidget.h @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents 00cf9a7faa4d
children
rev   line source
lbajardsilogic@7 1
lbajardsilogic@7 2 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
lbajardsilogic@7 3
lbajardsilogic@7 4 /*
lbajardsilogic@7 5 Sound Access
lbajardsilogic@7 6 EASAIER client application.
lbajardsilogic@7 7 Silogic 2007. Benoit Rigolleau.
lbajardsilogic@7 8
lbajardsilogic@7 9 This program is free software; you can redistribute it and/or
lbajardsilogic@7 10 modify it under the terms of the GNU General Public License as
lbajardsilogic@7 11 published by the Free Software Foundation; either version 2 of the
lbajardsilogic@7 12 License, or (at your option) any later version. See the file
lbajardsilogic@7 13 COPYING included with this distribution for more information.
lbajardsilogic@7 14 */
lbajardsilogic@7 15
lbajardsilogic@7 16 #ifndef _EXPAND_WIDGET_H
lbajardsilogic@7 17 #define _EXPAND_WIDGET_H
lbajardsilogic@7 18
lbajardsilogic@7 19 #include <QApplication>
lbajardsilogic@7 20 #include <QPushButton>
lbajardsilogic@7 21 #include <QHBoxLayout>
lbajardsilogic@7 22 #include <QVBoxLayout>
lbajardsilogic@7 23 #include <QLayout>
lbajardsilogic@7 24 #include <QSplitter>
lbajardsilogic@7 25 #include <QWidget>
lbajardsilogic@7 26
lbajardsilogic@7 27 class QPushButton;
lbajardsilogic@7 28 class QSplitter;
lbajardsilogic@7 29
lbajardsilogic@7 30 class ExpandWidget : public QSplitter{
lbajardsilogic@7 31 Q_OBJECT
lbajardsilogic@7 32
lbajardsilogic@7 33 public:
lbajardsilogic@7 34 enum Location {
lbajardsilogic@7 35 Location_Top=0,
lbajardsilogic@7 36 Location_Right=1,
lbajardsilogic@7 37 Location_Bottom=2,
lbajardsilogic@7 38 Location_Left=3
lbajardsilogic@7 39 };
lbajardsilogic@7 40
lbajardsilogic@7 41 ExpandWidget(QWidget *parent=0);
lbajardsilogic@7 42 void setPanes(QWidget *newCenterPane, QWidget *newOtherPane);
lbajardsilogic@7 43 void setWidgetLocation(ExpandWidget::Location newWidgetLocation);
lbajardsilogic@7 44
lbajardsilogic@101 45 void setPercentage(int a, int b);
lbajardsilogic@101 46
lbajardsilogic@205 47 inline bool isVisible(){return !m_paneClosed;}
lbajardsilogic@205 48
lbajardsilogic@205 49 signals:
lbajardsilogic@205 50 void paneStateChanged(bool );//emit true if the pane is visible false if not
lbajardsilogic@205 51
lbajardsilogic@7 52 private slots:
lbajardsilogic@205 53 void changePaneState();
lbajardsilogic@7 54
lbajardsilogic@7 55 private:
lbajardsilogic@7 56 void refreshButtonIcone();
lbajardsilogic@7 57
lbajardsilogic@7 58 QPushButton *m_button;
lbajardsilogic@7 59 QWidget *m_centerPane;
lbajardsilogic@7 60 QWidget *m_otherPane;
lbajardsilogic@7 61 QLayout *m_layout;
lbajardsilogic@7 62 ExpandWidget::Location m_widgetLocation;
lbajardsilogic@7 63
lbajardsilogic@7 64 bool m_paneClosed;
lbajardsilogic@7 65
lbajardsilogic@7 66 };
lbajardsilogic@7 67 #endif
lbajardsilogic@7 68
lbajardsilogic@7 69