44 if (
str.Length() <= 20)
49 if (pos + 20 <=
str.Length())
50 return str.Mid(pos,20);
51 return str.Mid(
str.Length() - 20);
58 wxTextCtrl *text_ctrl =
dynamic_cast<wxTextCtrl *
>(win);
61 wxString
str = text_ctrl->GetValue();
63 for (wxString::const_iterator
i =
str.begin();
i !=
str.end(); ++
i)
77 for (wxWindowList::iterator node = win->GetChildren().begin(); node != win->GetChildren().end(); ++node)
89 wxTextCtrl *text_ctrl =
dynamic_cast<wxTextCtrl *
>(win);
92 wxString
str = text_ctrl->GetValue();
94 bool modified =
false;
95 for (wxString::const_iterator
i =
str.begin();
i !=
str.end(); ++
i)
101 string replacement = nonAsciiChars[v];
102 new_str << replacement;
111 text_ctrl->SetValue(new_str);
115 for (wxWindowList::iterator node = win->GetChildren().begin(); node != win->GetChildren().end(); ++node)
129 if (!nonAsciiChars.
empty())
168 wxWindowID
id,
const wxString& caption,
const wxPoint& pos,
const wxSize&
size,
long style )
169 : m_NonAsciiChars(nonAsciiChars), m_NonAsciiContext(nonAsciiContext)
172 Create(parent,
id, caption, pos,
size, style);
183 SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
184 wxDialog::Create( parent,
id, caption, pos,
size, style );
189 GetSizer()->SetSizeHints(
this);
231 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
232 itemDialog1->SetSizer(itemBoxSizer2);
234 wxStaticText* itemStaticText3 =
new wxStaticText( itemDialog1, wxID_STATIC,
_(
"You may not include special characters in the text.If you do not choose replacement characters, these special characters will be replaced with '#'."), wxDefaultPosition, wxDefaultSize, 0 );
235 itemStaticText3->Wrap(270);
236 itemBoxSizer2->Add(itemStaticText3, 0, wxALIGN_LEFT|wxALL, 5);
238 wxBoxSizer* itemBoxSizer4 =
new wxBoxSizer(wxHORIZONTAL);
239 itemBoxSizer2->Add(itemBoxSizer4, 0, 0, 0);
241 wxStaticText* itemStaticText5 =
new wxStaticText( itemDialog1, wxID_STATIC,
_(
"Character"), wxDefaultPosition, wxDefaultSize, 0 );
242 itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
244 wxStaticText* itemStaticText6 =
new wxStaticText( itemDialog1, wxID_STATIC,
_(
"Replacement"), wxDefaultPosition, wxDefaultSize, 0 );
245 itemBoxSizer4->Add(itemStaticText6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
247 wxStaticText* itemStaticText7 =
new wxStaticText( itemDialog1, wxID_STATIC,
_(
"Contexts"), wxDefaultPosition, wxDefaultSize, 0 );
248 itemBoxSizer4->Add(itemStaticText7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
253 wxBoxSizer *scrollSizer =
new wxBoxSizer(wxVERTICAL);
259 scrollSizer->Add(panel, 0, wxALIGN_LEFT, 0);
264 wxButton* itemButton10 =
new wxButton( itemDialog1, wxID_OK,
_(
"Replace"), wxDefaultPosition, wxDefaultSize, 0 );
265 itemBoxSizer2->Add(itemButton10, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
293 return wxDialog::TransferDataFromWindow();
362 wxWindowID
id,
const wxPoint& pos,
const wxSize&
size,
long style )
363 : m_Orig(
orig), m_ReplacementStr(wxString(replacement)), m_Contexts(contexts)
377 wxPanel::Create( parent,
id, pos,
size, style );
421 wxBoxSizer* itemBoxSizer3 =
new wxBoxSizer(wxHORIZONTAL);
422 itemPanel2->SetSizer(itemBoxSizer3);
424 m_Char =
new wxStaticText( itemPanel2, wxID_STATIC,
m_Orig, wxDefaultPosition, wxSize(30,-1), 0 );
425 itemBoxSizer3->Add(
m_Char, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxTOP, 5);
428 itemBoxSizer3->Add(
m_Replacement, 0, wxALIGN_TOP|wxRIGHT|wxTOP, 5);
430 wxArrayString array_context;
432 array_context.Add(*
i);
433 wxChoice* itemChoice6 =
new wxChoice( itemPanel2,
wxID_ANY, wxDefaultPosition, wxSize(120,-1), array_context, 0 );
434 itemBoxSizer3->Add(itemChoice6, 0, wxALIGN_TOP|wxRIGHT|wxTOP, 5);
435 itemChoice6->SetSelection(0);
478 string replacement =
m_Replacement->GetValue().ToStdString();
479 pair<TUnicodeSymbol, string>
result(
orig, replacement);
static string GetSpecialCharacterReplacement(TUnicodeSymbol ch)
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
~CNonAsciiCharacterReplacement()
Destructor.
wxScrolledWindow * m_ScrolledWindow
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &caption=_("non-ascii character replacement"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(400, 300), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
Creation.
static bool ShowToolTips()
Should we show tooltips?
map< TUnicodeSymbol, string > GetReplacementMap()
map< TUnicodeSymbol, string > m_NonAsciiChars
void Init()
Initialises member variables.
CNonAsciiCharacterReplacement()
Constructors.
void CreateControls()
Creates the controls and sizers.
bool TransferDataFromWindow()
map< TUnicodeSymbol, set< wxString > > m_NonAsciiContext
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
void Init()
Initialises member variables.
void CreateControls()
Creates the controls and sizers.
~CNonAsciiReplacementPanel()
Destructor.
static bool ShowToolTips()
Should we show tooltips?
wxString m_ReplacementStr
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX)
CNonAsciiReplacementPanel()
Constructors.
set< wxString > m_Contexts
wxTextCtrl * m_Replacement
pair< TUnicodeSymbol, string > GetReplacement()
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
const_iterator begin() const
const_iterator end() const
IMPLEMENT_CLASS(CFloatingFrame, CFloatingFrameBaseClass) const static long kFloatFrameStyle
CFloatingFrame.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Uint4 TUnicodeSymbol
Unicode character.
where boath are integers</td > n< td ></td > n</tr > n< tr > n< td > tse</td > n< td > optional</td > n< td > String</td > n< td class=\"description\"> TSE option controls what blob is orig
const struct ncbi::grid::netcache::search::fields::SIZE size
void TestForNonAsciiText(wxWindow *win)
static wxString GetContext(const wxString &str, int pos)
static void FixWindowForNonAsciiText(wxWindow *win, map< TUnicodeSymbol, string > &nonAsciiChars)
static void TestWindowForNonAsciiText(wxWindow *win, map< TUnicodeSymbol, string > &nonAsciiChars, map< TUnicodeSymbol, set< wxString > > &nonAsciiContext)
#define ID_SCROLLEDWINDOW
static const char * str(char *buf, int n)