Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
NodeGDAL Class Reference
Inheritance diagram for NodeGDAL:
Inheritance graph
[legend]
Collaboration diagram for NodeGDAL:
Collaboration graph
[legend]

Public Member Functions

 NodeGDAL (const tag_t &t=GDAL::ITEM)
 Constructor.
 
 NodeGDAL (const NodeGDAL &node)
 Copy constructor.
 
template<class T >
NodeGDAL & operator= (const T &x)
 
- Public Member Functions inherited from NodeXML< GDAL::tag_t >
const NodeXML< drain::image::SLD::tag_t >::xml_default_elem_map_t xml_default_elems
 
const NodeXML< image::SLD::tag_t >::xml_default_elem_map_t xml_default_elems
 
const NodeXML< Html::tag_t >::xml_default_elem_map_t xml_default_elems
 
const NodeXML< Html::tag_t >::xml_default_elem_map_t xml_default_elems
 
const NodeXML< int >::xml_default_elem_map_t xml_default_elems
 
 NodeXML ()
 Default constructor.
 
 NodeXML (const NodeXML &node)
 Copy constructor.
 
virtual const std::string & getTag () const override
 Default implementation of tag name retrieval based on drain::Enum<t>.
 
GDAL::tag_t getNativeType () const
 Change attributes, styles and classes of a node.
 
void set (const NodeXML< GDAL::tag_t > &node)
 
void set (const intval_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< std::pair< const char *, const Variable > > &args)
 
void set (const std::map< std::string, V > &args)
 
void set (const std::string &key, const V &value)
 
NodeXML & operator= (const NodeXML &node)
 
NodeXML & operator= (const xml_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)
 
virtual std::ostream & nodeToStream (std::ostream &ostr, tag_display_mode mode=EMPTY_TAG) const override
 Dumps info. Future option: outputs leading and ending tag.
 
std::ostream & docTypeToStream (std::ostream &ostr)
 
- Public Member Functions inherited from XML
map_t & getMap ()
 
const map_t & getMap () const
 
 XML ()
 User may optionally filter attributes and CTEST with this using StringTools::replace(XML::encodingMap);.
 
 XML (const XML &)
 
template<class T >
void setType (const T &t)
 
void setType (intval_t t)
 
const intval_t & getType () const
 
bool typeIsSet () const
 Return true, if type is any of the arguments.
 
template<class T2 , class ... T3>
bool typeIs (const T2 &arg, const T3... args) const
 Return true, if type is any of the arguments.
 
const std::string & setId ()
 Makes ID a visible attribute.
 
const std::string & setId (const std::string &s)
 Makes ID a visible attribute, with a given value.
 
template<char C = '\0', typename ... TT>
const std::string & setId (const TT &...args)
 Concatenates arguments to an id.
 
const std::string & getId () const
 Returns ID of this element. Hopefully a unique ID...
 
bool isUndefined () const
 
bool isComment () const
 
bool isCText () const
 
bool isStyle () const
 
bool isScript () const
 
bool isScopePlain () const
 
bool isScopeJS () const
 
bool isScope () const
 
virtual bool isSingular () const
 Tell if this element should always have an explicit closing tag even when empty, like <STYLE></STYLE>
 
virtual bool isExplicit () const
 Tell if this element should always have an explicit closing tag even when empty, like <STYLE></STYLE>
 
void reset ()
 Keep the element type but clear style, class and string data.
 
virtual void swapXML (XML &node)
 
template<class ... T>
void setComment (const T &...args)
 Make this node a comment. Contained tree will not be deleted. In current version, attributes WILL be rendered.
 
template<class ... T>
void setCommentSafe (const T &...args)
 Sets XML style comment <--...--> of concatenated arguments.
 
virtual void setText (const std::string &s)
 Assign the text content of this node. If the node type is undefined, set it to CTEXT.
 
template<class ... T>
void setText (const T &...args)
 
template<class ... T>
void setTextSafe (const T &...args)
 Sets slightly converted text, ensuring some XML entities.
 
template<class ... T>
void setProgramComment (const T &...args)
 Sets text surrounded by C language comment marks.
 
virtual const std::string & getText () const
 
const std::string & getUrl ()
 
virtual void setUrl (const std::string &s)
 
template<class ... T>
void setName (const T &...args)
 
const FlexibleVariable & getName () const
 
virtual bool empty () const
 
bool hasAttribute (const std::string &key)
 
bool hasUserAttribute (const std::string &key)
 
const map_t & getAttributes () const
 
map_t & getAttributes ()
 
const drain::FlexibleVariable & getAttribute (const std::string &key) const
 
drain::FlexibleVariable & getAttribute (const std::string &key)
 
template<class V >
V getAttribute (const std::string &key, const V &defaultValue) const
 
std::string getAttribute (const std::string &key, const char *defaultValue) const
 
const drain::FlexibleVariable & getUserAttribute (const std::string &key) const
 
drain::FlexibleVariable & getUserAttribute (const std::string &key)
 
template<class V >
V getUserAttribute (const std::string &key, const V &defaultValue) const
 
std::string getUserAttribute (const std::string &key, const char *defaultValue) const
 
virtual void setAttribute (const std::string &key, const std::string &value)
 Default implementation. Needed for handling units in strings, like "50%" or "640px".
 
virtual void setAttribute (const std::string &key, const char *value)
 Default implementation. Needed for handling units in strings, like "50%" or "640px".
 
template<class ... TT>
void setAttribute (const std::string &key, const TT &... args)
 "Final" implementation.
 
template<class ... TT>
void setUserAttribute (const std::string &key, const TT &... args)
 
void removeAttribute (const std::string &s)
 
const StyleXML & getStyle () const
 
Variable & getStyle (const std::string &key)
 
template<class T >
T getStyle (const std::string &key, const T &defaultValue) const
 
void setStyle (const StyleXML &s)
 
void setStyle (const std::string &value)
 
void setStyle (const char *value)
 
void setStyle (const std::string &key, const std::string &value)
 
template<class V >
void setStyle (const std::string &key, const std::initializer_list< V > &l)
 Set style of an element.
 
template<class ... TT>
void setStyle (const std::string &key, const TT &... args)
 For element/class/id, assign ...
 
void setStyle (const std::initializer_list< std::pair< const char *, const drain::Variable > > &args)
 
template<class V >
void setStyle (const std::map< std::string, V > &args)
 
const ClassListXML & getClasses () const
 
template<typename ... TT>
void addClass (const TT &... args)
 
void addClass (const ClassListXML &clist)
 
template<class V >
bool hasClass (const V &cls) const
 
template<class V >
void removeClass (const V &cls)
 
void clearClasses ()
 
virtual void specificAttributesToStream (std::ostream &ostr) const
 

Public Attributes

std::string name
 
std::string sample
 Standard GDAL attribute.
 
std::string role
 Standard GDAL attribute.
 
- Public Attributes inherited from XML
std::string ctext
 

Protected Member Functions

virtual void handleType () override final
 
- Protected Member Functions inherited from NodeXML< GDAL::tag_t >
NodeXML< int >::xmldoc_attrib_map_t xmldoc_attribs
 
- Protected Member Functions inherited from XML
bool typeIs () const
 

Additional Inherited Members

- Public Types inherited from GDAL
enum  tag_t {
  UNDEFINED =drain::NodeXML<>::UNDEFINED , CTEXT =drain::NodeXML<>::CTEXT , ROOT =10 , ITEM =11 ,
  USER =12
}
 
- Public Types inherited from NodeXML< GDAL::tag_t >
typedef GDAL::tag_t xml_tag_t
 
typedef NodeXML< GDAL::tag_t > xml_node_t
 
typedef drain::Path< std::string,'/'> path_t
 
typedef UnorderedMultiTree< xml_node_t, false, path_t > xml_tree_t
 
typedef std::map< xml_tag_t, xml_tag_t > xml_default_elem_map_t
 Helps creating child elements. Like children of HTML element UL should be LI.
 
- Public Types inherited from XML
enum  entity_t {
  AMPERSAND = '&' , LESS_THAN = '<' , EQUAL_TO = '=' , GREATER_THAN = '>' ,
  NONBREAKABLE_SPACE = ' ' , QUOTE = '"' , CURLY_LEFT = '{' , CURLY_RIGHT = '}' ,
  TAB = '\t' , NEWLINE = '\n' , DEGREE = 176
}
 
enum  tag_display_mode {
  FLEXIBLE_TAG = 0 , OPENING_TAG = 1 , CLOSING_TAG = 2 , EMPTY_TAG = OPENING_TAG | CLOSING_TAG ,
  NON_EMPTY_TAG , NO_TAG
}
 
typedef int intval_t
 
typedef std::map< std::string, FlexibleVariable > map_t
 
- Static Public Member Functions inherited from NodeXML< GDAL::tag_t >
static const std::string & getTag (const GDAL::tag_t &type)
 
static std::ostream & docToStream (std::ostream &ostr, const V &tree)
 
static std::ostream & docTypeToStream (std::ostream &ostr)
 Write the XML definition beginning any XML document.
 
- Static Public Member Functions inherited from XML
static const std::map< char, std::string > & getKeyConversionMap ()
 Characters that must be avoided in XML attribute keys: space, tab, =.
 
static const std::map< char, std::string > & getAttributeConversionMap ()
 Characters that must be avoided in XML attribute values: ".
 
static const std::map< char, std::string > & getCTextConversionMap ()
 Characters to avoid in XML free text: <, >, {, },.
 
static int getCount ()
 
static int getNewIndex ()
 
template<class N >
static std::ostream & toStream (std::ostream &ostr, const UnorderedMultiTree< N > &tree, int indent=0)
 
template<class N >
static std::ostream & styleToStream (std::ostream &ostr, const UnorderedMultiTree< N > &tree, int indent=0)
 
template<class N >
static std::ostream & textToStream (std::ostream &ostr, const UnorderedMultiTree< N > &tree, int indent=0)
 
static const std::map< char, std::string > & getEntityMap ()
 Handy map for converting characters to XML entities. Example: '&' -> "&amp;".
 
template<class V >
static void xmlAttribToStream (std::ostream &ostr, const std::string &key, const V &value)
 Handy map for converting characters to XML entities. Example: '&' -> "&amp;".
 
template<typename N >
static N & xmlAssignNode (N &dst, const N &src)
 Assign tree node (data) to another.
 
- Static Public Attributes inherited from NodeXML< GDAL::tag_t >
static const xml_default_elem_map_t xml_default_elems
 
- Static Public Attributes inherited from XML
static const intval_t UNDEFINED = 0
 
static const intval_t COMMENT = 1
 
static const intval_t CTEXT = 2
 
static const intval_t SCRIPT = 3
 
static const intval_t STYLE = 4
 
static const intval_t STYLE_SELECT = 5
 
static const intval_t JAVASCRIPT = 6
 
static const intval_t SCOPE = 8
 
static const intval_t SCOPE_CURLY = SCOPE|CURLY
 
static const intval_t XMLBASE = 10
 
static const std::string USER_ATTR_PREFIX = "data-"
 In XML variants, like SVG, it is possible to use any user defined attributes using prefix "data-" .
 
static int nextID = 0
 
- Protected Types inherited from NodeXML< GDAL::tag_t >
typedef std::list< std::pair< std::string, std::string > > xmldoc_attrib_map_t
 Control constant variables of (note: templated, through Node<T>::)
 
- Protected Attributes inherited from XML
intval_t type = XML::UNDEFINED
 
std::string id
 
std::string url
 
StyleXML style
 
ClassListXML classList
 
- Static Protected Attributes inherited from NodeXML< GDAL::tag_t >
static xmldoc_attrib_map_t xmldoc_attribs
 
- Static Protected Attributes inherited from XML
static const intval_t XML_LIKE = 0
 
static const intval_t CURLY = 1
 
static const intval_t PARENTHESES = 2
 
static const intval_t BRACES = 3
 
static const StyleXML curlyStyleXML
 
static const std::string SCOPE_BEGIN
 
static const std::string SCOPE_END
 
static const std::string COMMENT_BEGIN
 
static const std::string COMMENT_END
 

Member Function Documentation

◆ handleType()

void handleType ( )
finaloverrideprotectedvirtual

Reimplemented from XML.


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