menu-bar.cpp 807 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #if defined(Hiro_MenuBar)
  2. namespace hiro {
  3. auto pMenuBar::construct() -> void {
  4. _setState();
  5. }
  6. auto pMenuBar::destruct() -> void {
  7. }
  8. auto pMenuBar::append(sMenu menu) -> void {
  9. }
  10. auto pMenuBar::remove(sMenu menu) -> void {
  11. }
  12. auto pMenuBar::setEnabled(bool enabled) -> void {
  13. _setState();
  14. }
  15. auto pMenuBar::setFont(const Font& font) -> void {
  16. _setState();
  17. }
  18. auto pMenuBar::setVisible(bool visible) -> void {
  19. _setState();
  20. }
  21. auto pMenuBar::_parent() -> maybe<pWindow&> {
  22. if(auto parent = self().parentWindow()) {
  23. if(auto self = parent->self()) return *self;
  24. }
  25. return nothing;
  26. }
  27. auto pMenuBar::_setState() -> void {
  28. if(auto parent = _parent()) {
  29. parent->qtMenuBar->setFont(pFont::create(self().font(true)));
  30. parent->qtMenuBar->setVisible(self().visible());
  31. }
  32. }
  33. }
  34. #endif