// valid values for Show/HideWithEffect()
enum wxShowEffect
{
- wxSHOW_EFFECT_ROLL,
- wxSHOW_EFFECT_SLIDE,
+ wxSHOW_EFFECT_ROLL_TO_LEFT,
+ wxSHOW_EFFECT_ROLL_TO_RIGHT,
+ wxSHOW_EFFECT_ROLL_TO_TOP,
+ wxSHOW_EFFECT_ROLL_TO_BOTTOM,
+ wxSHOW_EFFECT_SLIDE_TO_LEFT,
+ wxSHOW_EFFECT_SLIDE_TO_RIGHT,
+ wxSHOW_EFFECT_SLIDE_TO_TOP,
+ wxSHOW_EFFECT_SLIDE_TO_BOTTOM,
wxSHOW_EFFECT_BLEND,
wxSHOW_EFFECT_EXPAND,
wxSHOW_EFFECT_MAX
};
+// flags for SendSizeEvent()
+enum
+{
+ wxSEND_EVENT_POST = 1
+};
+
// ----------------------------------------------------------------------------
// (pseudo)template list classes
// ----------------------------------------------------------------------------
bool DestroyChildren();
// is the window being deleted?
- bool IsBeingDeleted() const { return m_isBeingDeleted; }
+ bool IsBeingDeleted() const;
// window attributes
// -----------------
// stretch over several lines). Parameter availableOtherDir
// tells the item how much more space there is available in the opposite
// direction (-1 if unknown).
- virtual bool InformFirstDirection( int WXUNUSED(direction), int WXUNUSED(size), int WXUNUSED(availableOtherDir) )
- { return false; }
+ virtual bool
+ InformFirstDirection(int WXUNUSED(direction),
+ int WXUNUSED(size),
+ int WXUNUSED(availableOtherDir))
+ {
+ return false;
+ }
+
+ // sends a size event to the window using its current size -- this has an
+ // effect of refreshing the window layout
+ //
+ // by default the event is sent, i.e. processed immediately, but if flags
+ // value includes wxSEND_EVENT_POST then it's posted, i.e. only schedule
+ // for later processing
+ virtual void SendSizeEvent(int flags = 0);
+
+ // this is a safe wrapper for GetParent()->SendSizeEvent(): it checks that
+ // we have a parent window and it's not in process of being deleted
+ //
+ // this is used by controls such as tool/status bars changes to which must
+ // also result in parent re-layout
+ void SendSizeEventToParent(int flags = 0);
+
+ // this is a more readable synonym for SendSizeEvent(wxSEND_EVENT_POST)
+ void PostSizeEvent() { SendSizeEvent(wxSEND_EVENT_POST); }
+
+ // this is the same as SendSizeEventToParent() but using PostSizeEvent()
+ void PostSizeEventToParent() { SendSizeEventToParent(wxSEND_EVENT_POST); }
+
// window state
// ------------
//
// timeout specifies how long the animation should take, in ms, the
// default value of 0 means to use the default (system-dependent) value
- //
- // direction is only used with wxSHOW_EFFECT_ROLL and SLIDE values
- virtual bool ShowWithEffect(wxShowEffect effect,
- unsigned timeout = 0,
- wxDirection dir = wxBOTTOM)
+ virtual bool ShowWithEffect(wxShowEffect WXUNUSED(effect),
+ unsigned WXUNUSED(timeout) = 0)
{
- wxUnusedVar(effect);
- wxUnusedVar(timeout);
- wxUnusedVar(dir);
-
return Show();
}
- virtual bool HideWithEffect(wxShowEffect effect,
- unsigned timeout = 0,
- wxDirection dir = wxBOTTOM)
+ virtual bool HideWithEffect(wxShowEffect WXUNUSED(effect),
+ unsigned WXUNUSED(timeout) = 0)
{
- wxUnusedVar(effect);
- wxUnusedVar(timeout);
- wxUnusedVar(dir);
-
return Hide();
}
#if wxUSE_TOOLTIPS
// the easiest way to set a tooltip for a window is to use this method
void SetToolTip( const wxString &tip );
- // attach a tooltip to the window
+ // attach a tooltip to the window, pointer can be NULL to remove
+ // existing tooltip
void SetToolTip( wxToolTip *tip ) { DoSetToolTip(tip); }
+ // more readable synonym for SetToolTip(NULL)
+ void UnsetToolTip() { SetToolTip(NULL); }
// get the associated tooltip or NULL if none
wxToolTip* GetToolTip() const { return m_tooltip; }
- wxString GetToolTipText() const ;
-#else
+ wxString GetToolTipText() const;
+#else // !wxUSE_TOOLTIPS
// make it much easier to compile apps in an environment
// that doesn't support tooltips, such as PocketPC
- inline void SetToolTip( const wxString & WXUNUSED(tip) ) {}
-#endif // wxUSE_TOOLTIPS
+ void SetToolTip(const wxString & WXUNUSED(tip)) { }
+ void UnsetToolTip() { }
+#endif // wxUSE_TOOLTIPS/!wxUSE_TOOLTIPS
// drag and drop
// -------------
#else // !wxUniv
#define wxWindowMac wxWindow
#endif // wxUniv
- #include "wx/mac/window.h"
+ #include "wx/osx/window.h"
#elif defined(__WXCOCOA__)
#ifdef __WXUNIVERSAL__
#define wxWindowNative wxWindowCocoa