]> git.saurik.com Git - wxWidgets.git/commitdiff
windows emit wxCreateWindowEvent
authorRobert Roebling <robert@roebling.de>
Tue, 25 May 1999 13:36:09 +0000 (13:36 +0000)
committerRobert Roebling <robert@roebling.de>
Tue, 25 May 1999 13:36:09 +0000 (13:36 +0000)
  generic controls use wxINVERT for rubberbands etc
  wxXOR maps to GdkXOR etc

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

include/wx/event.h
src/common/event.cpp
src/generic/listctrl.cpp
src/generic/sashwin.cpp
src/generic/splitter.cpp
src/gtk/dcclient.cpp
src/gtk/textctrl.cpp
src/gtk/window.cpp
src/gtk1/dcclient.cpp
src/gtk1/textctrl.cpp
src/gtk1/window.cpp

index e9f8825d9f5670e7bb542844ed0c6d050fca9745..0453f4fc9ac6366bbbd62e78d0c745ba334ae9a4 100644 (file)
@@ -478,6 +478,7 @@ public:
     void SetOrientation(int orient) { m_extraLong = (long) orient; }
     void SetPosition(int pos) { m_commandInt = pos; }
 
+    void CopyObject(wxObject& object_dest) const;
 public:
     int               m_commandInt;    // Additional information
     long              m_extraLong;     
index 1813d7b4cf5018ab4933df57bbe51cb8a797e4a7..0849fdb6a0617c6bcce878a46cc29a18f523aa54 100644 (file)
@@ -170,6 +170,16 @@ wxScrollWinEvent::wxScrollWinEvent(wxEventType commandType,
     m_commandInt = pos;
 }
 
+void wxScrollWinEvent::CopyObject(wxObject& obj_d) const
+{
+    wxScrollWinEvent *obj = (wxScrollWinEvent*)&obj_d; 
+
+    wxEvent::CopyObject(obj_d);
+
+    obj->m_extraLong    = m_extraLong;
+    obj->m_commandInt   = m_commandInt;
+}
+
 /*
  * Mouse events
  *
index 54e7506831c42b382d66089d7efbc6577eca1bed..d0a1bd2fcdcc63d1d5ecc9da76f17f5018b87505 100644 (file)
@@ -781,7 +781,7 @@ void wxListHeaderWindow::DrawCurrent()
     m_owner->ClientToScreen( &x2, &y2 );
 
     wxScreenDC dc;
-    dc.SetLogicalFunction( wxXOR );
+    dc.SetLogicalFunction( wxINVERT );
     dc.SetPen( wxPen( *wxBLACK, 2, wxSOLID ) );
     dc.SetBrush( *wxTRANSPARENT_BRUSH );
 
index 32a708730e400980764de716efeeea10e41448d5..bb03e9004425af72d1c83127d7744df16e8878ea 100644 (file)
@@ -516,7 +516,7 @@ void wxSashWindow::DrawSashTracker(wxSashEdgePosition edge, int x, int y)
 
     wxPen sashTrackerPen(*wxBLACK, 2, wxSOLID);
 
-    screenDC.SetLogicalFunction(wxXOR);
+    screenDC.SetLogicalFunction(wxINVERT);
     screenDC.SetPen(sashTrackerPen);
     screenDC.SetBrush(*wxTRANSPARENT_BRUSH);
 
index e2a50b5022cf4c12398861053716cc2a0d5ac9f1..dd3ea592ab8551fe9b5848a6da46382f873d7fa0 100644 (file)
@@ -537,7 +537,7 @@ void wxSplitterWindow::DrawSashTracker(int x, int y)
     ClientToScreen(&x1, &y1);
     ClientToScreen(&x2, &y2);
 
-    screenDC.SetLogicalFunction(wxXOR);
+    screenDC.SetLogicalFunction(wxINVERT);
     screenDC.SetPen(*m_sashTrackerPen);
     screenDC.SetBrush(*wxTRANSPARENT_BRUSH);
 
@@ -599,9 +599,13 @@ void wxSplitterWindow::SizeWindows()
                m_windowTwo->Layout();
         }
     }
+#ifdef __WXGTK__
+    Refresh();
+#else
     wxClientDC dc(this);
     DrawBorders(dc);
     DrawSash(dc);
+#endif
 }
 
 // Set pane for unsplit window
index c945bcd1408debc3f08bee5cea573168edd11708..04fa10b5308b30f19358c0645afd3f979efdde3f 100644 (file)
@@ -973,19 +973,19 @@ void wxWindowDC::SetLogicalFunction( int function )
     GdkFunction mode = GDK_COPY;
     switch (function)
     {
-        case wxXOR:          mode = GDK_INVERT; break;
-        case wxINVERT:       mode = GDK_XOR; break;
+        case wxXOR:          mode = GDK_XOR;           break;
+        case wxINVERT:       mode = GDK_INVERT;        break;
 #if (GDK_MINOR_VERSION > 0)
-        case wxOR_REVERSE:   mode = GDK_OR_REVERSE; break;
-        case wxAND_REVERSE:  mode = GDK_AND_REVERSE; break;
-        case wxCLEAR:        mode = GDK_CLEAR; break;
-        case wxSET:          mode = GDK_SET; break;
-        case wxOR_INVERT:    mode = GDK_OR_INVERT; break;
-        case wxAND:          mode = GDK_AND; break;
-        case wxOR:           mode = GDK_OR; break;
-        case wxEQUIV:        mode = GDK_EQUIV; break;
-        case wxNAND:         mode = GDK_NAND; break;
-        case wxAND_INVERT:   mode = GDK_AND_INVERT; break;
+        case wxOR_REVERSE:   mode = GDK_OR_REVERSE;    break;
+        case wxAND_REVERSE:  mode = GDK_AND_REVERSE;   break;
+        case wxCLEAR:        mode = GDK_CLEAR;         break;
+        case wxSET:          mode = GDK_SET;           break;
+        case wxOR_INVERT:    mode = GDK_OR_INVERT;     break;
+        case wxAND:          mode = GDK_AND;           break;
+        case wxOR:           mode = GDK_OR;            break;
+        case wxEQUIV:        mode = GDK_EQUIV;         break;
+        case wxNAND:         mode = GDK_NAND;          break;
+        case wxAND_INVERT:   mode = GDK_AND_INVERT;    break;
 /*   ?   wxSRC_INVERT   GDK_AND_REVERSE, GDK_OR_REVERSE, GDK_OR_INVERT */
 #endif
         default:       break;
index 3640c7dfccb9b69eb1e5f0d87a8407cca105b4df..de650285b70b07b45bc72ea359d0f8b3468aaa76 100644 (file)
@@ -44,10 +44,11 @@ extern bool   g_blockEventsOnDrag;
 static void
 gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
 {
-    if (g_isIdle) wxapp_install_idle_handler();
-
     if (!win->m_hasVMT) return;
 
+    if (g_isIdle) 
+        wxapp_install_idle_handler();
+
     win->SetModified();
 
     wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, win->GetId() );
@@ -63,11 +64,12 @@ gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
 static void
 gtk_scrollbar_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
 {
-    if (g_isIdle) wxapp_install_idle_handler();
+    if (!win->m_hasVMT) return;
+    
+    if (g_isIdle) 
+        wxapp_install_idle_handler();
 
     win->CalculateScrollbar();
-    
-    if (!win->m_hasVMT) return;
 }
 
 //-----------------------------------------------------------------------------
@@ -273,7 +275,6 @@ void wxTextCtrl::CalculateScrollbar()
         if (m_vScrollbarVisible)
         {
             gtk_widget_hide( m_vScrollbar );
-
             m_vScrollbarVisible = FALSE;
         }
     }
@@ -282,7 +283,6 @@ void wxTextCtrl::CalculateScrollbar()
         if (!m_vScrollbarVisible)
         {
             gtk_widget_show( m_vScrollbar );
-
             m_vScrollbarVisible = TRUE;
         }
     }
index d43e0946b19039f4c3a7eda56d4baf154a4248f8..cc9855afaeae11b3a635d3ff4a7bbdf7c3c502f4 100644 (file)
@@ -1541,6 +1541,10 @@ gtk_window_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
         win->SetForegroundColour( win->GetForegroundColour() );
 
     win->SetCursor( win->GetCursor() );
+    
+    wxWindowCreateEvent event( win );
+    event.SetEventObject( win );
+    win->GetEventHandler()->ProcessEvent( event );
 
     return FALSE;
 }
index c945bcd1408debc3f08bee5cea573168edd11708..04fa10b5308b30f19358c0645afd3f979efdde3f 100644 (file)
@@ -973,19 +973,19 @@ void wxWindowDC::SetLogicalFunction( int function )
     GdkFunction mode = GDK_COPY;
     switch (function)
     {
-        case wxXOR:          mode = GDK_INVERT; break;
-        case wxINVERT:       mode = GDK_XOR; break;
+        case wxXOR:          mode = GDK_XOR;           break;
+        case wxINVERT:       mode = GDK_INVERT;        break;
 #if (GDK_MINOR_VERSION > 0)
-        case wxOR_REVERSE:   mode = GDK_OR_REVERSE; break;
-        case wxAND_REVERSE:  mode = GDK_AND_REVERSE; break;
-        case wxCLEAR:        mode = GDK_CLEAR; break;
-        case wxSET:          mode = GDK_SET; break;
-        case wxOR_INVERT:    mode = GDK_OR_INVERT; break;
-        case wxAND:          mode = GDK_AND; break;
-        case wxOR:           mode = GDK_OR; break;
-        case wxEQUIV:        mode = GDK_EQUIV; break;
-        case wxNAND:         mode = GDK_NAND; break;
-        case wxAND_INVERT:   mode = GDK_AND_INVERT; break;
+        case wxOR_REVERSE:   mode = GDK_OR_REVERSE;    break;
+        case wxAND_REVERSE:  mode = GDK_AND_REVERSE;   break;
+        case wxCLEAR:        mode = GDK_CLEAR;         break;
+        case wxSET:          mode = GDK_SET;           break;
+        case wxOR_INVERT:    mode = GDK_OR_INVERT;     break;
+        case wxAND:          mode = GDK_AND;           break;
+        case wxOR:           mode = GDK_OR;            break;
+        case wxEQUIV:        mode = GDK_EQUIV;         break;
+        case wxNAND:         mode = GDK_NAND;          break;
+        case wxAND_INVERT:   mode = GDK_AND_INVERT;    break;
 /*   ?   wxSRC_INVERT   GDK_AND_REVERSE, GDK_OR_REVERSE, GDK_OR_INVERT */
 #endif
         default:       break;
index 3640c7dfccb9b69eb1e5f0d87a8407cca105b4df..de650285b70b07b45bc72ea359d0f8b3468aaa76 100644 (file)
@@ -44,10 +44,11 @@ extern bool   g_blockEventsOnDrag;
 static void
 gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
 {
-    if (g_isIdle) wxapp_install_idle_handler();
-
     if (!win->m_hasVMT) return;
 
+    if (g_isIdle) 
+        wxapp_install_idle_handler();
+
     win->SetModified();
 
     wxCommandEvent event( wxEVT_COMMAND_TEXT_UPDATED, win->GetId() );
@@ -63,11 +64,12 @@ gtk_text_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
 static void
 gtk_scrollbar_changed_callback( GtkWidget *WXUNUSED(widget), wxTextCtrl *win )
 {
-    if (g_isIdle) wxapp_install_idle_handler();
+    if (!win->m_hasVMT) return;
+    
+    if (g_isIdle) 
+        wxapp_install_idle_handler();
 
     win->CalculateScrollbar();
-    
-    if (!win->m_hasVMT) return;
 }
 
 //-----------------------------------------------------------------------------
@@ -273,7 +275,6 @@ void wxTextCtrl::CalculateScrollbar()
         if (m_vScrollbarVisible)
         {
             gtk_widget_hide( m_vScrollbar );
-
             m_vScrollbarVisible = FALSE;
         }
     }
@@ -282,7 +283,6 @@ void wxTextCtrl::CalculateScrollbar()
         if (!m_vScrollbarVisible)
         {
             gtk_widget_show( m_vScrollbar );
-
             m_vScrollbarVisible = TRUE;
         }
     }
index d43e0946b19039f4c3a7eda56d4baf154a4248f8..cc9855afaeae11b3a635d3ff4a7bbdf7c3c502f4 100644 (file)
@@ -1541,6 +1541,10 @@ gtk_window_realized_callback( GtkWidget * WXUNUSED(widget), wxWindow *win )
         win->SetForegroundColour( win->GetForegroundColour() );
 
     win->SetCursor( win->GetCursor() );
+    
+    wxWindowCreateEvent event( win );
+    event.SetEventObject( win );
+    win->GetEventHandler()->ProcessEvent( event );
 
     return FALSE;
 }