Reverted last wxBookCtrl change and added alignment check to notebook

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2006-06-06 12:53:31 +00:00
parent 926395e16b
commit 90f9b8ef0c
9 changed files with 21 additions and 8 deletions

View File

@@ -118,9 +118,6 @@ public:
// calculate the size of the control from the size of its page
virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const = 0;
// get the default alignment
virtual int GetDefaultAlignment() const { return wxBK_TOP; }
// get/set size of area between book control area and page area
unsigned int GetInternalBorder() const { return m_internalBorder; }
void SetInternalBorder(unsigned int border) { m_internalBorder = border; }
@@ -130,7 +127,7 @@ public:
int GetControlMargin() const { return m_controlMargin; }
// returns true if we have wxBK_TOP or wxBK_BOTTOM style
bool IsVertical() const { return HasFlag(wxBK_ALIGN_MASK) ? HasFlag(wxBK_BOTTOM | wxBK_TOP) : (0 != (GetDefaultAlignment() & (wxBK_BOTTOM | wxBK_TOP))); }
bool IsVertical() const { return HasFlag(wxBK_BOTTOM | wxBK_TOP); }
// set/get option to shrink to fit current page
void SetFitToCurrentPage(bool fit) { m_fitToCurrentPage = fit; }

View File

@@ -268,11 +268,8 @@ wxRect wxBookCtrlBase::GetPageRect() const
wxPoint pt;
wxRect rectPage(pt, GetClientSize());
long style = GetWindowStyle();
if ( !HasFlag(wxBK_ALIGN_MASK) )
style = GetDefaultAlignment();
switch ( style )
switch ( GetWindowStyle() & wxBK_ALIGN_MASK )
{
default:
wxFAIL_MSG( _T("unexpected alignment") );

View File

@@ -150,6 +150,9 @@ bool wxNotebook::Create(wxWindow *parent,
// base init
SetName(name);
if ( (style & wxBK_ALIGN_MASK) == wxBK_DEFAULT )
style |= wxBK_TOP;
m_windowId = id == wxID_ANY ? NewControlId() : id;
if (!wxControl::Create(parent, id, pos, size, style|wxNO_BORDER, wxDefaultValidator, name))

View File

@@ -324,6 +324,9 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
m_acceptsFocus = true;
m_insertCallback = (wxInsertChildFunction)wxInsertChildInNotebook;
if ( (style & wxBK_ALIGN_MASK) == wxBK_DEFAULT )
style |= wxBK_TOP;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
{

View File

@@ -324,6 +324,9 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
m_acceptsFocus = true;
m_insertCallback = (wxInsertChildFunction)wxInsertChildInNotebook;
if ( (style & wxBK_ALIGN_MASK) == wxBK_DEFAULT )
style |= wxBK_TOP;
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
{

View File

@@ -187,6 +187,9 @@ bool wxNotebook::Create(wxWindow *parent,
Rect bounds ;
Str255 title ;
if ( (style & wxBK_ALIGN_MASK) == wxBK_DEFAULT )
style |= wxBK_TOP;
MacPreControlCreate( parent , id , wxEmptyString , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
int tabstyle = kControlTabSmallNorthProc ;

View File

@@ -274,6 +274,8 @@ bool wxNotebook::Create(wxWindow *parent,
if (style & wxNB_FLAT)
style |= wxBORDER_SUNKEN;
#endif
if ( (style & wxBK_ALIGN_MASK) == wxBK_DEFAULT )
style |= wxBK_TOP;
#if !wxUSE_UXTHEME
// ComCtl32 notebook tabs simply don't work unless they're on top if we have uxtheme, we can

View File

@@ -124,6 +124,8 @@ bool wxNotebook::Create( wxWindow* pParent,
long lStyle,
const wxString& rsName )
{
if ( (lStyle & wxBK_ALIGN_MASK) == wxBK_DEFAULT )
lStyle |= wxBK_TOP;
//
// Base init
//

View File

@@ -121,6 +121,9 @@ bool wxNotebook::Create(wxWindow *parent,
long style,
const wxString& name)
{
if ( (style & wxBK_ALIGN_MASK) == wxBK_DEFAULT )
style |= wxBK_TOP;
if ( !wxControl::Create(parent, id, pos, size, style,
wxDefaultValidator, name) )
return false;