]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/window.cpp
Add wxActivateEvent::GetActivationReason().
[wxWidgets.git] / src / motif / window.cpp
index 116998f5a8dc43889162539bf8588f6b213a1697..58a365a1885ebb1838edf17f79e5da0c8d183672 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     17/09/98
-// RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -38,6 +37,7 @@
 #endif
 
 #include "wx/evtloop.h"
+#include "wx/unix/utilsx11.h"
 
 #if  wxUSE_DRAG_AND_DROP
     #include "wx/dnd.h"
@@ -131,8 +131,6 @@ static int str16len(const char *s)
 // event tables
 // ----------------------------------------------------------------------------
 
-    IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowBase)
-
     BEGIN_EVENT_TABLE(wxWindow, wxWindowBase)
         EVT_SYS_COLOUR_CHANGED(wxWindow::OnSysColourChanged)
     END_EVENT_TABLE()
@@ -688,10 +686,10 @@ bool wxWindow::SetCursor(const wxCursor& cursor)
         return false;
     }
 
-    //    wxASSERT_MSG( m_cursor.Ok(),
+    //    wxASSERT_MSG( m_cursor.IsOk(),
     //                  wxT("cursor must be valid after call to the base version"));
     const wxCursor* cursor2 = NULL;
-    if (m_cursor.Ok())
+    if (m_cursor.IsOk())
         cursor2 = & m_cursor;
     else
         cursor2 = wxSTANDARD_CURSOR;
@@ -1083,7 +1081,6 @@ bool wxWindow::DoPopupMenu(wxMenu *menu, int x, int y)
 
     menu->SetId(1); /* Mark as popped-up */
     menu->CreateMenu(NULL, widget, menu, 0);
-    menu->SetInvokingWindow(this);
 
     menu->UpdateUI();
 
@@ -1456,7 +1453,7 @@ int wxWindow::GetCharHeight() const
 {
     int height;
 
-    if (m_font.Ok())
+    if (m_font.IsOk())
         wxGetTextExtent (GetXDisplay(), m_font, 1.0,
                          "x", NULL, &height, NULL, NULL);
     else
@@ -1469,7 +1466,7 @@ int wxWindow::GetCharWidth() const
 {
     int width;
 
-    if (m_font.Ok())
+    if (m_font.IsOk())
         wxGetTextExtent (GetXDisplay(), m_font, 1.0,
                          "x", &width, NULL, NULL, NULL);
     else
@@ -1478,16 +1475,17 @@ int wxWindow::GetCharWidth() const
     return width;
 }
 
-void wxWindow::GetTextExtent(const wxString& string,
-                             int *x, int *y,
-                             int *descent, int *externalLeading,
-                             const wxFont *theFont) const
+void wxWindow::DoGetTextExtent(const wxString& string,
+                               int *x, int *y,
+                               int *descent,
+                               int *externalLeading,
+                               const wxFont *theFont) const
 {
     const wxFont *fontToUse = theFont ? theFont : &m_font;
 
     if (externalLeading)
         *externalLeading = 0;
-    if (fontToUse->Ok())
+    if (fontToUse->IsOk())
         wxGetTextExtent (GetXDisplay(), *fontToUse, 1.0,
                          string, x, y, NULL, descent);
     else
@@ -1653,14 +1651,6 @@ void wxWindow::OnSysColourChanged(wxSysColourChangedEvent& event)
     }
 }
 
-void wxWindow::OnInternalIdle()
-{
-    // This calls the UI-update mechanism (querying windows for
-    // menu/toolbar/control state information)
-    if (wxUpdateUIEvent::CanUpdate(this) && IsShownOnScreen())
-        UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
-}
-
 // ----------------------------------------------------------------------------
 // accelerators
 // ----------------------------------------------------------------------------
@@ -1668,7 +1658,7 @@ void wxWindow::OnInternalIdle()
 bool wxWindow::ProcessAccelerator(wxKeyEvent& event)
 {
 #if wxUSE_ACCEL
-    if (!m_acceleratorTable.Ok())
+    if (!m_acceleratorTable.IsOk())
         return false;
 
     int count = m_acceleratorTable.GetCount();
@@ -1701,7 +1691,7 @@ bool wxWindow::ProcessAccelerator(wxKeyEvent& event)
                     wxMenuItem* item = frame->GetMenuBar()->FindItem(entry->GetCommand());
                     if (item)
                     {
-                        wxCommandEvent commandEvent(wxEVT_COMMAND_MENU_SELECTED, entry->GetCommand());
+                        wxCommandEvent commandEvent(wxEVT_MENU, entry->GetCommand());
                         commandEvent.SetEventObject(frame);
 
                         // If ProcessEvent returns true (it was handled), then
@@ -1723,7 +1713,7 @@ bool wxWindow::ProcessAccelerator(wxKeyEvent& event)
             // For now, only buttons.
             if ( wxDynamicCast(child, wxButton) )
             {
-                wxCommandEvent commandEvent (wxEVT_COMMAND_BUTTON_CLICKED, child->GetId());
+                wxCommandEvent commandEvent (wxEVT_BUTTON, child->GetId());
                 commandEvent.SetEventObject(child);
                 return child->HandleWindowEvent(commandEvent);
             }
@@ -2097,7 +2087,7 @@ static void wxScrollBarCallback(Widget scrollbar,
                                 XmScrollBarCallbackStruct *cbs)
 {
     wxWindow *win = wxGetWindowFromTable(scrollbar);
-    wxCHECK_RET( win, _T("invalid widget in scrollbar callback") );
+    wxCHECK_RET( win, wxT("invalid widget in scrollbar callback") );
 
     wxOrientation orientation = (wxOrientation)wxPtrToUInt(clientData);
 
@@ -2498,7 +2488,7 @@ void wxWindow::ChangeFont(bool keepOriginalSize)
     // to its original size! We therefore have to set the size
     // back again. TODO: a better way in Motif?
     Widget w = (Widget) GetLabelWidget(); // Usually the main widget
-    if (w && m_font.Ok())
+    if (w && m_font.IsOk())
     {
         int width, height, width1, height1;
         GetSize(& width, & height);