123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #if defined(Hiro_MenuItem)
- namespace hiro {
- auto pMenuItem::construct() -> void {
- qtMenuItem = new QtMenuItem(*this);
- qtMenuItem->connect(qtMenuItem, SIGNAL(triggered()), SLOT(onActivate()));
- if(auto parent = _parentMenu()) {
- parent->qtMenu->addAction(qtMenuItem);
- }
- if(auto parent = _parentPopupMenu()) {
- parent->qtPopupMenu->addAction(qtMenuItem);
- }
- _setState();
- }
- auto pMenuItem::destruct() -> void {
- delete qtMenuItem;
- qtMenuItem = nullptr;
- }
- auto pMenuItem::setIcon(const image& icon) -> void {
- _setState();
- }
- auto pMenuItem::setText(const string& text) -> void {
- _setState();
- }
- auto pMenuItem::_setState() -> void {
- qtMenuItem->setIcon(CreateIcon(state().icon));
- qtMenuItem->setText(QString::fromUtf8(state().text));
- }
- auto QtMenuItem::onActivate() -> void {
- p.self().doActivate();
- }
- }
- #endif
|