git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66682 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
226 lines
6.5 KiB
C++
226 lines
6.5 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: richtextbackgroundpage.cpp
|
|
// Purpose:
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 13/11/2010 11:17:25
|
|
// RCS-ID:
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows Licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "wx/richtext/richtextbackgroundpage.h"
|
|
#include "wx/richtext/richtextformatdlg.h"
|
|
|
|
////@begin XPM images
|
|
////@end XPM images
|
|
|
|
|
|
/*!
|
|
* wxRichTextBackgroundPage type definition
|
|
*/
|
|
|
|
IMPLEMENT_DYNAMIC_CLASS( wxRichTextBackgroundPage, wxRichTextDialogPage )
|
|
|
|
|
|
/*!
|
|
* wxRichTextBackgroundPage event table definition
|
|
*/
|
|
|
|
BEGIN_EVENT_TABLE( wxRichTextBackgroundPage, wxRichTextDialogPage )
|
|
EVT_BUTTON(ID_RICHTEXT_BACKGROUND_COLOUR_SWATCH, wxRichTextBackgroundPage::OnColourSwatch)
|
|
|
|
////@begin wxRichTextBackgroundPage event table entries
|
|
////@end wxRichTextBackgroundPage event table entries
|
|
|
|
END_EVENT_TABLE()
|
|
|
|
IMPLEMENT_HELP_PROVISION(wxRichTextBackgroundPage)
|
|
|
|
/*!
|
|
* wxRichTextBackgroundPage constructors
|
|
*/
|
|
|
|
wxRichTextBackgroundPage::wxRichTextBackgroundPage()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
wxRichTextBackgroundPage::wxRichTextBackgroundPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
|
{
|
|
Init();
|
|
Create(parent, id, pos, size, style);
|
|
}
|
|
|
|
|
|
/*!
|
|
* wxRichTextBackgroundPage creator
|
|
*/
|
|
|
|
bool wxRichTextBackgroundPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
|
{
|
|
////@begin wxRichTextBackgroundPage creation
|
|
SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
|
|
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
|
|
|
CreateControls();
|
|
if (GetSizer())
|
|
{
|
|
GetSizer()->SetSizeHints(this);
|
|
}
|
|
Centre();
|
|
////@end wxRichTextBackgroundPage creation
|
|
return true;
|
|
}
|
|
|
|
|
|
/*!
|
|
* wxRichTextBackgroundPage destructor
|
|
*/
|
|
|
|
wxRichTextBackgroundPage::~wxRichTextBackgroundPage()
|
|
{
|
|
////@begin wxRichTextBackgroundPage destruction
|
|
////@end wxRichTextBackgroundPage destruction
|
|
}
|
|
|
|
|
|
/*!
|
|
* Member initialisation
|
|
*/
|
|
|
|
void wxRichTextBackgroundPage::Init()
|
|
{
|
|
////@begin wxRichTextBackgroundPage member initialisation
|
|
m_backgroundColourCheckBox = NULL;
|
|
m_backgroundColourSwatch = NULL;
|
|
////@end wxRichTextBackgroundPage member initialisation
|
|
}
|
|
|
|
|
|
/*!
|
|
* Control creation for wxRichTextBackgroundPage
|
|
*/
|
|
|
|
void wxRichTextBackgroundPage::CreateControls()
|
|
{
|
|
////@begin wxRichTextBackgroundPage content construction
|
|
wxRichTextBackgroundPage* itemRichTextDialogPage1 = this;
|
|
|
|
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
|
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
|
|
|
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
|
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW, 5);
|
|
|
|
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
|
|
itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW, 5);
|
|
|
|
wxStaticText* itemStaticText5 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Background"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
itemStaticText5->SetFont(wxFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetFamily(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetStyle(), wxBOLD, false, wxT("")));
|
|
itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
|
|
|
wxStaticLine* itemStaticLine6 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
|
itemBoxSizer4->Add(itemStaticLine6, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
|
|
|
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
|
|
itemBoxSizer3->Add(itemBoxSizer7, 0, wxGROW, 5);
|
|
|
|
itemBoxSizer7->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
|
|
|
m_backgroundColourCheckBox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BACKGROUND_COLOUR_CHECKBOX, _("Background &colour:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
m_backgroundColourCheckBox->SetValue(false);
|
|
m_backgroundColourCheckBox->SetHelpText(_("Enables a background colour."));
|
|
if (wxRichTextBackgroundPage::ShowToolTips())
|
|
m_backgroundColourCheckBox->SetToolTip(_("Enables a background colour."));
|
|
itemBoxSizer7->Add(m_backgroundColourCheckBox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
|
|
|
m_backgroundColourSwatch = new wxRichTextColourSwatchCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BACKGROUND_COLOUR_SWATCH, wxDefaultPosition, wxSize(80, 20), wxBORDER_THEME );
|
|
m_backgroundColourSwatch->SetHelpText(_("The background colour."));
|
|
if (wxRichTextBackgroundPage::ShowToolTips())
|
|
m_backgroundColourSwatch->SetToolTip(_("The background colour."));
|
|
itemBoxSizer7->Add(m_backgroundColourSwatch, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
|
|
|
////@end wxRichTextBackgroundPage content construction
|
|
}
|
|
|
|
|
|
/*!
|
|
* Should we show tooltips?
|
|
*/
|
|
|
|
wxRichTextAttr* wxRichTextBackgroundPage::GetAttributes()
|
|
{
|
|
return wxRichTextFormattingDialog::GetDialogAttributes(this);
|
|
}
|
|
|
|
bool wxRichTextBackgroundPage::TransferDataToWindow()
|
|
{
|
|
wxRichTextAttr* attr = GetAttributes();
|
|
if (!attr->HasBackgroundColour())
|
|
{
|
|
m_backgroundColourCheckBox->SetValue(false);
|
|
m_backgroundColourSwatch->SetColour(*wxWHITE);
|
|
}
|
|
else
|
|
{
|
|
m_backgroundColourCheckBox->SetValue(true);
|
|
m_backgroundColourSwatch->SetColour(attr->GetBackgroundColour());
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool wxRichTextBackgroundPage::TransferDataFromWindow()
|
|
{
|
|
wxRichTextAttr* attr = GetAttributes();
|
|
if (m_backgroundColourCheckBox->GetValue())
|
|
{
|
|
attr->SetBackgroundColour(m_backgroundColourSwatch->GetColour());
|
|
}
|
|
else
|
|
{
|
|
attr->SetFlags(attr->GetFlags() & ~wxTEXT_ATTR_BACKGROUND_COLOUR);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
// Respond to colour swatch click
|
|
void wxRichTextBackgroundPage::OnColourSwatch(wxCommandEvent& event)
|
|
{
|
|
m_backgroundColourCheckBox->SetValue(true);
|
|
event.Skip();
|
|
}
|
|
|
|
bool wxRichTextBackgroundPage::ShowToolTips()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
/*!
|
|
* Get bitmap resources
|
|
*/
|
|
|
|
wxBitmap wxRichTextBackgroundPage::GetBitmapResource( const wxString& name )
|
|
{
|
|
// Bitmap retrieval
|
|
////@begin wxRichTextBackgroundPage bitmap retrieval
|
|
wxUnusedVar(name);
|
|
return wxNullBitmap;
|
|
////@end wxRichTextBackgroundPage bitmap retrieval
|
|
}
|
|
|
|
/*!
|
|
* Get icon resources
|
|
*/
|
|
|
|
wxIcon wxRichTextBackgroundPage::GetIconResource( const wxString& name )
|
|
{
|
|
// Icon retrieval
|
|
////@begin wxRichTextBackgroundPage icon retrieval
|
|
wxUnusedVar(name);
|
|
return wxNullIcon;
|
|
////@end wxRichTextBackgroundPage icon retrieval
|
|
}
|