UIMainToolbar.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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/AtomicGameEngine
  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. #include "UIMainFrame.h"
  12. #include "UIResourceFrame.h"
  13. using namespace tb;
  14. namespace AtomicEditor
  15. {
  16. MainToolbar::MainToolbar(Context* context) :
  17. AEWidget(context)
  18. {
  19. TBUI* tbui = GetSubsystem<TBUI>();
  20. tbui->LoadResourceFile(delegate_, "AtomicEditor/editor/ui/maintoolbar.tb.txt");
  21. }
  22. MainToolbar::~MainToolbar()
  23. {
  24. }
  25. bool MainToolbar::OnEvent(const TBWidgetEvent &ev)
  26. {
  27. if (ev.type == EVENT_TYPE_CLICK)
  28. {
  29. if (ev.target->GetID() == TBIDC("3d_translate") ||
  30. ev.target->GetID() == TBIDC("3d_rotate") ||
  31. ev.target->GetID() == TBIDC("3d_scale") )
  32. {
  33. ResourceFrame* rframe = GetSubsystem<MainFrame>()->GetResourceFrame();
  34. rframe->SendCurrentEditorEvent(ev);
  35. }
  36. if (ev.target && ev.target->GetID() == TBIDC("maintoolbar_play"))
  37. {
  38. if (GetSubsystem<Editor>()->IsPlayingProject())
  39. {
  40. SendEvent(E_EDITORPLAYSTOP);
  41. return true;
  42. }
  43. else
  44. {
  45. VariantMap eventData;
  46. eventData[EditorPlayRequest::P_MODE] = (unsigned) AE_PLAYERMODE_WIDGET;
  47. SendEvent(E_EDITORPLAYREQUEST, eventData);
  48. return true;
  49. }
  50. }
  51. }
  52. return false;
  53. }
  54. }