Fix various missing or broken stuff needed for Project Phoenix

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2010-12-27 20:47:12 +00:00
parent e0db57da4c
commit 05b0355af8
7 changed files with 161 additions and 31 deletions

View File

@@ -3,7 +3,7 @@
// Purpose: declaration of wxVersionInfo class // Purpose: declaration of wxVersionInfo class
// Author: Troels K // Author: Troels K
// Created: 2010-11-22 // Created: 2010-11-22
// RCS-ID: $Id:$ // RCS-ID: $Id$
// Copyright: (c) 2010 wxWidgets team // Copyright: (c) 2010 wxWidgets team
// Licence: wxWindows licence // Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@@ -20,9 +20,9 @@
class wxVersionInfo class wxVersionInfo
{ {
public: public:
wxVersionInfo(const wxString& name, wxVersionInfo(const wxString& name = wxString(),
int major, int major = 0,
int minor, int minor = 0,
int micro = 0, int micro = 0,
const wxString& description = wxString(), const wxString& description = wxString(),
const wxString& copyright = wxString()) const wxString& copyright = wxString())

View File

@@ -436,5 +436,10 @@ public:
Associates a toolbar with the frame. Associates a toolbar with the frame.
*/ */
virtual void SetToolBar(wxToolBar* toolBar); virtual void SetToolBar(wxToolBar* toolBar);
void PushStatusText(const wxString &text, int number = 0);
void PopStatusText(int number = 0);
}; };

View File

@@ -6,6 +6,23 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
enum wxPowerType
{
wxPOWER_SOCKET,
wxPOWER_BATTERY,
wxPOWER_UNKNOWN
};
enum wxBatteryState
{
wxBATTERY_NORMAL_STATE, // system is fully usable
wxBATTERY_LOW_STATE, // start to worry
wxBATTERY_CRITICAL_STATE, // save quickly
wxBATTERY_SHUTDOWN_STATE, // too late
wxBATTERY_UNKNOWN_STATE
};
/** /**
@class wxPowerEvent @class wxPowerEvent

View File

@@ -80,7 +80,7 @@ public:
Constructor creating the top level window. Constructor creating the top level window.
*/ */
wxTopLevelWindow(wxWindow *parent, wxTopLevelWindow(wxWindow *parent,
wxWindowID winid, wxWindowID id,
const wxString& title, const wxString& title,
const wxPoint& pos = wxDefaultPosition, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, const wxSize& size = wxDefaultSize,
@@ -288,6 +288,11 @@ public:
*/ */
wxWindow* SetDefaultItem(wxWindow* win); wxWindow* SetDefaultItem(wxWindow* win);
wxWindow* SetTmpDefaultItem(wxWindow * win);
wxWindow* GetTmpDefaultItem() const;
/** /**
Sets the icon for this window. Sets the icon for this window.

View File

@@ -106,7 +106,7 @@ public:
@header{wx/utils.h} @header{wx/utils.h}
*/ */
void wxBeginBusyCursor(wxCursor* cursor = wxHOURGLASS_CURSOR); void wxBeginBusyCursor(const wxCursor* cursor = wxHOURGLASS_CURSOR);
/** /**
Changes the cursor back to the original cursor, for all windows in the Changes the cursor back to the original cursor, for all windows in the
@@ -1070,8 +1070,8 @@ unsigned long wxGetProcessId();
@header{wx/utils.h} @header{wx/utils.h}
*/ */
int wxKill(long pid, int sig = wxSIGTERM, int wxKill(long pid, wxSignal sig = wxSIGTERM,
wxKillError rc = NULL, int flags = 0); wxKillError* rc = NULL, int flags = wxKILL_NOCHILDREN);
/** /**
Executes a command in an interactive shell window. If no command is Executes a command in an interactive shell window. If no command is
@@ -1081,7 +1081,7 @@ int wxKill(long pid, int sig = wxSIGTERM,
@header{wx/utils.h} @header{wx/utils.h}
*/ */
bool wxShell(const wxString& command = NULL); bool wxShell(const wxString& command = wxEmptyString);
/** /**
This function shuts down or reboots the computer depending on the value of This function shuts down or reboots the computer depending on the value of

View File

@@ -131,5 +131,5 @@ public:
/** /**
An empty, "null" wxValidator instance. An empty, "null" wxValidator instance.
*/ */
wxValidator wxDefaultValidator; const wxValidator wxDefaultValidator;

View File

@@ -50,6 +50,25 @@ enum wxShowEffect
wxSHOW_EFFECT_EXPAND wxSHOW_EFFECT_EXPAND
}; };
/**
struct containing all the visual attributes of a control
*/
struct wxVisualAttributes
{
// the font used for control label/text inside it
wxFont font;
// the foreground colour
wxColour colFg;
// the background colour, may be wxNullColour if the controls background
// colour is not solid
wxColour colBg;
};
/** /**
Different window variants, on platforms like eg mac uses different Different window variants, on platforms like eg mac uses different
rendering sizes. rendering sizes.
@@ -295,6 +314,13 @@ public:
virtual ~wxWindow(); virtual ~wxWindow();
bool Create(wxWindow *parent,
wxWindowID id,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxString& name = wxPanelNameStr);
/** /**
@name Focus functions @name Focus functions
@@ -849,6 +875,11 @@ public:
*/ */
virtual wxSize GetMinSize() const; virtual wxSize GetMinSize() const;
int GetMinWidth() const;
int GetMinHeight() const;
int GetMaxWidth() const;
int GetMaxHeight() const;
/** /**
Returns the size of the entire window in pixels, including title bar, border, Returns the size of the entire window in pixels, including title bar, border,
scrollbars, etc. scrollbars, etc.
@@ -894,12 +925,31 @@ public:
*/ */
void GetVirtualSize(int* width, int* height) const; void GetVirtualSize(int* width, int* height) const;
/**
Return the largest of ClientSize and BestSize (as determined
by a sizer, interior children, or other means)
*/
virtual wxSize GetBestVirtualSize() const;
/** /**
Returns the size of the left/right and top/bottom borders of this window in x Returns the size of the left/right and top/bottom borders of this window in x
and y components of the result respectively. and y components of the result respectively.
*/ */
virtual wxSize GetWindowBorderSize() const; 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 direction,
int size,
int availableOtherDir);
/** /**
Resets the cached best size value so it will be recalculated the next time it Resets the cached best size value so it will be recalculated the next time it
is needed. is needed.
@@ -976,6 +1026,11 @@ public:
*/ */
void SetClientSize(const wxSize& size); void SetClientSize(const wxSize& size);
/**
@overload
*/
void SetClientSize(const wxRect& rect);
/** /**
This normally does not need to be called by user code. This normally does not need to be called by user code.
It is called when a window is added to a sizer, and is used so the window It is called when a window is added to a sizer, and is used so the window
@@ -1131,9 +1186,12 @@ public:
@see wxTopLevelWindow::SetSizeHints, @ref overview_windowsizing @see wxTopLevelWindow::SetSizeHints, @ref overview_windowsizing
*/ */
void SetSizeHints( const wxSize& minSize, virtual void SetSizeHints( const wxSize& minSize,
const wxSize& maxSize=wxDefaultSize, const wxSize& maxSize=wxDefaultSize,
const wxSize& incSize=wxDefaultSize); const wxSize& incSize=wxDefaultSize);
virtual void SetSizeHints( int minW, int minH,
int maxW = -1, int maxH = -1,
int incW = -1, int incH = -1 );
/** /**
Sets the virtual size of the window in pixels. Sets the virtual size of the window in pixels.
@@ -1197,20 +1255,6 @@ public:
*/ */
void CentreOnParent(int direction = wxBOTH); void CentreOnParent(int direction = wxBOTH);
/**
Centres the window.
@param direction
Specifies the direction for the centring. May be wxHORIZONTAL,
wxVERTICAL or wxBOTH. It may also include the wxCENTRE_ON_SCREEN
flag.
@remarks This function is not meant to be called directly by user code,
but via Centre, Center, CentreOnParent, or CenterOnParent.
This function can be overriden to fine-tune centring behaviour.
*/
virtual void DoCentre(int direction);
/** /**
This gets the position of the window in pixels, relative to the parent window This gets the position of the window in pixels, relative to the parent window
for the child windows or relative to the display origin for the top level windows. for the child windows or relative to the display origin for the top level windows.
@@ -1272,6 +1316,20 @@ public:
*/ */
wxRect GetScreenRect() const; wxRect GetScreenRect() const;
/**
Get the origin of the client area of the window relative to the
window top left corner (the client area may be shifted because of
the borders, scrollbars, other decorations...)
*/
virtual wxPoint GetClientAreaOrigin() const;
/**
Get the client rectangle in window (i.e. client) coordinates
*/
wxRect GetClientRect() const;
/** /**
Moves the window to the given position. Moves the window to the given position.
@@ -1310,6 +1368,8 @@ public:
*/ */
void Move(const wxPoint& pt, int flags = wxSIZE_USE_EXISTING); void Move(const wxPoint& pt, int flags = wxSIZE_USE_EXISTING);
void SetPosition(const wxPoint& pt);
//@} //@}
@@ -1557,7 +1617,7 @@ public:
@endWxPerlOnly @endWxPerlOnly
*/ */
void GetTextExtent(const wxString& string, void GetTextExtent(const wxString& string,
int* w, int* h, int* w, int* h,
int* descent = NULL, int* descent = NULL,
int* externalLeading = NULL, int* externalLeading = NULL,
const wxFont* font = NULL) const; const wxFont* font = NULL) const;
@@ -1576,6 +1636,11 @@ public:
*/ */
const wxRegion& GetUpdateRegion() const; const wxRegion& GetUpdateRegion() const;
/**
Get the update rectangle bounding box in client coords
*/
wxRect GetUpdateClientRect() const;
/** /**
Returns @true if this window background is transparent (as, for example, Returns @true if this window background is transparent (as, for example,
for wxStaticText) and should show the parent window background. for wxStaticText) and should show the parent window background.
@@ -1777,6 +1842,10 @@ public:
*/ */
virtual void SetThemeEnabled(bool enable); virtual void SetThemeEnabled(bool enable);
/**
*/
virtual bool GetThemeEnabled() const;
/** /**
Returns @true if the system supports transparent windows and calling Returns @true if the system supports transparent windows and calling
SetTransparent() may succeed. If this function returns @false, transparent SetTransparent() may succeed. If this function returns @false, transparent
@@ -2088,13 +2157,13 @@ public:
control. See also wxNavigationKeyEvent and control. See also wxNavigationKeyEvent and
HandleAsNavigationKey. HandleAsNavigationKey.
*/ */
bool Navigate(int flags = IsForward); bool Navigate(int flags = wxNavigationKeyEvent::IsForward);
/** /**
Performs a keyboard navigation action inside this window. Performs a keyboard navigation action inside this window.
See Navigate() for more information. See Navigate() for more information.
*/ */
bool NavigateIn(int flags = IsForward); bool NavigateIn(int flags = wxNavigationKeyEvent::IsForward);
//@} //@}
@@ -2784,7 +2853,6 @@ public:
*/ */
void SetConstraints(wxLayoutConstraints* constraints); void SetConstraints(wxLayoutConstraints* constraints);
/** /**
Invokes the constraint-based layout algorithm or the sizer-based algorithm Invokes the constraint-based layout algorithm or the sizer-based algorithm
for this window. for this window.
@@ -2814,6 +2882,8 @@ public:
*/ */
void SetAutoLayout(bool autoLayout); void SetAutoLayout(bool autoLayout);
bool GetAutoLayout() const;
//@} //@}
@@ -2913,6 +2983,22 @@ public:
*/ */
//@{ //@{
wxHitTest HitTest(wxCoord x, wxCoord y) const;
wxHitTest HitTest(const wxPoint& pt) const;
/**
Get the window border style from the given flags: this is different from
simply doing flags & wxBORDER_MASK because it uses GetDefaultBorder() to
translate wxBORDER_DEFAULT to something reasonable
*/
wxBorder GetBorder(long flags) const;
/**
Get border for the flags of this window
*/
wxBorder GetBorder() const;
/** /**
Does the window-specific updating after processing the update event. Does the window-specific updating after processing the update event.
This function is called by UpdateWindowUI() in order to check return This function is called by UpdateWindowUI() in order to check return
@@ -2997,6 +3083,8 @@ public:
*/ */
virtual bool IsDoubleBuffered() const; virtual bool IsDoubleBuffered() const;
void SetDoubleBuffered(bool on);
/** /**
Returns @true if the window is retained, @false otherwise. Returns @true if the window is retained, @false otherwise.
@@ -3030,6 +3118,7 @@ public:
*/ */
virtual void MakeModal(bool modal = true); virtual void MakeModal(bool modal = true);
/** /**
This virtual function is normally only used internally, but This virtual function is normally only used internally, but
sometimes an application may need it to implement functionality sometimes an application may need it to implement functionality
@@ -3266,6 +3355,20 @@ public:
protected: protected:
/**
Centres the window.
@param direction
Specifies the direction for the centring. May be wxHORIZONTAL,
wxVERTICAL or wxBOTH. It may also include the wxCENTRE_ON_SCREEN
flag.
@remarks This function is not meant to be called directly by user code,
but via Centre, Center, CentreOnParent, or CenterOnParent.
This function can be overriden to fine-tune centring behaviour.
*/
virtual void DoCentre(int direction);
/** /**
Gets the size which best suits the window: for a control, it would be Gets the size which best suits the window: for a control, it would be
the minimal size which doesn't truncate the control, for a panel - the the minimal size which doesn't truncate the control, for a panel - the