36 #include <wx/checkbox.h>
37 #include <wx/choice.h>
38 #include <wx/bmpbuttn.h>
39 #include <wx/textctrl.h>
40 #include <wx/stattext.h>
41 #include <wx/valgen.h>
42 #include <wx/valtext.h>
43 #include <wx/msgdlg.h>
44 #include <wx/filedlg.h>
45 #include <wx/bitmap.h>
47 #include <wx/artprov.h>
48 #include <wx/stdpaths.h>
49 #include <wx/filename.h>
88 SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
89 wxPanel::Create( parent,
id, pos,
size, style );
94 GetSizer()->SetSizeHints(
this);
119 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
120 itemPanel1->SetSizer(itemBoxSizer2);
123 itemBoxSizer2->Add(
m_ObjectSel, 1, wxGROW|wxALL, 0);
125 wxBoxSizer* itemBoxSizer4 =
new wxBoxSizer(wxHORIZONTAL);
126 itemBoxSizer2->Add(itemBoxSizer4, 0, wxGROW|wxALL, 0);
128 wxStaticText* itemStaticText5 =
new wxStaticText( itemPanel1, wxID_STATIC,
_(
"File name"), wxDefaultPosition, wxDefaultSize, 0 );
129 itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
131 wxTextCtrl* itemTextCtrl6 =
new wxTextCtrl( itemPanel1,
ID_TEXTCTRL14, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
132 itemBoxSizer4->Add(itemTextCtrl6, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
134 wxBitmapButton* itemBitmapButton7 =
new wxBitmapButton( itemPanel1,
ID_BITMAPBUTTON, itemPanel1->
GetBitmapResource(
wxT(
"menu::open")), wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
135 itemBitmapButton7->SetHelpText(
_(
"Select File"));
137 itemBitmapButton7->SetToolTip(
_(
"Select File"));
138 itemBoxSizer4->Add(itemBitmapButton7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
141 itemTextCtrl6->SetValidator( wxTextValidator(wxFILTER_NONE, &
GetData().m_FileName) );
157 return wxArtProvider::GetBitmap(name);
170 if (!wxPanel::TransferDataFromWindow())
177 wxMessageBox(
wxT(
"Please, select an object to export"),
wxT(
"Error"), wxOK | wxICON_ERROR,
this);
201 const char invalid_file_name_chars[] = {
'~',
'#',
'%',
'&',
'*',
'{',
'}',
'\\',
':',
'<',
'>',
'?',
'/',
'+',
'|',
'"' };
202 for (
char c : invalid_file_name_chars)
203 path.erase(
std::remove(path.begin(), path.end(), c), path.end());
204 if (path[path.length() - 1] ==
'.')
205 path = path.substr(0, path.length() - 1);
231 wxString path = standard_paths.GetDocumentsDir();
232 path += wxFileName::GetPathSeparator();
236 TransferDataToWindow();
CFastaAlignExportParams & GetData()
void OnFileNameEdited(wxKeyEvent &event)
void OnSelectFileClick(wxCommandEvent &event)
virtual bool TransferDataFromWindow()
virtual void SetRegistryPath(const string &path)
IRegSettings.
void SetObjects(TConstScopedObjects &objects)
static bool ShowToolTips()
wxBitmap GetBitmapResource(const wxString &name)
void OnObjectSelected(wxListEvent &event)
wxIcon GetIconResource(const wxString &name)
virtual void LoadSettings()
virtual void SaveSettings() const
bool Create(wxWindow *parent, wxWindowID id=ID_CFASTAALIGNEXPORTPAGE, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxTAB_TRAVERSAL)
std::unique_ptr< CSaveFileHelper > m_SaveFile
void x_SanitizePath(wxString &path)
CObjectListWidget * m_ObjectSel
wxString GetFileName() const
SConstScopedObject & SetObject()
void SetFileName(wxString value)
static string MakeKey(const string §ion, const string &key, const string &delim=CGuiRegistry::kDecimalDot)
create a key from a section and a subkey
CRegistryWriteView GetWriteView(const string §ion)
get a read-write view at a particular level.
static CGuiRegistry & GetInstance()
access the application-wide singleton
CRegistryReadView GetReadView(const string §ion) const
get a read-only view at a particular level.
class CRegistryReadView provides a nested hierarchical view at a particular key.
void LoadTableSettings(const CRegistryReadView &view, bool byName=false)
void SaveTableSettings(CRegistryWriteView &view, bool saveSorting=true) const
static const char * kObjectList
static void DLIST_NAME() remove(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
vector< SConstScopedObject > TConstScopedObjects
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static const char label[]
const TYPE & Get(const CNamedParameterList *param)
const struct ncbi::grid::netcache::search::fields::SIZE size