mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-02-23 22:52:34 +01:00
66 lines
2.6 KiB
C++
66 lines
2.6 KiB
C++
|
#if defined(Hiro_Object)
|
||
|
struct mObject {
|
||
|
Declare(Object)
|
||
|
|
||
|
mObject();
|
||
|
virtual ~mObject();
|
||
|
mObject(const mObject&) = delete;
|
||
|
mObject& operator=(const mObject&) = delete;
|
||
|
|
||
|
explicit operator bool() const;
|
||
|
|
||
|
auto abstract() const -> bool;
|
||
|
auto adjustOffset(int displacement) -> type&;
|
||
|
auto enabled(bool recursive = false) const -> bool;
|
||
|
virtual auto focused() const -> bool;
|
||
|
auto font(bool recursive = false) const -> Font;
|
||
|
virtual auto group() const -> Group;
|
||
|
auto offset() const -> int;
|
||
|
auto parent() const -> mObject*;
|
||
|
auto parentComboButton(bool recursive = false) const -> mComboButton*;
|
||
|
auto parentComboEdit(bool recursive = false) const -> mComboEdit*;
|
||
|
auto parentFrame(bool recursive = false) const -> mFrame*;
|
||
|
auto parentIconView(bool recursive = false) const -> mIconView*;
|
||
|
auto parentMenu(bool recursive = false) const -> mMenu*;
|
||
|
auto parentMenuBar(bool recursive = false) const -> mMenuBar*;
|
||
|
auto parentPopupMenu(bool recursive = false) const -> mPopupMenu*;
|
||
|
auto parentSizable(bool recursive = false) const -> mSizable*;
|
||
|
auto parentTabFrame(bool recursive = false) const -> mTabFrame*;
|
||
|
auto parentTabFrameItem(bool recursive = false) const -> mTabFrameItem*;
|
||
|
auto parentTableView(bool recursive = false) const -> mTableView*;
|
||
|
auto parentTableViewHeader(bool recursive = false) const -> mTableViewHeader*;
|
||
|
auto parentTableViewItem(bool recursive = false) const -> mTableViewItem*;
|
||
|
auto parentTreeView(bool recursive = false) const -> mTreeView*;
|
||
|
auto parentTreeViewItem(bool recursive = false) const -> mTreeViewItem*;
|
||
|
auto parentWidget(bool recursive = false) const -> mWidget*;
|
||
|
auto parentWindow(bool recursive = false) const -> mWindow*;
|
||
|
auto property(const string& name) const -> string;
|
||
|
virtual auto remove() -> type&;
|
||
|
virtual auto reset() -> type&;
|
||
|
virtual auto setEnabled(bool enabled = true) -> type&;
|
||
|
virtual auto setFocused() -> type&;
|
||
|
virtual auto setFont(const Font& font = {}) -> type&;
|
||
|
virtual auto setGroup(sGroup group = {}) -> type&;
|
||
|
virtual auto setParent(mObject* parent = nullptr, int offset = -1) -> type&;
|
||
|
virtual auto setProperty(const string& name, const string& value = "") -> type&;
|
||
|
virtual auto setVisible(bool visible = true) -> type&;
|
||
|
auto visible(bool recursive = false) const -> bool;
|
||
|
|
||
|
//private:
|
||
|
struct State {
|
||
|
bool enabled = true;
|
||
|
Font font;
|
||
|
int offset = -1;
|
||
|
mObject* parent = nullptr;
|
||
|
set<Property> properties;
|
||
|
bool visible = true;
|
||
|
} state;
|
||
|
|
||
|
wObject instance;
|
||
|
pObject* delegate = nullptr;
|
||
|
|
||
|
virtual auto construct() -> void;
|
||
|
virtual auto destruct() -> void;
|
||
|
};
|
||
|
#endif
|