]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/cshelp.cpp
wxComboControl and wxOwnerDrawnComboBox (patch 1479938)
[wxWidgets.git] / src / common / cshelp.cpp
index b3fe69aecad3328f6ce8eee90629e5bea7dcf240..82f3383652a62e70bbb41441248757007d6fe52c 100644 (file)
@@ -6,17 +6,13 @@
 // Created:     08/09/2000
 // RCS-ID:      $Id$
 // Copyright:   (c) 2000 Julian Smart, Vadim Zeitlin
 // Created:     08/09/2000
 // RCS-ID:      $Id$
 // Copyright:   (c) 2000 Julian Smart, Vadim Zeitlin
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // declarations
 // ============================================================================
 
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // declarations
 // ============================================================================
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "cshelp.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
 #if wxUSE_HELP
 
 #ifndef WX_PRECOMP
 #if wxUSE_HELP
 
 #ifndef WX_PRECOMP
+    #include "wx/app.h"
 #endif
 
 #include "wx/tipwin.h"
 #endif
 
 #include "wx/tipwin.h"
-#include "wx/app.h"
 #include "wx/module.h"
 #include "wx/cshelp.h"
 
 #include "wx/module.h"
 #include "wx/cshelp.h"
 
@@ -77,7 +73,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxContextHelp, wxObject)
 
 wxContextHelp::wxContextHelp(wxWindow* win, bool beginHelp)
 {
 
 wxContextHelp::wxContextHelp(wxWindow* win, bool beginHelp)
 {
-    m_inHelp = FALSE;
+    m_inHelp = false;
 
     if (beginHelp)
         BeginContextHelp(win);
 
     if (beginHelp)
         BeginContextHelp(win);
@@ -97,7 +93,7 @@ static void wxPushOrPopEventHandlers(wxContextHelp* help, wxWindow* win, bool pu
     if (push)
         win->PushEventHandler(new wxContextHelpEvtHandler(help));
     else
     if (push)
         win->PushEventHandler(new wxContextHelpEvtHandler(help));
     else
-        win->PopEventHandler(TRUE);
+        win->PopEventHandler(true);
 
     wxWindowList::compatibility_iterator node = win->GetChildren().GetFirst();
     while (node)
 
     wxWindowList::compatibility_iterator node = win->GetChildren().GetFirst();
     while (node)
@@ -116,7 +112,7 @@ bool wxContextHelp::BeginContextHelp(wxWindow* win)
     if (!win)
         win = wxTheApp->GetTopWindow();
     if (!win)
     if (!win)
         win = wxTheApp->GetTopWindow();
     if (!win)
-        return FALSE;
+        return false;
 
     wxCursor cursor(wxCURSOR_QUESTION_ARROW);
     wxCursor oldCursor = win->GetCursor();
 
     wxCursor cursor(wxCURSOR_QUESTION_ARROW);
     wxCursor oldCursor = win->GetCursor();
@@ -126,10 +122,10 @@ bool wxContextHelp::BeginContextHelp(wxWindow* win)
     //    wxSetCursor(cursor);
 #endif
 
     //    wxSetCursor(cursor);
 #endif
 
-    m_status = FALSE;
+    m_status = false;
 
 #ifdef __WXMOTIF__
 
 #ifdef __WXMOTIF__
-    wxPushOrPopEventHandlers(this, win, TRUE);
+    wxPushOrPopEventHandlers(this, win, true);
 #else
     win->PushEventHandler(new wxContextHelpEvtHandler(this));
 #endif
 #else
     win->PushEventHandler(new wxContextHelpEvtHandler(this));
 #endif
@@ -141,9 +137,9 @@ bool wxContextHelp::BeginContextHelp(wxWindow* win)
     win->ReleaseMouse();
 
 #ifdef __WXMOTIF__
     win->ReleaseMouse();
 
 #ifdef __WXMOTIF__
-    wxPushOrPopEventHandlers(this, win, FALSE);
+    wxPushOrPopEventHandlers(this, win, false);
 #else
 #else
-    win->PopEventHandler(TRUE);
+    win->PopEventHandler(true);
 #endif
 
     win->SetCursor(oldCursor);
 #endif
 
     win->SetCursor(oldCursor);
@@ -165,19 +161,19 @@ bool wxContextHelp::BeginContextHelp(wxWindow* win)
             DispatchEvent(winAtPtr, pt);
     }
 
             DispatchEvent(winAtPtr, pt);
     }
 
-    return TRUE;
+    return true;
 }
 
 bool wxContextHelp::EndContextHelp()
 {
 }
 
 bool wxContextHelp::EndContextHelp()
 {
-    m_inHelp = FALSE;
+    m_inHelp = false;
 
 
-    return TRUE;
+    return true;
 }
 
 bool wxContextHelp::EventLoop()
 {
 }
 
 bool wxContextHelp::EventLoop()
 {
-    m_inHelp = TRUE;
+    m_inHelp = true;
 
     while ( m_inHelp )
     {
 
     while ( m_inHelp )
     {
@@ -191,16 +187,16 @@ bool wxContextHelp::EventLoop()
         }
     }
 
         }
     }
 
-    return TRUE;
+    return true;
 }
 
 bool wxContextHelpEvtHandler::ProcessEvent(wxEvent& event)
 {
     if (event.GetEventType() == wxEVT_LEFT_DOWN)
     {
 }
 
 bool wxContextHelpEvtHandler::ProcessEvent(wxEvent& event)
 {
     if (event.GetEventType() == wxEVT_LEFT_DOWN)
     {
-        m_contextHelp->SetStatus(TRUE);
+        m_contextHelp->SetStatus(true);
         m_contextHelp->EndContextHelp();
         m_contextHelp->EndContextHelp();
-        return TRUE;
+        return true;
     }
 
     if ((event.GetEventType() == wxEVT_CHAR) ||
     }
 
     if ((event.GetEventType() == wxEVT_CHAR) ||
@@ -208,31 +204,31 @@ bool wxContextHelpEvtHandler::ProcessEvent(wxEvent& event)
         (event.GetEventType() == wxEVT_ACTIVATE) ||
         (event.GetEventType() == wxEVT_MOUSE_CAPTURE_CHANGED))
     {
         (event.GetEventType() == wxEVT_ACTIVATE) ||
         (event.GetEventType() == wxEVT_MOUSE_CAPTURE_CHANGED))
     {
-        // May have already been set to TRUE by a left-click
-        //m_contextHelp->SetStatus(FALSE);
+        // May have already been set to true by a left-click
+        //m_contextHelp->SetStatus(false);
         m_contextHelp->EndContextHelp();
         m_contextHelp->EndContextHelp();
-        return TRUE;
+        return true;
     }
 
     if ((event.GetEventType() == wxEVT_PAINT) ||
         (event.GetEventType() == wxEVT_ERASE_BACKGROUND))
     {
         event.Skip();
     }
 
     if ((event.GetEventType() == wxEVT_PAINT) ||
         (event.GetEventType() == wxEVT_ERASE_BACKGROUND))
     {
         event.Skip();
-        return FALSE;
+        return false;
     }
 
     }
 
-    return TRUE;
+    return true;
 }
 
 // Dispatch the help event to the relevant window
 bool wxContextHelp::DispatchEvent(wxWindow* win, const wxPoint& pt)
 {
     wxWindow* subjectOfHelp = win;
 }
 
 // Dispatch the help event to the relevant window
 bool wxContextHelp::DispatchEvent(wxWindow* win, const wxPoint& pt)
 {
     wxWindow* subjectOfHelp = win;
-    bool eventProcessed = FALSE;
+    bool eventProcessed = false;
     while (subjectOfHelp && !eventProcessed)
     {
         wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), pt) ;
     while (subjectOfHelp && !eventProcessed)
     {
         wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), pt) ;
-        helpEvent.SetEventObject(this);
+        helpEvent.SetEventObject(subjectOfHelp);
 
         eventProcessed = win->GetEventHandler()->ProcessEvent(helpEvent);
 
 
         eventProcessed = win->GetEventHandler()->ProcessEvent(helpEvent);
 
@@ -254,6 +250,8 @@ bool wxContextHelp::DispatchEvent(wxWindow* win, const wxPoint& pt)
  * to put the application into context help mode.
  */
 
  * to put the application into context help mode.
  */
 
+#ifndef __WXPM__
+
 static const char * csquery_xpm[] = {
 "12 11 2 1",
 "  c None",
 static const char * csquery_xpm[] = {
 "12 11 2 1",
 "  c None",
@@ -270,6 +268,8 @@ static const char * csquery_xpm[] = {
 "     ..     ",
 "            "};
 
 "     ..     ",
 "            "};
 
+#endif
+
 IMPLEMENT_CLASS(wxContextHelpButton, wxBitmapButton)
 
 BEGIN_EVENT_TABLE(wxContextHelpButton, wxBitmapButton)
 IMPLEMENT_CLASS(wxContextHelpButton, wxBitmapButton)
 
 BEGIN_EVENT_TABLE(wxContextHelpButton, wxBitmapButton)
@@ -330,9 +330,11 @@ wxHelpProvider::~wxHelpProvider()
 // wxSimpleHelpProvider
 // ----------------------------------------------------------------------------
 
 // wxSimpleHelpProvider
 // ----------------------------------------------------------------------------
 
+#define WINHASH_KEY(w) wxPtrToUInt(w)
+
 wxString wxSimpleHelpProvider::GetHelp(const wxWindowBase *window)
 {
 wxString wxSimpleHelpProvider::GetHelp(const wxWindowBase *window)
 {
-    wxLongToStringHashMap::iterator it = m_hashWindows.find((long)window);
+    wxSimpleHelpProviderHashMap::iterator it = m_hashWindows.find(WINHASH_KEY(window));
 
     if ( it == m_hashWindows.end() )
     {
 
     if ( it == m_hashWindows.end() )
     {
@@ -346,20 +348,21 @@ wxString wxSimpleHelpProvider::GetHelp(const wxWindowBase *window)
 
 void wxSimpleHelpProvider::AddHelp(wxWindowBase *window, const wxString& text)
 {
 
 void wxSimpleHelpProvider::AddHelp(wxWindowBase *window, const wxString& text)
 {
-    m_hashWindows.erase((long)window);
-    m_hashWindows[(long)window] = text;
+    m_hashWindows.erase(WINHASH_KEY(window));
+    m_hashWindows[WINHASH_KEY(window)] = text;
 }
 
 void wxSimpleHelpProvider::AddHelp(wxWindowID id, const wxString& text)
 {
 }
 
 void wxSimpleHelpProvider::AddHelp(wxWindowID id, const wxString& text)
 {
-    m_hashIds.erase((long)id);
-    m_hashIds[id] = text;
+    wxSimpleHelpProviderHashMap::key_type key = (wxSimpleHelpProviderHashMap::key_type)id;
+    m_hashIds.erase(key);
+    m_hashIds[key] = text;
 }
 
 // removes the association
 void wxSimpleHelpProvider::RemoveHelp(wxWindowBase* window)
 {
 }
 
 // removes the association
 void wxSimpleHelpProvider::RemoveHelp(wxWindowBase* window)
 {
-    m_hashWindows.erase((long)window);
+    m_hashWindows.erase(WINHASH_KEY(window));
 }
 
 bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
 }
 
 bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
@@ -381,11 +384,13 @@ bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
     {
         s_tipWindow = new wxTipWindow((wxWindow *)window, text, 100, & s_tipWindow);
 
     {
         s_tipWindow = new wxTipWindow((wxWindow *)window, text, 100, & s_tipWindow);
 
-        return TRUE;
+        return true;
     }
     }
+#else
+    wxUnusedVar(window);
 #endif // wxUSE_TIPWINDOW
 
 #endif // wxUSE_TIPWINDOW
 
-    return FALSE;
+    return false;
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
@@ -410,7 +415,7 @@ bool wxHelpControllerHelpProvider::ShowHelp(wxWindowBase *window)
             // If the help controller is capable of popping up the text...
             else if (m_helpController->DisplayTextPopup(text, wxGetMousePosition()))
             {
             // If the help controller is capable of popping up the text...
             else if (m_helpController->DisplayTextPopup(text, wxGetMousePosition()))
             {
-                return TRUE;
+                return true;
             }
             else
             // ...else use the default method.
             }
             else
             // ...else use the default method.
@@ -421,7 +426,7 @@ bool wxHelpControllerHelpProvider::ShowHelp(wxWindowBase *window)
 
     }
 
 
     }
 
-    return FALSE;
+    return false;
 }
 
 // Convenience function for turning context id into wxString
 }
 
 // Convenience function for turning context id into wxString
@@ -452,7 +457,7 @@ bool wxHelpProviderModule::OnInit()
     // since it could pull in extra code
     // wxHelpProvider::Set(new wxSimpleHelpProvider);
 
     // since it could pull in extra code
     // wxHelpProvider::Set(new wxSimpleHelpProvider);
 
-    return TRUE;
+    return true;
 }
 
 void wxHelpProviderModule::OnExit()
 }
 
 void wxHelpProviderModule::OnExit()