@ -44,6 +44,7 @@
# define AUTOCONNECT_JSON_TYPE_ACSTYLE "ACStyle"
# define AUTOCONNECT_JSON_TYPE_ACSUBMIT "ACSubmit"
# define AUTOCONNECT_JSON_TYPE_ACTEXT "ACText"
# define AUTOCONNECT_JSON_TYPE_ACIMAGE "ACImage"
# define AUTOCONNECT_JSON_VALUE_BEHIND "behind"
# define AUTOCONNECT_JSON_VALUE_BR "br"
# define AUTOCONNECT_JSON_VALUE_EXTERNAL "extern"
@ -303,6 +304,31 @@ class AutoConnectTextJson : public AutoConnectElementJson, public AutoConnectTex
void serialize ( JsonObject & json ) override ;
} ;
/**
* Image arrangement class , a part of AutoConnectAux element .
* @ param
* @ param name Image name string .
* @ param value Image value string .
* @ param style A string of style - code for decoration , optionally .
* An arrangement image would be placed with < div > contains . A string
* of style - codes are given for ' < div style = > ' .
*/
class AutoConnectImageJson : public AutoConnectElementJson , public AutoConnectImageBasis {
public :
explicit AutoConnectImageJson ( const char * name = " " , const char * value = " " , const char * style = " " , const char * format = " " , const ACPosterior_t post = AC_Tag_None ) {
AutoConnectImageBasis : : name = String ( name ) ;
AutoConnectImageBasis : : value = String ( value ) ;
AutoConnectImageBasis : : style = String ( style ) ;
AutoConnectImageBasis : : format = String ( format ) ;
AutoConnectImageBasis : : post = post ;
_defaultPost = AC_Tag_None ;
}
~ AutoConnectImageJson ( ) { }
size_t getObjectSize ( void ) const override ;
bool loadMember ( const JsonObject & json ) override ;
void serialize ( JsonObject & json ) override ;
} ;
/**
* Casts only a class derived from the AutoConnectElement class to the
* actual element class .
@ -379,4 +405,12 @@ inline AutoConnectTextJson& AutoConnectElementJson::as<AutoConnectTextJson>(void
return * ( reinterpret_cast < AutoConnectTextJson * > ( this ) ) ;
}
template < >
inline AutoConnectImageJson & AutoConnectElementJson : : as < AutoConnectImageJson > ( void ) {
if ( typeOf ( ) ! = AC_Image ) {
AC_DBG ( " %s mismatched type as <%d> \n " , name . c_str ( ) , ( int ) typeOf ( ) ) ;
}
return * ( reinterpret_cast < AutoConnectImageJson * > ( this ) ) ;
}
# endif // _AUTOCONNECTELEMENTJSON_H_