// Author: Julian Smart
// Modified by:
// Created: 2005-03-12
-// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/wxprec.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
-#include "wx/defs.h"
-
#if wxUSE_BOOKCTRL
#ifndef WX_PRECOMP
#if wxUSE_LISTBOOK
#include "wx/listbook.h"
#endif
+#if wxUSE_TREEBOOK
+#include "wx/treebook.h"
+#endif
#include "wx/generic/propdlg.h"
#include "wx/sysopt.h"
const wxPoint& pos, const wxSize& sz, long style,
const wxString& name)
{
+ parent = GetParentForModalDialog(parent, style);
+
if (!wxDialog::Create(parent, id, title, pos, sz, style|wxCLIP_CHILDREN, name))
return false;
// This gives more space around the edges
m_innerSizer = new wxBoxSizer( wxVERTICAL );
- int extraSpace = 2;
#if defined(__SMARTPHONE__) || defined(__POCKETPC__)
- extraSpace=0;
+ m_sheetOuterBorder = 0;
#endif
- topSizer->Add(m_innerSizer, 1, wxGROW|wxALL, extraSpace);
+ topSizer->Add(m_innerSizer, 1, wxGROW|wxALL, m_sheetOuterBorder);
m_bookCtrl = CreateBookCtrl();
AddBookCtrl(m_innerSizer);
m_sheetStyle = wxPROPSHEET_DEFAULT;
m_innerSizer = NULL;
m_bookCtrl = NULL;
+ m_sheetOuterBorder = 2;
+ m_sheetInnerBorder = 5;
}
// Layout the dialog, to be called after pages have been created
wxSystemOptions::SetOption(optionName,0);
#endif
- wxSizer *buttonSizer = CreateButtonSizer( flags & ButtonSizerFlags );
- if(buttonSizer->GetChildren().GetCount() > 0 )
+ wxSizer *buttonSizer = CreateButtonSizer(flags);
+ if( buttonSizer )
{
m_innerSizer->Add( buttonSizer, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT|wxRIGHT, 2);
m_innerSizer->AddSpacer(2);
}
- else
- {
- delete buttonSizer;
- }
#ifdef __POCKETPC__
// restore system option
// Creates the book control
wxBookCtrlBase* wxPropertySheetDialog::CreateBookCtrl()
{
- int style = wxCLIP_CHILDREN;
-#if defined(__POCKETPC__) && wxUSE_NOTEBOOK
- style |= wxBK_BOTTOM|wxNB_FLAT;
-#else
- style |= wxBK_DEFAULT;
-#endif
+ int style = wxCLIP_CHILDREN | wxBK_DEFAULT;
wxBookCtrlBase* bookCtrl = NULL;
-
+
#if wxUSE_NOTEBOOK
if (GetSheetStyle() & wxPROPSHEET_NOTEBOOK)
bookCtrl = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style );
bookCtrl = new wxChoicebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style );
#endif
#if wxUSE_TOOLBOOK
- if (GetSheetStyle() & wxPROPSHEET_TOOLBOOK)
+#if defined(__WXMAC__) && wxUSE_TOOLBAR && wxUSE_BMPBUTTON
+ if (GetSheetStyle() & wxPROPSHEET_BUTTONTOOLBOOK)
+ bookCtrl = new wxToolbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style|wxTBK_BUTTONBAR );
+ else
+#endif
+ if ((GetSheetStyle() & wxPROPSHEET_TOOLBOOK) || (GetSheetStyle() & wxPROPSHEET_BUTTONTOOLBOOK))
bookCtrl = new wxToolbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style );
#endif
#if wxUSE_LISTBOOK
if (GetSheetStyle() & wxPROPSHEET_LISTBOOK)
bookCtrl = new wxListbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style );
+#endif
+#if wxUSE_TREEBOOK
+ if (GetSheetStyle() & wxPROPSHEET_TREEBOOK)
+ bookCtrl = new wxTreebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style );
#endif
if (!bookCtrl)
bookCtrl = new wxBookCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, style );
-
+
if (GetSheetStyle() & wxPROPSHEET_SHRINKTOFIT)
bookCtrl->SetFitToCurrentPage(true);
-
+
return bookCtrl;
}
int borderSize = -2;
sizer->Add( m_bookCtrl, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxRIGHT, borderSize );
#else
- sizer->Add( m_bookCtrl, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+ sizer->Add( m_bookCtrl, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, m_sheetInnerBorder );
#endif
}
void wxPropertySheetDialog::OnIdle(wxIdleEvent& event)
{
event.Skip();
-
+
if ((GetSheetStyle() & wxPROPSHEET_SHRINKTOFIT) && GetBookCtrl())
{
int sel = GetBookCtrl()->GetSelection();
}
}
-#endif // wxUSE_BOOKCTRL
+// Override function in base
+wxWindow* wxPropertySheetDialog::GetContentWindow() const
+{
+ return GetBookCtrl();
+}
+#endif // wxUSE_BOOKCTRL