class WXDLLIMPEXP_FWD_CORE wxCursor;
class WXDLLIMPEXP_FWD_CORE wxDC;
class WXDLLIMPEXP_FWD_CORE wxDropTarget;
-class WXDLLIMPEXP_FWD_CORE wxItemResource;
class WXDLLIMPEXP_FWD_CORE wxLayoutConstraints;
-class WXDLLIMPEXP_FWD_CORE wxResourceTable;
class WXDLLIMPEXP_FWD_CORE wxSizer;
class WXDLLIMPEXP_FWD_CORE wxToolTip;
class WXDLLIMPEXP_FWD_CORE wxWindowBase;
#define wxWINDOW_DEFAULT_VARIANT wxT("window-default-variant")
#endif
+// valid values for Show/HideWithEffect()
+enum wxShowEffect
+{
+ wxSHOW_EFFECT_ROLL,
+ wxSHOW_EFFECT_SLIDE,
+ wxSHOW_EFFECT_BLEND,
+ wxSHOW_EFFECT_EXPAND,
+ wxSHOW_EFFECT_MAX
+};
+
// ----------------------------------------------------------------------------
// (pseudo)template list classes
// ----------------------------------------------------------------------------
const wxSize& incSize=wxDefaultSize)
{ DoSetSizeHints(minSize.x, minSize.y, maxSize.x, maxSize.y, incSize.x, incSize.y); }
- virtual void DoSetSizeHints( int minW, int minH,
- int maxW, int maxH,
- int incW, int incH );
-
// Methods for setting virtual size hints
// FIXME: What are virtual size hints?
// components of the result respectively
virtual wxSize GetWindowBorderSize() const;
+ // wxSizer and friends use this to give a chance to a component to recalc
+ // its min size once one of the final size components is known. Override
+ // this function when that is useful (such as for wxStaticText which can
+ // 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; }
// window state
// ------------
virtual bool Show( bool show = true );
bool Hide() { return Show(false); }
+ // show or hide the window with a special effect, not implemented on
+ // most platforms (where it is the same as Show()/Hide() respectively)
+ //
+ // 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)
+ {
+ wxUnusedVar(effect);
+ wxUnusedVar(timeout);
+ wxUnusedVar(dir);
+
+ return Show();
+ }
+
+ virtual bool HideWithEffect(wxShowEffect effect,
+ unsigned timeout = 0,
+ wxDirection dir = wxBOTTOM)
+ {
+ wxUnusedVar(effect);
+ wxUnusedVar(timeout);
+ wxUnusedVar(dir);
+
+ return Hide();
+ }
+
// returns true if window was enabled/disabled, false if nothing done
virtual bool Enable( bool enable = true );
bool Disable() { return Enable(false); }
// be there)
bool RemoveEventHandler(wxEvtHandler *handler);
+ // Process an event by calling GetEventHandler()->ProcessEvent() and
+ // handling any exceptions thrown by event handlers. It's mostly useful
+ // when processing wx events when called from C code (e.g. in GTK+
+ // callback) when the exception wouldn't correctly propagate to
+ // wxEventLoop.
+ bool HandleWindowEvent(wxEvent& event) const;
+
// validators
// ----------
// same as DoSetSize() for the client size
virtual void DoSetClientSize(int width, int height) = 0;
+ virtual void DoSetSizeHints( int minW, int minH,
+ int maxW, int maxH,
+ int incW, int incH );
+
// move the window to the specified location and resize it: this is called
// from both DoSetSize() and DoSetClientSize() and would usually just
// reposition this window except for composite controls which will want to