Wtx ~ Wt Extension Library
WtxLib
FieldDefLookupBase.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 #ifndef __WTX_DBO_FIELDDEFLOOKUPBASE_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
46 #define __WTX_DBO_FIELDDEFLOOKUPBASE_H_234e0174_6b7d_11e8_b503_fb1ef3651ec0__
47 
48 #include <Wtx/Dbo/QueryModel.h>
49 
50 #include "FieldDefBase.h"
51 
52 namespace Wtx {
53  namespace Dbo {
54 
62 {
63  public:
64 
65 #ifdef NEVER
66  class Dialog
67  : public Wt::WDialog
68  {
69  public:
70 
71  Dialog();
72 
73  int m_selectedId = -1;
74  };
75 #endif
76 
77  class Provider
78  {
79  public:
80 
81  typedef std::shared_ptr< Wtx::Dbo::QueryModel< std::tuple<int,std::string> > > Model;
82 
83  virtual int find_id( const std::string & value );
84  virtual std::string get_string( int id );
85  virtual std::string get_toolTip( int id );
86 
87  virtual std::shared_ptr< Wt::WAbstractItemModel > model( int sid, int tid, const std::string & filter );
88 
89  virtual std::unique_ptr<Wt::WTableView> getTableView( int sid, int tid, const std::string & filter );
90 
91  };
92 
99  (
100  TableDef & td,
101  const char * fn,
102  int w = -1,
103  int h = -1,
104  Flags f = Flags::None,
105  std::string lb = "",
106  std::string ph = "",
107  std::string inf = "",
108  std::string tt = "",
109  int ht = -1
110  );
111 
113  (
114  TableDef & td,
115  const char * fn,
116  std::string lb = "",
117  std::string ph = "",
118  std::string inf = "",
119  std::string tt = "",
120  int ht = -1
121  );
122 
123  Provider * provider() { return m_provider.get(); }
124 
198  std::shared_ptr<Wt::WAbstractItemModel> (*getLookupModel)( int sid, int tid, const std::string & filter, Wtx::Dbo::Session & session ) = nullptr;
199 
200  std::unique_ptr<Wt::WTableView> (*getTableView)( int sid, int tid, const std::string & filter, Wtx::Dbo::Session & session ) = nullptr;
201 
202  std::unique_ptr<Provider> m_provider;
203 
204 }; // endclass Wtx::Dbo::FieldDefLookupBase
205 
206  } // endnamespace Dbo
207 } // endnamespace Wtx
208 
209 #endif // #ifndef __WTX_DBO_FIELDDEFLOOKUPBASE_H___
210 
Table Definition.
Definition: TableDef.h:72
FieldDefLookupBase(TableDef &td, const char *fn, int w=-1, int h=-1, Flags f=Flags::None, std::string lb="", std::string ph="", std::string inf="", std::string tt="", int ht=-1)
ctor
Flags
Field Definition Flags.
Definition: FieldDefBase.h:101
witty extension library
Definition: Activity.h:51