UIBuildSettings.h 1.5 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. #pragma once
  5. #include "AETypes.h"
  6. #include "UIModalOps.h"
  7. #include <TurboBadger/tb_select.h>
  8. #include <TurboBadger/tb_select_item.h>
  9. #include "UIBuildSettingsWindows.h"
  10. #include "UIBuildSettingsAndroid.h"
  11. #include "UIBuildSettingsWeb.h"
  12. #include "UIBuildSettingsIOS.h"
  13. #include "UIBuildSettingsMac.h"
  14. namespace AtomicEditor
  15. {
  16. class UIBuildSettingsWindows;
  17. class UIBuildSettings: public UIModalOpWindow
  18. {
  19. OBJECT(UIBuildSettings);
  20. public:
  21. UIBuildSettings(Context* context);
  22. virtual ~UIBuildSettings();
  23. bool OnEvent(const TBWidgetEvent &ev);
  24. private:
  25. void HandlePlatformChange(StringHash eventType, VariantMap& eventData);
  26. void RemoveSettingsWidgets();
  27. void SelectWindowsSettings();
  28. void SelectAndroidSettings();
  29. void SelectMacSettings();
  30. void SelectWebSettings();
  31. void SelectIOSSettings();
  32. void StoreSettings();
  33. void RefreshSettings();
  34. void UpdateCurrentPlatform(AEEditorPlatform platform);
  35. void RequestPlatformChange(TBID id);
  36. TBGenericStringItemSource platformSource_;
  37. TBSelectList* platformSelect_;
  38. TBSkinImage* platformIndicator_;
  39. SharedPtr<UIBuildSettingsWindows> windowsSettings_;
  40. SharedPtr<UIBuildSettingsAndroid> androidSettings_;
  41. SharedPtr<UIBuildSettingsWeb> webSettings_;
  42. SharedPtr<UIBuildSettingsIOS> iosSettings_;
  43. SharedPtr<UIBuildSettingsMac> macSettings_;
  44. };
  45. }