// Created: 08/09/2000
// RCS-ID: $Id$
// Copyright: (c) 2000 Julian Smart, Vadim Zeitlin
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "cshelp.h"
#endif
//// Data
wxContextHelp* m_contextHelp;
+
+ DECLARE_NO_COPY_CLASS(wxContextHelpEvtHandler)
};
// ============================================================================
{
wxPoint pt;
wxWindow* winAtPtr = wxFindWindowAtPointer(pt);
- /*
+ /*
if (winAtPtr)
{
- wxString msg;
+ wxString msg;
msg.Printf("Picked %s (%d)", (const char*) winAtPtr->GetName(), winAtPtr->GetId());
cout << msg << '\n';
}
- */
+ */
if (winAtPtr)
DispatchEvent(winAtPtr, pt);
bool wxContextHelp::EventLoop()
{
m_inHelp = TRUE;
+
while ( m_inHelp )
{
if (wxTheApp->Pending())
wxTheApp->ProcessIdle();
}
}
+
return TRUE;
}
{
wxHelpEvent helpEvent(wxEVT_HELP, subjectOfHelp->GetId(), pt) ;
helpEvent.SetEventObject(this);
+
eventProcessed = win->GetEventHandler()->ProcessEvent(helpEvent);
// Go up the window hierarchy until the event is handled (or not).
* to put the application into context help mode.
*/
-#if !defined(__WXMSW__)
static const char * csquery_xpm[] = {
"12 11 2 1",
" c None",
" .. ",
" .. ",
" "};
-#endif
IMPLEMENT_CLASS(wxContextHelpButton, wxBitmapButton)
const wxPoint& pos,
const wxSize& size,
long style)
- : wxBitmapButton(parent, id, wxBITMAP(csquery),
+#if defined(__WXPM__)
+ : wxBitmapButton(parent, id, wxBitmap(wxCSQUERY_BITMAP
+ ,wxBITMAP_TYPE_RESOURCE
+ ),
pos, size, style)
+#else
+ : wxBitmapButton(parent, id, wxBitmap(csquery_xpm),
+ pos, size, style)
+#endif
{
}
wxString wxSimpleHelpProvider::GetHelp(const wxWindowBase *window)
{
- bool wasFound;
- wxString text = m_hashWindows.Get((long)window, &wasFound);
- if ( !wasFound )
- text = m_hashIds.Get(window->GetId());
+ wxLongToStringHashMap::iterator it = m_hashWindows.find((long)window);
+
+ if ( it == m_hashWindows.end() )
+ {
+ it = m_hashIds.find(window->GetId());
+ if ( it == m_hashIds.end() )
+ return wxEmptyString;
+ }
- return text;
+ return it->second;
}
void wxSimpleHelpProvider::AddHelp(wxWindowBase *window, const wxString& text)
{
- m_hashWindows.Put((long)window, text);
+ m_hashWindows.erase((long)window);
+ m_hashWindows[(long)window] = text;
}
void wxSimpleHelpProvider::AddHelp(wxWindowID id, const wxString& text)
{
- m_hashIds.Put(id, text);
+ m_hashIds.erase((long)id);
+ m_hashIds[id] = text;
}
// removes the association
void wxSimpleHelpProvider::RemoveHelp(wxWindowBase* window)
{
- m_hashWindows.Delete((long)window);
+ m_hashWindows.erase((long)window);
}
bool wxSimpleHelpProvider::ShowHelp(wxWindowBase *window)
// Convenience function for turning context id into wxString
wxString wxContextId(int id)
{
- return wxString(IntToString(id));
+ return wxString::Format(_T("%d"), id);
}
// ----------------------------------------------------------------------------