00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef _MPCL_TEXT_HTML_FORM__
00027 #define _MPCL_TEXT_HTML_FORM__
00028
00029 #include <vector>
00030 #include "container.hh"
00031
00032
00034 namespace mpcl
00035 {
00036
00038 namespace text
00039 {
00040
00042 namespace html
00043 {
00044
00046 class TForm;
00047
00049 typedef
00050 TSmartPointer<TForm>
00051 QTForm;
00052
00054 typedef
00055 TSmartPointer<const TForm>
00056 QKTForm;
00057
00059 class TForm : public TContainer
00060 {
00061
00062 public:
00063
00064
00065
00066
00067
00076 TForm ( const char* pkcIDENTIFIER ,
00077 const char* pkcCGI_PATH ,
00078 const char* pkcCGI_METHOD = "post" ,
00079 const char* pkcTARGET = "" ,
00080 const char* pkcTARGET_NAMED_ANCHOR = "" ) :
00081 TContainer (pkcIDENTIFIER, pkcCGI_PATH)
00082 {
00083 tAttributeMap ["class-identifier"] = "form";
00084 tAttributeMap.bind ("cgi-path", pkcCGI_PATH);
00085 tAttributeMap.bind ("cgi-method", pkcCGI_METHOD);
00086 tAttributeMap.bind ("target", pkcTARGET);
00087 tAttributeMap.bind ("target-named-anchor", pkcTARGET_NAMED_ANCHOR);
00088 gIsRootNode = true;
00089 gIsQualified = true;
00090 gForwardIdentifier = false;
00091 }
00092
00098 void setValues ( const TString& rkyIDENTIFIER ,
00099 const std::vector<TString>& rktVALUE_ARRAY )
00100 {
00101 using std::vector;
00102
00103 vector<TString>::const_iterator I = rktVALUE_ARRAY.begin();
00104 vector<TString>::const_iterator ktEnd = rktVALUE_ARRAY.end();
00105 QTTag qtTag = findOrInsertTag (rkyIDENTIFIER);
00106
00107 for (; ( I != ktEnd ) ;++I)
00108 {
00109 qtTag->setValue (*I);
00110 }
00111 }
00112
00113 };
00114
00115 }
00116
00117 }
00118
00119 }
00120
00121
00122 #endif // not _MPCL_TEXT_HTML_FORM__