| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        cshelp.h
 
- // Purpose:     interface of wxHelpProvider
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     @class wxHelpProvider
 
-     wxHelpProvider is an abstract class used by a program implementing
 
-     context-sensitive help to show the help text for the given window.
 
-     The current help provider must be explicitly set by the application using
 
-     Set().
 
-     @library{wxcore}
 
-     @category{help}
 
-     @see wxContextHelp, wxContextHelpButton, wxSimpleHelpProvider,
 
-          wxHelpControllerHelpProvider, wxWindow::SetHelpText(),
 
-          wxWindow::GetHelpTextAtPoint()
 
- */
 
- class wxHelpProvider
 
- {
 
- public:
 
-     /**
 
-         Virtual destructor for any base class.
 
-     */
 
-     virtual ~wxHelpProvider();
 
-     /**
 
-         Associates the text with the given window.
 
-         @remarks
 
-         Although all help providers have these functions to allow making
 
-         wxWindow::SetHelpText() work, not all of them implement the functions.
 
-     */
 
-     virtual void AddHelp(wxWindowBase* window, const wxString& text);
 
-     /**
 
-         Associates the text with the given ID.
 
-         This help text will be shown for all windows with ID @a id, unless they
 
-         have more specific help text associated using the other AddHelp()
 
-         prototype.  May be used to set the same help string for all Cancel
 
-         buttons in the application, for example.
 
-         @remarks
 
-         Although all help providers have these functions to allow making
 
-         wxWindow::SetHelpText() work, not all of them implement the functions.
 
-     */
 
-     virtual void AddHelp(wxWindowID id, const wxString& text);
 
-     /**
 
-         Returns pointer to help provider instance.
 
-         Unlike some other classes, the help provider is not created on demand.
 
-         This must be explicitly done by the application using Set().
 
-     */
 
-     static wxHelpProvider* Get();
 
-     /**
 
-         This version associates the given text with all windows with this id.
 
-         May be used to set the same help string for all Cancel buttons in
 
-         the application, for example.
 
-     */
 
-     virtual wxString GetHelp(const wxWindowBase* window) = 0;
 
-     /**
 
-         Removes the association between the window pointer and the help text.
 
-         This is called by the wxWindow destructor. Without this, the table of
 
-         help strings will fill up and when window pointers are reused, the
 
-         wrong help string will be found.
 
-     */
 
-     virtual void RemoveHelp(wxWindowBase* window);
 
-     /**
 
-         Set the current, application-wide help provider.
 
-         @return Pointer to previous help provider or @NULL if there wasn't any.
 
-     */
 
-     static wxHelpProvider* Set(wxHelpProvider* helpProvider);
 
-     /**
 
-         Shows help for the given window.
 
-         Override this function if the help doesn't depend on the exact position
 
-         inside the window, otherwise you need to override ShowHelpAtPoint().
 
-         Returns @true if help was shown, or @false if no help was available for
 
-         this window.
 
-     */
 
-     virtual bool ShowHelp(wxWindowBase* window);
 
-     /**
 
-         This function may be overridden to show help for the window when it
 
-         should depend on the position inside the window, By default this method
 
-         forwards to ShowHelp(), so it is enough to only implement the latter if
 
-         the help doesn't depend on the position.
 
-         @param window
 
-             Window to show help text for.
 
-         @param point
 
-             Coordinates of the mouse at the moment of help event emission.
 
-         @param origin
 
-             Help event origin, see wxHelpEvent::GetOrigin.
 
-         @return @true if help was shown, or @false if no help was available
 
-                 for this window.
 
-         @since 2.7.0
 
-     */
 
-     virtual bool ShowHelpAtPoint(wxWindowBase* window, const wxPoint& point,
 
-                                  wxHelpEvent::Origin origin);
 
- };
 
- /**
 
-     @class wxHelpControllerHelpProvider
 
-     wxHelpControllerHelpProvider is an implementation of wxHelpProvider which
 
-     supports both context identifiers and plain text help strings. If the help
 
-     text is an integer, it is passed to wxHelpController::DisplayContextPopup().
 
-     Otherwise, it shows the string in a tooltip as per wxSimpleHelpProvider. If
 
-     you use this with a wxCHMHelpController instance on windows, it will use
 
-     the native style of tip window instead of wxTipWindow.
 
-     You can use the convenience function wxContextId() to convert an integer
 
-     context id to a string for passing to wxWindow::SetHelpText().
 
-     @library{wxcore}
 
-     @category{help}
 
-     @see wxHelpProvider, wxSimpleHelpProvider, wxContextHelp,
 
-          wxWindow::SetHelpText(), wxWindow::GetHelpTextAtPoint()
 
- */
 
- class wxHelpControllerHelpProvider : public wxSimpleHelpProvider
 
- {
 
- public:
 
-     /**
 
-         Note that the instance doesn't own the help controller. The help
 
-         controller should be deleted separately.
 
-     */
 
-     wxHelpControllerHelpProvider(wxHelpControllerBase* hc = NULL);
 
-     /**
 
-         Returns the help controller associated with this help provider.
 
-     */
 
-     wxHelpControllerBase* GetHelpController() const;
 
-     /**
 
-         Sets the help controller associated with this help provider.
 
-     */
 
-     void SetHelpController(wxHelpControllerBase* hc);
 
- };
 
- /**
 
-     @class wxContextHelp
 
-     This class changes the cursor to a query and puts the application into a
 
-     'context-sensitive help mode'.  When the user left-clicks on a window
 
-     within the specified window, a @c wxEVT_HELP event is sent to that control,
 
-     and the application may respond to it by popping up some help.
 
-     For example:
 
-     @code
 
-     wxContextHelp contextHelp(myWindow);
 
-     @endcode
 
-     There are a couple of ways to invoke this behaviour implicitly:
 
-     - Use the wxDIALOG_EX_CONTEXTHELP style for a dialog (Windows only). This
 
-       will put a question mark in the titlebar, and Windows will put the
 
-       application into context-sensitive help mode automatically, with further
 
-       programming.
 
-     - Create a wxContextHelpButton, whose predefined behaviour is
 
-       to create a context help object.  Normally you will write your application
 
-       so that this button is only added to a dialog for non-Windows platforms
 
-       (use wxDIALOG_EX_CONTEXTHELP on Windows).
 
-     Note that on Mac OS X, the cursor does not change when in context-sensitive
 
-     help mode.
 
-     @library{wxcore}
 
-     @category{help}
 
-     @see wxHelpEvent, wxHelpController, wxContextHelpButton
 
- */
 
- class wxContextHelp : public wxObject
 
- {
 
- public:
 
-     /**
 
-         Constructs a context help object, calling BeginContextHelp() if
 
-         @a doNow is @true (the default).
 
-         If @a window is @NULL, the top window is used.
 
-     */
 
-     wxContextHelp(wxWindow* window = NULL, bool doNow = true);
 
-     /**
 
-         Destroys the context help object.
 
-     */
 
-     virtual ~wxContextHelp();
 
-     /**
 
-         Puts the application into context-sensitive help mode. @a window is the
 
-         window which will be used to catch events; if @NULL, the top window
 
-         will be used.
 
-         Returns @true if the application was successfully put into
 
-         context-sensitive help mode.
 
-         This function only returns when the event loop has finished.
 
-     */
 
-     bool BeginContextHelp(wxWindow* window);
 
-     /**
 
-         Ends context-sensitive help mode. Not normally called by the
 
-         application.
 
-     */
 
-     bool EndContextHelp();
 
- };
 
- /**
 
-     @class wxContextHelpButton
 
-     Instances of this class may be used to add a question mark button that when
 
-     pressed, puts the application into context-help mode. It does this by
 
-     creating a wxContextHelp object which itself generates a @c wxEVT_HELP event
 
-     when the user clicks on a window.
 
-     On Windows, you may add a question-mark icon to a dialog by use of the
 
-     wxDIALOG_EX_CONTEXTHELP extra style, but on other platforms you will have
 
-     to add a button explicitly, usually next to OK, Cancel or similar buttons.
 
-     @library{wxcore}
 
-     @category{help}
 
-     @see wxBitmapButton, wxContextHelp
 
- */
 
- class wxContextHelpButton : public wxBitmapButton
 
- {
 
- public:
 
-     /**
 
-         Constructor, creating and showing a context help button.
 
-         @param parent
 
-             Parent window. Must not be @NULL.
 
-         @param id
 
-             Button identifier. Defaults to wxID_CONTEXT_HELP.
 
-         @param pos
 
-             Button position.
 
-             If ::wxDefaultPosition is specified then a default position is chosen.
 
-         @param size
 
-             Button size. 
 
-             If ::wxDefaultSize is specified then the button is sized appropriately 
 
-             for the question mark bitmap.
 
-         @param style
 
-             Window style.
 
-         @remarks
 
-         Normally you only need pass the parent window to the constructor, and
 
-         use the defaults for the remaining parameters.
 
-     */
 
-     wxContextHelpButton(wxWindow* parent,
 
-                         wxWindowID id = wxID_CONTEXT_HELP,
 
-                         const wxPoint& pos = wxDefaultPosition,
 
-                         const wxSize& size = wxDefaultSize,
 
-                         long style = wxBU_AUTODRAW);
 
- };
 
- /**
 
-     @class wxSimpleHelpProvider
 
-     wxSimpleHelpProvider is an implementation of wxHelpProvider which supports
 
-     only plain text help strings, and shows the string associated with the
 
-     control (if any) in a tooltip.
 
-     @library{wxcore}
 
-     @category{help}
 
-     @see wxHelpProvider, wxHelpControllerHelpProvider, wxContextHelp,
 
-          wxWindow::SetHelpText()(, wxWindow::GetHelpTextAtPoint()
 
- */
 
- class wxSimpleHelpProvider : public wxHelpProvider
 
- {
 
- public:
 
- };
 
 
  |