JSUI.h 996 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. float updateTime_;
  19. void PushWidgetEventObject(VariantMap& eventData);
  20. void HandleObjectAdded(StringHash eventType, VariantMap& eventData);
  21. void HandleObjectRemoved(StringHash eventType, VariantMap& eventData);
  22. void HandleUpdate(StringHash eventType, VariantMap& eventData);
  23. void HandleWidgetEvent(StringHash eventType, VariantMap& eventData);
  24. void HandleWidgetDeleted(StringHash eventType, VariantMap& eventData);
  25. void HandleWidgetLoaded(StringHash eventType, VariantMap& eventData);
  26. void HandlePopupMenuSelect(StringHash eventType, VariantMap& eventData);
  27. void GatherWidgets(tb::TBWidget* widget, PODVector<tb::TBWidget*>& widgets);
  28. HashMap<StringHash, bool> uiTypes_;
  29. };
  30. }