From d2e33cc17ea5b957ef92be5538e21daa829a1c68 Mon Sep 17 00:00:00 2001 From: laserpants Date: Mon, 18 Apr 2016 10:36:40 +0300 Subject: [PATCH] implement addMenuItem method --- components/menu.cpp | 17 ++++++++++++----- components/menu.h | 3 +++ examples/menuexamples.cpp | 12 +++++++++++- style.cpp | 2 +- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/components/menu.cpp b/components/menu.cpp index 96e1d2a..c978848 100644 --- a/components/menu.cpp +++ b/components/menu.cpp @@ -7,12 +7,14 @@ MenuItem::MenuItem(QWidget *parent) : FlatButton(parent) { setMinimumHeight(40); + //setStyleSheet("text-align: left;"); } MenuItem::MenuItem(const QString &text, QWidget *parent) : FlatButton(text, parent) { setMinimumHeight(40); + //setStyleSheet("text-align: left;"); } MenuItem::~MenuItem() @@ -32,17 +34,22 @@ Menu::Menu(QWidget *parent) policy.setHorizontalPolicy(QSizePolicy::Expanding); policy.setVerticalPolicy(QSizePolicy::Maximum); setSizePolicy(policy); - - layout->addWidget(new MenuItem("Item #1")); - layout->addWidget(new MenuItem("Item #2")); - layout->addWidget(new MenuItem("Item #3")); - layout->addWidget(new MenuItem("Item #4")); } Menu::~Menu() { } +void Menu::addMenuItem(MenuItem *item) +{ + layout()->addWidget(item); +} + +void Menu::addMenuItem(const QString &text) +{ + addMenuItem(new MenuItem(text)); +} + void Menu::paintEvent(QPaintEvent *event) { QPainter painter(this); diff --git a/components/menu.h b/components/menu.h index 01009a8..779b14b 100644 --- a/components/menu.h +++ b/components/menu.h @@ -22,6 +22,9 @@ public: explicit Menu(QWidget *parent = 0); ~Menu(); + void addMenuItem(MenuItem *item); + void addMenuItem(const QString &text); + protected: void paintEvent(QPaintEvent *event); }; diff --git a/examples/menuexamples.cpp b/examples/menuexamples.cpp index 05a0a04..98b6b80 100644 --- a/examples/menuexamples.cpp +++ b/examples/menuexamples.cpp @@ -13,12 +13,22 @@ MenuExamples::MenuExamples(QWidget *parent) { Menu *menu = new Menu; + menu->addMenuItem("Maps"); + menu->addMenuItem("Books"); + menu->addMenuItem("Flights"); + menu->addMenuItem("Apps"); + ExampleView *view = new ExampleView; view->setWidget(menu); Frame *frame = new Frame; frame->setCodeSnippet( - "hello" + "Menu *menu = new Menu;\n" + "\n" + "menu->addMenuItem(\"Maps\");\n" + "menu->addMenuItem(\"Books\");\n" + "menu->addMenuItem(\"Flights\");\n" + "menu->addMenuItem(\"Apps\");\n" ); frame->setWidget(view); diff --git a/style.cpp b/style.cpp index d7b0a8e..e0178ba 100644 --- a/style.cpp +++ b/style.cpp @@ -7,7 +7,7 @@ void Style::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p, const QWidget *w) const { -// qDebug() << pe; + qDebug() << pe; switch (pe) { case PE_FrameFocusRect: