/ExtLibs/wxWidgets/src/richtext/richtextborderspage.cpp
C++ | 912 lines | 600 code | 212 blank | 100 comment | 64 complexity | 7e6b310b017b27281e8061f53c76db48 MD5 | raw file
- /////////////////////////////////////////////////////////////////////////////
- // Name: src/richtext/richtextborderspage.cpp
- // Purpose:
- // Author: Julian Smart
- // Modified by:
- // Created: 21/10/2010 11:34:24
- // RCS-ID:
- // Copyright: (c) Julian Smart
- // Licence:
- /////////////////////////////////////////////////////////////////////////////
- ////@begin includes
- #include "wx/imaglist.h"
- ////@end includes
- #include "wx/richtext/richtextborderspage.h"
- ////@begin XPM images
- ////@end XPM images
- /*!
- * wxRichTextBordersPage type definition
- */
- IMPLEMENT_DYNAMIC_CLASS( wxRichTextBordersPage, wxRichTextDialogPage )
- /*!
- * wxRichTextBordersPage event table definition
- */
- BEGIN_EVENT_TABLE( wxRichTextBordersPage, wxRichTextDialogPage )
- EVT_CHECKBOX(wxID_ANY, wxRichTextBordersPage::OnCommand)
- EVT_TEXT(wxID_ANY, wxRichTextBordersPage::OnCommand)
- EVT_TEXT_ENTER(wxID_ANY, wxRichTextBordersPage::OnCommand)
- EVT_COMBOBOX(wxID_ANY, wxRichTextBordersPage::OnCommand)
- EVT_BUTTON(wxID_ANY, wxRichTextBordersPage::OnCommand)
- ////@begin wxRichTextBordersPage event table entries
- EVT_CHECKBOX( ID_RICHTEXT_BORDER_LEFT_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_LEFT, wxRichTextBordersPage::OnRichtextBorderLeftUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_LEFT_UNITS, wxRichTextBordersPage::OnRichtextBorderLeftUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_LEFT_STYLE, wxRichTextBordersPage::OnRichtextBorderLeftUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_LEFT_COLOUR, wxRichTextBordersPage::OnRichtextBorderLeftUpdate )
- EVT_CHECKBOX( ID_RICHTEXT_BORDER_RIGHT_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_RIGHT, wxRichTextBordersPage::OnRichtextBorderRightUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_RIGHT_UNITS, wxRichTextBordersPage::OnRichtextBorderRightUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_RIGHT_STYLE, wxRichTextBordersPage::OnRichtextBorderRightUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_RIGHT_COLOUR, wxRichTextBordersPage::OnRichtextBorderRightUpdate )
- EVT_CHECKBOX( ID_RICHTEXT_BORDER_TOP_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_TOP, wxRichTextBordersPage::OnRichtextBorderTopUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_TOP_UNITS, wxRichTextBordersPage::OnRichtextBorderTopUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_TOP_STYLE, wxRichTextBordersPage::OnRichtextBorderTopUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_TOP_COLOUR, wxRichTextBordersPage::OnRichtextBorderTopUpdate )
- EVT_CHECKBOX( ID_RICHTEXT_BORDER_BOTTOM_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_BOTTOM, wxRichTextBordersPage::OnRichtextBorderBottomUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_BOTTOM_UNITS, wxRichTextBordersPage::OnRichtextBorderBottomUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_BOTTOM_STYLE, wxRichTextBordersPage::OnRichtextBorderBottomUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_BORDER_BOTTOM_COLOUR, wxRichTextBordersPage::OnRichtextBorderBottomUpdate )
- EVT_CHECKBOX( ID_RICHTEXT_OUTLINE_LEFT_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_LEFT, wxRichTextBordersPage::OnRichtextOutlineLeftUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_LEFT_UNITS, wxRichTextBordersPage::OnRichtextOutlineLeftUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_LEFT_STYLE, wxRichTextBordersPage::OnRichtextOutlineLeftUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_LEFT_COLOUR, wxRichTextBordersPage::OnRichtextOutlineLeftUpdate )
- EVT_CHECKBOX( ID_RICHTEXT_OUTLINE_RIGHT_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_RIGHT, wxRichTextBordersPage::OnRichtextOutlineRightUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_RIGHT_UNITS, wxRichTextBordersPage::OnRichtextOutlineRightUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_RIGHT_STYLE, wxRichTextBordersPage::OnRichtextOutlineRightUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_RIGHT_COLOUR, wxRichTextBordersPage::OnRichtextOutlineRightUpdate )
- EVT_CHECKBOX( ID_RICHTEXT_OUTLINE_TOP_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_TOP, wxRichTextBordersPage::OnRichtextOutlineTopUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_TOP_UNITS, wxRichTextBordersPage::OnRichtextOutlineTopUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_TOP_STYLE, wxRichTextBordersPage::OnRichtextOutlineTopUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_TOP_COLOUR, wxRichTextBordersPage::OnRichtextOutlineTopUpdate )
- EVT_CHECKBOX( ID_RICHTEXT_OUTLINE_BOTTOM_CHECKBOX, wxRichTextBordersPage::OnRichtextBorderCheckboxClick )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_BOTTOM, wxRichTextBordersPage::OnRichtextOutlineBottomUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_BOTTOM_UNITS, wxRichTextBordersPage::OnRichtextOutlineBottomUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_BOTTOM_STYLE, wxRichTextBordersPage::OnRichtextOutlineBottomUpdate )
- EVT_UPDATE_UI( ID_RICHTEXT_OUTLINE_BOTTOM_COLOUR, wxRichTextBordersPage::OnRichtextOutlineBottomUpdate )
- ////@end wxRichTextBordersPage event table entries
- END_EVENT_TABLE()
- IMPLEMENT_HELP_PROVISION(wxRichTextBordersPage)
- /*!
- * wxRichTextBordersPage constructors
- */
- wxRichTextBordersPage::wxRichTextBordersPage()
- {
- Init();
- }
- wxRichTextBordersPage::wxRichTextBordersPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
- {
- Init();
- Create(parent, id, pos, size, style);
- }
- /*!
- * wxRichTextBordersPage creator
- */
- bool wxRichTextBordersPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
- {
- ////@begin wxRichTextBordersPage creation
- SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
- wxRichTextDialogPage::Create( parent, id, pos, size, style );
- CreateControls();
- if (GetSizer())
- {
- GetSizer()->SetSizeHints(this);
- }
- Centre();
- ////@end wxRichTextBordersPage creation
- return true;
- }
- /*!
- * wxRichTextBordersPage destructor
- */
- wxRichTextBordersPage::~wxRichTextBordersPage()
- {
- ////@begin wxRichTextBordersPage destruction
- ////@end wxRichTextBordersPage destruction
- }
- /*!
- * Member initialisation
- */
- void wxRichTextBordersPage::Init()
- {
- m_ignoreUpdates = false;
- ////@begin wxRichTextBordersPage member initialisation
- m_leftBorderCheckbox = NULL;
- m_leftBorderWidth = NULL;
- m_leftBorderWidthUnits = NULL;
- m_leftBorderStyle = NULL;
- m_leftBorderColour = NULL;
- m_rightBorderCheckbox = NULL;
- m_rightBorderWidth = NULL;
- m_rightBorderWidthUnits = NULL;
- m_rightBorderStyle = NULL;
- m_rightBorderColour = NULL;
- m_topBorderCheckbox = NULL;
- m_topBorderWidth = NULL;
- m_topBorderWidthUnits = NULL;
- m_topBorderStyle = NULL;
- m_topBorderColour = NULL;
- m_bottomBorderCheckbox = NULL;
- m_bottomBorderWidth = NULL;
- m_bottomBorderWidthUnits = NULL;
- m_bottomBorderStyle = NULL;
- m_bottomBorderColour = NULL;
- m_leftOutlineCheckbox = NULL;
- m_leftOutlineWidth = NULL;
- m_leftOutlineWidthUnits = NULL;
- m_leftOutlineStyle = NULL;
- m_leftOutlineColour = NULL;
- m_rightOutlineCheckbox = NULL;
- m_rightOutlineWidth = NULL;
- m_rightOutlineWidthUnits = NULL;
- m_rightOutlineStyle = NULL;
- m_rightOutlineColour = NULL;
- m_topOutlineCheckbox = NULL;
- m_topOutlineWidth = NULL;
- m_topOutlineWidthUnits = NULL;
- m_topOutlineStyle = NULL;
- m_topOutlineColour = NULL;
- m_bottomOutlineCheckbox = NULL;
- m_bottomOutlineWidth = NULL;
- m_bottomOutlineWidthUnits = NULL;
- m_bottomOutlineStyle = NULL;
- m_bottomOutlineColour = NULL;
- m_borderPreviewCtrl = NULL;
- ////@end wxRichTextBordersPage member initialisation
- }
- /*!
- * Control creation for wxRichTextBordersPage
- */
- void wxRichTextBordersPage::CreateControls()
- {
- ////@begin wxRichTextBordersPage content construction
- wxRichTextBordersPage* itemRichTextDialogPage1 = this;
- wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
- itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
- wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
- itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
- wxNotebook* itemNotebook4 = new wxNotebook( itemRichTextDialogPage1, ID_RICHTEXTBORDERSPAGE_NOTEBOOK, wxDefaultPosition, wxDefaultSize, wxBK_DEFAULT );
- wxPanel* itemPanel5 = new wxPanel( itemNotebook4, ID_RICHTEXTBORDERSPAGE_BORDERS, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- itemPanel5->SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
- wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxVERTICAL);
- itemPanel5->SetSizer(itemBoxSizer6);
- wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxVERTICAL);
- itemBoxSizer6->Add(itemBoxSizer7, 0, wxGROW|wxALL, 5);
- wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxHORIZONTAL);
- itemBoxSizer7->Add(itemBoxSizer8, 0, wxGROW, 5);
- wxStaticText* itemStaticText9 = new wxStaticText( itemPanel5, wxID_STATIC, _("Border"), wxDefaultPosition, wxDefaultSize, 0 );
- itemStaticText9->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("")));
- itemBoxSizer8->Add(itemStaticText9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxStaticLine* itemStaticLine10 = new wxStaticLine( itemPanel5, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- itemBoxSizer8->Add(itemStaticLine10, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
- itemBoxSizer7->Add(itemBoxSizer11, 0, wxGROW, 5);
- itemBoxSizer11->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxFlexGridSizer* itemFlexGridSizer13 = new wxFlexGridSizer(0, 2, 0, 0);
- itemBoxSizer11->Add(itemFlexGridSizer13, 0, wxGROW, 5);
- m_leftBorderCheckbox = new wxCheckBox( itemPanel5, ID_RICHTEXT_BORDER_LEFT_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_leftBorderCheckbox->SetValue(false);
- itemFlexGridSizer13->Add(m_leftBorderCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer15 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer13->Add(itemBoxSizer15, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_leftBorderWidth = new wxTextCtrl( itemPanel5, ID_RICHTEXT_BORDER_LEFT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer15->Add(m_leftBorderWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_leftBorderWidthUnitsStrings;
- m_leftBorderWidthUnitsStrings.Add(_("px"));
- m_leftBorderWidthUnitsStrings.Add(_("cm"));
- m_leftBorderWidthUnits = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_LEFT_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_leftBorderWidthUnitsStrings, wxCB_READONLY );
- m_leftBorderWidthUnits->SetStringSelection(_("px"));
- m_leftBorderWidthUnits->SetHelpText(_("Units for the left border width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_leftBorderWidthUnits->SetToolTip(_("Units for the left border width."));
- itemBoxSizer15->Add(m_leftBorderWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer15->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_leftBorderStyleStrings;
- m_leftBorderStyle = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_LEFT_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_leftBorderStyleStrings, wxCB_READONLY );
- itemBoxSizer15->Add(m_leftBorderStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer15->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_leftBorderColour = new wxRichTextColourSwatchCtrl( itemPanel5, ID_RICHTEXT_BORDER_LEFT_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer15->Add(m_leftBorderColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- m_rightBorderCheckbox = new wxCheckBox( itemPanel5, ID_RICHTEXT_BORDER_RIGHT_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_rightBorderCheckbox->SetValue(false);
- itemFlexGridSizer13->Add(m_rightBorderCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer23 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer13->Add(itemBoxSizer23, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_rightBorderWidth = new wxTextCtrl( itemPanel5, ID_RICHTEXT_BORDER_RIGHT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer23->Add(m_rightBorderWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_rightBorderWidthUnitsStrings;
- m_rightBorderWidthUnitsStrings.Add(_("px"));
- m_rightBorderWidthUnitsStrings.Add(_("cm"));
- m_rightBorderWidthUnits = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_RIGHT_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_rightBorderWidthUnitsStrings, wxCB_READONLY );
- m_rightBorderWidthUnits->SetStringSelection(_("px"));
- m_rightBorderWidthUnits->SetHelpText(_("Units for the right border width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_rightBorderWidthUnits->SetToolTip(_("Units for the right border width."));
- itemBoxSizer23->Add(m_rightBorderWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer23->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_rightBorderStyleStrings;
- m_rightBorderStyle = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_RIGHT_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_rightBorderStyleStrings, wxCB_READONLY );
- itemBoxSizer23->Add(m_rightBorderStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer23->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_rightBorderColour = new wxRichTextColourSwatchCtrl( itemPanel5, ID_RICHTEXT_BORDER_RIGHT_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer23->Add(m_rightBorderColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- m_topBorderCheckbox = new wxCheckBox( itemPanel5, ID_RICHTEXT_BORDER_TOP_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_topBorderCheckbox->SetValue(false);
- itemFlexGridSizer13->Add(m_topBorderCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer31 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer13->Add(itemBoxSizer31, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_topBorderWidth = new wxTextCtrl( itemPanel5, ID_RICHTEXT_BORDER_TOP, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer31->Add(m_topBorderWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_topBorderWidthUnitsStrings;
- m_topBorderWidthUnitsStrings.Add(_("px"));
- m_topBorderWidthUnitsStrings.Add(_("cm"));
- m_topBorderWidthUnits = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_TOP_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_topBorderWidthUnitsStrings, wxCB_READONLY );
- m_topBorderWidthUnits->SetStringSelection(_("px"));
- m_topBorderWidthUnits->SetHelpText(_("Units for the top border width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_topBorderWidthUnits->SetToolTip(_("Units for the top border width."));
- itemBoxSizer31->Add(m_topBorderWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer31->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_topBorderStyleStrings;
- m_topBorderStyle = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_TOP_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_topBorderStyleStrings, wxCB_READONLY );
- itemBoxSizer31->Add(m_topBorderStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer31->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_topBorderColour = new wxRichTextColourSwatchCtrl( itemPanel5, ID_RICHTEXT_BORDER_TOP_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer31->Add(m_topBorderColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- m_bottomBorderCheckbox = new wxCheckBox( itemPanel5, ID_RICHTEXT_BORDER_BOTTOM_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_bottomBorderCheckbox->SetValue(false);
- itemFlexGridSizer13->Add(m_bottomBorderCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer39 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer13->Add(itemBoxSizer39, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_bottomBorderWidth = new wxTextCtrl( itemPanel5, ID_RICHTEXT_BORDER_BOTTOM, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer39->Add(m_bottomBorderWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_bottomBorderWidthUnitsStrings;
- m_bottomBorderWidthUnitsStrings.Add(_("px"));
- m_bottomBorderWidthUnitsStrings.Add(_("cm"));
- m_bottomBorderWidthUnits = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_BOTTOM_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_bottomBorderWidthUnitsStrings, wxCB_READONLY );
- m_bottomBorderWidthUnits->SetStringSelection(_("px"));
- m_bottomBorderWidthUnits->SetHelpText(_("Units for the bottom border width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_bottomBorderWidthUnits->SetToolTip(_("Units for the bottom border width."));
- itemBoxSizer39->Add(m_bottomBorderWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer39->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_bottomBorderStyleStrings;
- m_bottomBorderStyle = new wxComboBox( itemPanel5, ID_RICHTEXT_BORDER_BOTTOM_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_bottomBorderStyleStrings, wxCB_READONLY );
- itemBoxSizer39->Add(m_bottomBorderStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer39->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_bottomBorderColour = new wxRichTextColourSwatchCtrl( itemPanel5, ID_RICHTEXT_BORDER_BOTTOM_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer39->Add(m_bottomBorderColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemNotebook4->AddPage(itemPanel5, _("Border"));
- wxPanel* itemPanel46 = new wxPanel( itemNotebook4, ID_RICHTEXTBORDERSPAGE_OUTLINE, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL );
- itemPanel46->SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
- wxBoxSizer* itemBoxSizer47 = new wxBoxSizer(wxVERTICAL);
- itemPanel46->SetSizer(itemBoxSizer47);
- wxBoxSizer* itemBoxSizer48 = new wxBoxSizer(wxVERTICAL);
- itemBoxSizer47->Add(itemBoxSizer48, 0, wxGROW|wxALL, 5);
- wxBoxSizer* itemBoxSizer49 = new wxBoxSizer(wxHORIZONTAL);
- itemBoxSizer48->Add(itemBoxSizer49, 0, wxGROW, 5);
- wxStaticText* itemStaticText50 = new wxStaticText( itemPanel46, wxID_STATIC, _("Outline"), wxDefaultPosition, wxDefaultSize, 0 );
- itemStaticText50->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("")));
- itemBoxSizer49->Add(itemStaticText50, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxStaticLine* itemStaticLine51 = new wxStaticLine( itemPanel46, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- itemBoxSizer49->Add(itemStaticLine51, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer52 = new wxBoxSizer(wxHORIZONTAL);
- itemBoxSizer48->Add(itemBoxSizer52, 0, wxGROW, 5);
- itemBoxSizer52->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxFlexGridSizer* itemFlexGridSizer54 = new wxFlexGridSizer(0, 2, 0, 0);
- itemBoxSizer52->Add(itemFlexGridSizer54, 0, wxGROW, 5);
- m_leftOutlineCheckbox = new wxCheckBox( itemPanel46, ID_RICHTEXT_OUTLINE_LEFT_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_leftOutlineCheckbox->SetValue(false);
- itemFlexGridSizer54->Add(m_leftOutlineCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer56 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer54->Add(itemBoxSizer56, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_leftOutlineWidth = new wxTextCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_LEFT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer56->Add(m_leftOutlineWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_leftOutlineWidthUnitsStrings;
- m_leftOutlineWidthUnitsStrings.Add(_("px"));
- m_leftOutlineWidthUnitsStrings.Add(_("cm"));
- m_leftOutlineWidthUnits = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_LEFT_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_leftOutlineWidthUnitsStrings, wxCB_READONLY );
- m_leftOutlineWidthUnits->SetStringSelection(_("px"));
- m_leftOutlineWidthUnits->SetHelpText(_("Units for the left outline width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_leftOutlineWidthUnits->SetToolTip(_("Units for the left outline width."));
- itemBoxSizer56->Add(m_leftOutlineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer56->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_leftOutlineStyleStrings;
- m_leftOutlineStyle = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_LEFT_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_leftOutlineStyleStrings, wxCB_READONLY );
- itemBoxSizer56->Add(m_leftOutlineStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer56->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_leftOutlineColour = new wxRichTextColourSwatchCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_LEFT_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer56->Add(m_leftOutlineColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- m_rightOutlineCheckbox = new wxCheckBox( itemPanel46, ID_RICHTEXT_OUTLINE_RIGHT_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_rightOutlineCheckbox->SetValue(false);
- itemFlexGridSizer54->Add(m_rightOutlineCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer64 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer54->Add(itemBoxSizer64, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_rightOutlineWidth = new wxTextCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_RIGHT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer64->Add(m_rightOutlineWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_rightOutlineWidthUnitsStrings;
- m_rightOutlineWidthUnitsStrings.Add(_("px"));
- m_rightOutlineWidthUnitsStrings.Add(_("cm"));
- m_rightOutlineWidthUnits = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_RIGHT_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_rightOutlineWidthUnitsStrings, wxCB_READONLY );
- m_rightOutlineWidthUnits->SetStringSelection(_("px"));
- m_rightOutlineWidthUnits->SetHelpText(_("Units for the right outline width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_rightOutlineWidthUnits->SetToolTip(_("Units for the right outline width."));
- itemBoxSizer64->Add(m_rightOutlineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer64->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_rightOutlineStyleStrings;
- m_rightOutlineStyle = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_RIGHT_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_rightOutlineStyleStrings, wxCB_READONLY );
- itemBoxSizer64->Add(m_rightOutlineStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer64->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_rightOutlineColour = new wxRichTextColourSwatchCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_RIGHT_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer64->Add(m_rightOutlineColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- m_topOutlineCheckbox = new wxCheckBox( itemPanel46, ID_RICHTEXT_OUTLINE_TOP_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_topOutlineCheckbox->SetValue(false);
- itemFlexGridSizer54->Add(m_topOutlineCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer72 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer54->Add(itemBoxSizer72, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_topOutlineWidth = new wxTextCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_TOP, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer72->Add(m_topOutlineWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_topOutlineWidthUnitsStrings;
- m_topOutlineWidthUnitsStrings.Add(_("px"));
- m_topOutlineWidthUnitsStrings.Add(_("cm"));
- m_topOutlineWidthUnits = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_TOP_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_topOutlineWidthUnitsStrings, wxCB_READONLY );
- m_topOutlineWidthUnits->SetStringSelection(_("px"));
- m_topOutlineWidthUnits->SetHelpText(_("Units for the top outline width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_topOutlineWidthUnits->SetToolTip(_("Units for the top outline width."));
- itemBoxSizer72->Add(m_topOutlineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer72->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_topOutlineStyleStrings;
- m_topOutlineStyle = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_TOP_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_topOutlineStyleStrings, wxCB_READONLY );
- itemBoxSizer72->Add(m_topOutlineStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer72->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_topOutlineColour = new wxRichTextColourSwatchCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_TOP_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer72->Add(m_topOutlineColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- m_bottomOutlineCheckbox = new wxCheckBox( itemPanel46, ID_RICHTEXT_OUTLINE_BOTTOM_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
- m_bottomOutlineCheckbox->SetValue(false);
- itemFlexGridSizer54->Add(m_bottomOutlineCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
- wxBoxSizer* itemBoxSizer80 = new wxBoxSizer(wxHORIZONTAL);
- itemFlexGridSizer54->Add(itemBoxSizer80, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_bottomOutlineWidth = new wxTextCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_BOTTOM, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
- itemBoxSizer80->Add(m_bottomOutlineWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
- wxArrayString m_bottomOutlineWidthUnitsStrings;
- m_bottomOutlineWidthUnitsStrings.Add(_("px"));
- m_bottomOutlineWidthUnitsStrings.Add(_("cm"));
- m_bottomOutlineWidthUnits = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_BOTTOM_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_bottomOutlineWidthUnitsStrings, wxCB_READONLY );
- m_bottomOutlineWidthUnits->SetStringSelection(_("px"));
- m_bottomOutlineWidthUnits->SetHelpText(_("Units for the bottom outline width."));
- if (wxRichTextBordersPage::ShowToolTips())
- m_bottomOutlineWidthUnits->SetToolTip(_("Units for the bottom outline width."));
- itemBoxSizer80->Add(m_bottomOutlineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer80->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- wxArrayString m_bottomOutlineStyleStrings;
- m_bottomOutlineStyle = new wxComboBox( itemPanel46, ID_RICHTEXT_OUTLINE_BOTTOM_STYLE, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_bottomOutlineStyleStrings, wxCB_READONLY );
- itemBoxSizer80->Add(m_bottomOutlineStyle, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemBoxSizer80->Add(2, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2);
- m_bottomOutlineColour = new wxRichTextColourSwatchCtrl( itemPanel46, ID_RICHTEXT_OUTLINE_BOTTOM_COLOUR, wxDefaultPosition, wxSize(40, 20), wxBORDER_THEME );
- itemBoxSizer80->Add(m_bottomOutlineColour, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
- itemNotebook4->AddPage(itemPanel46, _("Outline"));
- itemBoxSizer3->Add(itemNotebook4, 0, wxGROW|wxALL, 5);
- m_borderPreviewCtrl = new wxRichTextBorderPreviewCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BORDER_PREVIEW, wxDefaultPosition, wxSize(60, 60), wxBORDER_THEME );
- itemBoxSizer3->Add(m_borderPreviewCtrl, 1, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
- ////@end wxRichTextBordersPage content construction
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_NONE); m_borderStyleNames.Add(_("None"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_SOLID); m_borderStyleNames.Add(_("Solid"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_DOTTED); m_borderStyleNames.Add(_("Dotted"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_DASHED); m_borderStyleNames.Add(_("Dashed"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_DOUBLE); m_borderStyleNames.Add(_("Double"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_GROOVE); m_borderStyleNames.Add(_("Groove"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_RIDGE); m_borderStyleNames.Add(_("Ridge"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_INSET); m_borderStyleNames.Add(_("Inset"));
- m_borderStyles.Add(wxTEXT_BOX_ATTR_BORDER_OUTSET); m_borderStyleNames.Add(_("Outset"));
- m_ignoreUpdates = true;
- FillStyleComboBox(m_leftBorderStyle);
- FillStyleComboBox(m_rightBorderStyle);
- FillStyleComboBox(m_topBorderStyle);
- FillStyleComboBox(m_bottomBorderStyle);
-
- FillStyleComboBox(m_leftOutlineStyle);
- FillStyleComboBox(m_rightOutlineStyle);
- FillStyleComboBox(m_topOutlineStyle);
- FillStyleComboBox(m_bottomOutlineStyle);
-
- m_borderPreviewCtrl->SetAttributes(GetAttributes());
- m_ignoreUpdates = false;
- }
- /*!
- * Should we show tooltips?
- */
- bool wxRichTextBordersPage::ShowToolTips()
- {
- return true;
- }
- // Updates the preview
- void wxRichTextBordersPage::OnCommand(wxCommandEvent& event)
- {
- event.Skip();
- if (m_ignoreUpdates)
- return;
- if (m_borderPreviewCtrl)
- {
- TransferDataFromWindow();
- m_borderPreviewCtrl->Refresh();
- }
- }
- wxRichTextAttr* wxRichTextBordersPage::GetAttributes()
- {
- return wxRichTextFormattingDialog::GetDialogAttributes(this);
- }
- // Fill style combo
- void wxRichTextBordersPage::FillStyleComboBox(wxComboBox* styleComboBox)
- {
- styleComboBox->Freeze();
- styleComboBox->Append(m_borderStyleNames);
- styleComboBox->Thaw();
- }
- bool wxRichTextBordersPage::TransferDataToWindow()
- {
- m_ignoreUpdates = true;
- // Border
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetLeft(), m_leftBorderWidth, m_leftBorderWidthUnits, m_leftBorderCheckbox, m_leftBorderStyle, m_leftBorderColour, m_borderStyles);
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetRight(), m_rightBorderWidth, m_rightBorderWidthUnits, m_rightBorderCheckbox, m_rightBorderStyle, m_rightBorderColour, m_borderStyles);
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetTop(), m_topBorderWidth, m_topBorderWidthUnits, m_topBorderCheckbox, m_topBorderStyle, m_topBorderColour, m_borderStyles);
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetBottom(), m_bottomBorderWidth, m_bottomBorderWidthUnits, m_bottomBorderCheckbox, m_bottomBorderStyle, m_bottomBorderColour, m_borderStyles);
- // Outline
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetLeft(), m_leftOutlineWidth, m_leftOutlineWidthUnits, m_leftOutlineCheckbox, m_leftOutlineStyle, m_leftOutlineColour, m_borderStyles);
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetRight(), m_rightOutlineWidth, m_rightOutlineWidthUnits, m_rightOutlineCheckbox, m_rightOutlineStyle, m_rightOutlineColour, m_borderStyles);
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetTop(), m_topOutlineWidth, m_topOutlineWidthUnits, m_topOutlineCheckbox, m_topOutlineStyle, m_topOutlineColour, m_borderStyles);
- SetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetBottom(), m_bottomOutlineWidth, m_bottomOutlineWidthUnits, m_bottomOutlineCheckbox, m_bottomOutlineStyle, m_bottomOutlineColour, m_borderStyles);
- m_ignoreUpdates = false;
- return true;
- }
- bool wxRichTextBordersPage::TransferDataFromWindow()
- {
- // Border
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetLeft(), m_leftBorderWidth, m_leftBorderWidthUnits, m_leftBorderCheckbox, m_leftBorderStyle, m_leftBorderColour, m_borderStyles);
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetRight(), m_rightBorderWidth, m_rightBorderWidthUnits, m_rightBorderCheckbox, m_rightBorderStyle, m_rightBorderColour, m_borderStyles);
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetTop(), m_topBorderWidth, m_topBorderWidthUnits, m_topBorderCheckbox, m_topBorderStyle, m_topBorderColour, m_borderStyles);
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetBorder().GetBottom(), m_bottomBorderWidth, m_bottomBorderWidthUnits, m_bottomBorderCheckbox, m_bottomBorderStyle, m_bottomBorderColour, m_borderStyles);
- // Outline
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetLeft(), m_leftOutlineWidth, m_leftOutlineWidthUnits, m_leftOutlineCheckbox, m_leftOutlineStyle, m_leftOutlineColour, m_borderStyles);
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetRight(), m_rightOutlineWidth, m_rightOutlineWidthUnits, m_rightOutlineCheckbox, m_rightOutlineStyle, m_rightOutlineColour, m_borderStyles);
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetTop(), m_topOutlineWidth, m_topOutlineWidthUnits, m_topOutlineCheckbox, m_topOutlineStyle, m_topOutlineColour, m_borderStyles);
- GetBorderValue(GetAttributes()->GetTextBoxAttr().GetOutline().GetBottom(), m_bottomOutlineWidth, m_bottomOutlineWidthUnits, m_bottomOutlineCheckbox, m_bottomOutlineStyle, m_bottomOutlineColour, m_borderStyles);
- return true;
- }
- // Set the border controls
- void wxRichTextBordersPage::SetBorderValue(wxTextAttrBorder& border, /* wxTextAttrBorder& borderToReset, */ wxTextCtrl* widthValueCtrl, wxComboBox* widthUnitsCtrl, wxCheckBox* checkBox,
- wxComboBox* styleCtrl, wxRichTextColourSwatchCtrl* colourCtrl, const wxArrayInt& borderStyles)
- {
- if (!border.IsValid())
- {
- checkBox->Set3StateValue(wxCHK_UNDETERMINED);
- widthValueCtrl->SetValue(wxT("1"));
- widthUnitsCtrl->SetSelection(0);
- colourCtrl->SetColour(*wxBLACK);
- styleCtrl->SetSelection(0);
- }
- else
- {
- wxRichTextFormattingDialog::SetDimensionValue(border.GetWidth(), widthValueCtrl, widthUnitsCtrl, checkBox);
- int sel = borderStyles.Index(border.GetStyle());
- if (sel == -1)
- sel = 1;
- styleCtrl->SetSelection(sel);
- colourCtrl->SetColour(border.GetColour());
-
- if (sel == 0)
- checkBox->Set3StateValue(wxCHK_UNCHECKED);
- else
- checkBox->Set3StateValue(wxCHK_CHECKED);
- }
- }
- // Get data from the border controls
- void wxRichTextBordersPage::GetBorderValue(wxTextAttrBorder& border, /* wxTextAttrBorder& borderToReset, */ wxTextCtrl* widthValueCtrl, wxComboBox* widthUnitsCtrl, wxCheckBox* checkBox,
- wxComboBox* styleCtrl, wxRichTextColourSwatchCtrl* colourCtrl, const wxArrayInt& borderStyles)
- {
- wxRichTextFormattingDialog::GetDimensionValue(border.GetWidth(), widthValueCtrl, widthUnitsCtrl, checkBox);
- int sel = styleCtrl->GetSelection();
- border.SetColour(colourCtrl->GetColour());
- if (checkBox->Get3StateValue() == wxCHK_UNDETERMINED)
- {
- // When we apply the attributes, we won't apply this one, to leave the original unchanged.
- border.Reset();
- // borderToReset.Reset();
- }
- else if (checkBox->Get3StateValue() == wxCHK_UNCHECKED)
- {
- // We make a note to reset this attribute.
- // borderToReset.GetWidth().MakeValid();
- border.SetStyle(wxTEXT_BOX_ATTR_BORDER_NONE);
- }
- else
- {
- // borderToReset.Reset(); // Don't reset this, in case we were going to previously.
- if (sel != -1)
- border.SetStyle(borderStyles[sel]);
- }
- }
- /*!
- * Get bitmap resources
- */
- wxBitmap wxRichTextBordersPage::GetBitmapResource( const wxString& name )
- {
- // Bitmap retrieval
- ////@begin wxRichTextBordersPage bitmap retrieval
- wxUnusedVar(name);
- return wxNullBitmap;
- ////@end wxRichTextBordersPage bitmap retrieval
- }
- /*!
- * Get icon resources
- */
- wxIcon wxRichTextBordersPage::GetIconResource( const wxString& name )
- {
- // Icon retrieval
- ////@begin wxRichTextBordersPage icon retrieval
- wxUnusedVar(name);
- return wxNullIcon;
- ////@end wxRichTextBordersPage icon retrieval
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_LEFT
- */
- void wxRichTextBordersPage::OnRichtextBorderLeftUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_leftBorderCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_RIGHT
- */
- void wxRichTextBordersPage::OnRichtextBorderRightUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_rightBorderCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_TOP
- */
- void wxRichTextBordersPage::OnRichtextBorderTopUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_topBorderCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_BOTTOM
- */
- void wxRichTextBordersPage::OnRichtextBorderBottomUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_bottomBorderCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_LEFT
- */
- void wxRichTextBordersPage::OnRichtextOutlineLeftUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_leftOutlineCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_RIGHT
- */
- void wxRichTextBordersPage::OnRichtextOutlineRightUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_rightOutlineCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_TOP
- */
- void wxRichTextBordersPage::OnRichtextOutlineTopUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_topOutlineCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_BOTTOM
- */
- void wxRichTextBordersPage::OnRichtextOutlineBottomUpdate( wxUpdateUIEvent& event )
- {
- event.Enable(m_bottomOutlineCheckbox->Get3StateValue() == wxCHK_CHECKED);
- }
- /*!
- * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXT_BORDER_LEFT_CHECKBOX
- */
- void wxRichTextBordersPage::OnRichtextBorderCheckboxClick( wxCommandEvent& event )
- {
- if (m_ignoreUpdates)
- return;
- m_ignoreUpdates = true;
- wxCheckBox* checkBox = NULL;
- wxComboBox* comboBox = NULL;
- if (event.GetId() == ID_RICHTEXT_OUTLINE_LEFT_CHECKBOX)
- {
- checkBox = m_leftOutlineCheckbox;
- comboBox = m_leftOutlineStyle;
- }
- else if (event.GetId() == ID_RICHTEXT_OUTLINE_TOP_CHECKBOX)
- {
- checkBox = m_topOutlineCheckbox;
- comboBox = m_topOutlineStyle;
- }
- else if (event.GetId() == ID_RICHTEXT_OUTLINE_RIGHT_CHECKBOX)
- {
- checkBox = m_rightOutlineCheckbox;
- comboBox = m_rightOutlineStyle;
- }
- else if (event.GetId() == ID_RICHTEXT_OUTLINE_BOTTOM_CHECKBOX)
- {
- checkBox = m_bottomOutlineCheckbox;
- comboBox = m_bottomOutlineStyle;
- }
- else if (event.GetId() == ID_RICHTEXT_BORDER_LEFT_CHECKBOX)
- {
- checkBox = m_leftBorderCheckbox;
- comboBox = m_leftBorderStyle;
- }
- else if (event.GetId() == ID_RICHTEXT_BORDER_TOP_CHECKBOX)
- {
- checkBox = m_topBorderCheckbox;
- comboBox = m_topBorderStyle;
- }
- else if (event.GetId() == ID_RICHTEXT_BORDER_RIGHT_CHECKBOX)
- {
- checkBox = m_rightBorderCheckbox;
- comboBox = m_rightBorderStyle;
- }
- else if (event.GetId() == ID_RICHTEXT_BORDER_BOTTOM_CHECKBOX)
- {
- checkBox = m_bottomBorderCheckbox;
- comboBox = m_bottomBorderStyle;
- }
-
- if (checkBox && comboBox)
- {
- if (checkBox->Get3StateValue() == wxCHK_UNCHECKED || checkBox->Get3StateValue() == wxCHK_UNDETERMINED)
- comboBox->SetSelection(0);
- else
- comboBox->SetSelection(1);
-
- TransferDataFromWindow();
- m_borderPreviewCtrl->Refresh();
- }
- m_ignoreUpdates = false;
- }
- BEGIN_EVENT_TABLE(wxRichTextBorderPreviewCtrl, wxWindow)
- EVT_PAINT(wxRichTextBorderPreviewCtrl::OnPaint)
- END_EVENT_TABLE()
- wxRichTextBorderPreviewCtrl::wxRichTextBorderPreviewCtrl(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& sz, long style)
- {
- if ((style & wxBORDER_MASK) == wxBORDER_DEFAULT)
- style |= wxBORDER_THEME;
- m_attributes = NULL;
- wxWindow::Create(parent, id, pos, sz, style);
- SetBackgroundColour(*wxWHITE);
- }
- void wxRichTextBorderPreviewCtrl::OnPaint(wxPaintEvent& WXUNUSED(event))
- {
- wxPaintDC dc(this);
- if (m_attributes)
- {
- wxRect rect = GetClientRect();
-
- int margin = 10;
- rect.x += margin;
- rect.y += margin;
- rect.width -= 2*margin;
- rect.height -= 2*margin;
-
- wxRichTextObject::DrawBorder(dc, NULL, m_attributes->GetTextBoxAttr().GetOutline(), rect);
- rect.x += margin;
- rect.y += margin;
- rect.width -= 2*margin;
- rect.height -= 2*margin;
-
- wxRichTextObject::DrawBorder(dc, NULL, m_attributes->GetTextBoxAttr().GetBorder(), rect);
- }
- }