Wtx ~ Wt Extension Library
WtxLib
TemplateFormView.h
1 /**************************************************************************
2 ###########################################################################
3 ##
4 ## $SHOWOFFDB_BEGIN_LICENSE$
5 ## Copyright (C) 2011 Lorimark Solutions, LLC and/or its subsidiary(-ies).
6 ## All rights reserved.
7 ## Contact: Lorimark Solutions, LLC (info@showoff-db.org)
8 ##
9 ## This file is part of the Showoff Database Application Framework.
10 ##
11 ## Commercial Usage
12 ## Licensees holding valid ShowoffDB Commercial licenses may use this file in
13 ## accordance with the ShowoffDB Commercial License Agreement provided with the
14 ## Software or, alternatively, in accordance with the terms contained in
15 ## a written agreement between you and Lorimark Solutions, LLC.
16 ##
17 ## GNU Lesser General Public License Usage
18 ## Alternatively, this file may be used under the terms of the GNU Lesser
19 ## General Public License version 2.1 as published by the Free Software
20 ## Foundation and appearing in the file LICENSE.LGPL included in the
21 ## packaging of this file. Please review the following information to
22 ## ensure the GNU Lesser General Public License version 2.1 requirements
23 ## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 ##
25 ## In addition, as a special exception, Lorimark Solutions, LLC gives
26 ## you certain additional rights. These rights are described in the
27 ## Lorimark Solutions, LLC ShowoffDB LGPL Exception version 1.0, included in
28 ## the file LGPL_EXCEPTION.txt in this package.
29 ##
30 ## GNU General Public License Usage
31 ## Alternatively, this file may be used under the terms of the GNU
32 ## General Public License version 3.0 as published by the Free Software
33 ## Foundation and appearing in the file LICENSE.GPL included in the
34 ## packaging of this file. Please review the following information to
35 ## ensure the GNU General Public License version 3.0 requirements will be
36 ## met: http://www.gnu.org/copyleft/gpl.html.
37 ##
38 ## If you have questions regarding the use of this file, please contact
39 ## Lorimark Solutions, LLC at info@showoff-db.org.
40 ## $SHOWOFFDB_END_LICENSE$
41 ##
42 #############################################################################
43 ****************************************************************************/
44 
45 
46 #ifndef __WTX_TEMPLATEFORMVIEW_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
47 #define __WTX_TEMPLATEFORMVIEW_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
48 
49 #include <Wt/WTemplateFormView.h>
50 
51 namespace Wt {
52  class WWidget;
53 }
54 
55 namespace Wtx {
56 
65 : public Wt::WTemplateFormView
66 {
67 
68  public:
69 
70  virtual ~TemplateFormView();
71  TemplateFormView( const Wt::WString & text );
72 
82  std::unique_ptr<Wt::WWidget> createFormWidget( Wt::WFormModel::Field f );
83 
93  std::unique_ptr<Wt::WWidget> createEditWidget( Wt::WFormModel::Field f );
94 
95  /*
96  ** base class virtual overrides
97  **
98  */
99  virtual void updateView( Wt::WFormModel *model );
100  virtual void updateViewField( Wt::WFormModel *model, Wt::WFormModel::Field field );
101  virtual void updateViewValue( Wt::WFormModel *model, Wt::WFormModel::Field field, Wt::WFormWidget *edit );
102  virtual bool updateViewValue( Wt::WFormModel *model, Wt::WFormModel::Field field, Wt::WWidget *edit );
103  virtual void updateModel( Wt::WFormModel *model );
104  virtual void updateModelField( Wt::WFormModel *model, Wt::WFormModel::Field field );
105  virtual void updateModelValue( Wt::WFormModel *model, Wt::WFormModel::Field field, Wt::WFormWidget *edit );
106  virtual bool updateModelValue( Wt::WFormModel *model, Wt::WFormModel::Field field, Wt::WWidget *edit );
107 
108  /*
109  ** Template class overrides
110  **
111  */
112  virtual void bindString( const std::string &varName, const Wt::WString &value, Wt::TextFormat textFormat=Wt::TextFormat::XHTML );
113  virtual void bindWidget( const std::string &varName, std::unique_ptr< Wt::WWidget > widget );
114  virtual std::unique_ptr< Wt::WWidget > removeWidget( Wt::WWidget *widget ) override;
115  virtual bool conditionValue( const std::string &name ) const;
116  virtual void resolveString( const std::string &varName, const std::vector< Wt::WString > &args, std::ostream &result );
117  virtual void handleUnresolvedVariable( const std::string &varName, const std::vector< Wt::WString > &args, std::ostream &result );
118  virtual WWidget * resolveWidget( const std::string &varName );
119  virtual bool resolveFunction( const std::string &name, const std::vector< Wt::WString > &args, std::ostream &result );
120  virtual void refresh() override;
121  virtual void renderTemplate( std::ostream &result );
122 
123  protected:
124 
125  void show( const std::string & functionName, const std::string & varName, const std::vector< Wt::WString > & args = std::vector<Wt::WString>() )
126  {
127 #ifdef NEVER
128  std::cout << __FILE__ << ":" << __LINE__ << " " << functionName << ": " << varName << std::endl;
129  for( auto arg : args )
130  std::cout << __FILE__ << ":" << __LINE__ << " --" << arg << std::endl;
131 #endif
132  }
133 
134  private:
135 
136 }; // endclass TemplateFormView
137 
138 } // endnamespace Wtx {
139 
140 #endif // __WTX_TEMPLATEFORMVIEW_H___
141 
Template Form View.
witty extension library
Definition: Activity.h:51