qt-material-widgets/mainwindow.cpp

168 lines
5.3 KiB
C++
Raw Normal View History

2016-04-14 13:47:27 +00:00
#include <QApplication>
2016-03-19 10:48:17 +00:00
#include <QMenu>
#include <QMenuBar>
2016-03-19 13:41:06 +00:00
#include <QStackedLayout>
#include <QDebug>
2016-03-18 14:21:45 +00:00
#include "mainwindow.h"
2016-03-19 13:41:06 +00:00
#include "examples/about.h"
#include "examples/flatbuttonexamples.h"
2016-03-22 08:51:23 +00:00
#include "examples/raisedbuttonexamples.h"
2016-03-19 13:41:06 +00:00
#include "examples/iconbuttonexamples.h"
#include "examples/appbarexamples.h"
2016-03-20 08:26:47 +00:00
#include "examples/tabsexamples.h"
2016-03-20 08:58:50 +00:00
#include "examples/tableexamples.h"
2016-03-22 14:30:17 +00:00
#include "examples/sliderexamples.h"
2016-03-26 06:51:40 +00:00
#include "examples/toggleexamples.h"
2016-04-14 13:47:27 +00:00
#include "examples/radiobuttonexamples.h"
#include "examples/checkboxexamples.h"
#include "examples/textfieldexamples.h"
#include "examples/listexamples.h"
2016-04-14 14:21:28 +00:00
#include "examples/avatarexamples.h"
2016-04-18 06:55:52 +00:00
#include "examples/menuexamples.h"
2016-04-24 22:29:49 +00:00
#include "examples/iconmenuexamples.h"
2016-03-18 14:21:45 +00:00
MainWindow::MainWindow(QWidget *parent)
2016-03-19 13:41:06 +00:00
: QMainWindow(parent),
_layout(new QStackedLayout),
_flatButtonExamples(new FlatButtonExamples),
2016-03-22 08:51:23 +00:00
_raisedButtonExamples(new RaisedButtonExamples),
2016-03-19 13:41:06 +00:00
_iconButtonExamples(new IconButtonExamples),
_appBarExamples(new AppBarExamples),
2016-03-20 08:26:47 +00:00
_tabsExamples(new TabsExamples),
2016-03-20 08:58:50 +00:00
_tableExamples(new TableExamples),
2016-03-22 14:30:17 +00:00
_sliderExamples(new SliderExamples),
2016-03-26 06:51:40 +00:00
_toggleExamples(new ToggleExamples),
2016-04-14 13:47:27 +00:00
_radioButtonExamples(new RadioButtonExamples),
_checkboxExamples(new CheckboxExamples),
_textFieldExamples(new TextFieldExamples),
_listExamples(new ListExamples),
2016-04-14 14:21:28 +00:00
_avatarExamples(new AvatarExamples),
2016-04-18 06:55:52 +00:00
_menuExamples(new MenuExamples),
2016-04-24 22:29:49 +00:00
_iconMenuExamples(new IconMenuExamples),
2016-03-19 13:41:06 +00:00
_about(new About)
2016-03-18 14:21:45 +00:00
{
2016-03-19 13:41:06 +00:00
_initWidget();
_initMenu();
2016-03-18 14:21:45 +00:00
}
MainWindow::~MainWindow()
{
}
2016-03-19 13:41:06 +00:00
void MainWindow::showWidget(QAction *action)
{
QString text(action->text());
2016-03-27 07:11:08 +00:00
if ("App Bar" == text) {
2016-03-19 21:11:32 +00:00
_layout->setCurrentWidget(_appBarExamples);
2016-03-27 07:11:08 +00:00
} else if ("Flat Button" == text) {
2016-03-19 13:41:06 +00:00
_layout->setCurrentWidget(_flatButtonExamples);
2016-03-27 07:11:08 +00:00
} else if ("Raised Button" == text) {
2016-03-22 08:51:23 +00:00
_layout->setCurrentWidget(_raisedButtonExamples);
2016-03-27 07:11:08 +00:00
} else if ("Icon Button" == text) {
2016-03-19 13:43:25 +00:00
_layout->setCurrentWidget(_iconButtonExamples);
2016-03-20 08:26:47 +00:00
} else if ("Tabs" == text) {
_layout->setCurrentWidget(_tabsExamples);
2016-03-20 08:58:50 +00:00
} else if ("Table" == text) {
_layout->setCurrentWidget(_tableExamples);
2016-03-22 14:30:17 +00:00
} else if ("Slider" == text) {
_layout->setCurrentWidget(_sliderExamples);
2016-03-26 06:51:40 +00:00
} else if ("Toggle" == text) {
_layout->setCurrentWidget(_toggleExamples);
2016-04-14 13:47:27 +00:00
} else if ("Radio Button" == text) {
_layout->setCurrentWidget(_radioButtonExamples);
} else if ("Checkbox" == text) {
_layout->setCurrentWidget(_checkboxExamples);
} else if ("Text Field" == text) {
_layout->setCurrentWidget(_textFieldExamples);
} else if ("List" == text) {
_layout->setCurrentWidget(_listExamples);
2016-04-14 14:21:28 +00:00
} else if ("Avatar" == text) {
_layout->setCurrentWidget(_avatarExamples);
2016-04-18 06:55:52 +00:00
} else if ("Menu" == text) {
_layout->setCurrentWidget(_menuExamples);
2016-04-24 22:29:49 +00:00
} else if ("Icon Menu" == text) {
_layout->setCurrentWidget(_iconMenuExamples);
2016-03-19 13:41:06 +00:00
} else {
_layout->setCurrentWidget(_about);
}
}
void MainWindow::_initWidget()
{
QWidget *widget = new QWidget;
widget->setLayout(_layout);
_layout->addWidget(_about);
_layout->addWidget(_flatButtonExamples);
2016-03-22 08:51:23 +00:00
_layout->addWidget(_raisedButtonExamples);
2016-03-19 13:43:25 +00:00
_layout->addWidget(_iconButtonExamples);
2016-03-19 21:11:32 +00:00
_layout->addWidget(_appBarExamples);
2016-03-20 08:26:47 +00:00
_layout->addWidget(_tabsExamples);
2016-03-20 08:58:50 +00:00
_layout->addWidget(_tableExamples);
2016-03-22 14:30:17 +00:00
_layout->addWidget(_sliderExamples);
2016-03-26 06:51:40 +00:00
_layout->addWidget(_toggleExamples);
2016-04-14 13:47:27 +00:00
_layout->addWidget(_radioButtonExamples);
_layout->addWidget(_checkboxExamples);
_layout->addWidget(_textFieldExamples);
_layout->addWidget(_listExamples);
2016-04-14 14:21:28 +00:00
_layout->addWidget(_avatarExamples);
2016-04-18 06:55:52 +00:00
_layout->addWidget(_menuExamples);
2016-04-24 22:29:49 +00:00
_layout->addWidget(_iconMenuExamples);
2016-03-19 13:41:06 +00:00
setCentralWidget(widget);
}
void MainWindow::_initMenu() const
{
2016-03-20 08:36:29 +00:00
QMenu *file = new QMenu("&File");
2016-04-14 13:47:27 +00:00
QAction *exitAction = file->addAction("E&xit");
2016-03-20 08:36:29 +00:00
QMenu *components = new QMenu("&Components");
QMenu *settings = new QMenu("&Settings");
QMenu *examples = new QMenu("&Examples");
QMenu *help = new QMenu("&Help");
2016-03-27 07:11:08 +00:00
components->addAction("App Bar");
2016-04-14 14:21:28 +00:00
components->addAction("Avatar");
2016-03-19 13:41:06 +00:00
QMenu *buttons = new QMenu("Buttons");
components->addMenu(buttons);
2016-03-27 07:11:08 +00:00
buttons->addAction("Flat Button");
buttons->addAction("Raised Button");
buttons->addAction("Icon Button");
2016-03-19 13:41:06 +00:00
2016-03-20 08:26:47 +00:00
components->addAction("Dialog");
2016-04-18 06:49:37 +00:00
QMenu *menus = new QMenu("Menus");
components->addMenu(menus);
menus->addAction("Menu");
menus->addAction("Icon Menu");
menus->addAction("Drop Down Menu");
2016-03-20 08:26:47 +00:00
components->addAction("List");
components->addAction("Slider");
2016-03-26 06:51:40 +00:00
QMenu *switches = new QMenu("Switches");
components->addMenu(switches);
2016-03-27 07:11:08 +00:00
switches->addAction("Checkbox");
switches->addAction("Radio Button");
2016-03-26 06:51:40 +00:00
switches->addAction("Toggle");
2016-03-20 08:26:47 +00:00
components->addAction("Table");
2016-03-19 13:41:06 +00:00
components->addAction("Tabs");
2016-03-27 07:11:08 +00:00
components->addAction("Text Field");
2016-03-19 13:41:06 +00:00
2016-03-20 08:36:29 +00:00
menuBar()->addMenu(file);
2016-03-19 13:41:06 +00:00
menuBar()->addMenu(components);
2016-03-20 08:36:29 +00:00
menuBar()->addMenu(settings);
menuBar()->addMenu(examples);
menuBar()->addMenu(help);
2016-03-19 13:41:06 +00:00
connect(components, SIGNAL(triggered(QAction *)), this, SLOT(showWidget(QAction *)));
2016-04-14 13:47:27 +00:00
connect(exitAction, SIGNAL(triggered(bool)), qApp, SLOT(quit()));
2016-03-19 13:41:06 +00:00
}