Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

select.hh

00001 /*
00002 *  Name:      select.hh
00003 *  Author:    Rafael Jesus Alcantara Perez
00004 *  Summary:   HTML select
00005 *  Date:      $Date: 2003/04/14 00:18:34 $
00006 *  Revision:  $Revision: 1.1 $
00007 *
00008 *  Copyright (C) 1994-2002  Rafael Jesus Alcantara Perez <rafa@dedalo-ing.com>
00009 *
00010 *  This program is free software; you can redistribute it and/or modify
00011 *  it under the terms of the GNU General Public License as published by
00012 *  the Free Software Foundation; either version 2 of the License, or
00013 *  (at your option) any later version.
00014 *
00015 *  This program is distributed in the hope that it will be useful,
00016 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 *  GNU General Public License for more details.
00019 *
00020 *  You should have received a copy of the GNU General Public License
00021 *  along with this program; if not, write to the Free Software
00022 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00023 *  MA 02111-1307, USA.
00024 */
00025 
00026 #ifndef _MPCL_TEXT_HTML_SELECT__
00027 #define _MPCL_TEXT_HTML_SELECT__
00028 
00029 #include "option.hh"
00030 #include "container.hh"
00031 
00032 
00034 namespace mpcl
00035 {
00036 
00038   namespace text
00039   {
00040 
00042     namespace html
00043     {
00044 
00046       class TSelect : public TContainer
00047       {
00048 
00049         public:
00050 
00051           //
00052           //  C O N S T R U C T O R S
00053           //
00054 
00055           TSelect (const char* pkcIDENTIFIER, size_t zSIZE, bool gMULTIPLE = false) :
00056             TContainer (pkcIDENTIFIER)
00057           {
00058             tAttributeMap ["class-identifier"] = "select";
00059             tAttributeMap.bind ("size",     Format ("%u", zSIZE));
00060             tAttributeMap.bind ("multiple", BoolToString (gMULTIPLE));
00061           }
00062 
00063           void insertUpdating (const QTTag& rkqtTAG)
00064           {
00065             (*rkqtTAG) ("identifier") = identifier();
00066             insertAs (identifier(), rkqtTAG, end());
00067           }
00068 
00069           void insertUpdating (const QTTag& rkqtTAG, iterator tINDEX)
00070           {
00071             (*rkqtTAG) ("identifier") = identifier();
00072             insertAs (identifier(), rkqtTAG, tINDEX);
00073           }
00074 
00075           using TTag::setValue;
00076 
00077           void setValue (const char* pkcVALUE)
00078           {
00079             TTagList::iterator   I    = tTagList.begin();
00080             TTagList::iterator   tEnd = tTagList.end();
00081 
00082             tAttributeMap ["value"] = pkcVALUE;
00083             for (; ( I != tEnd ) ;++I)
00084             {
00085               if ( (*I)->getValue() == pkcVALUE )
00086               {
00087                 (**I) ("checked") = "true";
00088                 break;
00089               }
00090             }
00091           }
00092 
00093       };  // class TSelect
00094 
00095     }  // namespace html
00096 
00097   }  // namespace text
00098 
00099 }  // namespace mpcl
00100 
00101 
00102 #endif  // not _MPCL_TEXT_HTML_SELECT__

Generated on Mon Oct 13 02:35:23 2003 for MPCL by doxygen1.2.18