[ 1584680 ] wxComboCtrl Popup Animation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -152,7 +152,7 @@ public:
|
||||
virtual void OnButtonClick();
|
||||
|
||||
// return true if the popup is currently shown
|
||||
bool IsPopupShown() const { return m_isPopupShown; }
|
||||
bool IsPopupShown() const { return m_popupWinState == Visible; }
|
||||
|
||||
// set interface class instance derived from wxComboPopup
|
||||
// NULL popup can be used to indicate default in a derived class
|
||||
@@ -350,7 +350,7 @@ public:
|
||||
bool ShouldDrawFocus() const
|
||||
{
|
||||
const wxWindow* curFocus = FindFocus();
|
||||
return ( !m_isPopupShown &&
|
||||
return ( !IsPopupShown() &&
|
||||
(curFocus == this || (m_btn && curFocus == m_btn)) &&
|
||||
(m_windowStyle & wxCB_READONLY) );
|
||||
}
|
||||
@@ -370,6 +370,19 @@ public:
|
||||
// common code to be called on popup hide/dismiss
|
||||
void OnPopupDismiss();
|
||||
|
||||
// PopupShown states
|
||||
enum
|
||||
{
|
||||
Hidden = 0,
|
||||
//Closing = 1,
|
||||
Animating = 2,
|
||||
Visible = 3
|
||||
};
|
||||
|
||||
bool IsPopupWindowState( int state ) const { return (state == m_popupWinState) ? true : false; }
|
||||
|
||||
wxByte GetPopupWindowState() const { return m_popupWinState; }
|
||||
|
||||
protected:
|
||||
|
||||
//
|
||||
@@ -447,6 +460,23 @@ protected:
|
||||
// Dispatches size event and refreshes
|
||||
void RecalcAndRefresh();
|
||||
|
||||
// Flags for DoShowPopup and AnimateShow
|
||||
enum
|
||||
{
|
||||
ShowBelow = 0x0000, // Showing popup below the control
|
||||
ShowAbove = 0x0001, // Showing popup above the control
|
||||
CanDeferShow = 0x0002 // Can only return true from AnimateShow if this is set
|
||||
};
|
||||
|
||||
// Shows and positions the popup.
|
||||
virtual void DoShowPopup( const wxRect& rect, int flags );
|
||||
|
||||
// Implement in derived class to create a drop-down animation.
|
||||
// Return true if finished immediately. Otherwise popup is only
|
||||
// shown when the derived class call DoShowPopup.
|
||||
// Flags are same as for DoShowPopup.
|
||||
virtual bool AnimateShow( const wxRect& rect, int flags );
|
||||
|
||||
#if wxUSE_TOOLTIPS
|
||||
virtual void DoSetToolTip( wxToolTip *tip );
|
||||
#endif
|
||||
@@ -540,7 +570,7 @@ protected:
|
||||
bool m_blankButtonBg;
|
||||
|
||||
// is the popup window currenty shown?
|
||||
bool m_isPopupShown;
|
||||
wxByte m_popupWinState;
|
||||
|
||||
private:
|
||||
void Init();
|
||||
|
Reference in New Issue
Block a user