// valid values for Show/HideWithEffect()
enum wxShowEffect
{
+ wxSHOW_EFFECT_NONE,
wxSHOW_EFFECT_ROLL_TO_LEFT,
wxSHOW_EFFECT_ROLL_TO_RIGHT,
wxSHOW_EFFECT_ROLL_TO_TOP,
// ----------------------------------------------------------------------------
extern WXDLLIMPEXP_DATA_CORE(wxWindowList) wxTopLevelWindows;
-extern WXDLLIMPEXP_DATA_CORE(wxList) wxPendingDelete;
+
+// declared here for compatibility only, main declaration is in wx/app.h
+extern WXDLLIMPEXP_DATA_BASE(wxList) wxPendingDelete;
// ----------------------------------------------------------------------------
// wxWindowBase is the base class for all GUI controls/widgets, this is the public
// Create()
wxWindowBase() ;
- // pseudo ctor (can't be virtual, called from ctor)
- bool CreateBase(wxWindowBase *parent,
- wxWindowID winid,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxPanelNameStr);
-
virtual ~wxWindowBase();
// deleting the window
// acceptable size using which it will still look "nice" in
// most situations)
wxSize GetBestSize() const;
-
+
void GetBestSize(int *w, int *h) const
{
wxSize s = GetBestSize();
virtual void SetWindowStyleFlag( long style ) { m_windowStyle = style; }
virtual long GetWindowStyleFlag() const { return m_windowStyle; }
- // just some (somewhat shorter) synonims
+ // just some (somewhat shorter) synonyms
void SetWindowStyle( long style ) { SetWindowStyleFlag(style); }
long GetWindowStyle() const { return GetWindowStyleFlag(); }
wxColour GetForegroundColour() const;
// Set/get the background style.
- // Pass one of wxBG_STYLE_SYSTEM, wxBG_STYLE_COLOUR, wxBG_STYLE_CUSTOM
- virtual bool SetBackgroundStyle(wxBackgroundStyle style) { m_backgroundStyle = style; return true; }
- virtual wxBackgroundStyle GetBackgroundStyle() const { return m_backgroundStyle; }
+ virtual bool SetBackgroundStyle(wxBackgroundStyle style)
+ { m_backgroundStyle = style; return true; }
+ wxBackgroundStyle GetBackgroundStyle() const
+ { return m_backgroundStyle; }
// returns true if the control has "transparent" areas such as a
// wxStaticText and wxCheckBox and the background should be adapted
// scrollbars
// ----------
- // does the window have the scrollbar for this orientation?
- bool HasScrollbar(int orient) const
+ // can the window have the scrollbar in this orientation?
+ bool CanScroll(int orient) const
{
return (m_windowStyle &
(orient == wxHORIZONTAL ? wxHSCROLL : wxVSCROLL)) != 0;
}
+ // does the window have the scrollbar in this orientation?
+ bool HasScrollbar(int orient) const;
+
// configure the window scrollbars
virtual void SetScrollbar( int orient,
int pos,
virtual bool CanApplyThemeBorder() const { return true; }
protected:
+ // helper for the derived class Create() methods: the first overload, with
+ // validator parameter, should be used for child windows while the second
+ // one is used for top level ones
+ bool CreateBase(wxWindowBase *parent,
+ wxWindowID winid,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxPanelNameStr);
+
+ bool CreateBase(wxWindowBase *parent,
+ wxWindowID winid,
+ const wxPoint& pos,
+ const wxSize& size,
+ long style,
+ const wxString& name);
+
// event handling specific to wxWindow
virtual bool TryBefore(wxEvent& event);
virtual bool TryAfter(wxEvent& event);
// same size as it would have after a call to Fit()
virtual wxSize DoGetBestSize() const;
+ // this method can be overridden instead of DoGetBestSize() if it computes
+ // the best size of the client area of the window only, excluding borders
+ // (GetBorderSize() will be used to add them)
+ virtual wxSize DoGetBestClientSize() const { return wxDefaultSize; }
+
// this is the virtual function to be overriden in any derived class which
// wants to change how SetSize() or Move() works - it is called by all
// versions of these functions in the base class
int maxW, int maxH,
int incW, int incH );
+ // return the total size of the window borders, i.e. the sum of the widths
+ // of the left and the right border in the x component of the returned size
+ // and the sum of the heights of the top and bottom borders in the y one
+ //
+ // NB: this is new/temporary API only implemented by wxMSW and wxUniv so
+ // far and subject to change, don't use
+ virtual wxSize DoGetBorderSize() const
+ {
+ wxFAIL_MSG( "must be overridden if called" );
+
+ return wxDefaultSize;
+ }
+
// 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