40 result =
dynamic_cast<T*
>(
w);
42 }
while(w && !result);
69 const std::string&
id,
70 const bool must_be_active,
71 const bool must_exist)
73 T* result =
dynamic_cast<T*
>(widget->find(
id, must_be_active));
96 const std::string&
id,
97 const bool must_be_active)
99 return *find_widget<T>(widget, id, must_be_active,
true);
Add a special kind of assert to validate whether the input from WML doesn't contain any problems that...
T * find_widget(utils::const_clone_ptr< widget, T > widget, const std::string &id, const bool must_be_active, const bool must_exist)
Gets a widget with the wanted id.
#define VALIDATE(cond, message)
The macro to use for the validation of WML.
typename const_clone< D, S >::pointer const_clone_ptr
T & get_parent(widget &child)
Returns the first parent of a widget with a certain type.
t_string missing_widget(const std::string &id)
Returns a default error message if a mandatory widget is omitted.