| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: popupwin.h
- // Purpose: interface of wxPopupWindow
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /**
- @class wxPopupWindow
- A special kind of top level window used for popup menus,
- combobox popups and such.
- @library{wxcore}
- @category{managedwnd}
- @see wxDialog, wxFrame
- */
- class wxPopupWindow: public wxNonOwnedWindow
- {
- public:
- /**
- Default constructor
- */
- wxPopupWindow();
-
- /**
- Constructor
- */
- wxPopupWindow(wxWindow *parent, int flags = wxBORDER_NONE);
- /**
- Create method for two-step creation
- */
- bool Create(wxWindow *parent, int flags = wxBORDER_NONE);
- /**
- Move the popup window to the right position, i.e.\ such that it is
- entirely visible.
- The popup is positioned at ptOrigin + size if it opens below and to the
- right (default), at ptOrigin - sizePopup if it opens above and to the
- left etc.
- @param ptOrigin
- Must be given in screen coordinates!
- @param sizePopup
- The size of the popup window
- */
- virtual void Position(const wxPoint& ptOrigin,
- const wxSize& sizePopup);
- };
- /**
- @class wxPopupTransientWindow
- A wxPopupWindow which disappears automatically when the user clicks mouse
- outside it or if it loses focus in any other way.
- This window can be useful for implementing custom combobox-like controls
- for example.
- @library{wxcore}
- @category{managedwnd}
- @see wxPopupWindow
- */
- class wxPopupTransientWindow : public wxPopupWindow
- {
- public:
- /**
- Default constructor.
- */
- wxPopupTransientWindow();
- /**
- Constructor.
- */
- wxPopupTransientWindow(wxWindow *parent, int flags = wxBORDER_NONE);
- /**
- Popup the window (this will show it too).
- If @a winFocus is non-@NULL, it will be kept focused while this window
- is shown, otherwise this window itself will receive focus. In any case,
- the popup will disappear automatically if it loses focus because of a
- user action.
- @see Dismiss()
- */
- virtual void Popup(wxWindow *focus = NULL);
- /**
- Hide the window.
- */
- virtual void Dismiss();
- /**
- Called when a mouse is pressed while the popup is shown.
- Return @true from here to prevent its normal processing by the popup
- (which consists in dismissing it if the mouse is clicked outside it).
- */
- virtual bool ProcessLeftDown(wxMouseEvent& event);
- protected:
- /**
- This is called when the popup is disappeared because of anything
- else but direct call to Dismiss().
- */
- virtual void OnDismiss();
-
- };
|