summaryrefslogtreecommitdiff
path: root/source/Asura.Editor/controls/button.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/Asura.Editor/controls/button.h')
-rw-r--r--source/Asura.Editor/controls/button.h82
1 files changed, 7 insertions, 75 deletions
diff --git a/source/Asura.Editor/controls/button.h b/source/Asura.Editor/controls/button.h
index 656d7d8..edfa7b7 100644
--- a/source/Asura.Editor/controls/button.h
+++ b/source/Asura.Editor/controls/button.h
@@ -1,82 +1,14 @@
-#ifndef __ASURA_EDITOR_BUTTON_H__
-#define __ASURA_EDITOR_BUTTON_H__
+#ifndef __ASURA_EDITOR_GUI_BUTTON_H__
+#define __ASURA_EDITOR_GUI_BUTTON_H__
-#include <vector>
+#include <asura-utils/classes.h>
-#include <asura-utils/scripting/portable.hpp>
-#include <asura-core/graphics/image.h>
+namespace_begin(AsuraEditor)
-#include "../core/signal.h"
-#include "widget.h"
+bool Button();
-namespace AsuraEditor
-{
- namespace Controls
- {
- enum ButtonStatus
- {
- BUTTON_STATUS_NORMAL = 0,
- BUTTON_STATUS_PUSHED = 1,
- BUTTON_STATUS_HOVER = 2,
- BUTTON_STATUS_DISABLED = 3,
- BUTTON_STATUS_FOCUSED = 4,
- _BUTTON_STATUS_COUNT = 5,
- };
- enum ButtonMessage
- {
- BUTTON_MSG_CLICK = 0,
- BUTTON_MSG_HOVER = 1,
- BUTTON_MSG_KILLFOCUS = 2,
- _BUTTON_MSG_COUNT = 3,
- };
+namespace_end
- class Button
- : public Widget
- , public AEScripting::Portable<Button>
- {
- public:
-
- LUAX_DECL_FACTORY(Button);
-
- Button();
- ~Button();
-
- void OnEvent(AEInput::Event& e) override;
- void OnPaint() override;
-
- void Connect(int msg, Slot callback);
- void Disconnect(int msg);
- void DisconnectAll(int msg);
- void DisconnectAllMsg();
-
- int GetStatus();
- void SetImage(int status, AEGraphics::Image* image);
-
- private:
-
- //------------------------------------------------------------------------------//
-
- LUAX_DECL_ENUM(ButtonStatus, 1);
- LUAX_DECL_ENUM(ButtonMessage, 1);
-
- LUAX_DECL_METHOD(_Connect);
- LUAX_DECL_METHOD(_Disconnect);
- LUAX_DECL_METHOD(_SetImage);
-
- //------------------------------------------------------------------------------//
-
- int mStatus; // ǰ״̬
- Signal mSignals[_BUTTON_MSG_COUNT]; // 3Ϣsignal
- AEGraphics::Image* mImage[_BUTTON_STATUS_COUNT]; // 5״̬ͼ
-
- Luax::LuaxMemberRef mImageRef[_BUTTON_STATUS_COUNT];// ͼ
- std::vector<Luax::LuaxMemberRef> mCallbacksRef; // ص
-
- };
-
- }
-}
-
-#endif \ No newline at end of file
+#endif