platform.hpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. #define Declare(Name, Base) \
  2. p##Name(m##Name& reference) : p##Base(reference) {} \
  3. auto self() const -> m##Name& { return (m##Name&)reference; } \
  4. auto state() const -> m##Name::State& { return self().state; } \
  5. auto construct() -> void override; \
  6. auto destruct() -> void override; \
  7. #include "application.hpp"
  8. #include "settings.hpp"
  9. #include "font.hpp"
  10. #include "desktop.hpp"
  11. #include "monitor.hpp"
  12. #include "keyboard.hpp"
  13. #include "mouse.hpp"
  14. #include "browser-window.hpp"
  15. #include "message-window.hpp"
  16. #include "object.hpp"
  17. #include "group.hpp"
  18. #include "timer.hpp"
  19. #include "window.hpp"
  20. #include "status-bar.hpp"
  21. #include "menu-bar.hpp"
  22. #include "popup-menu.hpp"
  23. #include "action/action.hpp"
  24. #include "action/menu.hpp"
  25. #include "action/menu-separator.hpp"
  26. #include "action/menu-item.hpp"
  27. #include "action/menu-check-item.hpp"
  28. #include "action/menu-radio-item.hpp"
  29. #include "sizable.hpp"
  30. #include "widget/widget.hpp"
  31. #include "widget/button.hpp"
  32. #include "widget/canvas.hpp"
  33. #include "widget/check-button.hpp"
  34. #include "widget/check-label.hpp"
  35. #include "widget/combo-button.hpp"
  36. #include "widget/combo-button-item.hpp"
  37. #include "widget/frame.hpp"
  38. #include "widget/hex-edit.hpp"
  39. #include "widget/horizontal-scroll-bar.hpp"
  40. #include "widget/horizontal-slider.hpp"
  41. #include "widget/label.hpp"
  42. #include "widget/line-edit.hpp"
  43. #include "widget/progress-bar.hpp"
  44. #include "widget/radio-button.hpp"
  45. #include "widget/radio-label.hpp"
  46. #include "widget/tab-frame.hpp"
  47. #include "widget/tab-frame-item.hpp"
  48. #include "widget/table-view.hpp"
  49. #include "widget/table-view-column.hpp"
  50. #include "widget/table-view-item.hpp"
  51. #include "widget/table-view-cell.hpp"
  52. #include "widget/text-edit.hpp"
  53. #include "widget/vertical-scroll-bar.hpp"
  54. #include "widget/vertical-slider.hpp"
  55. #include "widget/viewport.hpp"
  56. namespace hiro {
  57. #if defined(Hiro_Console)
  58. struct pConsole : public QObject, public pWidget {
  59. Q_OBJECT
  60. public:
  61. Console& console;
  62. struct QtConsole : public QTextEdit {
  63. pConsole& self;
  64. void keyPressEvent(QKeyEvent*);
  65. void keyPressEventAcknowledge(QKeyEvent*);
  66. QtConsole(pConsole& self) : self(self) {}
  67. };
  68. QtConsole* qtConsole;
  69. void print(string text);
  70. void reset();
  71. void setBackgroundColor(Color color);
  72. void setForegroundColor(Color color);
  73. void setPrompt(string prompt);
  74. pConsole(Console& console) : pWidget(console), console(console) {}
  75. void constructor();
  76. void destructor();
  77. void orphan();
  78. void keyPressEvent(QKeyEvent*);
  79. };
  80. #endif
  81. #if defined(Hiro_IconView)
  82. struct pIconView : public QObject, public pWidget {
  83. Q_OBJECT
  84. public:
  85. IconView& iconView;
  86. struct QtListWidget : public QListWidget {
  87. void resizeEvent(QResizeEvent*);
  88. };
  89. QtListWidget* qtIconView;
  90. void append();
  91. void remove(unsigned selection);
  92. void reset();
  93. void setBackgroundColor(Color color);
  94. void setFlow(Orientation flow);
  95. void setForegroundColor(Color color);
  96. void setImage(unsigned selection, const image& image);
  97. void setOrientation(Orientation orientation);
  98. void setSelected(unsigned selection, bool selected);
  99. void setSelected(const vector<unsigned>& selections);
  100. void setSelectedAll();
  101. void setSelectedNone();
  102. void setSingleSelection(bool singleSelection);
  103. void setText(unsigned selection, const string& text);
  104. pIconView(IconView& iconView) : pWidget(iconView), iconView(iconView) {}
  105. void constructor();
  106. void destructor();
  107. void orphan();
  108. public slots:
  109. void onActivate();
  110. void onChange();
  111. void onContext();
  112. };
  113. #endif
  114. #undef Declare
  115. }