2010-08-18 18:48:41 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// 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
|
2010-08-18 20:06:12 -04:00
|
|
|
#include "wx/checkbox.h"
|
2010-08-18 18:48:41 -04:00
|
|
|
#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() )
|
|
|
|
{
|
|
|
|
wxSizer *sizerCheckBox = new wxBoxSizer( wxHORIZONTAL );
|
|
|
|
|
|
|
|
m_checkBox = new wxCheckBox( this,
|
|
|
|
wxID_ANY,
|
|
|
|
m_checkBoxText );
|
|
|
|
m_checkBox->SetValue( m_checkBoxValue );
|
|
|
|
sizerCheckBox->Add( m_checkBox, 0, wxBOTTOM | wxALIGN_LEFT );
|
|
|
|
|
|
|
|
sizer->Add( sizerCheckBox, 0, wxTOP|wxLEFT|wxRIGHT | wxALIGN_LEFT, 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 );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-08-18 20:06:12 -04:00
|
|
|
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();
|
|
|
|
}
|
|
|
|
|
2010-08-18 18:48:41 -04:00
|
|
|
#endif // wxUSE_RICHMSGDLG
|