NCBI C++ ToolKit
table_file_load_manager.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: table_file_load_manager.cpp 38477 2017-05-15 21:10:59Z evgeniev $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Roman Katargin
27  *
28  */
29 
30 #include <ncbi_pch.hpp>
31 
33 
36 
37 #include <wx/filename.h>
38 
40 
41 ///////////////////////////////////////////////////////////////////////////////
42 /// CTableFileLoadManager
44 : m_Descr("Table files", ""),
45  m_SrvLocator(NULL)
46 {
47  m_Descr.SetLogEvent("loaders");
48 }
49 
50 
51 //
52 // IFileLoadPanelClient implementation
53 //
54 
56 {
57  return m_Descr.GetLabel();
58 }
59 
61 {
64 }
65 
66 //
67 // IUILoadManager implementation
68 //
69 
71 {
72  m_SrvLocator = srv_locator;
73 }
74 
75 
77 {
78  m_Wizard.SetParentWindow(parent);
79 }
80 
81 
83 {
84  return m_Descr;
85 }
86 
87 
89 {
90  m_Wizard.InitUI();
91 }
92 
93 
95 {
96  m_Wizard.CleanUI();
97 }
98 
99 
101 {
102  return m_Wizard.GetCurrentPanel();
103 }
104 
106 {
108 }
109 
111 {
112 }
113 
114 
116 {
117 }
118 
120 {
121  if (IsCompletedState())
122  return false;
123 
124  if (IsInitialState()) {
125  return action == eNext;
126  }
127 
128  if (action == eBack || action == eNext)
129  return true;
130 
131  _ASSERT(false);
132  return false;
133 }
134 
135 
137 {
138  return m_Wizard.OnLastPage();
139 }
140 
141 
143 {
144  return m_Wizard.IsCompletedState();
145 }
146 
147 
149 {
150  if (eNext == action) {
151  return m_Wizard.GoNextPage();
152  }
153  else if (eBack == action) {
154  return m_Wizard.GoPrevPage();
155  }
156  else {
157  return false;
158  }
159  _ASSERT(false);
160  return false;
161 }
162 
163 
165 {
166  return nullptr;
167 }
168 
170 {
172 }
173 
175 {
178 }
179 
180 
182 {
184 }
185 
186 
187 void CTableFileLoadManager::SetFilenames(const vector<wxString>& filenames)
188 {
190 }
191 
192 void CTableFileLoadManager::GetFilenames(vector<wxString>& filenames) const
193 {
195 }
196 
198 {
199  return m_Wizard.OnFirstPage();
200 }
201 
202 
203 bool CTableFileLoadManager::RecognizeFormat(const wxString& filename)
204 {
205  wxString ext;
206  wxFileName::SplitPath(filename, 0, 0, &ext);
208 }
209 
211 {
212  return fmt == CFormatGuess::eTable;
213 }
214 
216 {
217  static string sid("table_file_load_manager");
218  return sid;
219 }
220 
221 
223 {
224  static string slabel("Table File Load Manager");
225  return slabel;
226 }
227 
static bool RecognizeExtension(EFileType fileType, const wxString &extension)
static wxString GetDialogFilter(EFileType fileType)
EFormat
The formats are checked in the same order as declared here.
@ eTable
Generic table.
virtual wxPanel * GetCurrentPanel()
Return the panel corresponding to the current state of Tool Manager.
virtual void SetServiceLocator(IServiceLocator *srv_locator)
Sets / unsets Service Locator.
virtual bool ValidateFilenames(const vector< wxString > &filenames)
checks given filenames and returns true if the manager can handle them, otherwise - shows an error me...
virtual void SetParentWindow(wxWindow *parent)
virtual string GetLabel() const
virtual const IUIObject & GetDescriptor() const
Returns the object describing this tool (UI meta data).
CTableFileLoadManager()
CTableFileLoadManager.
virtual void SetRegistryPath(const string &path)
virtual void GetFilenames(vector< wxString > &filenames) const
get actual filenames that will be opened
virtual string GetExtensionLabel() const
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
virtual bool IsInitialState()
return true if the current state of the loader UI is the first valid state (first step in a wizard-li...
virtual bool DoTransition(EAction action)
Performs transition if possible and returns true, otherwise the function shall warn the user about th...
virtual void SaveSettings() const
virtual void CleanUI()
CleanUI() is called after the host finished using the manager.
virtual string GetExtensionIdentifier() const
returns the unique human-readable identifier for the extension the id should use lowercase letters se...
virtual bool IsCompletedState()
Manager goes into "Complete" state when "Finish" button is pressed and all input data is gatherred an...
virtual bool CanDo(EAction action)
Indicates whether given transition is possible in the current state.
virtual void SetFilenames(const vector< wxString > &filenames)
initilize the manager with the given filenames
virtual bool RecognizeFormat(const wxString &filename)
return true if the given file format is supported by this manager
virtual IAppTask * GetTask()
Once parameters are gathered and validated this function is called to produce the final Task object t...
virtual void InitUI()
Initializes the Manager before using it in UI.
virtual IExecuteUnit * GetExecuteUnit()
virtual wxString GetFormatWildcard() const
return file wildcard for the format (example - "*.txt;*.tab" )
virtual bool IsFinalState()
True if Tool Manager has reached its final state, i.e.
void SetRegistryPath(const string &path)
bool ValidateFilenames(const vector< wxString > &filenames)
void SetParentWindow(wxWindow *parent)
IExecuteUnit * GetExecuteUnit(const vector< wxString > &filenames)
IAppTask.
Definition: app_task.hpp:83
IServiceLocator - an abstract mechanism for locating services.
Definition: service.hpp:71
IUIObject - object that provides basic properties often required in a UI object.
Definition: ui_object.hpp:63
#define NULL
Definition: ncbistd.hpp:225
virtual void SetLogEvent(const string &log_event)
Definition: ui_object.cpp:118
virtual const string & GetLabel() const
Definition: ui_object.cpp:124
#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 wxT(x)
Definition: muParser.cpp:41
static int filenames
Definition: pcregrep.c:172
#define _ASSERT
Modified on Sat Jun 08 14:24:47 2024 by modify_doxy.py rev. 669887