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

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS___LOADERS___VCF_ASSEMBLY_SEL_PANEL__HPP
2 #define GUI_WIDGETS___LOADERS___VCF_ASSEMBLY_SEL_PANEL__HPP
3 /* $Id: vcf_assembly_sel_panel.hpp 45881 2021-01-05 03:10:02Z rudnev $
4  * ===========================================================================
5  *
6  * PUBLIC DOMAIN NOTICE
7  * National Center for Biotechnology Information
8  *
9  * This software/database is a "United States Government Work" under the
10  * terms of the United States Copyright Act. It was written as part of
11  * the author's official duties as a United States Government employee and
12  * thus cannot be copyrighted. This software/database is freely available
13  * to the public for use. The National Library of Medicine and the U.S.
14  * Government have not placed any restriction on its use or reproduction.
15  *
16  * Although all reasonable efforts have been taken to ensure the accuracy
17  * and reliability of the software and data, the NLM and the U.S.
18  * Government do not and cannot warrant the performance or results that
19  * may be obtained by using this software or data. The NLM and the U.S.
20  * Government disclaim all warranties, express or implied, including
21  * warranties of performance, merchantability or fitness for any particular
22  * purpose.
23  *
24  * Please cite the author in any work or product based on this material.
25  *
26  * ===========================================================================
27  *
28  * Authors: Vladislav Evgeniev
29  */
30 
31 #include <corelib/ncbistd.hpp>
32 #include <corelib/ncbiobj.hpp>
33 #include <gui/gui_export.h>
35 #include <gui/utils/job_future.hpp>
36 #include <wx/panel.h>
37 #include <set>
38 
39 class wxStaticText;
40 
41 /*!
42  * Control identifiers
43  */
44 
45 ////@begin control identifiers
46 #define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_STYLE wxTAB_TRAVERSAL
47 #define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_TITLE _("Assembly Options")
48 #define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_IDNAME ID_VCFASSEMBLYSELPANEL
49 #define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_SIZE wxSize(400, 300)
50 #define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_POSITION wxDefaultPosition
51 ////@end control identifiers
52 
53 
55 
56 class CAssemblySelPanel;
57 class CColumnarVCFReader;
58 
59 /*!
60  * CVcfAssemblySelectionPanel class declaration
61  */
62 
64 {
65  DECLARE_DYNAMIC_CLASS( CVcfAssemblySelectionPanel )
66  DECLARE_EVENT_TABLE()
67 
68 public:
69  /// Constructors
71  CVcfAssemblySelectionPanel( wxWindow* parent, CColumnarVCFReader* reader,
72  const wxString &input_vcf,
74  const wxPoint& pos = SYMBOL_CVCFASSEMBLYSELECTIONPANEL_POSITION,
77 
78  /// Creation
79  bool Create( wxWindow* parent,
81  const wxPoint& pos = SYMBOL_CVCFASSEMBLYSELECTIONPANEL_POSITION,
84 
85  /// Destructor
87 
88  /// Initialises member variables
89  void Init();
90 
91  /// Creates the controls and sizers
92  void CreateControls();
93 
94  bool IsInputValid();
95 
96  /// @name IRegSettings interface implementation
97  /// @{
98  virtual void SetRegistryPath(const string& path) { m_RegPath = path; }
99  virtual void LoadSettings();
100  virtual void SaveSettings() const;
101  /// @}
102 
103 ////@begin CVcfAssemblySelectionPanel event handler declarations
104 
105  /// wxEVT_IDLE event handler for ID_VCFASSEMBLYSELPANEL
106  void OnIdle( wxIdleEvent& event );
107 
108 ////@end CVcfAssemblySelectionPanel event handler declarations
109 
110 ////@begin CVcfAssemblySelectionPanel member function declarations
111  void SetNewFile(const wxString &input_vcf);
112 
113  /// Retrieves bitmap resources
114  wxBitmap GetBitmapResource( const wxString& name );
115 
116  /// Retrieves icon resources
117  wxIcon GetIconResource( const wxString& name );
118 ////@end CVcfAssemblySelectionPanel member function declarations
119 
120  /// Should we show tooltips?
121  static bool ShowToolTips();
122 
123  /// Control identifiers
124  enum {
125  ID_VCFASSEMBLYSELPANEL = 10074,
126  ID_PANEL9 = 10014
127  };
128 
129 
130 ////@begin CVcfAssemblySelectionPanel member variables
131  wxStaticText* m_VcfAssembly;
133 
134 private:
135  void x_ReadAssembly();
136 
137  CColumnarVCFReader* m_VCFReader{ nullptr };
138  wxString m_InputVcf;
139  string m_RegPath;
141 ////@end CVcfAssemblySelectionPanel member variables
142 };
143 
144 
146 
147 #endif // GUI_WIDGETS___LOADERS___VCF_ASSEMBLY_SEL_PANEL__HPP
148 
Class responsible to read VCF files.
virtual void SetRegistryPath(const string &path)
job_future< string > m_VcfAssemblyFuture
Include a standard set of the NCBI C++ Toolkit most basic headers.
static void Init(void)
Definition: cursor6.c:76
#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_LOADERS_EXPORT
Definition: gui_export.h:525
Defines to provide correct exporting from DLLs in Windows.
const struct ncbi::grid::netcache::search::fields::SIZE size
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
#define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_POSITION
#define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_SIZE
#define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_STYLE
#define SYMBOL_CVCFASSEMBLYSELECTIONPANEL_IDNAME
Modified on Tue May 21 10:53:11 2024 by modify_doxy.py rev. 669887