Rename widgets/mainwindow to widgets/mainbase.
[dorian] / widgets / mainbase.h
1 #ifndef MAINWINDOW_H\r
2 #define MAINWINDOW_H\r
3 \r
4 #include <QMainWindow>\r
5 \r
6 class QToolBar;\r
7 \r
8 /**\r
9  * Main window with a toolbar.\r
10  */\r
11 class MainWindow: public QMainWindow\r
12 {\r
13     Q_OBJECT\r
14 \r
15 public:\r
16     explicit MainWindow(QWidget *parent = 0);\r
17 \r
18     /**\r
19      * Add action that is visible on the tool bar.\r
20      * @param   receiver    Object receiving "activated" signal.\r
21      * @param   slot        Slot receiving "activated" signal.\r
22      * @param   iconName    Base name of tool bar icon in resource file.\r
23      * @param   text        Tool bar item text.\r
24      * @param   important   On Symbian, only "important" actions are added to\r
25      *                      the tool bar. All actions are added to the Options\r
26      *                      menu though.\r
27      */\r
28     QAction *addToolBarAction(QObject *receiver, const char *slot,\r
29                               const QString &iconName, const QString &text,\r
30                               bool important = false);\r
31 \r
32     /** Add spacing to tool bar. */\r
33     void addToolBarSpace();\r
34 \r
35 signals:\r
36 \r
37 public slots:\r
38 \r
39 protected:\r
40     /** Handle resize event: Manage tool bar visibility. */\r
41     void resizeEvent(QResizeEvent *event);\r
42 \r
43     /** Handle show event: Manage tool bar visibility. */\r
44     void showEvent(QShowEvent *event);\r
45 \r
46 #ifdef Q_OS_SYMBIAN\r
47     /** Update toolbar visibility. */\r
48     void updateToolBar();\r
49 \r
50     /** Return true in portrait mode. */\r
51     bool portrait();\r
52 #endif // Q_OS_SYMBIAN\r
53 \r
54     /** Hide tool bar if visible. */\r
55     void hideToolBar();\r
56 \r
57 private:\r
58     QToolBar *toolBar;      /**< Tool bar. */\r
59 };\r
60 \r
61 #endif // MAINWINDOW_H\r