Adaptations for PDA-sized screens
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -25,6 +25,7 @@ All (GUI):
|
|||||||
- Cross-compile now supported for wxGTK, wxX11 and wxMotif.
|
- Cross-compile now supported for wxGTK, wxX11 and wxMotif.
|
||||||
- Cygwin compilation of wxX11, wxGTK and wxMotif now supported.
|
- Cygwin compilation of wxX11, wxGTK and wxMotif now supported.
|
||||||
- Now reads "help" parameter for all windows (context help text).
|
- Now reads "help" parameter for all windows (context help text).
|
||||||
|
- wxWizard adapts to PDA-sized screens.
|
||||||
|
|
||||||
wxMSW:
|
wxMSW:
|
||||||
|
|
||||||
|
@@ -43,6 +43,7 @@
|
|||||||
|
|
||||||
#include "wx/statline.h"
|
#include "wx/statline.h"
|
||||||
#include "wx/sizer.h"
|
#include "wx/sizer.h"
|
||||||
|
#include "wx/settings.h"
|
||||||
|
|
||||||
#include "wx/wizard.h"
|
#include "wx/wizard.h"
|
||||||
|
|
||||||
@@ -390,6 +391,9 @@ void wxWizard::AddButtonRow(wxBoxSizer *mainColumn)
|
|||||||
// key to TAB to the next entry field and page. This would not be possible, if the 'back' button
|
// key to TAB to the next entry field and page. This would not be possible, if the 'back' button
|
||||||
// was created before the 'next' button.
|
// was created before the 'next' button.
|
||||||
|
|
||||||
|
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
||||||
|
int buttonStyle = isPda ? wxBU_EXACTFIT : 0;
|
||||||
|
|
||||||
wxBoxSizer *buttonRow = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer *buttonRow = new wxBoxSizer(wxHORIZONTAL);
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
if (GetExtraStyle() & wxWIZARD_EX_HELPBUTTON)
|
if (GetExtraStyle() & wxWIZARD_EX_HELPBUTTON)
|
||||||
@@ -411,16 +415,16 @@ void wxWizard::AddButtonRow(wxBoxSizer *mainColumn)
|
|||||||
wxButton *btnHelp=0;
|
wxButton *btnHelp=0;
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
if (GetExtraStyle() & wxWIZARD_EX_HELPBUTTON)
|
if (GetExtraStyle() & wxWIZARD_EX_HELPBUTTON)
|
||||||
btnHelp=new wxButton(this, wxID_HELP, _("&Help"));
|
btnHelp=new wxButton(this, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, buttonStyle);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
m_btnNext = new wxButton(this, wxID_FORWARD, _("&Next >"));
|
m_btnNext = new wxButton(this, wxID_FORWARD, _("&Next >"));
|
||||||
wxButton *btnCancel=new wxButton(this, wxID_CANCEL, _("&Cancel"));
|
wxButton *btnCancel=new wxButton(this, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, buttonStyle);
|
||||||
#ifndef __WXMAC__
|
#ifndef __WXMAC__
|
||||||
if (GetExtraStyle() & wxWIZARD_EX_HELPBUTTON)
|
if (GetExtraStyle() & wxWIZARD_EX_HELPBUTTON)
|
||||||
btnHelp=new wxButton(this, wxID_HELP, _("&Help"));
|
btnHelp=new wxButton(this, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, buttonStyle);
|
||||||
#endif
|
#endif
|
||||||
m_btnPrev = new wxButton(this, wxID_BACKWARD, _("< &Back"));
|
m_btnPrev = new wxButton(this, wxID_BACKWARD, _("< &Back"), wxDefaultPosition, wxDefaultSize, buttonStyle);
|
||||||
|
|
||||||
if (btnHelp)
|
if (btnHelp)
|
||||||
{
|
{
|
||||||
@@ -452,6 +456,11 @@ void wxWizard::DoCreateControls()
|
|||||||
if ( WasCreated() )
|
if ( WasCreated() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
||||||
|
|
||||||
|
// Horizontal stretching, and if not PDA, border all around
|
||||||
|
int mainColumnSizerFlags = isPda ? wxEXPAND : wxALL|wxEXPAND ;
|
||||||
|
|
||||||
// wxWindow::SetSizer will be called at end
|
// wxWindow::SetSizer will be called at end
|
||||||
wxBoxSizer *windowSizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *windowSizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
@@ -459,12 +468,15 @@ void wxWizard::DoCreateControls()
|
|||||||
windowSizer->Add(
|
windowSizer->Add(
|
||||||
mainColumn,
|
mainColumn,
|
||||||
1, // Vertical stretching
|
1, // Vertical stretching
|
||||||
wxALL | wxEXPAND, // Border all around, horizontal stretching
|
mainColumnSizerFlags,
|
||||||
5 // Border width
|
5 // Border width
|
||||||
);
|
);
|
||||||
|
|
||||||
AddBitmapRow(mainColumn);
|
AddBitmapRow(mainColumn);
|
||||||
AddStaticLine(mainColumn);
|
|
||||||
|
if (!isPda)
|
||||||
|
AddStaticLine(mainColumn);
|
||||||
|
|
||||||
AddButtonRow(mainColumn);
|
AddButtonRow(mainColumn);
|
||||||
|
|
||||||
// wxWindow::SetSizer should be followed by wxWindow::Fit, but
|
// wxWindow::SetSizer should be followed by wxWindow::Fit, but
|
||||||
@@ -480,6 +492,8 @@ void wxWizard::SetPageSize(const wxSize& size)
|
|||||||
|
|
||||||
void wxWizard::FinishLayout()
|
void wxWizard::FinishLayout()
|
||||||
{
|
{
|
||||||
|
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
||||||
|
|
||||||
// Set to enable wxWizardSizer::GetMaxChildSize
|
// Set to enable wxWizardSizer::GetMaxChildSize
|
||||||
m_started = true;
|
m_started = true;
|
||||||
|
|
||||||
@@ -490,9 +504,12 @@ void wxWizard::FinishLayout()
|
|||||||
m_sizerPage->Border()
|
m_sizerPage->Border()
|
||||||
);
|
);
|
||||||
|
|
||||||
GetSizer()->SetSizeHints(this);
|
if (!isPda)
|
||||||
if ( m_posWizard == wxDefaultPosition )
|
{
|
||||||
CentreOnScreen();
|
GetSizer()->SetSizeHints(this);
|
||||||
|
if ( m_posWizard == wxDefaultPosition )
|
||||||
|
CentreOnScreen();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxWizard::FitToPage(const wxWizardPage *page)
|
void wxWizard::FitToPage(const wxWizardPage *page)
|
||||||
@@ -674,13 +691,16 @@ void wxWizard::SetBorder(int border)
|
|||||||
wxSize wxWizard::GetManualPageSize() const
|
wxSize wxWizard::GetManualPageSize() const
|
||||||
{
|
{
|
||||||
// default width and height of the page
|
// default width and height of the page
|
||||||
static const int DEFAULT_PAGE_WIDTH = 270;
|
int DEFAULT_PAGE_WIDTH = 270;
|
||||||
//static const int DEFAULT_PAGE_HEIGHT = 290;
|
int DEFAULT_PAGE_HEIGHT = 270;
|
||||||
// For compatibility with 2.4: there's too much
|
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
||||||
// space under the bitmap, probably due to differences in
|
if (isPda)
|
||||||
// the sizer implementation. This makes it reasonable again.
|
{
|
||||||
static const int DEFAULT_PAGE_HEIGHT = 270;
|
// Make the default page size small enough to fit on screen
|
||||||
|
DEFAULT_PAGE_WIDTH = wxSystemSettings::GetMetric(wxSYS_SCREEN_X) / 2;
|
||||||
|
DEFAULT_PAGE_HEIGHT = wxSystemSettings::GetMetric(wxSYS_SCREEN_Y) / 2;
|
||||||
|
}
|
||||||
|
|
||||||
wxSize totalPageSize(DEFAULT_PAGE_WIDTH,DEFAULT_PAGE_HEIGHT);
|
wxSize totalPageSize(DEFAULT_PAGE_WIDTH,DEFAULT_PAGE_HEIGHT);
|
||||||
|
|
||||||
totalPageSize.IncTo(m_sizePage);
|
totalPageSize.IncTo(m_sizePage);
|
||||||
|
Reference in New Issue
Block a user