Wtx ~ Wt Extension Library
WtxLib
FormModel.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_FORMMODEL_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
47 #define __WTX_FORMMODEL_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
48 
49 #include <Wt/WFormModel.h>
50 #include <Wt/WLineEdit.h>
51 #include <Wt/Dbo/Field.h>
52 
53 #include "Dbo/Session.h"
54 #include "Dbo/TableDef.h"
55 
56 namespace Wt {
57  class WString;
58  class WWidget;
59  class WValidator;
60 }
61 
62 namespace Wtx {
63 
64 class FormModel
65 : public Wt::WFormModel
66 {
67  public:
68 
70 
71  virtual ~FormModel();
72 
73  Wtx::Dbo::TableDef & tableDef() const { return m_tableDef; }
74 
75  virtual std::unique_ptr<Wt::WWidget> createWidget( Wtx::Dbo::Session & session );
76 
77  virtual void reset();
78 
79  virtual bool validate();
80 
81  virtual bool isVisible( Wt::WFormModel::Field field ) const;
82 
83  virtual bool isReadOnly( Wt::WFormModel::Field field ) const;
84 
85  virtual Wt::WString label( Wt::WFormModel::Field field ) const;
86 
87  virtual void setValue( Wt::WFormModel::Field field, const Wt::cpp17::any &value );
88 
89  virtual const Wt::cpp17::any & value( Wt::WFormModel::Field field ) const;
90 
91  virtual Wt::WString valueText( Wt::WFormModel::Field field ) const;
92 
93  virtual void setValidator( Wt::WFormModel::Field field, const std::shared_ptr< Wt::WValidator > &validator );
94 
95  virtual std::shared_ptr< Wt::WValidator > validator( Wt::WFormModel::Field field ) const;
96 
97  virtual bool validateField( Wt::WFormModel::Field field );
98 
99  virtual void setValidated( Wt::WFormModel::Field field, bool validated );
100 
101  virtual bool isValidated( Wt::WFormModel::Field field ) const;
102 
103  virtual void setValidation( Wt::WFormModel::Field field, const Wt::WValidator::Result &result );
104 
105  protected:
106 
107  private:
108 
117  void init();
118 
119  Wtx::Dbo::TableDef & m_tableDef;
120 
121 }; // endclass FormModel
122 
123 } // endnamespace Wtx
124 
125 #endif
126 
Table Definition.
Definition: TableDef.h:72
witty extension library
Definition: Activity.h:51