![]() |
Webdar 1.0.0
Web user interface to libdar
|
class html_menu shows a menu and provides events to act on other objects More...
#include <html_menu.hpp>
Public Member Functions | |
html_menu () | |
constructor | |
html_menu (const html_menu &ref)=delete | |
html_menu (html_menu &&ref) noexcept=delete | |
html_menu & | operator= (const html_menu &ref)=delete |
html_menu & | operator= (html_menu &&ref) noexcept=delete |
~html_menu () | |
destructor | |
void | add_entry (const std::string &label, const std::string &tag) |
unsigned int | get_current_mode () const |
void | set_current_mode (unsigned int mode, bool force=false) |
unsigned int | get_previous_mode () const |
returns the reference of the previous mode (the mode that was selected before current mode) | |
std::string | get_current_tag () const |
return the tage of the currently selected item | |
void | set_current_tag (const std::string &tag) |
set the current selected mode giving its tag | |
std::string | get_previous_tag () const |
get previous tag | |
std::string | get_current_label () const |
get current label (what is shown to the user) | |
void | record_actor_on_event (actor *ptr) |
modified wrapper from class events for our inherited classes | |
virtual void | on_event (const std::string &event_name) override |
inherited from class actor More... | |
![]() | |
html_div (const html_div &ref)=delete | |
html_div (html_div &&ref) noexcept=delete | |
html_div & | operator= (const html_div &ref)=delete |
html_div & | operator= (html_div &&ref) noexcept=delete |
![]() | |
html_level (const html_level &ref)=delete | |
html_level (html_level &&ref) noexcept=delete | |
html_level & | operator= (const html_level &ref)=delete |
html_level & | operator= (html_level &&ref) noexcept=delete |
void | adopt_static_html (const std::string &html) |
used in concurrency with body_builder::adopt() | |
void | clear_children () |
clear all adopted data | |
![]() | |
html_tooltip () | |
html_tooltip (const html_tooltip &ref)=default | |
html_tooltip (html_tooltip &&ref) noexcept=delete | |
html_tooltip & | operator= (const html_tooltip &ref)=default |
html_tooltip & | operator= (html_tooltip &&ref) noexcept=delete |
const std::string & | get_tooltip () const |
get the helper string to show as popup | |
void | set_tooltip (const std::string &helper) |
set the helper to the tooltip (helper popup) | |
![]() | |
body_builder () | |
constructor | |
body_builder (const body_builder &ref) | |
copy constructor More... | |
body_builder (body_builder &&ref) noexcept=delete | |
move constructor More... | |
body_builder & | operator= (const body_builder &ref) |
assignment operator drops all existing children More... | |
body_builder & | operator= (body_builder &&ref) noexcept=delete |
move operator More... | |
virtual | ~body_builder () |
the (virtual) destructor | |
void | set_prefix (const chemin &prefix) |
void | adopt (body_builder *obj) |
bool | is_adopted () const |
whether the object has currently a parent (= is adopted) | |
void | foresake (body_builder *obj) |
void | set_visible (bool mode) |
ask for the object to become visible in HTML page or temporarily hidden More... | |
bool | get_visible () const |
returns the current visible status of the object More... | |
bool | get_visible_recursively () const |
return the effective visible status of an object taking into account all of ancestors that adopted it | |
void | add_css_class (const std::string &name) |
set this object with a additional css_class (assuming it is defined in a css_library available for this object) | |
void | add_css_class (const css_class_group &cg) |
set this object with an additional set of css_classes (assuming they are all defined in a css_library available for this object) | |
bool | has_css_class (const std::string &name) const |
check the presence of the given class name | |
void | remove_css_class (const std::string &name) |
remove the provided css_class name from the list of css_class names this object has been assigned to | |
void | remove_css_class (const css_class_group &cg) |
remove the provided css_class_group from the list | |
void | clear_css_classes () |
clear the whole list of css_class names | |
const std::set< std::string > & | get_css_classes_as_a_set () const |
provide the list of css_class names that this object has been set with | |
css_class_group | get_css_class_group () const |
provide the list of css_class names as a css_class_group | |
std::string | get_css_classes (const std::string &extra="") const |
return the class_name as inlined css, suitable to be added in a html marker More... | |
void | define_css_class_in_library (const css_class &csscl) |
void | define_css_class_in_library (const std::string &name, const css &cssdef) |
bool | is_css_class_defined_in_library (const std::string &name) const |
check whether a css_class of given name already exists in a reachable css_library | |
std::string | get_body_part (const chemin &path, const request &req) |
void | ignore_body_changed_from_my_children (bool mode) |
ignore my_body_part_has_changed() invoked from adopted children and myself More... | |
bool | get_ignore_body_changed_from_my_children () const |
get the current status of ignore_body_changed_from_my_children() | |
void | set_no_CR (bool no_cr=true) |
ask for the implementation not to add a new line after this control More... | |
void | assign_anchor (bool mode) |
assign an anchor to this object (the object's inherited_get_body_part() will be wrapped into an HTML anchor: ) More... | |
std::string | get_assigned_anchor () const |
return the anchor value that has been assiged to this object (without the leading #) More... | |
virtual void | bind_to_anchor (const std::string &val) |
ask inherited components to use this anchor in case they redirect to an new URL or generate new URLs within their body part. More... | |
Static Public Attributes | |
static const std::string | changed = "html_menu_changed" |
the available event for this class | |
Protected Member Functions | |
virtual std::string | inherited_get_body_part (const chemin &path, const request &req) override |
inherited from body_builder More... | |
virtual void | new_css_library_available () override |
inherited from body_builder, used to defines the css_class/css_selectors used by this class More... | |
virtual std::string | inherited_get_body_part (const chemin &path, const request &req) override |
inherited from body_builder More... | |
![]() | |
virtual void | has_adopted (body_builder *obj) override |
inherited from body_builder More... | |
virtual void | will_foresake (body_builder *obj) override |
inherited from body_builder More... | |
void | reset_read_next () |
bool | read_next (bundle &bdl) const |
return false if bdl could not be set (nor more entry to read) | |
std::string | get_body_part_from_children_as_a_block (const chemin &path, const request &req) |
virtual std::string | inherited_get_body_part (const chemin &path, const request &req) override |
inherited from body_builder More... | |
![]() | |
virtual void | new_css_library_available () override |
inherited from body_builder More... | |
virtual void | has_adopted (body_builder *obj) |
inherited from body builder More... | |
std::string | get_tooltip_body_part () const |
![]() | |
virtual std::string | inherited_get_body_part (const chemin &path, const request &req)=0 |
implementation of get_body_part() method for inherited classes More... | |
void | my_body_part_has_changed () |
let a class record a change in what inherited_get_body_part() would return if it was called again with the same request More... | |
virtual void | my_visibility_has_changed () |
available for inherited class to be informed when their visibility changes More... | |
bool | has_my_body_part_changed () const |
obtain the body_part changed status More... | |
chemin | get_path () const |
return the path of 'this' according to its descent in the body_builder tree of adopted children | |
std::string | get_recorded_name () const |
void | store_css_library () |
this creates a css_library accessible from adopted objects to hold html class definitions More... | |
bool | has_local_css_library () const |
return true if this object has a css_library locally stored (not from a adopter object) | |
std::unique_ptr< css_library > & | lookup_css_library () const |
lookup toward registered parent body_builder object for the closest stored css_library More... | |
std::string | get_body_part_from_target_child (const chemin &path, const request &req) |
std::string | get_body_part_from_all_children (const chemin &path, const request &req) |
virtual void | path_has_changed () |
For inherited classes, called when the path has changed,. More... | |
virtual void | has_adopted (body_builder *obj) |
Be informed that a new child has been adopted. More... | |
virtual void | will_foresake (body_builder *obj) |
Be informed that a child is about to be foresaken. More... | |
virtual void | has_been_adopted_by (body_builder *obj) |
Be informed that we have been adopted by obj, our new parent. | |
virtual void | will_be_foresaken_by (body_builder *obj) |
Be informed that we are about to be foresaken by obj, our soon former parent. | |
virtual void | css_classes_have_changed () |
Be informed about css class modification. More... | |
virtual void | new_css_library_available () |
unsigned int | size () const |
access to adopted childs | |
body_builder * | operator[] (unsigned int i) |
access to adopted childs | |
body_builder * | get_parent () const |
return the parent object or nullptr if no object has adopted this object | |
template<class T > | |
void | closest_ancestor_of_type (T *&ancestor) |
access to the closest ancestor (parent) matching (dynamic_cast) the provided type More... | |
void | orphan_all_children () |
orphan all adopted children | |
bool | get_no_CR () const |
true if it has been requested no to add Carriage Return after the HTML object | |
![]() | |
virtual void | broken_peering_from (reference *obj) override |
inherited from class reference More... | |
void | register_name (const std::string &name) |
add a new event for actors to register against | |
void | unregister_name (const std::string &name) |
remove an event and remove all actors that registed on it | |
void | rename_name (const std::string &old_name, const std::string &new_name) |
rename an event and keep all existing peering to this new event More... | |
void | act (const std::string &name) |
trigger a given event | |
events (const events &ref) | |
copy constructor More... | |
events (events &&ref) noexcept(false)=default | |
events & | operator= (const events &ref)=default |
events & | operator= (events &&ref) noexcept(false) |
void | record_actor_on_event (actor *ptr, const std::string &name) |
record an actor for an given event | |
![]() | |
virtual void | broken_peering_from (reference *obj) |
to be informed when a peer has broke the peering with me More... | |
void | reset_read_peers () const |
reset the peers reading | |
bool | read_next_peer (reference *&peer) const |
reference () | |
usual constructor | |
reference (const reference &ref) | |
copy constructor More... | |
reference (reference &&ref) noexcept(false) | |
move constructor (only operational for objects without peering) More... | |
reference & | operator= (const reference &ref) |
assignment operator (only operational for objects without peering) More... | |
reference & | operator= (reference &&ref) noexcept(false) |
move assigment operator More... | |
virtual | ~reference () |
destructor | |
void | peer_with (reference *obj) |
method used to create a relation between two objects More... | |
void | break_peer_with (reference *obj) |
break the peering with the object given as argument | |
bool | is_peer (reference *obj) const |
whether a peering exists with that object | |
bool | is_empty () const |
whether the current object has peering | |
unsigned int | size () const |
the number of peers | |
![]() | |
actor (const actor &ref)=default | |
actor (actor &&ref) noexcept(false)=default | |
actor & | operator= (const actor &ref)=default |
actor & | operator= (actor &&ref) noexcept(false) |
virtual void | on_event (const std::string &event_name)=0 |
implementation in inherited class of the action triggered by the event given in argument More... | |
class html_menu shows a menu and provides events to act on other objects
class html_menu provides a menu of choices to dynamically change another part of the html user interface upon change the event "changed" is generated
void html_menu::add_entry | ( | const std::string & | label, |
const std::string & | tag | ||
) |
add an entry in the menu
[in] | label | is any text that will be showed to the user |
[in] | tag | is to programmatically change the selected item (not translatable as the label) |
building the body_builder tree
|
inline |
returns the reference of the current mode
|
overrideprotectedvirtual |
inherited from body_builder
Reimplemented from html_div.
|
overrideprotectedvirtual |
inherited from body_builder, used to defines the css_class/css_selectors used by this class
Reimplemented from html_tooltip.
|
overridevirtual |
inherited from class actor
Implements actor.
void html_menu::set_current_mode | ( | unsigned int | mode, |
bool | force = false |
||
) |
set html field accordingly to the given mode
[in] | mode | is the mode to set, it start from 0 |
[in] | force | is set to true, will never take into consideration the current mode and avoid changing if the new mode is the same |
all is fine, we can go on modifying the objects