26 #ifndef TGUI_CONTAINER_HPP 27 #define TGUI_CONTAINER_HPP 32 #include <TGUI/Widget.hpp> 94 bool setGlobalFont(
const std::string& filename);
105 void setGlobalFont(
const sf::Font& font);
116 const sf::Font& getGlobalFont()
const;
125 const std::vector<Widget::Ptr>& getWidgets();
134 const std::vector<sf::String>& getWidgetNames();
151 virtual void add(
const Widget::Ptr& widgetPtr,
const sf::String& widgetName =
"");
171 Widget::Ptr get(
const sf::String& widgetName,
bool recursive =
false)
const;
193 typename T::Ptr
get(
const sf::String& widgetName,
bool recursive =
false)
const 195 return typename T::Ptr(
get(widgetName, recursive));
241 virtual void remove(
Widget* widget);
248 virtual void removeAllWidgets();
260 bool setWidgetName(
const Widget::Ptr& widget,
const std::string& name);
273 bool getWidgetName(
const Widget::Ptr& widget, std::string& name)
const;
295 void focusWidget(
Widget *
const widget);
305 void focusNextWidget();
315 void focusPreviousWidget();
322 void unfocusWidgets();
329 void uncheckRadioButtons();
338 void moveWidgetToFront(
Widget *
const widget);
347 void moveWidgetToBack(
Widget *
const widget);
360 virtual void setTransparency(
unsigned char transparency);
372 void bindGlobalCallback(std::function<
void(
const Callback&)> func);
385 template <
typename T>
388 m_GlobalCallbackFunctions.push_back(std::bind(func, classPtr, std::placeholders::_1));
396 virtual void unbindGlobalCallback();
414 bool loadWidgetsFromFile(
const std::string& filename);
427 bool saveWidgetsToFile(
const std::string& filename);
437 virtual sf::Vector2f getWidgetsOffset()
const;
445 virtual void addChildCallback(
const Callback& callback);
451 virtual bool mouseOnWidget(
float x,
float y) = 0;
456 virtual void leftMousePressed(
float x,
float y);
461 virtual void leftMouseReleased(
float x,
float y);
466 virtual void mouseMoved(
float x,
float y);
471 virtual void keyPressed(
const sf::Event::KeyEvent& event);
476 virtual void textEntered(sf::Uint32 key);
481 virtual void mouseWheelMoved(
int delta,
int x,
int y);
486 virtual void mouseNotOnWidget();
491 virtual void mouseNoLongerDown();
496 virtual void widgetUnfocused();
505 virtual void initialize(
Container *
const container);
511 virtual void update();
518 bool handleEvent(sf::Event& event);
525 bool focusNextWidgetInContainer();
533 bool tabKeyPressed();
546 virtual void drawWidgetContainer(sf::RenderTarget* target,
const sf::RenderStates& states = sf::RenderStates::Default)
const;
552 std::vector<Widget::Ptr> m_Widgets;
553 std::vector<sf::String> m_ObjName;
558 sf::Font m_GlobalFont;
561 std::list< std::function<void(const Callback&)> > m_GlobalCallbackFunctions;
582 void unbindGlobalCallback();
594 virtual void setSize(
float width,
float height);
603 virtual sf::Vector2f getSize()
const;
617 virtual bool mouseOnWidget(
float x,
float y);
627 virtual void draw(sf::RenderTarget& target, sf::RenderStates states)
const;
633 sf::RenderTarget* m_Window;
648 #endif // TGUI_CONTAINER_HPP Namespace that contains all TGUI functions and classes.
Definition: AnimatedPicture.hpp:33
Definition: Callback.hpp:45
Definition: Container.hpp:571
void bindGlobalCallback(void(T::*func)(const Callback &), T *const classPtr)
Bind a function to the callbacks of all child widgets.
Definition: Container.hpp:386
Parent class for widgets that store multiple widgets.
Definition: Container.hpp:43