4#include "HotKeyComponent.hpp"
5#include "Primitives.hpp"
28enum class ESWEventAction
35 OpenOneFileInPlayerSW,
36 AppendNewDirInPlayerSW,
37 AppendOneFileToPlayerSW,
38 OpenPlaylistOfTheDayInPlayerSW,
42 ChooseActionWithSelectedElements,
46using File_Ptr = std::shared_ptr<File>;
57 SWEvent(ESWTypes evTarget, ESWEventAction evAction,
58 const std::variant<std::vector<File_Ptr>, File_Ptr, std::string>& data,
59 const std::string& data_2 =
"");
62 ESWEventAction action;
63 std::variant<std::vector<File_Ptr>, File_Ptr, std::string> data;
83 using Ptr = std::shared_ptr<SubWindow>;
86 SubWindow(ESWTypes swType,
const Recti& rect,
Context text,
87 SWHolderType inHolderType = SWHolderType::None);
88 virtual ~SubWindow() =
default;
91 virtual void EventLoopIterationStart();
92 virtual void HandleUserEvent(
Event event,
bool rawInputMode);
93 virtual void HandleSWEvents(std::vector<SWEvent>& swEvents) = 0;
94 virtual void Update() = 0;
95 virtual void Draw()
const = 0;
96 virtual void HandleResizeEvent(
const Recti& newRect);
99 virtual void Reload();
101 virtual bool HasSelection()
const;
102 virtual void Select();
103 virtual void Deselect();
105 virtual bool IsVisible()
const;
106 virtual void SetVisible(
bool visibleValue);
113 SWHolderType GetHolderType()
const;
114 const std::string& GetName()
const;
115 ESWTypes GetSWType()
const;
116 const Recti& GetBounds()
const;
123 virtual void InitializeHotKeysActions() = 0;
127 void DrawBoundsRectangle(
const std::string& rectName =
"")
const;
134 const ESWTypes mType;
136 SWHolderType mInHolderType;
139 bool mHighDrawPriority;
141 static std::unordered_map<ESWTypes, std::string> mTypeToNameTable;
The File class - Abstract class for FsFile, YaFile and AppFile.
Definition FileManager.hpp:50
The HotKeyComponent class - class to handle pre defined bindings.
Definition HotKeyComponent.hpp:20
virtual bool GetDrawPriority() const
only boolean, if true, drawn last
Definition SubWindow.cpp:104
virtual void SetHighDrawPriority(bool priority)
if true, drawn last
Definition SubWindow.cpp:99
static const std::string & ConvertToSWName(ESWTypes swType)
Convert ESWTypes to it's std::string representation.
Definition SubWindow.cpp:25
Definition Context.hpp:14
Definition Primitives.hpp:88