Wtx ~ Wt Extension Library
WtxLib
FormWidgetWrapper.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_DBO_FORMWIDGETWRAPPER_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
47 #define __WTX_DBO_FORMWIDGETWRAPPER_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
48 
49 namespace Wtx {
50  namespace Dbo {
51 
53 : public Wt::WObject
54 {
55  public:
56 
57  FormWidgetWrapper( Wt::WFormModel * model, Wt::WFormModel::Field field, Wt::WFormWidget * widget )
58  : Wt::WObject(),
59  m_model(model),
60  m_field(field),
61  m_widget(widget)
62  {
63  widget-> focussed().connect( this, &FormWidgetWrapper::on_focussed );
64  widget-> blurred() .connect( this, &FormWidgetWrapper::on_blurred );
65  m_prevValue = widget-> valueText().toUTF8();
66  std::cout << __FILE__ << ":" << __LINE__ << " " << field() << std::endl;
67 
68  }
69 
70  Wt::Signal<FormWidgetWrapper*> & focussed()
71  {
72  return m_focussed;
73  }
74 
75  Wt::Signal<FormWidgetWrapper*> & blurred()
76  {
77  return m_blurred;
78  }
79 
80  Wt::WFormModel * model() const
81  {
82  return m_model;
83  }
84 
85  Wt::WFormModel::Field field() const
86  {
87  return m_field;
88  }
89 
90  Wt::WFormWidget * widget() const
91  {
92  return m_widget;
93  }
94 
95  const std::string & previousValue() const
96  {
97  return m_prevValue;
98  }
99 
100  private:
101 
102  void on_focussed()
103  {
104  std::cout << __FILE__ << ":" << __LINE__ << " " << std::endl;
105 
106  m_focussed.emit(this);
107  }
108 
109  void on_blurred()
110  {
111  m_blurred.emit(this);
112  }
113 
114  Wt::WFormModel * m_model = nullptr;
115  Wt::WFormModel::Field m_field = nullptr;
116  Wt::WFormWidget * m_widget = nullptr;
117 
118  Wt::Signal<FormWidgetWrapper*> m_focussed;
119  Wt::Signal<FormWidgetWrapper*> m_blurred;
120 
121  std::string m_prevValue;
122 
123 }; // endclass FormWidgetWrapper
124 
125  } // endnamespace Dbo {
126 } // endnamespace Wtx {
127 
128 #endif // __WTX_DBO_FORMWIDGETWRAPPER_H___
129 
130 
witty extension library
Definition: Activity.h:51