Wtx ~ Wt Extension Library
WtxLib
BaseView.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_CALENDARBASEVIEW_H___
46 #define __WTX_CALENDARBASEVIEW_H___
47 
48 #include <Wt/WModelIndex.h>
49 #include <Wt/WContainerWidget.h>
50 #include <Wt/WDate.h>
51 
52 namespace Wtx {
53  namespace Web {
54  namespace Calendar {
55 
56 class Widget;
57 class BaseView
58 : public Wt::WContainerWidget
59 {
60  public:
61 
62  BaseView( int firstDayOfWeek, Wtx::Web::Calendar::Widget * widget );
63 
64  virtual void setSelectionMode( Wt::SelectionMode mode );
65  virtual void browseToPreviousYear();
66  virtual void browseToPreviousMonth();
67  virtual void browseToNextYear();
68  virtual void browseToNextMonth();
69  virtual void browseTo( const Wt::WDate & date );
70  int currentDay() const;
71  int currentMonth() const;
72  int currentYear() const;
73  virtual void clearSelection();
74  virtual void select( const Wt::WDate & date );
75  virtual void select( const std::set< Wt::WDate > & dates );
76  virtual void setFirstDayOfWeek( int dayOfWeek );
77  virtual const std::set< Wt::WDate > & selection() const;
78  virtual Wt::Signal<> & selectionChanged();
79  virtual Wt::Signal< Wt::WDate > & activated();
80  virtual Wt::Signal< Wt::WDate > & clicked();
81  virtual Wt::Signal< int, int > & currentPageChanged();
82  virtual void setSingleClickSelect( bool single );
83  virtual void setBottom( const Wt::WDate & bottom );
84  virtual const Wt::WDate & bottom() const;
85  virtual void setTop( const Wt::WDate & top );
86  virtual const Wt::WDate & top() const;
87 
88  const Wt::WDate & selectedDate() const;
89  virtual void setSelectedDate( const Wt::WDate & date );
90 
91  Wtx::Web::Calendar::Widget * widget();
92 
93  std::shared_ptr<Wt::WAbstractItemModel> getModel( const Wt::WDate & date, const std::vector<std::string> & fieldList );
94 
95  protected:
96 
97  private:
98 
99  int m_firstDayOfWeek = 1;
100  Wtx::Web::Calendar::Widget * m_widget = nullptr;
101  Wt::WDate m_selectedDate;
102  Wt::Signal<> m_selectionChanged;
103  Wt::Signal< Wt::WDate > m_activated;
104  Wt::Signal< Wt::WDate > m_clicked;
105  Wt::Signal< int, int > m_currentPageChanged;
106 
107 }; // endclass BaseView
108 
109  } // endnamespace Calendar
110  } // endnamespace Web
111 } // endnamespace Wtx
112 
113 
114 #endif // #ifndef __WTX_CALENDARBASEVIEW_H___
115 
116 
Calendar Widget.
Definition: Widget.h:66
witty extension library
Definition: Activity.h:51