Wtx ~ Wt Extension Library
WtxLib
TableView.cpp
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 #include <Wt/WItemDelegate.h>
47 #include <Wt/WPopupMenu.h>
48 
49 #include "TableView.h"
50 
52 : public Wt::WItemDelegate
53 {
54  public:
55 
57  : Wt::WItemDelegate(),
58  m_tableView( tv )
59  {}
60 
61  virtual std::unique_ptr<Wt::WWidget> update( Wt::WWidget *widget, const Wt::WModelIndex& index, Wt::WFlags< Wt::ViewItemRenderFlag > flags )
62  {
63  auto w = Wt::WItemDelegate::update( widget, index, flags );
64 
65  Wt::WInteractWidget *iw = dynamic_cast< Wt::WInteractWidget* >( w.get() );
66  iw-> mouseWentUp().connect( this, &HeaderDelegate::showHeaderPopup );
67 
68  return w;
69  }
70 
71  void showHeaderPopup( const Wt::WMouseEvent& event )
72  {
73  m_tableView-> showHeaderPopup( event );
74  }
75 
76  private:
77 
78  Wtx::TableView * m_tableView;
79 
80 };
81 
82 
83 Wtx::TableView::~TableView()
84 {
85 }
86 
87 Wtx::TableView::TableView()
88 : Wt::WTableView()
89 {
90  setHeaderItemDelegate( std::make_shared<HeaderDelegate>( this ) );
91 
92  setAttributeValue
93  (
94  "oncontextmenu",
95  "event.cancelBubble = true; event.returnValue = false; return false;"
96  );
97 
98 }
99 
100 void Wtx::TableView::showHeaderPopup( const Wt::WMouseEvent & event )
101 {
102 }
103 
104 
Table View.
Definition: TableView.h:65