~greg-hellings/bibletime/debian

« back to all changes in this revision

Viewing changes to src/frontend/cmdiarea.h

  • Committer: Jonathan Marsden
  • Date: 2011-12-23 20:32:12 UTC
  • Revision ID: jmarsden@fastmail.fm-20111223203212-1g3e35rlhbys07iu
New upstream version 2.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
 
15
15
#include <QList>
16
16
 
 
17
 
17
18
class BibleTime;
18
19
class CSwordModuleInfo;
19
20
class CDisplayWindow;
22
23
  A custom MDI area widget.
23
24
*/
24
25
class CMDIArea: public QMdiArea {
 
26
 
25
27
        Q_OBJECT
26
28
        Q_PROPERTY(MDIArrangementMode m_mdiArrangementMode READ getMDIArrangementMode WRITE setMDIArrangementMode)
27
29
 
28
 
    public:
 
30
    public: /* Types: */
 
31
 
29
32
        /**
30
33
          Possible MDI subwindow arrangement modes.
31
34
        */
38
41
            ArrangementModeTabbed = 6
39
42
        };
40
43
 
 
44
    public: /* Methods: */
 
45
 
41
46
        /**
42
47
          \param[in] parent BibleTime main window used for parent widget.
43
48
        */
67
72
        void triggerWindowUpdate();
68
73
 
69
74
        /**
70
 
          Returns a lists of all subwindows which are not minimized or hidden.
 
75
          \returns a lists of all subwindows which are not minimized or hidden.
71
76
        */
72
 
        QList<QMdiSubWindow*> usableWindowList();
 
77
        QList<QMdiSubWindow*> usableWindowList() const;
73
78
 
74
79
        /**
75
80
          Show or hide the sub-window min/max buttons.
77
82
        void enableWindowMinMaxFlags(bool enable);
78
83
 
79
84
    public slots:
 
85
 
80
86
        /**
81
87
          Uses Qt's tileSubWindows function.
82
88
          \note This not set an automatic arrangement mode, it just arranges the
113
119
        void myTileHorizontal();
114
120
 
115
121
    signals:
 
122
 
116
123
        /**
117
124
        * Emits a signal to set the caption of the toplevel widget.
118
125
        */
119
126
        void sigSetToplevelCaption(const QString&);
120
127
 
121
 
    protected:
 
128
    protected: /* Methods: */
 
129
 
122
130
        /**
123
131
          Reimplementation of QWidget::resizeEvent() to handle our automatic
124
132
          tiling properly.
132
140
        bool eventFilter(QObject *o, QEvent *e);
133
141
 
134
142
        void emitWindowCaptionChanged();
 
143
 
135
144
        void fixSystemMenu(QMdiSubWindow* subWindow);
136
145
 
137
146
    protected slots:
 
147
 
138
148
        /**
139
149
          Called whan a subwindow was activated.
140
150
        */
141
151
        void slotSubWindowActivated(QMdiSubWindow *client);
142
152
 
143
 
    protected:
 
153
        /**
 
154
          Called whan a tabbed subwindow is closed from the tab
 
155
        */
 
156
        void closeTab(int i);
 
157
 
 
158
    protected: /* Fields: */
 
159
 
144
160
        MDIArrangementMode m_mdiArrangementMode;
145
161
 
146
 
    private:
 
162
    private: /* Fields: */
 
163
 
147
164
        CDisplayWindow* m_activeWindow;
148
165
        BibleTime* m_bibleTime;
149
 
};
 
166
 
 
167
}; /* class CMDIArea */
150
168
 
151
169
#endif