8d5016b18b
Keep the icon at the top instead of centering it, this is more consistent with the native behaviour under both MSW and GTK. Get rid of an unnecessary sizer in wxGenericRichMessageDialog and give the checkbox the right border to align with the rest of the dialog contents. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
91 lines
2.9 KiB
C++
91 lines
2.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: src/generic/richmsgdlgg.cpp
|
|
// Purpose: wxGenericRichMessageDialog
|
|
// Author: Rickard Westerlund
|
|
// Created: 2010-07-04
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 2010 wxWidgets team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// For compilers that support precompilation, includes "wx.h".
|
|
#include "wx/wxprec.h"
|
|
|
|
#ifdef __BORLANDC__
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#if wxUSE_RICHMSGDLG
|
|
|
|
#ifndef WX_PRECOMP
|
|
#include "wx/checkbox.h"
|
|
#include "wx/stattext.h"
|
|
#include "wx/sizer.h"
|
|
#endif
|
|
|
|
#include "wx/collpane.h"
|
|
#include "wx/richmsgdlg.h"
|
|
|
|
wxIMPLEMENT_CLASS(wxRichMessageDialog, wxDialog)
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Events and handlers
|
|
// ----------------------------------------------------------------------------
|
|
|
|
BEGIN_EVENT_TABLE(wxGenericRichMessageDialog, wxRichMessageDialogBase)
|
|
EVT_COLLAPSIBLEPANE_CHANGED(wxID_ANY,
|
|
wxGenericRichMessageDialog::OnPaneChanged)
|
|
END_EVENT_TABLE()
|
|
|
|
void wxGenericRichMessageDialog::OnPaneChanged(wxCollapsiblePaneEvent& event)
|
|
{
|
|
if ( event.GetCollapsed() )
|
|
m_detailsPane->SetLabel( m_detailsExpanderCollapsedLabel );
|
|
else
|
|
m_detailsPane->SetLabel( m_detailsExpanderExpandedLabel );
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxGenericRichMessageDialog
|
|
// ----------------------------------------------------------------------------
|
|
|
|
void wxGenericRichMessageDialog::AddMessageDialogCheckBox(wxSizer *sizer)
|
|
{
|
|
if ( !m_checkBoxText.empty() )
|
|
{
|
|
m_checkBox = new wxCheckBox(this, wxID_ANY, m_checkBoxText);
|
|
m_checkBox->SetValue(m_checkBoxValue);
|
|
|
|
sizer->Add(m_checkBox, wxSizerFlags().Left().Border(wxLEFT|wxTOP, 10));
|
|
}
|
|
}
|
|
|
|
void wxGenericRichMessageDialog::AddMessageDialogDetails(wxSizer *sizer)
|
|
{
|
|
if ( !m_detailedText.empty() )
|
|
{
|
|
wxSizer *sizerDetails = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
m_detailsPane =
|
|
new wxCollapsiblePane( this, -1, m_detailsExpanderCollapsedLabel );
|
|
|
|
// add the detailed text
|
|
wxWindow *windowPane = m_detailsPane->GetPane();
|
|
wxSizer *sizerPane = new wxBoxSizer( wxHORIZONTAL );
|
|
sizerPane->Add( new wxStaticText( windowPane, -1, m_detailedText ) );
|
|
windowPane->SetSizer( sizerPane );
|
|
|
|
sizerDetails->Add( m_detailsPane, wxSizerFlags().Right().Expand() );
|
|
sizer->Add( sizerDetails, 0, wxTOP|wxLEFT|wxRIGHT | wxALIGN_LEFT, 10 );
|
|
}
|
|
}
|
|
|
|
bool wxGenericRichMessageDialog::IsCheckBoxChecked() const
|
|
{
|
|
// This function can be called before the dialog is shown and hence before
|
|
// the check box is created.
|
|
return m_checkBox? m_checkBoxValue : m_checkBox->IsChecked();
|
|
}
|
|
|
|
#endif // wxUSE_RICHMSGDLG
|