1 #ifndef GUIINSPECTORAPP_HPP 2 #define GUIINSPECTORAPP_HPP 4 #include <SFML/Graphics.hpp> 5 #include "PanelSplitted.hpp" 6 #include "TextInput.hpp" 8 #include "InspectedNode.hpp" 10 typedef std::set<const Element*> SetGE;
11 typedef std::set<const DestructionNotifier*> SetDN;
12 typedef std::vector<std::pair<const Element*, const sf::RenderWindow*>> InspectedVec;
20 InspectedVec inspectedElements;
28 void update(sf::RenderWindow& target);
29 void draw(sf::RenderWindow& target,
const sf::RenderStates& states = sf::RenderStates());
30 void setRefreshTree();
32 void inspect(
const Element* ptr,
const sf::RenderWindow* target=
nullptr);
33 void registerConfigVar();
34 void loadVisibleButtonsState();
37 std::map<const Element*, ButtonPtr> inspectedButtons;
38 std::map<sf::String, ButtonPtr> visibleInfoButtons;
39 std::string visibleInfoButtonsState;
47 PanelSplittedPtr mainPanel;
48 PanelSplittedPtr leftSplitted;
49 PanelSplittedPtr rightSplitted;
50 PanelSplittedScrolledPtr secondRightSplitted;
51 PanelScrolledPtr nodesPanel;
52 TextInputPtr filterInput;
53 ButtonPtr clearFilter;
54 ButtonPtr rebuildTree;
55 ButtonPtr showObserved;
56 ButtonPtr showHovered;
57 ButtonPtr showPressed;
58 ButtonPtr showFocused;
59 ButtonPtr openAllNodes;
60 sf::String filterString;
64 void eventsHandle(sf::RenderWindow& target);
66 void updateNodesInfo();
67 void updateInspectedTree();
68 void updateVisibleNodes();
69 void recurrentVisibleNodes(
const InspectedNode& node,
bool closedParent =
false);
71 void initNodesPanel();
72 void initLeftSplitted();
73 void initRightSplitted();
74 void initInfoHeaders();
75 void initOpenAllNodes();
76 void initVisibleInfoButtons();
77 sf::String elementDescription(
const Element* element);
79 void revalidateObservedNodes();
80 void handleNodeButtonSymbol(
const Element* element);
83 #endif // GUIINSPECTORAPP_HPP Definition: DestructionNotifier.hpp:6
Definition: GUIInspectorApp.hpp:14
Definition: DestructionObserver.hpp:6
Definition: Element.hpp:22
Definition: InspectedNode.hpp:6
Definition: GUIInspectorApp.hpp:25