24#ifndef HTML_FORM_INPUT_HPP
25#define HTML_FORM_INPUT_HPP
38#include "body_builder.hpp"
41#include "html_text.hpp"
42#include "html_label.hpp"
59 static const std::string changed;
61 enum input_type { text, password, number, range, check, file };
65 const std::string & initial_value,
66 const std::string &
size,
75 void set_range(
const libdar::infinint & min,
const libdar::infinint & max);
76 void set_min_only(
const libdar::infinint & min);
77 void set_max_only(
const libdar::infinint & max);
78 void change_label(
const std::string & label);
79 void change_type(input_type type);
81 void set_value(
const std::string & val);
82 void set_value_as_bool(
bool val);
83 void set_value_as_int(
int val);
84 const std::string & get_value()
const {
return x_init; };
85 bool get_value_as_bool()
const {
return !x_init.empty(); };
86 int get_value_as_int()
const;
110 std::string
get_event_name()
const {
return modif_change.empty()? changed: modif_change; };
113 virtual void load_json(
const json & source)
override;
142 std::string modif_change;
144 void my_act() {
act(modif_change.empty() ? changed: modif_change); };
145 void check_min_max_change(
const std::string & next_min,
const std::string & next_max);
146 std::string generate_input(
const std::string & csscl,
const std::string &
id);
151 static std::string string_for_type(input_type type);
153 static constexpr const unsigned int format_version = 1;
154 static constexpr const char* myclass_id =
"html_form_input";
156 static constexpr const char* jlabel_init =
"value";
158 static const std::string css_label;
159 static const std::string css_input;
160 static const std::string css_check;
161 static const std::string css_checktitle;
162 static const std::string css_vertical_space;
163 static const std::string css_display_no_CR;
class body_builder is the root class of object generating HTML body
Definition: body_builder.hpp:99
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 wit...
Definition: body_builder.cpp:420
unsigned int size() const
access to adopted childs
Definition: body_builder.hpp:395
class chemin definition
Definition: chemin.hpp:51
class css_class gather css attributed under a given label
Definition: css_class.hpp:51
class events
Definition: events.hpp:52
void act(const std::string &name)
trigger a given event
Definition: events.cpp:151
class html_label implements label and tooltips (helper string showing when mouse hovering)
Definition: html_label.hpp:47
class html_text manage text and header in html document
Definition: html_text.hpp:52
class jsoner
Definition: jsoner.hpp:73
class holding fields of an HTTP request (method, URI, header, cookies, and so on)
Definition: request.hpp:45
defines jsoner class and class exception_json