textctrl single line append/insert stuff
more precise testing of the above in controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1649
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
m_notebook->AddPage(panel, "wxComboBox", FALSE, Image_Combo);
panel = new wxPanel(m_notebook);
m_notebook->AddPage(panel, "wxComboBox", FALSE, Image_Combo);
panel = new wxPanel(m_notebook);
- m_textentry = new MyTextCtrl( panel, -1, "Write text here.", wxPoint(10,10), wxSize(320,28),
+ m_textentry = new MyTextCtrl( panel, -1, "Some text.", wxPoint(10,10), wxSize(320,28),
//0);
wxTE_PROCESS_ENTER);
//0);
wxTE_PROCESS_ENTER);
- (*m_textentry) << " More text."; // this text is appended
+ (*m_textentry) << " Appended.";
m_textentry->SetInsertionPoint(0);
m_textentry->SetInsertionPoint(0);
- m_textentry->WriteText("Less text."); // this text is prepended
+ m_textentry->WriteText( "Prepended. " );
- m_multitext = new MyTextCtrl( panel, ID_TEXT, "And here.", wxPoint(10,50), wxSize(320,70),
+ m_multitext = new MyTextCtrl( panel, ID_TEXT, "Some text.", wxPoint(10,50), wxSize(320,70),
- (*m_multitext) << " More text.\nPress function keys to test different \nwxTextCtrl functions.";
+ (*m_multitext) << " Appended.";
+ m_multitext->SetInsertionPoint(0);
+ m_multitext->WriteText( "Prepended. " );
+ m_multitext->AppendText( "\nPress function keys to test different \nwxTextCtrl functions." );
+
new MyTextCtrl( panel, -1, "This one is with wxTE_PROCESS_TAB style.",
wxPoint(10,120), wxSize(320,70), wxTE_MULTILINE | wxTE_PROCESS_TAB);
new MyTextCtrl( panel, -1, "This one is with wxTE_PROCESS_TAB style.",
wxPoint(10,120), wxSize(320,70), wxTE_MULTILINE | wxTE_PROCESS_TAB);
if (len > max_len) max_len = len;
gtk_myfixed_move( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y );
if (len > max_len) max_len = len;
gtk_myfixed_move( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y );
node = node->Next();
if (!node) break;
node = node->Next();
if (!node) break;
{
GtkWidget *button = GTK_WIDGET( node->Data() );
{
GtkWidget *button = GTK_WIDGET( node->Data() );
- gtk_widget_set_usize( button, max_len, 22 );
+ gtk_widget_set_usize( button, max_len, 20 );
node = node->Next();
if (!node) break;
node = node->Next();
if (!node) break;
if (m_windowStyle & wxTE_MULTILINE)
{
/* this moves the cursor pos to behind the inserted text */
if (m_windowStyle & wxTE_MULTILINE)
{
/* this moves the cursor pos to behind the inserted text */
gint len = GTK_EDITABLE(m_text)->current_pos;
gint len = GTK_EDITABLE(m_text)->current_pos;
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
/* bring editable's cursor uptodate. bug in GTK. */
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
/* bring editable's cursor uptodate. bug in GTK. */
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
- gtk_entry_append_text( GTK_ENTRY(m_text), text );
+ /* this moves the cursor pos to behind the inserted text */
+ gint len = GTK_EDITABLE(m_text)->current_pos;
+ gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
+
+ /* bring editable's cursor uptodate. bug in GTK. */
+ GTK_EDITABLE(m_text)->current_pos += text.Len();
+
+ /* bring entry's cursor uptodate. bug in GTK. */
+ gtk_entry_set_position( GTK_ENTRY(m_text), GTK_EDITABLE(m_text)->current_pos );
/* we'll insert at the last position */
gint len = gtk_text_get_length( GTK_TEXT(m_text) );
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
/* we'll insert at the last position */
gint len = gtk_text_get_length( GTK_TEXT(m_text) );
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
+
+ /* bring editable's cursor uptodate. bug in GTK. */
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
}
else
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
}
else
else
{
gtk_entry_set_position( GTK_ENTRY(m_text), (int)pos );
else
{
gtk_entry_set_position( GTK_ENTRY(m_text), (int)pos );
+
+ /* bring editable's cursor uptodate. bug in GTK. */
+
+ GTK_EDITABLE(m_text)->current_pos = pos;
if (len > max_len) max_len = len;
gtk_myfixed_move( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y );
if (len > max_len) max_len = len;
gtk_myfixed_move( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y );
node = node->Next();
if (!node) break;
node = node->Next();
if (!node) break;
{
GtkWidget *button = GTK_WIDGET( node->Data() );
{
GtkWidget *button = GTK_WIDGET( node->Data() );
- gtk_widget_set_usize( button, max_len, 22 );
+ gtk_widget_set_usize( button, max_len, 20 );
node = node->Next();
if (!node) break;
node = node->Next();
if (!node) break;
if (m_windowStyle & wxTE_MULTILINE)
{
/* this moves the cursor pos to behind the inserted text */
if (m_windowStyle & wxTE_MULTILINE)
{
/* this moves the cursor pos to behind the inserted text */
gint len = GTK_EDITABLE(m_text)->current_pos;
gint len = GTK_EDITABLE(m_text)->current_pos;
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
/* bring editable's cursor uptodate. bug in GTK. */
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
/* bring editable's cursor uptodate. bug in GTK. */
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
- gtk_entry_append_text( GTK_ENTRY(m_text), text );
+ /* this moves the cursor pos to behind the inserted text */
+ gint len = GTK_EDITABLE(m_text)->current_pos;
+ gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
+
+ /* bring editable's cursor uptodate. bug in GTK. */
+ GTK_EDITABLE(m_text)->current_pos += text.Len();
+
+ /* bring entry's cursor uptodate. bug in GTK. */
+ gtk_entry_set_position( GTK_ENTRY(m_text), GTK_EDITABLE(m_text)->current_pos );
/* we'll insert at the last position */
gint len = gtk_text_get_length( GTK_TEXT(m_text) );
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
/* we'll insert at the last position */
gint len = gtk_text_get_length( GTK_TEXT(m_text) );
gtk_editable_insert_text( GTK_EDITABLE(m_text), text, text.Length(), &len );
+
+ /* bring editable's cursor uptodate. bug in GTK. */
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
}
else
GTK_EDITABLE(m_text)->current_pos = gtk_text_get_point( GTK_TEXT(m_text) );
}
else
else
{
gtk_entry_set_position( GTK_ENTRY(m_text), (int)pos );
else
{
gtk_entry_set_position( GTK_ENTRY(m_text), (int)pos );
+
+ /* bring editable's cursor uptodate. bug in GTK. */
+
+ GTK_EDITABLE(m_text)->current_pos = pos;