NCBI C++ ToolKit
alnspan_widget.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS_ALN_SPAN___ALN_SPAN_WIDGET__HPP
2 #define GUI_WIDGETS_ALN_SPAN___ALN_SPAN_WIDGET__HPP
3 
4 /* $Id: alnspan_widget.hpp 23967 2011-06-24 22:33:37Z voronov $
5  * ===========================================================================
6  *
7  * PUBLIC DOMAIN NOTICE
8  * National Center for Biotechnology Information
9  *
10  * This software/database is a "United States Government Work" under the
11  * terms of the United States Copyright Act. It was written as part of
12  * the author's official duties as a United States Government employee and
13  * thus cannot be copyrighted. This software/database is freely available
14  * to the public for use. The National Library of Medicine and the U.S.
15  * Government have not placed any restriction on its use or reproduction.
16  *
17  * Although all reasonable efforts have been taken to ensure the accuracy
18  * and reliability of the software and data, the NLM and the U.S.
19  * Government do not and cannot warrant the performance or results that
20  * may be obtained by using this software or data. The NLM and the U.S.
21  * Government disclaim all warranties, express or implied, including
22  * warranties of performance, merchantability or fitness for any particular
23  * purpose.
24  *
25  * Please cite the author in any work or product based on this material.
26  *
27  * ===========================================================================
28  *
29  * Authors: Yury Voronov
30  *
31  * File Description:
32  *
33  */
34 
35 #include <corelib/ncbiobj.hpp>
36 #include <gui/utils/command.hpp>
39 
40 #include <gui/objutils/objects.hpp>
41 
42 #include <objmgr/scope.hpp>
43 
45 
46 
48 
49 
51  : public CwxTableListCtrl
52 {
53 public:
55 
57  wxWindow* parent,
58  wxWindowID id = wxID_ANY,
59  const wxPoint& pos = wxDefaultPosition,
60  const wxSize& size = wxDefaultSize,
61  long style = wxLC_REPORT | wxLC_VIRTUAL
62  );
63 
64  virtual ~CAlnSpanWidget();
65 
66 
67  // void Add(objects::CScope& scope, const objects::CSeq_align& aln);
68  void SetAlnModel( CAlnSpanVertModel& model );
69 
70  void Update();
71 
72  // Convinience function
73  int GetNumRowsSelected() const { return GetSelectedItemCount(); }
74 
75  typedef list< CConstRef<objects::CSeq_loc> > TLocations;
76  void GetSelection( TLocations& locs ) const;
77 
78  /// @name ISelectionModel::ISMListener Interface
79  /// @{
80  //void SelectionChanged( const ISelectionModel::CSMNotice& msg );
81  /// @}
82 
83  virtual void AppendMenuItems( wxMenu& aMenu );
84 
85  /// @name Command and Event handlers
86  /// @{
87  virtual void x_OnSelectionChanged( bool on, int start_row, int end_row = -1 );
88 
89  void OnExportToCSV( wxCommandEvent& event );
90  void OnSettings( wxCommandEvent& event );
91  void OnSettingsUpdateUI( wxUpdateUIEvent& event );
92  ///@}
93 
94 protected:
95  void x_NotifyWidgetSelChanged();
96  void x_NotifyWidgetRangeChanged();
97 
98 private:
99  /// prohibited
102 
103  DECLARE_EVENT_TABLE()
104 };
105 
106 
107 
108 
110 
111 
112 #endif // GUI_WIDGETS_ALN_SPAN___ALN_SPAN_WIDGET__HPP
CAlnSpanWidget & operator=(const CAlnSpanWidget &)
list< CConstRef< objects::CSeq_loc > > TLocations
int GetNumRowsSelected() const
CAlnSpanWidget(const CAlnSpanWidget &)
prohibited
CwxTableListCtrl - generic wxListCtrl-based Table Control.
virtual void x_OnSelectionChanged(bool on, int start_row, int end_row=-1)
virtual void AppendMenuItems(wxMenu &aMenu)
GUI command routing and handling framework.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_GUIWIDGETS_ALNTABLE_EXPORT
Definition: gui_export.h:522
const struct ncbi::grid::netcache::search::fields::SIZE size
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
static static static wxID_ANY
Modified on Mon Apr 22 04:06:35 2024 by modify_doxy.py rev. 669887