JSUI.h 640 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include <Duktape/duktape.h>
  3. #include <Atomic/Core/Object.h>
  4. namespace tb
  5. {
  6. class TBWidget;
  7. }
  8. namespace Atomic
  9. {
  10. class JSUI : public Object
  11. {
  12. OBJECT(JSUI)
  13. public:
  14. JSUI(Context* context);
  15. virtual ~JSUI();
  16. private:
  17. duk_context* ctx_;
  18. void PushWidgetEventObject(VariantMap& eventData);
  19. void HandleWidgetEvent(StringHash eventType, VariantMap& eventData);
  20. void HandleWidgetLoaded(StringHash eventType, VariantMap& eventData);
  21. void HandlePopupMenuSelect(StringHash eventType, VariantMap& eventData);
  22. void GatherWidgets(tb::TBWidget* widget, PODVector<tb::TBWidget*>& widgets);
  23. };
  24. }