1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#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, bool force) -> 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
|