UIMainToolbar.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicEditor
  4. #include "AtomicEditor.h"
  5. #include <Atomic/UI/TBUI.h>
  6. #include <Atomic/IO/Log.h>
  7. #include "UIMainToolbar.h"
  8. #include "../AEEvents.h"
  9. #include "../AETypes.h"
  10. #include "../AEEditor.h"
  11. using namespace tb;
  12. namespace AtomicEditor
  13. {
  14. MainToolbar::MainToolbar(Context* context) :
  15. AEWidget(context)
  16. {
  17. TBUI* tbui = GetSubsystem<TBUI>();
  18. tbui->LoadResourceFile(delegate_, "AtomicEditor/editor/ui/maintoolbar.tb.txt");
  19. }
  20. MainToolbar::~MainToolbar()
  21. {
  22. }
  23. bool MainToolbar::OnEvent(const TBWidgetEvent &ev)
  24. {
  25. if (ev.type == EVENT_TYPE_CLICK)
  26. {
  27. if (ev.target && ev.target->GetID() == TBIDC("maintoolbar_play"))
  28. {
  29. if (GetSubsystem<Editor>()->IsPlayingProject())
  30. {
  31. SendEvent(E_EDITORPLAYSTOP);
  32. return true;
  33. }
  34. else
  35. {
  36. VariantMap eventData;
  37. eventData[EditorPlayRequest::P_MODE] = (unsigned) AE_PLAYERMODE_WIDGET;
  38. SendEvent(E_EDITORPLAYREQUEST, eventData);
  39. return true;
  40. }
  41. }
  42. }
  43. return false;
  44. }
  45. }