|
Public Member Functions | |
NodeSVG (tag_t t=svg::UNDEFINED) | |
Default constructor. Create a node of given type. | |
NodeSVG (const NodeSVG &node) | |
Copy constructor. | |
virtual void | setType (const tag_t &type) |
NodeSVG & | operator= (const NodeSVG &n) |
Copy data from a node. (Does not copy subtree.) | |
NodeSVG & | operator= (const tag_t &type) |
Set type. | |
NodeSVG & | operator= (const char *s) |
Set text (CTEXT). | |
NodeSVG & | operator= (const std::string &s) |
Set text (CTEXT). | |
NodeSVG & | operator= (const std::initializer_list< Variable::init_pair_t > &l) |
Set attributes. | |
Public Member Functions inherited from NodeXML< svg::tag_t > | |
std::map< int, std::string > | tags |
NodeXML (const elem_t &t=elem_t(0)) | |
NodeXML (const NodeXML &node) | |
bool | empty () const |
const elem_t & | getType () const |
bool | typeIs (const elem_t &t) const |
bool | isComment () const |
bool | isCText () const |
bool | isUndefined () const |
bool | isSelfClosing () const |
bool | isSelfClosing () const |
bool | isSelfClosing () const |
const std::string & | getTag () const |
const map_t & | getAttributes () const |
map_t & | getAttributes () |
void | set (const NodeXML &node) |
void | set (const elem_t &type) |
void | set (const std::string &s) |
void | set (const char *s) |
void | set (const drain::Castable &s) |
void | set (const std::initializer_list< Variable::init_pair_t > &l) |
void | set (const std::map< std::string, X > &args) |
void | set (const std::string &key, const V &value) |
void | remove (const std::string &s) |
const drain::FlexibleVariable & | get (const std::string &key) const |
drain::FlexibleVariable & | get (const std::string &key) |
V | get (const std::string &key, const V &defaultValue) const |
std::string | get (const std::string &key, const char *defaultValue) const |
void | addClass (const TT &... args) |
Style class. | |
bool | hasClass (const std::string &cls) const |
void | removeClass (const std::string &s) |
void | clearClasses () |
NodeXML & | operator= (const svg::tag_t &x) |
NodeXML & | operator= (const Castable &c) |
NodeXML & | operator= (const std::string &s) |
NodeXML & | operator= (const char *s) |
NodeXML & | operator= (const std::initializer_list< std::pair< const char *, const drain::Variable > > &l) |
NodeXML & | setComment (const std::string &text="") |
Make this node a comment. Contained tree will not be delete. In current version, attributes will be rendered. More... | |
NodeXML & | setText (const S &value) |
Assign the text content of this node. If the node type is undefined, set it to CTEXT. More... | |
NodeXML & | setText (const char *value) |
void | setStyle (const S &value) |
void | setStyle (const std::string &value) |
void | setStyle (const char *value) |
void | setStyle (const std::string &key, const std::string &value) |
void | setStyle (const std::string &key, const V &value) |
void | setStyle (const std::initializer_list< std::pair< const char *, const drain::Variable > > &l) |
bool | findById (const svg::tag_t &t, const std::string &id, typename T::path_t &result, const typename T::path_t &path) |
bool | findById (const svg::tag_t &t, const std::string &id, NodeXML<>::path_list_t &result, const path_t &path) |
bool | findByTag (const svg::tag_t &t, const N &tag, NodeXML<>::path_list_t &result, const path_t &path) |
bool | findByTags (const svg::tag_t &t, const std::set< N > &tags, NodeXML<>::path_list_t &result, const path_t &path) |
bool | findByClass (const svg::tag_t &t, const std::string &cls, NodeXML<>::path_list_t &result, const path_t &path) |
std::ostream & | toStream (std::ostream &ostr, const svg::tag_t &tree, const std::string &defaultTag, int indent) |
XML output function shared for all XML documents, ie versions defined in subclasses. More... | |
void | setId () |
Makes ID a visible attribute. | |
void | setId (const std::string &s) |
Makes ID a visible attribute, with a given value. | |
const std::string & | getId () const |
Returns ID of this element. Hopefully a unique ID... | |
Static Public Attributes | |
static std::string | xlink |
In opening SVG tag, referred to by attribute "xmlns:xlink". | |
static std::string | svg |
In opening SVG tag, referred to by attributes "xmlns" and "xmlns:svg". | |
static const drain::FileInfo | fileInfo |
Static Public Attributes inherited from NodeXML< svg::tag_t > | |
static const int | UNDEFINED |
static const int | COMMENT |
static const int | CTEXT |
static const int | STYLE |
static const int | SCRIPT |
static tag_map_t | tags |
Protected Attributes | |
int | x |
int | y |
int | width |
int | height |
int | radius |
std::string | fill |
std::string | opacity |
std::string | text_anchor |
Protected Attributes inherited from NodeXML< svg::tag_t > | |
std::string | id |
Protected Attributes inherited from SmartMap< FlexibleVariable > | |
std::list< std::string > | keyList |
Assigns values from std::string of type "value,value2,...valueN". More... | |
char | separator |
Default character used for splitting input and output. See setValues. | |
char | arraySeparator |
Default separator character for array elements (std::vector's) | |
Additional Inherited Members | |
Public Types inherited from svg | |
enum | tag_t { UNDEFINED =NodeXML<>::UNDEFINED , COMMENT =NodeXML<>::COMMENT , CTEXT =NodeXML<>::CTEXT , STYLE =NodeXML<>::STYLE , SCRIPT =NodeXML<>::SCRIPT , SVG , CIRCLE , DESC , GROUP , LINE , IMAGE , METADATA , POLYGON , RECT , TEXT , TITLE , TSPAN } |
Public Types inherited from NodeXML< svg::tag_t > | |
typedef svg::tag_t | elem_t |
Tag type, CTEXT or COMMENT. | |
typedef NodeXML< svg::tag_t > | xml_node_t |
typedef drain::Path< std::string,'/'> | path_t |
Tree path type. | |
typedef UnorderedMultiTree< NodeXML< svg::tag_t >, false, path_t > | xml_tree_t |
typedef ReferenceMap2< FlexibleVariable > | map_t |
typedef std::map< svg::tag_t, std::string > | tag_map_t |
typedef std::list< path_t > | path_list_t |
Static Public Member Functions inherited from NodeXML< svg::tag_t > | |
static const std::string & | getTag (unsigned int index) |
static bool | findById (const V &tree, const std::string &tag, typename V::path_t &result, const typename V::path_t &path=path_t()) |
Find the first occurrence of given id using recursive breath-first search. More... | |
static bool | findById (const V &tree, const std::string &tag, path_list_t &result, const path_t &path=path_t()) |
Find all the occurrence of given ID using recursive breath-first search. More... | |
static bool | findByTag (const V &tree, const svg::tag_t &tag, path_list_t &result, const path_t &path=path_t()) |
"Forward definition" | |
static bool | findByTags (const V &tree, const std::set< svg::tag_t > &tags, path_list_t &result, const path_t &path=path_t()) |
"Forward definition" | |
static bool | findByClass (const V &t, const std::string &tag, path_list_t &result, const path_t &path=path_t()) |
"Forward definition" | |
static std::ostream & | docToStream (std::ostream &ostr, const V &tree) |
static std::ostream & | toStream (std::ostream &ostr, const V &t, const std::string &defaultTag="", int indent=0) |
"Forward definition" of Tree::toOstream | |
static std::ostream & | docTypeToStream (std::ostream &ostr) |
Write the XML definition beginning any XML document. More... | |
static const std::pair< key_t, NodeXML< svg::tag_t > > & | entry () |
static int | getCount () |
Public Attributes inherited from NodeXML< svg::tag_t > | |
elem_t | type |
std::string | ctext |
Some general-purpose. | |
std::string | url |
StyleXML | style |
ClassListXML | classList |
Protected Types inherited from NodeXML< svg::tag_t > | |
typedef std::map< std::string, std::string > | xmldoc_attrib_map_t |
Protected Types inherited from ReferenceMap2< FlexibleVariable > | |
enum | extLinkPolicy |
typedef FlexibleVariable | ref_t |
typedef SmartMap< FlexibleVariable > | map_t |
Protected Types inherited from SmartMap< FlexibleVariable > | |
typedef SmartMap< FlexibleVariable > | smap_t |
typedef std::map< std::string, FlexibleVariable > | map_t |
typedef map_t::key_type | key_t |
typedef map_t::mapped_type | value_t |
typedef map_t::value_type | entry_t |
typedef std::list< std::string > | keylist_t |
typedef map_t::iterator | iterator |
Needed? | |
typedef map_t::const_iterator | const_iterator |
Protected Member Functions inherited from NodeXML< svg::tag_t > | |
NodeXML< int >::xmldoc_attrib_map_t | xmldoc_attribs |
Protected Member Functions inherited from ReferenceMap2< FlexibleVariable > | |
ref_t & | link (const std::string &key, F &x) |
Associates a map entry with a variable. More... | |
ref_t & | link (const std::string &key, void *ptr, const std::type_info &type, size_t count=1) |
Create a reference to a basic type or std::string. (Also for basetype arrays.) | |
void | copyStruct (const ReferenceMap2< FlexibleVariable > &m, const T2 &src, T2 &dst, extLinkPolicy policy=RESERVE) |
Experimental. Copies references and values of a structure to another. More... | |
Protected Member Functions inherited from SmartMap< FlexibleVariable > | |
SmartMap (char separator='\0', char arraySeparator=':') | |
SmartMap (const SmartMap &smap) | |
virtual void | clear () |
bool | hasKey (const std::string &key) const |
std::string | get (const std::string &key, const std::string &defaultValue) const |
Retrieves a value, or default value if value is unset. More... | |
std::string | get (const std::string &key, const char *defaultValue) const |
T2 | get (const std::string &key, const T2 &defaultValue) const |
Retrieves a value, if set, else returns the given default value. More... | |
virtual FlexibleVariable & | operator[] (const std::string &key) |
Returns an element. Creates one, conditionally. More... | |
virtual const FlexibleVariable & | operator[] (const std::string &key) const |
Unlike with std::map, operator[] const is defined, returning reference to a static empty instance. | |
virtual const keylist_t & | getKeyList () const |
Derived versions may produce an ordered set of keys. | |
const map_t & | getMap () const |
void | exportMap (std::map< std::string, T2 > &m) const |
Copies the contents to another map. | |
void | importEntries (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
Assigns a value to given key; if the entry does not exist, tries to create it with directly with operator[]. More... | |
void | importEntries (const std::list< std::string > &entries, char assignmentSymbol='=') |
void | importMap (const std::map< std::string, S > &m) |
Assign values from a map, overriding existing entries. More... | |
void | importCastableMap (const drain::SmartMap< T2 > &m) |
Assign values from a map, possibly extending the map. More... | |
void | updateFromMap (const std::map< std::string, T2 > &m) |
Assign values from a map. Updates existing entries only. More... | |
void | updateFromCastableMap (const drain::SmartMap< T2 > &m) |
Convenience. | |
void | setValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
Sets values. If strictness==STRICTLY_CLOSED, throws exception if tries to assign a non-existing entry. | |
void | setValues (const char *entries, char assignmentSymbol='=', char separatorSymbol=0) |
void | setValuesSEQ (const S &sequence) |
void | updateValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
Sets applicable values ie. modifies existing entries only. In ordered maps, skips extra entries silently. | |
void | getKeys (std::ostream &ostr) const |
std::string | getKeys () const |
Convenience function for std::string output. | |
void | getValues (std::ostream &ostr) const |
Dumps the values. | |
std::string | getValues () const |
Convenience function for std::string output. | |
std::ostream & | toStream (std::ostream &ostr, char equal='=', char startChar='{', char endChar='}', char separatorChar=',') const |
Note: parameters discarded. | |
std::string | toStr (char equal='=', char start=0, char end=0, char separator=0) const |
void | dump (std::ostream &ostr=std::cout) const |
Write map as a JSON code. More... | |
Static Protected Member Functions inherited from NodeXML< svg::tag_t > | |
static void | attribToStream (std::ostream &ostr, const std::string &key, const V &value) |
Static Protected Attributes inherited from NodeXML< svg::tag_t > | |
static xmldoc_attrib_map_t | xmldoc_attribs |
static int | nextID |