// Created: 08/09/2000
// RCS-ID: $Id$
// Copyright: (c) 2000 Julian Smart, Vadim Zeitlin
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "cshelp.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#if wxUSE_HELP
#ifndef WX_PRECOMP
+ #include "wx/app.h"
#endif
#include "wx/tipwin.h"
-#include "wx/app.h"
#include "wx/module.h"
#include "wx/cshelp.h"
wxContextHelp::wxContextHelp(wxWindow* win, bool beginHelp)
{
- m_inHelp = FALSE;
+ m_inHelp = false;
if (beginHelp)
BeginContextHelp(win);
if (push)
win->PushEventHandler(new wxContextHelpEvtHandler(help));
else
- win->PopEventHandler(TRUE);
+ win->PopEventHandler(true);
wxWindowList::compatibility_iterator node = win->GetChildren().GetFirst();
while (node)
if (!win)
win = wxTheApp->GetTopWindow();
if (!win)
- return FALSE;
+ return false;
wxCursor cursor(wxCURSOR_QUESTION_ARROW);
wxCursor oldCursor = win->GetCursor();
// wxSetCursor(cursor);
#endif
- m_status = FALSE;
+ m_status = false;
#ifdef __WXMOTIF__
- wxPushOrPopEventHandlers(this, win, TRUE);
+ wxPushOrPopEventHandlers(this, win, true);
#else
win->PushEventHandler(new wxContextHelpEvtHandler(this));
#endif
win->ReleaseMouse();
#ifdef __WXMOTIF__
- wxPushOrPopEventHandlers(this, win, FALSE);
+ wxPushOrPopEventHandlers(this, win, false);
#else
- win->PopEventHandler(TRUE);
+ win->PopEventHandler(true);
#endif
win->SetCursor(oldCursor);
DispatchEvent(winAtPtr, pt);
}
- return TRUE;
+ return true;
}
bool wxContextHelp::EndContextHelp()
{
- m_inHelp = FALSE;
+ m_inHelp = false;
- return TRUE;
+ return true;
}
bool wxContextHelp::EventLoop()
{
- m_inHelp = TRUE;
+ m_inHelp = true;
while ( m_inHelp )
{
}
}
- return TRUE;
+ return true;
}
bool wxContextHelpEvtHandler::ProcessEvent(wxEvent& event)
{
if (event.GetEventType() == wxEVT_LEFT_DOWN)
{
- m_contextHelp->SetStatus(TRUE);
+ m_contextHelp->SetStatus(true);
m_contextHelp->EndContextHelp();
- return TRUE;
+ return true;
}
if ((event.GetEventType() == wxEVT_CHAR) ||
(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();
- return TRUE;
+ return true;
}
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;
- bool eventProcessed = FALSE;
+ bool eventProcessed = false;
while (subjectOfHelp && !eventProcessed)
{
wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), pt) ;
- helpEvent.SetEventObject(this);
+ helpEvent.SetEventObject(subjectOfHelp);
eventProcessed = win->GetEventHandler()->ProcessEvent(helpEvent);
* to put the application into context help mode.
*/
+#ifndef __WXPM__
+
static const char * csquery_xpm[] = {
"12 11 2 1",
" c None",
" .. ",
" "};
+#endif
+
IMPLEMENT_CLASS(wxContextHelpButton, wxBitmapButton)
BEGIN_EVENT_TABLE(wxContextHelpButton, wxBitmapButton)
// wxSimpleHelpProvider
// ----------------------------------------------------------------------------
+#define WINHASH_KEY(w) wxPtrToUInt(w)
+
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() )
{
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)
{
- 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)
{
- m_hashWindows.erase((long)window);
+ m_hashWindows.erase(WINHASH_KEY(window));
}
bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
{
s_tipWindow = new wxTipWindow((wxWindow *)window, text, 100, & s_tipWindow);
- return TRUE;
+ return true;
}
+#else
+ wxUnusedVar(window);
#endif // wxUSE_TIPWINDOW
- return FALSE;
+ return false;
}
// ----------------------------------------------------------------------------
// 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.
}
- return FALSE;
+ return false;
}
// Convenience function for turning context id into wxString
// since it could pull in extra code
// wxHelpProvider::Set(new wxSimpleHelpProvider);
- return TRUE;
+ return true;
}
void wxHelpProviderModule::OnExit()