Wtx ~ Wt Extension Library
WtxLib
MiniMonth.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_MINIMONTH_H___
46 #define __WTX_MINIMONTH_H___
47 
48 #include <Wt/WContainerWidget.h>
49 
50 #include "DayWidget.h"
51 
52 namespace Wtx {
53  namespace Web {
54  namespace Calendar {
55 
56 class MiniMonth
57 : public Wt::WContainerWidget
58 {
59  public:
60 
61  class DayWidget
62  : public Wt::WText
63  {
64  public:
65 
66  DayWidget( const Wt::WDate & date );
67 
68  const Wt::WDate & date() const;
69 
70  void setSelected( bool value );
71 
72  private:
73 
74  Wt::WDate m_date;
75  };
76 
77  MiniMonth( int firstDayOfWeek, const Wt::WDate & date );
78 
79  void allowPrev( bool value = true );
80  void allowNext( bool value = true );
81  void allowPrevNext( bool value = true );
82  void setSelectedDate( const Wt::WDate & date );
83 
84  void browseTo( const Wt::WDate & date );
85 
86  Wt::WTemplate * templt()
87  {
88  return m_templt;
89  }
90 
91  Wt::WTable * table()
92  {
93  return m_table;
94  }
95 
96  Wt::Signal<> & prevClicked()
97  {
98  return m_prevClicked;
99  }
100 
101  Wt::Signal<> & nextClicked()
102  {
103  return m_nextClicked;
104  }
105 
106  private:
107 
108  void updateView();
109 
110  int m_firstDayOfWeek = 0;
111  Wt::WDate m_date;
112  std::vector< DayWidget * > m_dayWidgets;
113 
114  Wt::WTemplate * m_templt = nullptr;
115  Wt::WText * m_prev = nullptr;
116  Wt::WText * m_next = nullptr;
117  Wt::WText * m_month = nullptr;
118  Wt::WText * m_year = nullptr;
119  Wt::WTable * m_table = nullptr;
120 
121  Wt::Signal<> m_prevClicked;
122  Wt::Signal<> m_nextClicked;
123 
124 }; // endclass MiniMonth
125 
126  } // endnamespace Calendar
127  } // endnamespace Web
128 } // endnamespace Wtx
129 
130 
131 #endif // end#ifndef __WTX_MINIMONTH_H___
132 
133 
witty extension library
Definition: Activity.h:51