]> git.saurik.com Git - wxWidgets.git/commitdiff
Added layout constraints call to wxNotebook
authorRobert Roebling <robert@roebling.de>
Wed, 16 Dec 1998 08:06:02 +0000 (08:06 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 16 Dec 1998 08:06:02 +0000 (08:06 +0000)
  Renamed key_down events to match MSW equivalents
  Invened activated events to tree and list ctrl
  Added patches to text ctrl from georg

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

15 files changed:
include/wx/event.h
include/wx/generic/listctrl.h
include/wx/generic/treectrl.h
include/wx/msw/listctrl.h
include/wx/msw/treectrl.h
samples/listctrl/listtest.cpp
samples/listctrl/listtest.h
samples/treectrl/treetest.cpp
samples/treectrl/treetest.h
src/generic/listctrl.cpp
src/generic/treectrl.cpp
src/gtk/notebook.cpp
src/gtk/textctrl.cpp
src/gtk1/notebook.cpp
src/gtk1/textctrl.cpp

index 576e2711568961a86c282d7ee8f046da7702e0f3..aa5431881ceec299963503a8c8f35e95c6744e0b 100644 (file)
@@ -164,6 +164,7 @@ const wxEventType wxEVT_COMMAND_TREE_ITEM_COLLAPSING =      wxEVT_FIRST + 610;
 const wxEventType wxEVT_COMMAND_TREE_SEL_CHANGED =          wxEVT_FIRST + 611;
 const wxEventType wxEVT_COMMAND_TREE_SEL_CHANGING =         wxEVT_FIRST + 612;
 const wxEventType wxEVT_COMMAND_TREE_KEY_DOWN =             wxEVT_FIRST + 613;
 const wxEventType wxEVT_COMMAND_TREE_SEL_CHANGED =          wxEVT_FIRST + 611;
 const wxEventType wxEVT_COMMAND_TREE_SEL_CHANGING =         wxEVT_FIRST + 612;
 const wxEventType wxEVT_COMMAND_TREE_KEY_DOWN =             wxEVT_FIRST + 613;
+const wxEventType wxEVT_COMMAND_TREE_ITEM_ACTIVATED =       wxEVT_FIRST + 614;
 
  /* List control event types */
 const wxEventType wxEVT_COMMAND_LIST_BEGIN_DRAG =           wxEVT_FIRST + 700;
 
  /* List control event types */
 const wxEventType wxEVT_COMMAND_LIST_BEGIN_DRAG =           wxEVT_FIRST + 700;
@@ -181,6 +182,7 @@ const wxEventType wxEVT_COMMAND_LIST_INSERT_ITEM =          wxEVT_FIRST + 711;
 const wxEventType wxEVT_COMMAND_LIST_COL_CLICK =            wxEVT_FIRST + 712;
 const wxEventType wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK =     wxEVT_FIRST + 713;
 const wxEventType wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK =    wxEVT_FIRST + 714;
 const wxEventType wxEVT_COMMAND_LIST_COL_CLICK =            wxEVT_FIRST + 712;
 const wxEventType wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK =     wxEVT_FIRST + 713;
 const wxEventType wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK =    wxEVT_FIRST + 714;
+const wxEventType wxEVT_COMMAND_LIST_ITEM_ACTIVATED =       wxEVT_FIRST + 715;
 
  /* Tab and notebook control event types */
 const wxEventType wxEVT_COMMAND_TAB_SEL_CHANGED =           wxEVT_FIRST + 800;
 
  /* Tab and notebook control event types */
 const wxEventType wxEVT_COMMAND_TAB_SEL_CHANGED =           wxEVT_FIRST + 800;
index afe4e8a7ceef9f714c4029b14db0767cf423dad1..b0fd434549fd2f336a361ade8be82d98a187e9c3 100644 (file)
@@ -224,6 +224,7 @@ typedef void (wxEvtHandler::*wxListEventFunction)(wxListEvent&);
 #define EVT_LIST_COL_CLICK(id, fn) { wxEVT_COMMAND_LIST_COL_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
 #define EVT_LIST_ITEM_RIGHT_CLICK(id, fn) { wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
 #define EVT_LIST_ITEM_MIDDLE_CLICK(id, fn) { wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
 #define EVT_LIST_COL_CLICK(id, fn) { wxEVT_COMMAND_LIST_COL_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
 #define EVT_LIST_ITEM_RIGHT_CLICK(id, fn) { wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
 #define EVT_LIST_ITEM_MIDDLE_CLICK(id, fn) { wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
+#define EVT_LIST_ITEM_ACTIVATED(id, fn) { wxEVT_COMMAND_LIST_ITEM_ACTIVATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
 
 //-----------------------------------------------------------------------------
 //  wxListItemData (internal)
 
 //-----------------------------------------------------------------------------
 //  wxListItemData (internal)
index 49e3e4fb3f959d3630829a84631e60cb11bef060..818bf59a2ac431e748df6af782e3817c95417b6b 100644 (file)
@@ -168,6 +168,9 @@ typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&);
 // be deleted just after the return of this event handler (if any)
 #define EVT_TREE_DELETE_ITEM(id, fn) { wxEVT_COMMAND_TREE_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
 
 // be deleted just after the return of this event handler (if any)
 #define EVT_TREE_DELETE_ITEM(id, fn) { wxEVT_COMMAND_TREE_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
 
+// GetItem() returns the item that was activated (double click, enter, space)
+#define EVT_TREE_ITEM_ACTIVATED(id, fn) { wxEVT_COMMAND_TREE_ITEM_ACTIVATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL },
+
 // -----------------------------------------------------------------------------
 // wxTreeCtrl - the tree control
 // -----------------------------------------------------------------------------
 // -----------------------------------------------------------------------------
 // wxTreeCtrl - the tree control
 // -----------------------------------------------------------------------------
index ff52f6a80af6dbbc2de98e5db29bb4f3876fc63b..863f46b01c15b23db01a073d9f2f1bfd1827537d 100644 (file)
@@ -474,6 +474,7 @@ typedef void (wxEvtHandler::*wxListEventFunction)(wxListEvent&);
 #define EVT_LIST_KEY_DOWN(id, fn) { wxEVT_COMMAND_LIST_KEY_DOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
 #define EVT_LIST_INSERT_ITEM(id, fn) { wxEVT_COMMAND_LIST_INSERT_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
 #define EVT_LIST_COL_CLICK(id, fn) { wxEVT_COMMAND_LIST_COL_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
 #define EVT_LIST_KEY_DOWN(id, fn) { wxEVT_COMMAND_LIST_KEY_DOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
 #define EVT_LIST_INSERT_ITEM(id, fn) { wxEVT_COMMAND_LIST_INSERT_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
 #define EVT_LIST_COL_CLICK(id, fn) { wxEVT_COMMAND_LIST_COL_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, NULL },
+#define EVT_LIST_ITEM_ACTIVATED(id, fn) { wxEVT_COMMAND_LIST_ITEM_ACTIVATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxListEventFunction) & fn, (wxObject *) NULL },
 
 #endif
     // _WX_LISTCTRL_H_
 
 #endif
     // _WX_LISTCTRL_H_
index 4f5cb941d1d06259fa7062d76ec3ce3e91864513..d50417d5af0e0dc8daae4c31a8504aeab98046ad 100644 (file)
@@ -535,5 +535,8 @@ typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&);
 // be deleted just after the return of this event handler (if any)
 #define EVT_TREE_DELETE_ITEM(id, fn) { wxEVT_COMMAND_TREE_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
 
 // be deleted just after the return of this event handler (if any)
 #define EVT_TREE_DELETE_ITEM(id, fn) { wxEVT_COMMAND_TREE_DELETE_ITEM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL },
 
+// GetItem() returns the item that was activated (double click, enter, space)
+#define EVT_TREE_ITEM_ACTIVATED(id, fn) { wxEVT_COMMAND_TREE_ITEM_ACTIVATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL },
+
 #endif
     // _WX_TREECTRL_H_
 #endif
     // _WX_TREECTRL_H_
index d745798ddf6854ea789ccc18634cbd72788d0cc4..8f17b941d904892a25fefc2f521dee38b439155c 100644 (file)
@@ -56,6 +56,7 @@ BEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl)
        EVT_LIST_ITEM_SELECTED(LIST_CTRL, MyListCtrl::OnSelected)
        EVT_LIST_ITEM_DESELECTED(LIST_CTRL, MyListCtrl::OnDeselected)
        EVT_LIST_KEY_DOWN(LIST_CTRL, MyListCtrl::OnListKeyDown)
        EVT_LIST_ITEM_SELECTED(LIST_CTRL, MyListCtrl::OnSelected)
        EVT_LIST_ITEM_DESELECTED(LIST_CTRL, MyListCtrl::OnDeselected)
        EVT_LIST_KEY_DOWN(LIST_CTRL, MyListCtrl::OnListKeyDown)
+       EVT_LIST_ITEM_ACTIVATED(LIST_CTRL, MyListCtrl::OnActivated)
 END_EVENT_TABLE()
 
 IMPLEMENT_APP(MyApp)
 END_EVENT_TABLE()
 
 IMPLEMENT_APP(MyApp)
@@ -449,6 +450,18 @@ void MyListCtrl::OnDeselected(wxListEvent& WXUNUSED(event))
        text->WriteText("OnDeselected\n");
 }
 
        text->WriteText("OnDeselected\n");
 }
 
+void MyListCtrl::OnActivated(wxListEvent& WXUNUSED(event))
+{
+       if ( !wxGetApp().GetTopWindow() )
+               return;
+
+       wxTextCtrl *text = ((MyFrame *)wxGetApp().GetTopWindow())->m_logWindow;
+       if ( !text )
+               return;
+
+       text->WriteText("OnActivated\n");
+}
+
 void MyListCtrl::OnListKeyDown(wxListEvent& WXUNUSED(event))
 {
        if ( !wxGetApp().GetTopWindow() )
 void MyListCtrl::OnListKeyDown(wxListEvent& WXUNUSED(event))
 {
        if ( !wxGetApp().GetTopWindow() )
@@ -461,3 +474,4 @@ void MyListCtrl::OnListKeyDown(wxListEvent& WXUNUSED(event))
        text->WriteText("OnListKeyDown\n");
 }
 
        text->WriteText("OnListKeyDown\n");
 }
 
+
index bc089abbacfd11c7ac263901e19bfe7cec82b285..c9bbb749bdb04c2fea0b37e6e6a7b39ac1265d34 100644 (file)
@@ -37,6 +37,7 @@ public:
        void OnSelected(wxListEvent& event);
        void OnDeselected(wxListEvent& event);
        void OnListKeyDown(wxListEvent& event);
        void OnSelected(wxListEvent& event);
        void OnDeselected(wxListEvent& event);
        void OnListKeyDown(wxListEvent& event);
+       void OnActivated(wxListEvent& event);
 
    DECLARE_EVENT_TABLE()
 };
 
    DECLARE_EVENT_TABLE()
 };
index 17d2ac3490bb6aeccb22f70fedb8a539dc7aa8ec..4095a541e69289d3fbe7e91af35202c410c774ff 100644 (file)
@@ -65,6 +65,7 @@ BEGIN_EVENT_TABLE(MyTreeCtrl, wxTreeCtrl)
   EVT_TREE_SEL_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged)
   EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
   EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
   EVT_TREE_SEL_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged)
   EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
   EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
+  EVT_TREE_ITEM_ACTIVATED(TreeTest_Ctrl, MyTreeCtrl::OnItemActivated)
 END_EVENT_TABLE()
 
 IMPLEMENT_APP(MyApp)
 END_EVENT_TABLE()
 
 IMPLEMENT_APP(MyApp)
@@ -318,6 +319,11 @@ void MyTreeCtrl::OnItemCollapsing(wxTreeEvent& event)
 }
 
 void MyTreeCtrl::OnTreeKeyDown(wxTreeEvent&WXUNUSED(event))
 }
 
 void MyTreeCtrl::OnTreeKeyDown(wxTreeEvent&WXUNUSED(event))
+{
+  wxLogMessage("OnTreeKeyDown");
+}
+
+void MyTreeCtrl::OnItemActivated(wxTreeEvent&WXUNUSED(event))
 {
   // show some info about this item
   wxTreeItemId itemId = GetSelection();
 {
   // show some info about this item
   wxTreeItemId itemId = GetSelection();
@@ -328,7 +334,7 @@ void MyTreeCtrl::OnTreeKeyDown(wxTreeEvent&WXUNUSED(event))
     item->ShowInfo(this);
   }
 
     item->ShowInfo(this);
   }
 
-  wxLogMessage("OnTreeKeyDown");
+  wxLogMessage("OnItemActivated");
 }
 
 static inline const char *Bool2String(bool b)
 }
 
 static inline const char *Bool2String(bool b)
index 9adacc8acf66a928eef9f1eb49727a1f2f18d6b2..8ca521827db78dd01d95bf5506291c672a629636 100644 (file)
@@ -55,6 +55,7 @@ public:
   void OnSelChanged(wxTreeEvent& event);
   void OnSelChanging(wxTreeEvent& event);
   void OnTreeKeyDown(wxTreeEvent& event);
   void OnSelChanged(wxTreeEvent& event);
   void OnSelChanging(wxTreeEvent& event);
   void OnTreeKeyDown(wxTreeEvent& event);
+  void OnItemActivated(wxTreeEvent& event);
 
   void GetItemsRecursively(const wxTreeItemId& idParent, long cookie);
 
 
   void GetItemsRecursively(const wxTreeItemId& idParent, long cookie);
 
index 6db8a65314b8aa97c3daa32d6c5f271fa93b1dd6..3d4dd017291749a8b8478894211c30b4cef898f9 100644 (file)
@@ -1216,7 +1216,7 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event )
         m_lastOnSame = FALSE;
         m_renameTimer->Stop();
     
         m_lastOnSame = FALSE;
         m_renameTimer->Stop();
     
-        SendNotify( line, wxEVT_COMMAND_LIST_KEY_DOWN );
+        SendNotify( line, wxEVT_COMMAND_LIST_ITEM_ACTIVATED );
     
        return;
     }
     
        return;
     }
@@ -1369,6 +1369,11 @@ void wxListMainWindow::OnArrowChar( wxListLineData *newCurrent, bool shiftDown )
 
 void wxListMainWindow::OnChar( wxKeyEvent &event )
 {
 
 void wxListMainWindow::OnChar( wxKeyEvent &event )
 {
+  wxListEvent le( wxEVT_COMMAND_LIST_KEY_DOWN, m_parent->GetId() );
+  le.m_code = event.KeyCode();
+  le.SetEventObject( m_parent );
+  m_parent->GetEventHandler()->ProcessEvent( le );
+  
 /*
   if (event.KeyCode() == WXK_TAB)
   {
 /*
   if (event.KeyCode() == WXK_TAB)
   {
@@ -1482,7 +1487,7 @@ void wxListMainWindow::OnChar( wxKeyEvent &event )
     case WXK_RETURN:
     case WXK_EXECUTE:
     {
     case WXK_RETURN:
     case WXK_EXECUTE:
     {
-      wxListEvent le( wxEVT_COMMAND_LIST_KEY_DOWN, GetParent()->GetId() );
+      wxListEvent le( wxEVT_COMMAND_LIST_ITEM_ACTIVATED, GetParent()->GetId() );
       le.SetEventObject( GetParent() );
       le.m_itemIndex = GetIndexOfLine( m_current );
       m_current->GetItem( 0, le.m_item );
       le.SetEventObject( GetParent() );
       le.m_itemIndex = GetIndexOfLine( m_current );
       m_current->GetItem( 0, le.m_item );
index 480eb4c13f13535ee5ece6f25f0f8a81505c4980..04d3717ec3cf45e27c80eb53b366553f456b07bc 100644 (file)
@@ -1112,6 +1112,11 @@ void wxTreeCtrl::OnKillFocus( wxFocusEvent &WXUNUSED(event) )
 
 void wxTreeCtrl::OnChar( wxKeyEvent &event )
 {
 
 void wxTreeCtrl::OnChar( wxKeyEvent &event )
 {
+  wxTreeEvent te( wxEVT_COMMAND_TREE_KEY_DOWN, GetId() );
+  te.m_code = event.KeyCode();
+  te.SetEventObject( this );
+  GetEventHandler()->ProcessEvent( te );
+
   if (m_current == 0)
   {
      event.Skip();
   if (m_current == 0)
   {
      event.Skip();
@@ -1144,7 +1149,7 @@ void wxTreeCtrl::OnChar( wxKeyEvent &event )
     case ' ':
     case WXK_RETURN:
       {
     case ' ':
     case WXK_RETURN:
       {
-        wxTreeEvent event( wxEVT_COMMAND_TREE_KEY_DOWN, GetId() );
+        wxTreeEvent event( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, GetId() );
         event.m_item = m_current;
         event.m_code = 0;
         event.SetEventObject( this );
         event.m_item = m_current;
         event.m_code = 0;
         event.SetEventObject( this );
@@ -1236,7 +1241,7 @@ void wxTreeCtrl::OnMouse( wxMouseEvent &event )
 
   if ( event.LeftDClick() )
   {
 
   if ( event.LeftDClick() )
   {
-    wxTreeEvent event( wxEVT_COMMAND_TREE_KEY_DOWN, GetId() );
+    wxTreeEvent event( wxEVT_COMMAND_TREE_ITEM_ACTIVATED, GetId() );
     event.m_item = item;
     event.m_code = 0;
     event.SetEventObject( this );
     event.m_item = item;
     event.m_code = 0;
     event.SetEventObject( this );
index 0ae08846d607c08a31e964c09e5c0415aefe1e97..ca9146b0452477478b7d8b1defd15790f03d3f41 100644 (file)
@@ -99,6 +99,8 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
   }
 
   win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
   }
 
   win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
+  
+  if (win->GetAutoLayout()) win->Layout();
 }
 
 //-----------------------------------------------------------------------------
 }
 
 //-----------------------------------------------------------------------------
index bb72ccea1bf68da5624b00d2bdb24b43f0fec628..549f3488f3ab95a50e14bece04d3f00a68e79b44 100644 (file)
@@ -303,7 +303,8 @@ bool wxTextCtrl::LoadFile( const wxString &file )
 
     if (m_windowStyle & wxTE_MULTILINE)
     {
 
     if (m_windowStyle & wxTE_MULTILINE)
     {
-      gtk_editable_insert_text( GTK_EDITABLE(m_text), text, 0, &len );
+      gint pos = 0;
+      gtk_editable_insert_text( GTK_EDITABLE(m_text), text, len, &pos );
     }
     else
     {
     }
     else
     {
@@ -555,7 +556,7 @@ void wxTextCtrl::Replace( long from, long to, const wxString &value )
 
     gtk_editable_delete_text( GTK_EDITABLE(m_text), (gint)from, (gint)to );
     if (value.IsNull()) return;
 
     gtk_editable_delete_text( GTK_EDITABLE(m_text), (gint)from, (gint)to );
     if (value.IsNull()) return;
-    gint pos = (gint)to;
+    gint pos = (gint)from;
     gtk_editable_insert_text( GTK_EDITABLE(m_text), value, value.Length(), &pos );
 }
 
     gtk_editable_insert_text( GTK_EDITABLE(m_text), value, value.Length(), &pos );
 }
 
index 0ae08846d607c08a31e964c09e5c0415aefe1e97..ca9146b0452477478b7d8b1defd15790f03d3f41 100644 (file)
@@ -99,6 +99,8 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
   }
 
   win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
   }
 
   win->SetSize( alloc->x, alloc->y, alloc->width, alloc->height );
+  
+  if (win->GetAutoLayout()) win->Layout();
 }
 
 //-----------------------------------------------------------------------------
 }
 
 //-----------------------------------------------------------------------------
index bb72ccea1bf68da5624b00d2bdb24b43f0fec628..549f3488f3ab95a50e14bece04d3f00a68e79b44 100644 (file)
@@ -303,7 +303,8 @@ bool wxTextCtrl::LoadFile( const wxString &file )
 
     if (m_windowStyle & wxTE_MULTILINE)
     {
 
     if (m_windowStyle & wxTE_MULTILINE)
     {
-      gtk_editable_insert_text( GTK_EDITABLE(m_text), text, 0, &len );
+      gint pos = 0;
+      gtk_editable_insert_text( GTK_EDITABLE(m_text), text, len, &pos );
     }
     else
     {
     }
     else
     {
@@ -555,7 +556,7 @@ void wxTextCtrl::Replace( long from, long to, const wxString &value )
 
     gtk_editable_delete_text( GTK_EDITABLE(m_text), (gint)from, (gint)to );
     if (value.IsNull()) return;
 
     gtk_editable_delete_text( GTK_EDITABLE(m_text), (gint)from, (gint)to );
     if (value.IsNull()) return;
-    gint pos = (gint)to;
+    gint pos = (gint)from;
     gtk_editable_insert_text( GTK_EDITABLE(m_text), value, value.Length(), &pos );
 }
 
     gtk_editable_insert_text( GTK_EDITABLE(m_text), value, value.Length(), &pos );
 }