c1103a4b37f7352c1ec06ea234a65b4fe6967df8
[dorian] / widgets / mainbase.h
1 #ifndef MAINBASE_H\r
2 #define MAINBASE_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 MainBase: public QMainWindow\r
12 {\r
13     Q_OBJECT\r
14 \r
15 public:\r
16     explicit MainBase(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 tool bar. */\r
33     void addToolBar();\r
34 \r
35     /** Add spacing to tool bar. */\r
36     void addToolBarSpace();\r
37 \r
38 public slots:\r
39     void show();\r
40 \r
41 protected:\r
42     /** Return the height of the tool bar (or 0 if there is no tool bar). */\r
43     int toolBarHeight();\r
44 \r
45 #ifdef Q_OS_SYMBIAN\r
46     /** Handle resize. */\r
47     void resizeEvent(QResizeEvent *e);\r
48 #endif\r
49 \r
50 private:\r
51     QToolBar *toolBar;      /**< Tool bar. */\r
52 };\r
53 \r
54 #endif // MAINBASE_H\r