#include "wx/region.h"
#include "wx/utils.h"
-#if wxUSE_VALIDATORS
- #include "wx/validate.h" // defines wxDefaultValidator
-#endif // wxUSE_VALIDATORS
+#include "wx/validate.h" // for wxDefaultValidator (always include it)
#if wxUSE_ACCEL
#include "wx/accel.h"
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
-#if wxUSE_VALIDATORS
-# if defined(__VISAGECPP__)
- const wxValidator* validator = wxDefaultValidator,
-# else
const wxValidator& validator = wxDefaultValidator,
-# endif
-#endif // wxUSE_VALIDATORS
const wxString& name = wxPanelNameStr);
virtual ~wxWindowBase();
*h = s.y;
}
- // centre with respect to the the parent window
+ // the generic centre function - centers the window on parent by
+ // default or on screen if it doesn't have parent or
+ // wxCENTER_ON_SCREEN flag is given
void Centre( int direction = wxBOTH );
void Center( int direction = wxBOTH ) { Centre(direction); }
- void CentreOnParent( int dir = wxBOTH ) { Centre(dir | wxCENTER_FRAME); }
- void CenterOnParent( int dir = wxBOTH ) { Centre(dir | wxCENTER_FRAME); }
+
+ // centre on screen (only works for top level windows)
+ void CentreOnScreen(int dir = wxBOTH) { Centre(dir | wxCENTER_ON_SCREEN); }
+ void CenterOnScreen(int dir = wxBOTH) { CentreOnScreen(dir); }
+
+ // centre with respect to the the parent window
+ void CentreOnParent(int dir = wxBOTH) { Centre(dir | wxCENTER_FRAME); }
+ void CenterOnParent(int dir = wxBOTH) { CentreOnParent(dir); }
// set window size to wrap around its children
virtual void Fit();
long GetWindowStyle() const { return GetWindowStyleFlag(); }
bool HasFlag(int flag) const { return (m_windowStyle & flag) != 0; }
+ virtual bool IsRetained() const { return HasFlag(wxRETAINED); }
- virtual bool IsRetained() const
- { return (m_windowStyle & wxRETAINED) != 0; }
+ // extra style: the less often used style bits which can't be set with
+ // SetWindowStyleFlag()
+ void SetExtraStyle(long exStyle) { m_exStyle = exStyle; }
+ long GetExtraStyle() const { return m_exStyle; }
// make the window modal (all other windows unresponsive)
virtual void MakeModal(bool modal = TRUE);
#if wxUSE_VALIDATORS
// a window may have an associated validator which is used to control
// user input
-# if defined(__VISAGECPP__)
- virtual void SetValidator( const wxValidator *validator );
-# else
virtual void SetValidator( const wxValidator &validator );
-# endif
virtual wxValidator *GetValidator() { return m_windowValidator; }
#endif // wxUSE_VALIDATORS
virtual void SetConstraintSizes(bool recurse = TRUE);
virtual bool LayoutPhase1(int *noChanges);
virtual bool LayoutPhase2(int *noChanges);
- virtual bool DoPhase(int);
+ virtual bool DoPhase(int phase);
// these methods are virtual but normally won't be overridden
virtual void SetSizeConstraint(int x, int y, int w, int h);
// event handlers
void OnSysColourChanged( wxSysColourChangedEvent& event );
void OnInitDialog( wxInitDialogEvent &event );
+ void OnMiddleClick( wxMouseEvent& event );
// get the haqndle of the window for the underlying window system: this
// is only used for wxWin itself or for user code which wants to call
bool m_isBeingDeleted:1;
// window attributes
- long m_windowStyle;
+ long m_windowStyle,
+ m_exStyle;
wxString m_windowName;
protected:
// same as DoSetSize() for the client size
virtual void DoSetClientSize(int width, int height) = 0;
+ // 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
+ // arrange themselves inside the given rectangle
+ virtual void DoMoveWindow(int x, int y, int width, int height) = 0;
+
#if wxUSE_TOOLTIPS
virtual void DoSetToolTip( wxToolTip *tip );
#endif // wxUSE_TOOLTIPS