Webdar 1.0.0
Web user interface to libdar
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
html_options_read Class Reference

class html_options_read implementes the html components to setup optional parameters while reading an archive More...

#include <html_options_read.hpp>

Inheritance diagram for html_options_read:
Inheritance graph
[legend]
Collaboration diagram for html_options_read:
Collaboration graph
[legend]

Public Member Functions

 html_options_read (const html_options_read &ref)=delete
 
 html_options_read (html_options_read &&ref) noexcept=delete
 
html_options_readoperator= (const html_options_read &ref)=delete
 
html_options_readoperator= (html_options_read &&ref) noexcept=delete
 
void set_biblio (const std::shared_ptr< bibliotheque > &ptr)
 mandatory call to invoke ASAP after constructor
 
libdar::archive_options_read get_options (std::shared_ptr< html_web_user_interaction > &webui) const
 obtain the libdar archive_option_read object from the html filled fields
 
std::shared_ptr< libdar::entrepot > get_entrepot (std::shared_ptr< html_web_user_interaction > webui) const
 obtain just the entrepot object from the option fields
 
const std::string & get_landing_path () const
 obtain the entrepot landing path
 
void set_src_min_digits (const std::string &val)
 set min-digits field for the archive to read (not the archive of reference if any)
 
virtual void load_json (const json &source) override
 inherited from jsoner More...
 
virtual json save_json () const override
 inherited from jsoner More...
 
virtual void clear_json () override
 inherited from jsoner More...
 
virtual bibliotheque::using_set get_using_set () const override
 inherited from bibliotheque_subconfig More...
 
virtual void on_event (const std::string &event_name) override
 inherited from actor More...
 
void set_to_webdar_defaults ()
 set the object to webdar defaults
 
- Public Member Functions inherited from body_builder
 body_builder ()
 constructor
 
 body_builder (const body_builder &ref)
 copy constructor More...
 
 body_builder (body_builder &&ref) noexcept=delete
 move constructor More...
 
body_builderoperator= (const body_builder &ref)
 assignment operator drops all existing children More...
 
body_builderoperator= (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...
 
- Public Member Functions inherited from actor
 actor (const actor &ref)=default
 
 actor (actor &&ref) noexcept(false)=default
 
actoroperator= (const actor &ref)=default
 
actoroperator= (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...
 
- Public Member Functions inherited from reference
 reference ()
 usual constructor
 
 reference (const reference &ref)
 copy constructor More...
 
 reference (reference &&ref) noexcept(false)
 move constructor (only operational for objects without peering) More...
 
referenceoperator= (const reference &ref)
 assignment operator (only operational for objects without peering) More...
 
referenceoperator= (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
 
- Public Member Functions inherited from events
 events (const events &ref)
 copy constructor More...
 
 events (events &&ref) noexcept(false)=default
 
eventsoperator= (const events &ref)=default
 
eventsoperator= (events &&ref) noexcept(false)
 
void record_actor_on_event (actor *ptr, const std::string &name)
 record an actor for an given event
 
- Public Member Functions inherited from jsoner
 jsoner (const jsoner &ref)=default
 
 jsoner (jsoner &&ref) noexcept(false)=default
 
jsoneroperator= (const jsoner &ref)=default
 
jsoneroperator= (jsoner &&ref) noexcept(false)=default
 
virtual void load_json (const json &source)=0
 setup the components from the json provided information More...
 
virtual json save_json () const =0
 produce a json structure from the component configuration More...
 
virtual void clear_json ()=0
 instruct the object to get to its default/initial configuration More...
 
virtual bibliotheque::using_set get_using_set () const =0
 provide a standard mean for an object to tell its configuration relies on other configuration(s) More...
 

Static Public Attributes

static const std::string landing_path_changed = "landing_path_changed"
 landing path has changed
 
static const std::string entrepot_has_changed = "entrep_has_changed"
 entrepot parameter changed
 
static const std::string changed = "horead_changed"
 any parameter changed (including entrepot change)
 

Protected Member Functions

virtual std::string inherited_get_body_part (const chemin &path, const request &req) override
 implementation of get_body_part() method for inherited classes More...
 
virtual void new_css_library_available () override
 
virtual void inherited_run () override
 
virtual void signaled_inherited_cancel () override
 inherited from libthreadar::thread
 
- Protected Member Functions inherited from body_builder
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_builderoperator[] (unsigned int i)
 access to adopted childs
 
body_builderget_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
 
- Protected Member Functions inherited from reference
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
 
- Protected Member Functions inherited from events
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
 

Additional Inherited Members

- Static Protected Member Functions inherited from jsoner
static json wrap_config_with_json_header (unsigned int version, const std::string &class_id, const json &config)
 given a version, class_id and configuration generates the global and common json structure More...
 
static json unwrap_config_from_json_header (const json &source, unsigned int &version, std::string &class_id)
 from a given json global and common json structure split header parts and return the config part More...
 
- Static Protected Member Functions inherited from bibliotheque_subconfig
static void subconfig_add_to (bibliotheque::using_set &added_to, const bibliotheque::using_set &to_add)
 helper routing for objects of inheriting of that class
 
- Static Protected Attributes inherited from jsoner
static constexpr const char * jsoner_version_label = "version"
 
static constexpr const char * jsoner_id_label = "class_id"
 
static constexpr const char * jsoner_config_label = "config"
 

Detailed Description

class html_options_read implementes the html components to setup optional parameters while reading an archive

most of the components are simple ones, except two couples that depends on each others:

Member Function Documentation

◆ clear_json()

void html_options_read::clear_json ( )
overridevirtual

inherited from jsoner

Implements jsoner.

◆ get_using_set()

bibliotheque::using_set html_options_read::get_using_set ( ) const
overridevirtual

inherited from bibliotheque_subconfig

Implements bibliotheque_subconfig.

◆ inherited_get_body_part()

string html_options_read::inherited_get_body_part ( const chemin path,
const request req 
)
overrideprotectedvirtual

implementation of get_body_part() method for inherited classes

Note
this method defines what the class will return from the public method body_builder::get_body_part() which also make some housekeeping at body_builder level. In particular, the body_builder class record the "body_changed" status that is reset before calling inherited_get_body_part() and modified by the inherited class when they call the my_body_part_has_changed(). get_body_part() also caches the result of inherited_get_body_part() to avoid calling inherited_get_body_part() if for the same request it has not signaled (calling my_body_part_has_changed()) that for example an event lead its status to change and would require inherited_get_body_part() to be reevaluated

Implements body_builder.

◆ load_json()

void html_options_read::load_json ( const json &  source)
overridevirtual

inherited from jsoner

Implements jsoner.

◆ new_css_library_available()

void html_options_read::new_css_library_available ( )
overrideprotectedvirtual

this is a trigger, ran when a css_library becomes available in a parent or "this"

Note
this may also be triggered upon adoption by a object having acces to a css_library

Reimplemented from body_builder.

◆ on_event()

void html_options_read::on_event ( const std::string &  event_name)
overridevirtual

inherited from actor

Implements actor.

◆ save_json()

json html_options_read::save_json ( ) const
overridevirtual

inherited from jsoner

Implements jsoner.


The documentation for this class was generated from the following files: