33 #include "wx/imaglist.h"
40 #include <wx/stattext.h>
41 #include <wx/statbox.h>
43 #include <wx/bitmap.h>
44 #include <wx/msgdlg.h>
45 #include <wx/radiobut.h>
46 #include <wx/listctrl.h>
47 #include <wx/checkbox.h>
48 #include <wx/textctrl.h>
89 SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
90 wxPanel::Create( parent,
id, pos,
size, style );
95 GetSizer()->SetSizeHints(
this);
133 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
134 itemPanel1->SetSizer(itemBoxSizer2);
136 wxStaticText* itemStaticText3 =
new wxStaticText( itemPanel1, wxID_STATIC,
_(
"Set Delimiters to Separate Data into Columns"), wxDefaultPosition, wxDefaultSize, 0 );
137 itemStaticText3->SetFont(wxFont(10, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false,
wxT(
"Tahoma")));
138 itemBoxSizer2->Add(itemStaticText3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
140 wxBoxSizer* itemBoxSizer4 =
new wxBoxSizer(wxHORIZONTAL);
141 itemBoxSizer2->Add(itemBoxSizer4, 0, wxALIGN_LEFT|wxALL, 5);
143 wxStaticBox* itemStaticBoxSizer5Static =
new wxStaticBox(itemPanel1,
wxID_ANY,
_(
"Set Column Delimiters"));
144 wxStaticBoxSizer* itemStaticBoxSizer5 =
new wxStaticBoxSizer(itemStaticBoxSizer5Static, wxVERTICAL);
145 itemBoxSizer4->Add(itemStaticBoxSizer5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
150 m_TabDelimCheck->SetToolTip(
_(
"Check if table columns are separated by tabs"));
167 wxBoxSizer* itemBoxSizer10 =
new wxBoxSizer(wxHORIZONTAL);
168 itemStaticBoxSizer5->Add(itemBoxSizer10, 0, wxALIGN_LEFT|wxRIGHT, 5);
180 itemBoxSizer10->Add(
m_DelimTextCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
182 wxBoxSizer* itemBoxSizer13 =
new wxBoxSizer(wxVERTICAL);
183 itemBoxSizer4->Add(itemBoxSizer13, 0, wxALIGN_TOP|wxALL, 5);
189 wxArrayString m_TextQualifierStrings;
190 m_TextQualifierStrings.Add(
_(
"&Double Quote: \""));
191 m_TextQualifierStrings.Add(
_(
"&Single Quote: '"));
192 m_TextQualifierStrings.Add(
_(
"&No Text Qualifier"));
193 m_TextQualifier =
new wxRadioBox( itemPanel1,
ID_RADIOBOX,
_(
"Text Qualifier Selection"), wxDefaultPosition, wxDefaultSize, m_TextQualifierStrings, 3, wxRA_SPECIFY_ROWS );
197 wxStaticBox* itemStaticBoxSizer16Static =
new wxStaticBox(itemPanel1,
wxID_ANY,
_(
"Table Data"));
198 wxStaticBoxSizer* itemStaticBoxSizer16 =
new wxStaticBoxSizer(itemStaticBoxSizer16Static, wxHORIZONTAL);
199 itemBoxSizer2->Add(itemStaticBoxSizer16, 1, wxGROW|wxALL, 5);
201 m_ListCtrlPanel =
new wxPanel( itemStaticBoxSizer16->GetStaticBox(),
ID_PANEL3, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL );
204 wxBoxSizer* itemBoxSizer18 =
new wxBoxSizer(wxHORIZONTAL);
243 string delim_str(1, delim);
253 if (quote_char ==
'\"')
255 if (quote_char ==
'\'')
257 if (quote_char ==
' ')
268 return wxPanel::Show(show);
287 vector<char> new_delims;
290 new_delims.push_back(
'\t');
292 new_delims.push_back(
';');
294 new_delims.push_back(
',');
296 new_delims.push_back(
' ');
299 if (sval.length() == 1) {
300 char schar = sval.c_str()[0];
305 new_delims.push_back(schar);
314 char text_qualifier =
' ';
315 if (selected_qualifier_idx == 0)
316 text_qualifier =
'\"';
317 else if (selected_qualifier_idx == 1)
318 text_qualifier =
'\'';
345 ERR_POST(
Info <<
"Import Table User Updated Delimiters");
EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX, CAdjustFeaturesForGaps::OnKnownUnknownSelected) EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX1
#define ID_SPACEDELIMCHECK
#define ID_TABLEDELIMITERTEXTCTRL
#define ID_SEMICOLONDELIMCHECK
#define ID_OTHERDELIMCHECK
#define ID_ADJACENTDELIMITERSCHECK
#define ID_COMMADELIMCHECK
void SetQuoteChar(char c)
Get set quote character used for quoting strings.
void SetDelimiters(const vector< char > &d)
Get/set delimiter characters.
bool GetMergeDelimiters() const
char GetQuoteChar() const
void SetMergeDelimiters(bool b)
Get/set merge delimiters rule for tokenizing table into fields.
void LogDelims() const
Write delims information to log.
bool MatchingDelimiters(vector< char > other_delims) const
Return true if the delimiters match (even if order is different)
void OnOtherDelimCheckClick(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_OTHERDELIMCHECK
void OnAdjacentDelimitersCheckClick(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_ADJACENTDELIMITERSCHECK
bool Create(wxWindow *parent, wxWindowID id=ID_CTABLEDELIMITERSPANEL, const wxString &caption=_("Set Table Delimiters"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
wxCheckBox * m_MergeAdjacentDelimiters
void OnTableDelimiterTextCtrlTextUpdated(wxCommandEvent &event)
wxEVT_COMMAND_TEXT_UPDATED event handler for ID_TABLEDELIMITERTEXTCTRL
void OnCtableImportListctrlColDragging(wxListEvent &event)
wxTextCtrl * m_DelimTextCtrl
wxPanel * m_ListCtrlPanel
void SaveSettings() const
void OnSemiColonDelimCheckClick(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_SEMICOLONDELIMCHECK
void UpdateDelimiters()
Called after any options that may update the partioning of the table into columns are updated.
wxCheckBox * m_TabDelimCheck
void OnCommaDelimCheckClick(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_COMMADELIMCHECK
void SetRegistryPath(const string &path)
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
wxRadioBox * m_TextQualifier
@ ID_ADJACENTDELIMITERSCHECK
@ ID_TABLEDELIMITERTEXTCTRL
@ ID_CTABLEIMPORTLISTCTRL2
void OnTabDelimCheckClick(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_TABDELIMCHECK
virtual bool Show(bool show=true)
Override Show() to allow initialization each time window is displayed.
wxCheckBox * m_OtherDelimCheck
CRef< CTableImportDataSource > m_ImportedTableData
void OnRadioBoxSelected(wxCommandEvent &event)
wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_RADIOBOX
wxCheckBox * m_SemicolonDelimCheck
CTableImportListCtrl * m_DelimiterListCtrl
void SetMainTitle(const wxString &title)
static bool ShowToolTips()
wxCheckBox * m_CommaDelimCheck
void OnSpaceDelimCheckClick(wxCommandEvent &event)
wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_SPACEDELIMCHECK
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
wxCheckBox * m_SpaceDelimCheck
const vector< char > & GetDelimiters() const
Return copy of current delimiter(s)
const CTableDelimiterRules & GetDelimiterRules() const
Get set all delimiter rules (for delimited tables)
void RecomputeFields(bool recreate_columns, int recompute_count=-1)
Updated the individual rows and columns to match the current delimiter choice.
void SetViewType(eDataViewType t)
Set/get view type.
void SetDataSource(CRef< CTableImportDataSource > ds)
Set/update data source (used to refresh view to match data source column info)
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
void Info(CExceptionArgs_Base &args)
bool IsNull(void) const THROWS_NONE
Check if pointer is null – same effect as Empty().
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const struct ncbi::grid::netcache::search::fields::SIZE size
wxString ToWxString(const string &s)
string ToStdString(const wxString &s)