Smartphone adjustements to generic log dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -132,18 +132,22 @@ private:
|
|||||||
wxArrayLong m_times;
|
wxArrayLong m_times;
|
||||||
|
|
||||||
// the "toggle" button and its state
|
// the "toggle" button and its state
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
wxButton *m_btnDetails;
|
wxButton *m_btnDetails;
|
||||||
|
#endif
|
||||||
bool m_showingDetails;
|
bool m_showingDetails;
|
||||||
|
|
||||||
// the controls which are not shown initially (but only when details
|
// the controls which are not shown initially (but only when details
|
||||||
// button is pressed)
|
// button is pressed)
|
||||||
wxListCtrl *m_listctrl;
|
wxListCtrl *m_listctrl;
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
#if wxUSE_STATLINE
|
#if wxUSE_STATLINE
|
||||||
wxStaticLine *m_statline;
|
wxStaticLine *m_statline;
|
||||||
#endif // wxUSE_STATLINE
|
#endif // wxUSE_STATLINE
|
||||||
#if wxUSE_FILE
|
#if wxUSE_FILE
|
||||||
wxButton *m_btnSave;
|
wxButton *m_btnSave;
|
||||||
#endif // wxUSE_FILE
|
#endif // wxUSE_FILE
|
||||||
|
#endif // __SMARTPHONE__
|
||||||
|
|
||||||
// the translated "Details" string
|
// the translated "Details" string
|
||||||
static wxString ms_details;
|
static wxString ms_details;
|
||||||
@@ -689,7 +693,11 @@ wxLogWindow::~wxLogWindow()
|
|||||||
|
|
||||||
#if wxUSE_LOG_DIALOG
|
#if wxUSE_LOG_DIALOG
|
||||||
|
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
static const size_t MARGIN = 10;
|
static const size_t MARGIN = 10;
|
||||||
|
#else
|
||||||
|
static const size_t MARGIN = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
wxString wxLogDialog::ms_details;
|
wxString wxLogDialog::ms_details;
|
||||||
|
|
||||||
@@ -709,6 +717,9 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
|
|||||||
// happens to pop up a Log message while translating this :-)
|
// happens to pop up a Log message while translating this :-)
|
||||||
ms_details = wxTRANSLATE("&Details");
|
ms_details = wxTRANSLATE("&Details");
|
||||||
ms_details = wxGetTranslation(ms_details);
|
ms_details = wxGetTranslation(ms_details);
|
||||||
|
#ifdef __SMARTPHONE__
|
||||||
|
ms_details = wxStripMenuCodes(ms_details);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t count = messages.GetCount();
|
size_t count = messages.GetCount();
|
||||||
@@ -728,6 +739,8 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
|
|||||||
m_showingDetails = false; // not initially
|
m_showingDetails = false; // not initially
|
||||||
m_listctrl = (wxListCtrl *)NULL;
|
m_listctrl = (wxListCtrl *)NULL;
|
||||||
|
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
|
|
||||||
#if wxUSE_STATLINE
|
#if wxUSE_STATLINE
|
||||||
m_statline = (wxStaticLine *)NULL;
|
m_statline = (wxStaticLine *)NULL;
|
||||||
#endif // wxUSE_STATLINE
|
#endif // wxUSE_STATLINE
|
||||||
@@ -736,19 +749,28 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
|
|||||||
m_btnSave = (wxButton *)NULL;
|
m_btnSave = (wxButton *)NULL;
|
||||||
#endif // wxUSE_FILE
|
#endif // wxUSE_FILE
|
||||||
|
|
||||||
|
#endif // __SMARTPHONE__
|
||||||
|
|
||||||
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
||||||
|
|
||||||
// create the controls which are always shown and layout them: we use
|
// create the controls which are always shown and layout them: we use
|
||||||
// sizers even though our window is not resizeable to calculate the size of
|
// sizers even though our window is not resizeable to calculate the size of
|
||||||
// the dialog properly
|
// the dialog properly
|
||||||
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
wxBoxSizer *sizerButtons = new wxBoxSizer(isPda ? wxHORIZONTAL : wxVERTICAL);
|
wxBoxSizer *sizerButtons = new wxBoxSizer(isPda ? wxHORIZONTAL : wxVERTICAL);
|
||||||
|
#endif
|
||||||
wxBoxSizer *sizerAll = new wxBoxSizer(isPda ? wxVERTICAL : wxHORIZONTAL);
|
wxBoxSizer *sizerAll = new wxBoxSizer(isPda ? wxVERTICAL : wxHORIZONTAL);
|
||||||
|
|
||||||
|
#ifdef __SMARTPHONE__
|
||||||
|
SetLeftMenu(wxID_OK);
|
||||||
|
SetRightMenu(wxID_MORE, ms_details + EXPAND_SUFFIX);
|
||||||
|
#else
|
||||||
wxButton *btnOk = new wxButton(this, wxID_OK);
|
wxButton *btnOk = new wxButton(this, wxID_OK);
|
||||||
sizerButtons->Add(btnOk, 0, isPda ? wxCENTRE : wxCENTRE|wxBOTTOM, MARGIN/2);
|
sizerButtons->Add(btnOk, 0, isPda ? wxCENTRE : wxCENTRE|wxBOTTOM, MARGIN/2);
|
||||||
m_btnDetails = new wxButton(this, wxID_MORE, ms_details + EXPAND_SUFFIX);
|
m_btnDetails = new wxButton(this, wxID_MORE, ms_details + EXPAND_SUFFIX);
|
||||||
sizerButtons->Add(m_btnDetails, 0, isPda ? wxCENTRE|wxLEFT : wxCENTRE | wxTOP, MARGIN/2 - 1);
|
sizerButtons->Add(m_btnDetails, 0, isPda ? wxCENTRE|wxLEFT : wxCENTRE | wxTOP, MARGIN/2 - 1);
|
||||||
|
#endif
|
||||||
|
|
||||||
wxBitmap bitmap;
|
wxBitmap bitmap;
|
||||||
switch ( style & wxICON_MASK )
|
switch ( style & wxICON_MASK )
|
||||||
@@ -785,7 +807,9 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
|
|||||||
const wxString& message = messages.Last();
|
const wxString& message = messages.Last();
|
||||||
sizerAll->Add(CreateTextSizer(message), 1,
|
sizerAll->Add(CreateTextSizer(message), 1,
|
||||||
wxALIGN_CENTRE_VERTICAL | wxLEFT | wxRIGHT, MARGIN);
|
wxALIGN_CENTRE_VERTICAL | wxLEFT | wxRIGHT, MARGIN);
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
sizerAll->Add(sizerButtons, 0, isPda ? wxCENTRE|wxTOP|wxBOTTOM : (wxALIGN_RIGHT | wxLEFT), MARGIN);
|
sizerAll->Add(sizerButtons, 0, isPda ? wxCENTRE|wxTOP|wxBOTTOM : (wxALIGN_RIGHT | wxLEFT), MARGIN);
|
||||||
|
#endif
|
||||||
|
|
||||||
sizerTop->Add(sizerAll, 0, wxALL | wxEXPAND, MARGIN);
|
sizerTop->Add(sizerAll, 0, wxALL | wxEXPAND, MARGIN);
|
||||||
|
|
||||||
@@ -805,7 +829,9 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
|
|||||||
m_maxHeight = size.y;
|
m_maxHeight = size.y;
|
||||||
SetSizeHints(size.x, size.y, m_maxWidth, m_maxHeight);
|
SetSizeHints(size.x, size.y, m_maxWidth, m_maxHeight);
|
||||||
|
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
btnOk->SetFocus();
|
btnOk->SetFocus();
|
||||||
|
#endif
|
||||||
|
|
||||||
Centre();
|
Centre();
|
||||||
|
|
||||||
@@ -819,6 +845,7 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
|
|||||||
|
|
||||||
void wxLogDialog::CreateDetailsControls()
|
void wxLogDialog::CreateDetailsControls()
|
||||||
{
|
{
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
// create the save button and separator line if possible
|
// create the save button and separator line if possible
|
||||||
#if wxUSE_FILE
|
#if wxUSE_FILE
|
||||||
m_btnSave = new wxButton(this, wxID_SAVE);
|
m_btnSave = new wxButton(this, wxID_SAVE);
|
||||||
@@ -828,6 +855,8 @@ void wxLogDialog::CreateDetailsControls()
|
|||||||
m_statline = new wxStaticLine(this, wxID_ANY);
|
m_statline = new wxStaticLine(this, wxID_ANY);
|
||||||
#endif // wxUSE_STATLINE
|
#endif // wxUSE_STATLINE
|
||||||
|
|
||||||
|
#endif // __SMARTPHONE__
|
||||||
|
|
||||||
// create the list ctrl now
|
// create the list ctrl now
|
||||||
m_listctrl = new wxListCtrl(this, wxID_ANY,
|
m_listctrl = new wxListCtrl(this, wxID_ANY,
|
||||||
wxDefaultPosition, wxDefaultSize,
|
wxDefaultPosition, wxDefaultSize,
|
||||||
@@ -1001,10 +1030,16 @@ void wxLogDialog::OnDetails(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
if ( m_showingDetails )
|
if ( m_showingDetails )
|
||||||
{
|
{
|
||||||
|
#ifdef __SMARTPHONE__
|
||||||
|
SetRightMenu(wxID_MORE, ms_details + EXPAND_SUFFIX);
|
||||||
|
#else
|
||||||
m_btnDetails->SetLabel(ms_details + EXPAND_SUFFIX);
|
m_btnDetails->SetLabel(ms_details + EXPAND_SUFFIX);
|
||||||
|
#endif
|
||||||
|
|
||||||
sizer->Detach( m_listctrl );
|
sizer->Detach( m_listctrl );
|
||||||
|
|
||||||
|
#ifndef __SMARTPHONE__
|
||||||
|
|
||||||
#if wxUSE_STATLINE
|
#if wxUSE_STATLINE
|
||||||
sizer->Detach( m_statline );
|
sizer->Detach( m_statline );
|
||||||
#endif // wxUSE_STATLINE
|
#endif // wxUSE_STATLINE
|
||||||
@@ -1012,17 +1047,23 @@ void wxLogDialog::OnDetails(wxCommandEvent& WXUNUSED(event))
|
|||||||
#if wxUSE_FILE
|
#if wxUSE_FILE
|
||||||
sizer->Detach( m_btnSave );
|
sizer->Detach( m_btnSave );
|
||||||
#endif // wxUSE_FILE
|
#endif // wxUSE_FILE
|
||||||
|
|
||||||
|
#endif // __SMARTPHONE__
|
||||||
}
|
}
|
||||||
else // show details now
|
else // show details now
|
||||||
{
|
{
|
||||||
|
#ifdef __SMARTPHONE__
|
||||||
|
SetRightMenu(wxID_MORE, wxString(_T("<< ")) + ms_details);
|
||||||
|
#else
|
||||||
m_btnDetails->SetLabel(wxString(_T("<< ")) + ms_details);
|
m_btnDetails->SetLabel(wxString(_T("<< ")) + ms_details);
|
||||||
|
#endif
|
||||||
|
|
||||||
if ( !m_listctrl )
|
if ( !m_listctrl )
|
||||||
{
|
{
|
||||||
CreateDetailsControls();
|
CreateDetailsControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxUSE_STATLINE
|
#if wxUSE_STATLINE && !defined(__SMARTPHONE__)
|
||||||
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
bool isPda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA);
|
||||||
if (!isPda)
|
if (!isPda)
|
||||||
sizer->Add(m_statline, 0, wxEXPAND | (wxALL & ~wxTOP), MARGIN);
|
sizer->Add(m_statline, 0, wxEXPAND | (wxALL & ~wxTOP), MARGIN);
|
||||||
@@ -1039,7 +1080,7 @@ void wxLogDialog::OnDetails(wxCommandEvent& WXUNUSED(event))
|
|||||||
sizer->SetItemMinSize(m_listctrl, 100, 3*GetCharHeight());
|
sizer->SetItemMinSize(m_listctrl, 100, 3*GetCharHeight());
|
||||||
#endif // 0
|
#endif // 0
|
||||||
|
|
||||||
#if wxUSE_FILE
|
#if wxUSE_FILE && !defined(__SMARTPHONE__)
|
||||||
sizer->Add(m_btnSave, 0, wxALIGN_RIGHT | (wxALL & ~wxTOP), MARGIN);
|
sizer->Add(m_btnSave, 0, wxALIGN_RIGHT | (wxALL & ~wxTOP), MARGIN);
|
||||||
#endif // wxUSE_FILE
|
#endif // wxUSE_FILE
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user