menu-bar.cpp 918 B

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