X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/303f0be79e904523d3b2e912ab1a5c7ab812d2b6..ad653fa23069c5d9378247084f03c9a718c3ad62:/src/richtext/richtextsizepage.cpp?ds=sidebyside diff --git a/src/richtext/richtextsizepage.cpp b/src/richtext/richtextsizepage.cpp index 65281d9cf9..22c1e9eb62 100644 --- a/src/richtext/richtextsizepage.cpp +++ b/src/richtext/richtextsizepage.cpp @@ -29,46 +29,45 @@ IMPLEMENT_DYNAMIC_CLASS( wxRichTextSizePage, wxRichTextDialogPage ) BEGIN_EVENT_TABLE( wxRichTextSizePage, wxRichTextDialogPage ) ////@begin wxRichTextSizePage event table entries + EVT_UPDATE_UI( ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX, wxRichTextSizePage::OnRichtextVerticalAlignmentComboboxUpdate ) EVT_UPDATE_UI( ID_RICHTEXT_WIDTH, wxRichTextSizePage::OnRichtextWidthUpdate ) - - EVT_UPDATE_UI( ID_RICHTEXT_UNITS_W, wxRichTextSizePage::OnRichtextWidthUpdate ) - + EVT_UPDATE_UI( ID_RICHTEXT_UNITS_W, wxRichTextSizePage::OnRichtextWidthUnitsUpdate ) EVT_UPDATE_UI( ID_RICHTEXT_HEIGHT, wxRichTextSizePage::OnRichtextHeightUpdate ) - - EVT_UPDATE_UI( ID_RICHTEXT_UNITS_H, wxRichTextSizePage::OnRichtextHeightUpdate ) - + EVT_UPDATE_UI( ID_RICHTEXT_UNITS_H, wxRichTextSizePage::OnRichtextHeightUnitsUpdate ) EVT_UPDATE_UI( ID_RICHTEXT_MIN_WIDTH, wxRichTextSizePage::OnRichtextMinWidthUpdate ) - EVT_UPDATE_UI( ID_RICHTEXT_UNITS_MIN_W, wxRichTextSizePage::OnRichtextMinWidthUpdate ) - EVT_UPDATE_UI( ID_RICHTEXT_MIN_HEIGHT, wxRichTextSizePage::OnRichtextMinHeightUpdate ) - EVT_UPDATE_UI( ID_RICHTEXT_UNITS_MIN_H, wxRichTextSizePage::OnRichtextMinHeightUpdate ) - EVT_UPDATE_UI( ID_RICHTEXT_MAX_WIDTH, wxRichTextSizePage::OnRichtextMaxWidthUpdate ) - EVT_UPDATE_UI( ID_RICHTEXT_UNITS_MAX_W, wxRichTextSizePage::OnRichtextMaxWidthUpdate ) - EVT_UPDATE_UI( ID_RICHTEXT_MAX_HEIGHT, wxRichTextSizePage::OnRichtextMaxHeightUpdate ) - EVT_UPDATE_UI( ID_RICHTEXT_UNITS_MAX_H, wxRichTextSizePage::OnRichtextMaxHeightUpdate ) - - EVT_UPDATE_UI( ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX, wxRichTextSizePage::OnRichtextVerticalAlignmentComboboxUpdate ) - - EVT_UPDATE_UI( ID_RICHTEXT_OFFSET, wxRichTextSizePage::OnRichtextOffsetUpdate ) - - EVT_UPDATE_UI( ID_RICHTEXT_OFFSET_UNITS, wxRichTextSizePage::OnRichtextOffsetUpdate ) - + EVT_UPDATE_UI( ID_RICHTEXT_LEFT, wxRichTextSizePage::OnRichtextLeftUpdate ) + EVT_UPDATE_UI( ID_RICHTEXT_LEFT_UNITS, wxRichTextSizePage::OnRichtextLeftUnitsUpdate ) + EVT_UPDATE_UI( ID_RICHTEXT_TOP, wxRichTextSizePage::OnRichtextTopUpdate ) + EVT_UPDATE_UI( ID_RICHTEXT_TOP_UNITS, wxRichTextSizePage::OnRichtextTopUnitsUpdate ) + EVT_UPDATE_UI( ID_RICHTEXT_RIGHT, wxRichTextSizePage::OnRichtextRightUpdate ) + EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_UNITS, wxRichTextSizePage::OnRichtextRightUnitsUpdate ) + EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM, wxRichTextSizePage::OnRichtextBottomUpdate ) + EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_UNITS, wxRichTextSizePage::OnRichtextBottomUnitsUpdate ) EVT_BUTTON( ID_RICHTEXT_PARA_UP, wxRichTextSizePage::OnRichtextParaUpClick ) - EVT_BUTTON( ID_RICHTEXT_PARA_DOWN, wxRichTextSizePage::OnRichtextParaDownClick ) - ////@end wxRichTextSizePage event table entries END_EVENT_TABLE() IMPLEMENT_HELP_PROVISION(wxRichTextSizePage) +bool wxRichTextSizePage::sm_showFloatingControls = true; +bool wxRichTextSizePage::sm_showMinMaxSizeControls = true; +bool wxRichTextSizePage::sm_showPositionControls = true; +bool wxRichTextSizePage::sm_showPositionModeControls = true; +bool wxRichTextSizePage::sm_showRightBottomPositionControls = true; +bool wxRichTextSizePage::sm_showAlignmentControls = true; +bool wxRichTextSizePage::sm_showFloatingAndAlignmentControls = true; +bool wxRichTextSizePage::sm_enablePositionAndSizeUnits = true; +bool wxRichTextSizePage::sm_enablePositionAndSizeCheckboxes = true; + /*! * wxRichTextSizePage constructors */ @@ -111,6 +110,16 @@ bool wxRichTextSizePage::Create( wxWindow* parent, wxWindowID id, const wxPoint& wxRichTextSizePage::~wxRichTextSizePage() { + sm_showFloatingControls = true; + sm_showPositionControls = true; + sm_showPositionModeControls = true; + sm_showRightBottomPositionControls = true; + sm_showAlignmentControls = true; + sm_showFloatingAndAlignmentControls = true; + sm_showMinMaxSizeControls = true; + sm_showMinMaxSizeControls = true; + sm_enablePositionAndSizeCheckboxes = true; + ////@begin wxRichTextSizePage destruction ////@end wxRichTextSizePage destruction } @@ -123,35 +132,68 @@ wxRichTextSizePage::~wxRichTextSizePage() void wxRichTextSizePage::Init() { ////@begin wxRichTextSizePage member initialisation + m_positionMode = 0; m_parentSizer = NULL; - m_floatingControls = NULL; + m_floatingAlignmentSizer = NULL; + m_floatingSizer = NULL; m_float = NULL; + m_alignmentSizer = NULL; + m_verticalAlignmentCheckbox = NULL; + m_verticalAlignmentComboBox = NULL; + m_sizeSizer = NULL; + m_widthSizer = NULL; m_widthCheckbox = NULL; + m_widthLabel = NULL; m_width = NULL; m_unitsW = NULL; + m_heightSizer = NULL; m_heightCheckbox = NULL; + m_heightLabel = NULL; m_height = NULL; m_unitsH = NULL; m_minWidthCheckbox = NULL; + m_minWidthSizer = NULL; m_minWidth = NULL; m_unitsMinW = NULL; m_minHeightCheckbox = NULL; + m_minHeightSizer = NULL; m_minHeight = NULL; m_unitsMinH = NULL; m_maxWidthCheckbox = NULL; + m_maxWidthSizer = NULL; m_maxWidth = NULL; m_unitsMaxW = NULL; m_maxHeightCheckbox = NULL; + m_maxHeightSizer = NULL; m_maxHeight = NULL; m_unitsMaxH = NULL; - m_alignmentControls = NULL; - m_verticalAlignmentCheckbox = NULL; - m_verticalAlignmentComboBox = NULL; m_positionControls = NULL; m_moveObjectParentSizer = NULL; - m_offsetYCheckbox = NULL; - m_offset = NULL; - m_unitsOffset = NULL; + m_positionModeSizer = NULL; + m_positionModeCtrl = NULL; + m_positionGridSizer = NULL; + m_leftSizer = NULL; + m_positionLeftCheckbox = NULL; + m_leftLabel = NULL; + m_left = NULL; + m_unitsLeft = NULL; + m_topSizer = NULL; + m_positionTopCheckbox = NULL; + m_topLabel = NULL; + m_top = NULL; + m_unitsTop = NULL; + m_rightSizer = NULL; + m_positionRightCheckbox = NULL; + m_rightLabel = NULL; + m_rightPositionSizer = NULL; + m_right = NULL; + m_unitsRight = NULL; + m_bottomSizer = NULL; + m_positionBottomCheckbox = NULL; + m_bottomLabel = NULL; + m_bottomPositionSizer = NULL; + m_bottom = NULL; + m_unitsBottom = NULL; m_moveObjectSizer = NULL; ////@end wxRichTextSizePage member initialisation } @@ -172,74 +214,122 @@ void wxRichTextSizePage::CreateControls() m_parentSizer = new wxBoxSizer(wxVERTICAL); itemBoxSizer2->Add(m_parentSizer, 0, wxGROW|wxALL, 5); - m_floatingControls = new wxBoxSizer(wxVERTICAL); - m_parentSizer->Add(m_floatingControls, 0, wxGROW, 5); + m_floatingAlignmentSizer = new wxBoxSizer(wxHORIZONTAL); + m_parentSizer->Add(m_floatingAlignmentSizer, 0, wxGROW, 5); - wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxHORIZONTAL); - m_floatingControls->Add(itemBoxSizer5, 0, wxGROW, 5); + m_floatingSizer = new wxBoxSizer(wxVERTICAL); + m_floatingAlignmentSizer->Add(m_floatingSizer, 0, wxALIGN_CENTER_VERTICAL, 5); - wxStaticText* itemStaticText6 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Floating"), wxDefaultPosition, wxDefaultSize, 0 ); - itemStaticText6->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(""))); - itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL); + m_floatingSizer->Add(itemBoxSizer6, 0, wxGROW, 5); - wxStaticLine* itemStaticLine7 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - itemBoxSizer5->Add(itemStaticLine7, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* itemStaticText7 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Floating"), wxDefaultPosition, wxDefaultSize, 0 ); + itemStaticText7->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(""))); + itemBoxSizer6->Add(itemStaticText7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxHORIZONTAL); - m_floatingControls->Add(itemBoxSizer8, 0, wxGROW, 5); + wxStaticLine* itemStaticLine8 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + itemBoxSizer6->Add(itemStaticLine8, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); - itemBoxSizer8->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxHORIZONTAL); + m_floatingSizer->Add(itemBoxSizer9, 0, wxGROW, 5); - wxFlexGridSizer* itemFlexGridSizer10 = new wxFlexGridSizer(0, 2, 0, 0); - itemBoxSizer8->Add(itemFlexGridSizer10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5); + itemBoxSizer9->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxStaticText* itemStaticText11 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Floating mode:"), wxDefaultPosition, wxDefaultSize, 0 ); - itemFlexGridSizer10->Add(itemStaticText11, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxFlexGridSizer* itemFlexGridSizer11 = new wxFlexGridSizer(0, 2, 0, 0); + itemBoxSizer9->Add(itemFlexGridSizer11, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5); + + wxStaticText* itemStaticText12 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Floating mode:"), wxDefaultPosition, wxDefaultSize, 0 ); + itemFlexGridSizer11->Add(itemStaticText12, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5); wxArrayString m_floatStrings; m_floatStrings.Add(_("None")); m_floatStrings.Add(_("Left")); m_floatStrings.Add(_("Right")); - m_float = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_FLOATING_MODE, _("None"), wxDefaultPosition, wxSize(80, -1), m_floatStrings, wxCB_READONLY ); + m_float = new wxChoice( itemRichTextDialogPage1, ID_RICHTEXT_FLOATING_MODE, wxDefaultPosition, wxSize(80, -1), m_floatStrings, 0 ); m_float->SetStringSelection(_("None")); m_float->SetHelpText(_("How the object will float relative to the text.")); if (wxRichTextSizePage::ShowToolTips()) m_float->SetToolTip(_("How the object will float relative to the text.")); - itemFlexGridSizer10->Add(m_float, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); - - wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxHORIZONTAL); - m_parentSizer->Add(itemBoxSizer13, 0, wxGROW, 5); + itemFlexGridSizer11->Add(m_float, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxStaticText* itemStaticText14 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Size"), wxDefaultPosition, wxDefaultSize, 0 ); - itemStaticText14->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(""))); - itemBoxSizer13->Add(itemStaticText14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_floatingAlignmentSizer->Add(0, 0, 1, wxALIGN_CENTER_VERTICAL, 5); - wxStaticLine* itemStaticLine15 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - itemBoxSizer13->Add(itemStaticLine15, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_alignmentSizer = new wxBoxSizer(wxVERTICAL); + m_floatingAlignmentSizer->Add(m_alignmentSizer, 0, wxALIGN_CENTER_VERTICAL, 5); wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxHORIZONTAL); - m_parentSizer->Add(itemBoxSizer16, 0, wxGROW, 5); + m_alignmentSizer->Add(itemBoxSizer16, 0, wxGROW, 5); + + wxStaticText* itemStaticText17 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Alignment"), wxDefaultPosition, wxDefaultSize, 0 ); + itemStaticText17->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(""))); + itemBoxSizer16->Add(itemStaticText17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - itemBoxSizer16->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticLine* itemStaticLine18 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + itemBoxSizer16->Add(itemStaticLine18, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxFlexGridSizer* itemFlexGridSizer18 = new wxFlexGridSizer(0, 4, 0, 0); - itemBoxSizer16->Add(itemFlexGridSizer18, 0, wxALIGN_CENTER_VERTICAL, 5); + wxBoxSizer* itemBoxSizer19 = new wxBoxSizer(wxHORIZONTAL); + m_alignmentSizer->Add(itemBoxSizer19, 0, wxGROW, 5); + + itemBoxSizer19->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + m_verticalAlignmentCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_VERTICAL_ALIGNMENT_CHECKBOX, _("&Vertical alignment:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_verticalAlignmentCheckbox->SetValue(false); + m_verticalAlignmentCheckbox->SetHelpText(_("Enable vertical alignment.")); + if (wxRichTextSizePage::ShowToolTips()) + m_verticalAlignmentCheckbox->SetToolTip(_("Enable vertical alignment.")); + itemBoxSizer19->Add(m_verticalAlignmentCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxArrayString m_verticalAlignmentComboBoxStrings; + m_verticalAlignmentComboBoxStrings.Add(_("Top")); + m_verticalAlignmentComboBoxStrings.Add(_("Centred")); + m_verticalAlignmentComboBoxStrings.Add(_("Bottom")); + m_verticalAlignmentComboBox = new wxChoice( itemRichTextDialogPage1, ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX, wxDefaultPosition, wxDefaultSize, m_verticalAlignmentComboBoxStrings, 0 ); + m_verticalAlignmentComboBox->SetStringSelection(_("Top")); + m_verticalAlignmentComboBox->SetHelpText(_("Vertical alignment.")); + if (wxRichTextSizePage::ShowToolTips()) + m_verticalAlignmentComboBox->SetToolTip(_("Vertical alignment.")); + itemBoxSizer19->Add(m_verticalAlignmentComboBox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxBoxSizer* itemBoxSizer23 = new wxBoxSizer(wxHORIZONTAL); + m_parentSizer->Add(itemBoxSizer23, 0, wxGROW, 5); + + wxStaticText* itemStaticText24 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Size"), wxDefaultPosition, wxDefaultSize, 0 ); + itemStaticText24->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(""))); + itemBoxSizer23->Add(itemStaticText24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxStaticLine* itemStaticLine25 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + itemBoxSizer23->Add(itemStaticLine25, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxBoxSizer* itemBoxSizer26 = new wxBoxSizer(wxHORIZONTAL); + m_parentSizer->Add(itemBoxSizer26, 0, wxGROW, 5); + + itemBoxSizer26->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + m_sizeSizer = new wxFlexGridSizer(0, 4, 0, 0); + itemBoxSizer26->Add(m_sizeSizer, 0, wxALIGN_CENTER_VERTICAL, 5); + + m_widthSizer = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(m_widthSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_widthCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_WIDTH_CHECKBOX, _("&Width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_widthCheckbox->SetValue(false); m_widthCheckbox->SetHelpText(_("Enable the width value.")); if (wxRichTextSizePage::ShowToolTips()) m_widthCheckbox->SetToolTip(_("Enable the width value.")); - itemFlexGridSizer18->Add(m_widthCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_widthSizer->Add(m_widthCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + + m_widthLabel = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Width:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_widthLabel->Show(false); + m_widthSizer->Add(m_widthLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL); - itemFlexGridSizer18->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + wxBoxSizer* itemBoxSizer32 = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(itemBoxSizer32, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_width = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_WIDTH, wxEmptyString, wxDefaultPosition, wxSize(60, -1), 0 ); m_width->SetHelpText(_("The object width.")); if (wxRichTextSizePage::ShowToolTips()) m_width->SetToolTip(_("The object width.")); - itemBoxSizer20->Add(m_width, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + itemBoxSizer32->Add(m_width, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); wxArrayString m_unitsWStrings; m_unitsWStrings.Add(_("px")); @@ -250,23 +340,30 @@ void wxRichTextSizePage::CreateControls() m_unitsW->SetHelpText(_("Units for the object width.")); if (wxRichTextSizePage::ShowToolTips()) m_unitsW->SetToolTip(_("Units for the object width.")); - itemBoxSizer20->Add(m_unitsW, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + itemBoxSizer32->Add(m_unitsW, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + m_heightSizer = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(m_heightSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_heightCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_HEIGHT_CHECKBOX, _("&Height:"), wxDefaultPosition, wxDefaultSize, 0 ); m_heightCheckbox->SetValue(false); m_heightCheckbox->SetHelpText(_("Enable the height value.")); if (wxRichTextSizePage::ShowToolTips()) m_heightCheckbox->SetToolTip(_("Enable the height value.")); - itemFlexGridSizer18->Add(m_heightCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_heightSizer->Add(m_heightCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + + m_heightLabel = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Height:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_heightLabel->Show(false); + m_heightSizer->Add(m_heightLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxHORIZONTAL); - itemFlexGridSizer18->Add(itemBoxSizer24, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + wxBoxSizer* itemBoxSizer38 = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(itemBoxSizer38, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_height = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_HEIGHT, wxEmptyString, wxDefaultPosition, wxSize(60, -1), 0 ); m_height->SetHelpText(_("The object height.")); if (wxRichTextSizePage::ShowToolTips()) m_height->SetToolTip(_("The object height.")); - itemBoxSizer24->Add(m_height, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + itemBoxSizer38->Add(m_height, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); wxArrayString m_unitsHStrings; m_unitsHStrings.Add(_("px")); @@ -277,23 +374,23 @@ void wxRichTextSizePage::CreateControls() m_unitsH->SetHelpText(_("Units for the object height.")); if (wxRichTextSizePage::ShowToolTips()) m_unitsH->SetToolTip(_("Units for the object height.")); - itemBoxSizer24->Add(m_unitsH, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + itemBoxSizer38->Add(m_unitsH, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_minWidthCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_MIN_WIDTH_CHECKBOX, _("Min width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_minWidthCheckbox->SetValue(false); m_minWidthCheckbox->SetHelpText(_("Enable the minimum width value.")); if (wxRichTextSizePage::ShowToolTips()) m_minWidthCheckbox->SetToolTip(_("Enable the minimum width value.")); - itemFlexGridSizer18->Add(m_minWidthCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_sizeSizer->Add(m_minWidthCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); - wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL); - itemFlexGridSizer18->Add(itemBoxSizer28, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + m_minWidthSizer = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(m_minWidthSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_minWidth = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_MIN_WIDTH, wxEmptyString, wxDefaultPosition, wxSize(60, -1), 0 ); m_minWidth->SetHelpText(_("The object minimum width.")); if (wxRichTextSizePage::ShowToolTips()) m_minWidth->SetToolTip(_("The object minimum width.")); - itemBoxSizer28->Add(m_minWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_minWidthSizer->Add(m_minWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); wxArrayString m_unitsMinWStrings; m_unitsMinWStrings.Add(_("px")); @@ -304,23 +401,23 @@ void wxRichTextSizePage::CreateControls() m_unitsMinW->SetHelpText(_("Units for the minimum object width.")); if (wxRichTextSizePage::ShowToolTips()) m_unitsMinW->SetToolTip(_("Units for the minimum object width.")); - itemBoxSizer28->Add(m_unitsMinW, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_minWidthSizer->Add(m_unitsMinW, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_minHeightCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_MIN_HEIGHT_CHECKBOX, _("Min height:"), wxDefaultPosition, wxDefaultSize, 0 ); m_minHeightCheckbox->SetValue(false); m_minHeightCheckbox->SetHelpText(_("Enable the minimum height value.")); if (wxRichTextSizePage::ShowToolTips()) m_minHeightCheckbox->SetToolTip(_("Enable the minimum height value.")); - itemFlexGridSizer18->Add(m_minHeightCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_sizeSizer->Add(m_minHeightCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); - wxBoxSizer* itemBoxSizer32 = new wxBoxSizer(wxHORIZONTAL); - itemFlexGridSizer18->Add(itemBoxSizer32, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + m_minHeightSizer = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(m_minHeightSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_minHeight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_MIN_HEIGHT, wxEmptyString, wxDefaultPosition, wxSize(60, -1), 0 ); - m_minHeight->SetHelpText(_("The object minmum height.")); + m_minHeight->SetHelpText(_("The object minimum height.")); if (wxRichTextSizePage::ShowToolTips()) - m_minHeight->SetToolTip(_("The object minmum height.")); - itemBoxSizer32->Add(m_minHeight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_minHeight->SetToolTip(_("The object minimum height.")); + m_minHeightSizer->Add(m_minHeight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); wxArrayString m_unitsMinHStrings; m_unitsMinHStrings.Add(_("px")); @@ -331,23 +428,23 @@ void wxRichTextSizePage::CreateControls() m_unitsMinH->SetHelpText(_("Units for the minimum object height.")); if (wxRichTextSizePage::ShowToolTips()) m_unitsMinH->SetToolTip(_("Units for the minimum object height.")); - itemBoxSizer32->Add(m_unitsMinH, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_minHeightSizer->Add(m_unitsMinH, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_maxWidthCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_MAX_WIDTH_CHECKBOX, _("Max width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_maxWidthCheckbox->SetValue(false); m_maxWidthCheckbox->SetHelpText(_("Enable the maximum width value.")); if (wxRichTextSizePage::ShowToolTips()) m_maxWidthCheckbox->SetToolTip(_("Enable the maximum width value.")); - itemFlexGridSizer18->Add(m_maxWidthCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_sizeSizer->Add(m_maxWidthCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); - wxBoxSizer* itemBoxSizer36 = new wxBoxSizer(wxHORIZONTAL); - itemFlexGridSizer18->Add(itemBoxSizer36, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + m_maxWidthSizer = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(m_maxWidthSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_maxWidth = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_MAX_WIDTH, wxEmptyString, wxDefaultPosition, wxSize(60, -1), 0 ); m_maxWidth->SetHelpText(_("The object maximum width.")); if (wxRichTextSizePage::ShowToolTips()) m_maxWidth->SetToolTip(_("The object maximum width.")); - itemBoxSizer36->Add(m_maxWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_maxWidthSizer->Add(m_maxWidth, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); wxArrayString m_unitsMaxWStrings; m_unitsMaxWStrings.Add(_("px")); @@ -358,23 +455,23 @@ void wxRichTextSizePage::CreateControls() m_unitsMaxW->SetHelpText(_("Units for the maximum object width.")); if (wxRichTextSizePage::ShowToolTips()) m_unitsMaxW->SetToolTip(_("Units for the maximum object width.")); - itemBoxSizer36->Add(m_unitsMaxW, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_maxWidthSizer->Add(m_unitsMaxW, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_maxHeightCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_MAX_HEIGHT_CHECKBOX, _("Max height:"), wxDefaultPosition, wxDefaultSize, 0 ); m_maxHeightCheckbox->SetValue(false); m_maxHeightCheckbox->SetHelpText(_("Enable the height value.")); if (wxRichTextSizePage::ShowToolTips()) m_maxHeightCheckbox->SetToolTip(_("Enable the height value.")); - itemFlexGridSizer18->Add(m_maxHeightCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_sizeSizer->Add(m_maxHeightCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); - wxBoxSizer* itemBoxSizer40 = new wxBoxSizer(wxHORIZONTAL); - itemFlexGridSizer18->Add(itemBoxSizer40, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + m_maxHeightSizer = new wxBoxSizer(wxHORIZONTAL); + m_sizeSizer->Add(m_maxHeightSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_maxHeight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_MAX_HEIGHT, wxEmptyString, wxDefaultPosition, wxSize(60, -1), 0 ); m_maxHeight->SetHelpText(_("The object maximum height.")); if (wxRichTextSizePage::ShowToolTips()) m_maxHeight->SetToolTip(_("The object maximum height.")); - itemBoxSizer40->Add(m_maxHeight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_maxHeightSizer->Add(m_maxHeight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); wxArrayString m_unitsMaxHStrings; m_unitsMaxHStrings.Add(_("px")); @@ -385,111 +482,264 @@ void wxRichTextSizePage::CreateControls() m_unitsMaxH->SetHelpText(_("Units for the maximum object height.")); if (wxRichTextSizePage::ShowToolTips()) m_unitsMaxH->SetToolTip(_("Units for the maximum object height.")); - itemBoxSizer40->Add(m_unitsMaxH, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_maxHeightSizer->Add(m_unitsMaxH, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - m_alignmentControls = new wxBoxSizer(wxVERTICAL); - m_parentSizer->Add(m_alignmentControls, 0, wxGROW, 5); + m_positionControls = new wxBoxSizer(wxVERTICAL); + m_parentSizer->Add(m_positionControls, 0, wxGROW, 5); - wxBoxSizer* itemBoxSizer44 = new wxBoxSizer(wxHORIZONTAL); - m_alignmentControls->Add(itemBoxSizer44, 0, wxGROW, 5); + wxBoxSizer* itemBoxSizer58 = new wxBoxSizer(wxHORIZONTAL); + m_positionControls->Add(itemBoxSizer58, 0, wxGROW, 5); - wxStaticText* itemStaticText45 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Alignment"), wxDefaultPosition, wxDefaultSize, 0 ); - itemStaticText45->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(""))); - itemBoxSizer44->Add(itemStaticText45, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* itemStaticText59 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Position"), wxDefaultPosition, wxDefaultSize, 0 ); + itemStaticText59->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(""))); + itemBoxSizer58->Add(itemStaticText59, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxStaticLine* itemStaticLine46 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - itemBoxSizer44->Add(itemStaticLine46, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticLine* itemStaticLine60 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + itemBoxSizer58->Add(itemStaticLine60, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxBoxSizer* itemBoxSizer47 = new wxBoxSizer(wxHORIZONTAL); - m_alignmentControls->Add(itemBoxSizer47, 0, wxGROW, 5); + wxBoxSizer* itemBoxSizer61 = new wxBoxSizer(wxHORIZONTAL); + m_positionControls->Add(itemBoxSizer61, 0, wxGROW, 5); - itemBoxSizer47->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + itemBoxSizer61->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - m_verticalAlignmentCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_VERTICAL_ALIGNMENT_CHECKBOX, _("&Vertical alignment:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_verticalAlignmentCheckbox->SetValue(false); - m_verticalAlignmentCheckbox->SetHelpText(_("Enable vertical alignment.")); + m_moveObjectParentSizer = new wxBoxSizer(wxVERTICAL); + itemBoxSizer61->Add(m_moveObjectParentSizer, 0, wxALIGN_TOP, 5); + + m_positionModeSizer = new wxBoxSizer(wxHORIZONTAL); + m_moveObjectParentSizer->Add(m_positionModeSizer, 0, wxALIGN_LEFT, 5); + + wxStaticText* itemStaticText65 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Position mode:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_positionModeSizer->Add(itemStaticText65, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxArrayString m_positionModeCtrlStrings; + m_positionModeCtrlStrings.Add(_("Static")); + m_positionModeCtrlStrings.Add(_("Relative")); + m_positionModeCtrlStrings.Add(_("Absolute")); + m_positionModeCtrlStrings.Add(_("Fixed")); + m_positionModeCtrl = new wxChoice( itemRichTextDialogPage1, ID_RICHTEXT_POSITION_MODE, wxDefaultPosition, wxDefaultSize, m_positionModeCtrlStrings, 0 ); + m_positionModeCtrl->SetStringSelection(_("Static")); + m_positionModeSizer->Add(m_positionModeCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + m_positionGridSizer = new wxFlexGridSizer(0, 4, 0, 0); + m_moveObjectParentSizer->Add(m_positionGridSizer, 0, wxGROW, 5); + + m_leftSizer = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(m_leftSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); + + m_positionLeftCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_positionLeftCheckbox->SetValue(false); + m_positionLeftCheckbox->SetHelpText(_("The left position.")); if (wxRichTextSizePage::ShowToolTips()) - m_verticalAlignmentCheckbox->SetToolTip(_("Enable vertical alignment.")); - itemBoxSizer47->Add(m_verticalAlignmentCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_positionLeftCheckbox->SetToolTip(_("The left position.")); + m_leftSizer->Add(m_positionLeftCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); - wxArrayString m_verticalAlignmentComboBoxStrings; - m_verticalAlignmentComboBoxStrings.Add(_("Top")); - m_verticalAlignmentComboBoxStrings.Add(_("Centred")); - m_verticalAlignmentComboBoxStrings.Add(_("Bottom")); - m_verticalAlignmentComboBox = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX, _("Top"), wxDefaultPosition, wxDefaultSize, m_verticalAlignmentComboBoxStrings, wxCB_READONLY ); - m_verticalAlignmentComboBox->SetStringSelection(_("Top")); - m_verticalAlignmentComboBox->SetHelpText(_("Vertical alignment.")); + m_leftLabel = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_leftLabel->Show(false); + m_leftSizer->Add(m_leftLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + wxBoxSizer* itemBoxSizer71 = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(itemBoxSizer71, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5); + + m_left = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_LEFT, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 ); + m_left->SetMaxLength(10); + m_left->SetHelpText(_("The left position.")); if (wxRichTextSizePage::ShowToolTips()) - m_verticalAlignmentComboBox->SetToolTip(_("Vertical alignment.")); - itemBoxSizer47->Add(m_verticalAlignmentComboBox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_left->SetToolTip(_("The left position.")); + itemBoxSizer71->Add(m_left, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + + wxArrayString m_unitsLeftStrings; + m_unitsLeftStrings.Add(_("px")); + m_unitsLeftStrings.Add(_("cm")); + m_unitsLeftStrings.Add(_("percent")); + m_unitsLeft = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsLeftStrings, wxCB_READONLY ); + m_unitsLeft->SetStringSelection(_("px")); + m_unitsLeft->SetHelpText(_("Units for the left position.")); + if (wxRichTextSizePage::ShowToolTips()) + m_unitsLeft->SetToolTip(_("Units for the left position.")); + itemBoxSizer71->Add(m_unitsLeft, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - m_positionControls = new wxBoxSizer(wxVERTICAL); - m_parentSizer->Add(m_positionControls, 0, wxGROW, 5); + m_topSizer = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(m_topSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - wxBoxSizer* itemBoxSizer52 = new wxBoxSizer(wxHORIZONTAL); - m_positionControls->Add(itemBoxSizer52, 0, wxGROW, 5); + m_positionTopCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_positionTopCheckbox->SetValue(false); + m_positionTopCheckbox->SetHelpText(_("The top position.")); + if (wxRichTextSizePage::ShowToolTips()) + m_positionTopCheckbox->SetToolTip(_("The top position.")); + m_topSizer->Add(m_positionTopCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); - wxStaticText* itemStaticText53 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Position"), wxDefaultPosition, wxDefaultSize, 0 ); - itemStaticText53->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(""))); - itemBoxSizer52->Add(itemStaticText53, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_topLabel = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_topLabel->Show(false); + m_topSizer->Add(m_topLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxStaticLine* itemStaticLine54 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - itemBoxSizer52->Add(itemStaticLine54, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxBoxSizer* itemBoxSizer77 = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(itemBoxSizer77, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5); - wxBoxSizer* itemBoxSizer55 = new wxBoxSizer(wxHORIZONTAL); - m_positionControls->Add(itemBoxSizer55, 0, wxGROW, 5); + m_top = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_TOP, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 ); + m_top->SetMaxLength(10); + m_top->SetHelpText(_("The top position.")); + if (wxRichTextSizePage::ShowToolTips()) + m_top->SetToolTip(_("The top position.")); + itemBoxSizer77->Add(m_top, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + + wxArrayString m_unitsTopStrings; + m_unitsTopStrings.Add(_("px")); + m_unitsTopStrings.Add(_("cm")); + m_unitsTopStrings.Add(_("percent")); + m_unitsTop = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsTopStrings, wxCB_READONLY ); + m_unitsTop->SetStringSelection(_("px")); + m_unitsTop->SetHelpText(_("Units for the top position.")); + if (wxRichTextSizePage::ShowToolTips()) + m_unitsTop->SetToolTip(_("Units for the top position.")); + itemBoxSizer77->Add(m_unitsTop, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - itemBoxSizer55->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_rightSizer = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(m_rightSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - m_moveObjectParentSizer = new wxBoxSizer(wxVERTICAL); - itemBoxSizer55->Add(m_moveObjectParentSizer, 0, wxALIGN_TOP, 5); + m_positionRightCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_positionRightCheckbox->SetValue(false); + m_positionRightCheckbox->SetHelpText(_("The right position.")); + if (wxRichTextSizePage::ShowToolTips()) + m_positionRightCheckbox->SetToolTip(_("The right position.")); + m_rightSizer->Add(m_positionRightCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); - wxBoxSizer* itemBoxSizer58 = new wxBoxSizer(wxHORIZONTAL); - m_moveObjectParentSizer->Add(itemBoxSizer58, 0, wxGROW, 5); + m_rightLabel = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_rightLabel->Show(false); + m_rightSizer->Add(m_rightLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + m_rightPositionSizer = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(m_rightPositionSizer, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5); - m_offsetYCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_OFFSET_CHECKBOX, _("Vertical &Offset:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_offsetYCheckbox->SetValue(false); - m_offsetYCheckbox->SetHelpText(_("Enable vertical offset.")); + m_right = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 ); + m_right->SetMaxLength(10); + m_right->SetHelpText(_("The right position.")); if (wxRichTextSizePage::ShowToolTips()) - m_offsetYCheckbox->SetToolTip(_("Enable vertical offset.")); - itemBoxSizer58->Add(m_offsetYCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_right->SetToolTip(_("The right position.")); + m_rightPositionSizer->Add(m_right, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + + wxArrayString m_unitsRightStrings; + m_unitsRightStrings.Add(_("px")); + m_unitsRightStrings.Add(_("cm")); + m_unitsRightStrings.Add(_("percent")); + m_unitsRight = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsRightStrings, wxCB_READONLY ); + m_unitsRight->SetStringSelection(_("px")); + m_unitsRight->SetHelpText(_("Units for the right position.")); + if (wxRichTextSizePage::ShowToolTips()) + m_unitsRight->SetToolTip(_("Units for the right position.")); + m_rightPositionSizer->Add(m_unitsRight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + + m_bottomSizer = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(m_bottomSizer, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); - m_offset = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_OFFSET, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 ); - m_offset->SetMaxLength(10); - m_offset->SetHelpText(_("The vertical offset relative to the paragraph.")); + m_positionBottomCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_positionBottomCheckbox->SetValue(false); + m_positionBottomCheckbox->SetHelpText(_("The bottom position.")); if (wxRichTextSizePage::ShowToolTips()) - m_offset->SetToolTip(_("The vertical offset relative to the paragraph.")); - itemBoxSizer58->Add(m_offset, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + m_positionBottomCheckbox->SetToolTip(_("The bottom position.")); + m_bottomSizer->Add(m_positionBottomCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + + m_bottomLabel = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_bottomLabel->Show(false); + m_bottomSizer->Add(m_bottomLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxArrayString m_unitsOffsetStrings; - m_unitsOffsetStrings.Add(_("px")); - m_unitsOffsetStrings.Add(_("cm")); - m_unitsOffset = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_OFFSET_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsOffsetStrings, wxCB_READONLY ); - m_unitsOffset->SetStringSelection(_("px")); - m_unitsOffset->SetHelpText(_("Units for the object offset.")); + m_bottomPositionSizer = new wxBoxSizer(wxHORIZONTAL); + m_positionGridSizer->Add(m_bottomPositionSizer, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5); + + m_bottom = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 ); + m_bottom->SetMaxLength(10); + m_bottom->SetHelpText(_("The bottom position.")); + if (wxRichTextSizePage::ShowToolTips()) + m_bottom->SetToolTip(_("The bottom position.")); + m_bottomPositionSizer->Add(m_bottom, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5); + + wxArrayString m_unitsBottomStrings; + m_unitsBottomStrings.Add(_("px")); + m_unitsBottomStrings.Add(_("cm")); + m_unitsBottomStrings.Add(_("percent")); + m_unitsBottom = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsBottomStrings, wxCB_READONLY ); + m_unitsBottom->SetStringSelection(_("px")); + m_unitsBottom->SetHelpText(_("Units for the bottom position.")); if (wxRichTextSizePage::ShowToolTips()) - m_unitsOffset->SetToolTip(_("Units for the object offset.")); - itemBoxSizer58->Add(m_unitsOffset, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_unitsBottom->SetToolTip(_("Units for the bottom position.")); + m_bottomPositionSizer->Add(m_unitsBottom, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_moveObjectSizer = new wxBoxSizer(wxHORIZONTAL); m_moveObjectParentSizer->Add(m_moveObjectSizer, 0, wxGROW, 5); - wxStaticText* itemStaticText63 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Move the object to:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_moveObjectSizer->Add(itemStaticText63, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxStaticText* itemStaticText93 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Move the object to:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_moveObjectSizer->Add(itemStaticText93, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxButton* itemButton64 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXT_PARA_UP, _("&Previous Paragraph"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton64->SetHelpText(_("Moves the object to the previous paragraph.")); + wxButton* itemButton94 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXT_PARA_UP, _("&Previous Paragraph"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton94->SetHelpText(_("Moves the object to the previous paragraph.")); if (wxRichTextSizePage::ShowToolTips()) - itemButton64->SetToolTip(_("Moves the object to the previous paragraph.")); - m_moveObjectSizer->Add(itemButton64, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + itemButton94->SetToolTip(_("Moves the object to the previous paragraph.")); + m_moveObjectSizer->Add(itemButton94, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxButton* itemButton65 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXT_PARA_DOWN, _("&Next Paragraph"), wxDefaultPosition, wxDefaultSize, 0 ); - itemButton65->SetHelpText(_("Moves the object to the next paragraph.")); + wxButton* itemButton95 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXT_PARA_DOWN, _("&Next Paragraph"), wxDefaultPosition, wxDefaultSize, 0 ); + itemButton95->SetHelpText(_("Moves the object to the next paragraph.")); if (wxRichTextSizePage::ShowToolTips()) - itemButton65->SetToolTip(_("Moves the object to the next paragraph.")); - m_moveObjectSizer->Add(itemButton65, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5); + itemButton95->SetToolTip(_("Moves the object to the next paragraph.")); + m_moveObjectSizer->Add(itemButton95, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5); + // Set validators + m_positionModeCtrl->SetValidator( wxGenericValidator(& m_positionMode) ); ////@end wxRichTextSizePage content construction + + if (!sm_enablePositionAndSizeCheckboxes) + { + m_widthSizer->Show(m_widthCheckbox, false); + m_widthSizer->Show(m_widthLabel, true); + m_heightSizer->Show(m_heightCheckbox, false); + m_heightSizer->Show(m_heightLabel, true); + + m_leftSizer->Show(m_positionLeftCheckbox, false); + m_leftSizer->Show(m_leftLabel, true); + m_topSizer->Show(m_positionTopCheckbox, false); + m_topSizer->Show(m_topLabel, true); + + if (sm_showRightBottomPositionControls) + { + m_rightSizer->Show(m_positionRightCheckbox, false); + m_rightSizer->Show(m_rightLabel, true); + m_bottomSizer->Show(m_positionBottomCheckbox, false); + m_bottomSizer->Show(m_bottomLabel, true); + } + } + + if (!sm_showFloatingAndAlignmentControls) + m_parentSizer->Show(m_floatingAlignmentSizer, false); + + if (!sm_showFloatingControls) + m_floatingAlignmentSizer->Show(m_floatingSizer, false); + + if (!sm_showAlignmentControls) + m_floatingAlignmentSizer->Show(m_alignmentSizer, false); + + if (!sm_showPositionControls) + m_parentSizer->Show(m_positionControls, false); + + if (!sm_showMinMaxSizeControls) + { + m_sizeSizer->Show(m_minWidthCheckbox, false); + m_sizeSizer->Show(m_minWidthSizer, false); + m_sizeSizer->Show(m_minHeightCheckbox, false); + m_sizeSizer->Show(m_minHeightSizer, false); + m_sizeSizer->Show(m_maxWidthCheckbox, false); + m_sizeSizer->Show(m_maxWidthSizer, false); + m_sizeSizer->Show(m_maxHeightCheckbox, false); + m_sizeSizer->Show(m_maxHeightSizer, false); + } + + if (!sm_showRightBottomPositionControls) + { + m_positionGridSizer->Show(m_rightSizer, false); + m_positionGridSizer->Show(m_rightPositionSizer, false); + m_positionGridSizer->Show(m_bottomSizer, false); + m_positionGridSizer->Show(m_bottomPositionSizer, false); + } + + if (!sm_showPositionModeControls) + m_moveObjectParentSizer->Show(m_positionModeSizer, false); } wxRichTextAttr* wxRichTextSizePage::GetAttributes() @@ -533,36 +783,70 @@ bool wxRichTextSizePage::TransferDataToWindow() } } - if (dialog && dialog->GetObject()) + wxRichTextImage* imageObj = NULL; + if (dialog) + imageObj = wxDynamicCast(dialog->GetObject(), wxRichTextImage); + + // For an image, show the original width and height if the size is not explicitly specified. + if (imageObj && !GetAttributes()->GetTextBoxAttr().GetWidth().IsValid() && !GetAttributes()->GetTextBoxAttr().GetHeight().IsValid() && + imageObj->GetOriginalImageSize() != wxSize(-1, -1)) { - wxTextAttrSize size = dialog->GetObject()->GetNaturalSize(); - if (size.GetWidth().IsValid() && size.GetHeight().IsValid()) - { - if (!GetAttributes()->GetTextBoxAttr().GetWidth().IsValid() || GetAttributes()->GetTextBoxAttr().GetWidth().GetValue() <= 0) - { - GetAttributes()->GetTextBoxAttr().GetWidth() = size.GetWidth(); - } - - if (!GetAttributes()->GetTextBoxAttr().GetHeight().IsValid() || GetAttributes()->GetTextBoxAttr().GetHeight().GetValue() <= 0) - { - GetAttributes()->GetTextBoxAttr().GetHeight() = size.GetHeight(); - } - } + m_widthCheckbox->SetValue(false); + m_heightCheckbox->SetValue(false); + m_unitsW->SetSelection(0); + m_unitsH->SetSelection(0); + m_width->SetValue(wxString::Format(wxT("%d"), (int) imageObj->GetOriginalImageSize().GetWidth())); + m_height->SetValue(wxString::Format(wxT("%d"), (int) imageObj->GetOriginalImageSize().GetHeight())); + } + else + { + wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetWidth(), m_width, m_unitsW, m_widthCheckbox); + wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetHeight(), m_height, m_unitsH, m_heightCheckbox); } - wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetWidth(), m_width, m_unitsW, m_widthCheckbox); - wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetHeight(), m_height, m_unitsH, m_heightCheckbox); wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMinSize().GetWidth(), m_minWidth, m_unitsMinW, m_minWidthCheckbox); wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMinSize().GetHeight(), m_minHeight, m_unitsMinH, m_minHeightCheckbox); wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMaxSize().GetWidth(), m_maxWidth, m_unitsMaxW, m_maxWidthCheckbox); wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMaxSize().GetHeight(), m_maxHeight, m_unitsMaxH, m_maxHeightCheckbox); - wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetTop(), m_offset, m_unitsOffset, m_offsetYCheckbox); - return true; + wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetLeft(), m_left, m_unitsLeft, m_positionLeftCheckbox); + wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetTop(), m_top, m_unitsTop, m_positionTopCheckbox); + wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetRight(), m_right, m_unitsRight, m_positionRightCheckbox); + wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetBottom(), m_bottom, m_unitsBottom, m_positionBottomCheckbox); + + if ((GetAttributes()->GetTextBoxAttr().GetLeft().GetPosition() & wxTEXT_BOX_ATTR_POSITION_FIXED) || + (GetAttributes()->GetTextBoxAttr().GetRight().GetPosition() & wxTEXT_BOX_ATTR_POSITION_FIXED) || + (GetAttributes()->GetTextBoxAttr().GetTop().GetPosition() & wxTEXT_BOX_ATTR_POSITION_FIXED) || + (GetAttributes()->GetTextBoxAttr().GetBottom().GetPosition() & wxTEXT_BOX_ATTR_POSITION_FIXED)) + { + m_positionMode = 3; + } + else + if ((GetAttributes()->GetTextBoxAttr().GetLeft().GetPosition() & wxTEXT_BOX_ATTR_POSITION_ABSOLUTE) || + (GetAttributes()->GetTextBoxAttr().GetRight().GetPosition() & wxTEXT_BOX_ATTR_POSITION_ABSOLUTE) || + (GetAttributes()->GetTextBoxAttr().GetTop().GetPosition() & wxTEXT_BOX_ATTR_POSITION_ABSOLUTE) || + (GetAttributes()->GetTextBoxAttr().GetBottom().GetPosition() & wxTEXT_BOX_ATTR_POSITION_ABSOLUTE)) + { + m_positionMode = 2; + } + else + if ((GetAttributes()->GetTextBoxAttr().GetLeft().GetPosition() & wxTEXT_BOX_ATTR_POSITION_RELATIVE) || + (GetAttributes()->GetTextBoxAttr().GetRight().GetPosition() & wxTEXT_BOX_ATTR_POSITION_RELATIVE) || + (GetAttributes()->GetTextBoxAttr().GetTop().GetPosition() & wxTEXT_BOX_ATTR_POSITION_RELATIVE) || + (GetAttributes()->GetTextBoxAttr().GetBottom().GetPosition() & wxTEXT_BOX_ATTR_POSITION_RELATIVE)) + { + m_positionMode = 1; + } + else + m_positionMode = 0; + + return wxPanel::TransferDataToWindow(); } bool wxRichTextSizePage::TransferDataFromWindow() { + wxPanel::TransferDataFromWindow(); + GetAttributes()->GetTextBoxAttr().SetFloatMode((wxTextBoxAttrFloatStyle) m_float->GetSelection()); if (m_float->GetSelection() == 0) GetAttributes()->GetTextBoxAttr().RemoveFlag(wxTEXT_BOX_ATTR_FLOAT); @@ -581,32 +865,34 @@ bool wxRichTextSizePage::TransferDataFromWindow() wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMinSize().GetHeight(), m_minHeight, m_unitsMinH, m_minHeightCheckbox); wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMaxSize().GetWidth(), m_maxWidth, m_unitsMaxW, m_maxWidthCheckbox); wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMaxSize().GetHeight(), m_maxHeight, m_unitsMaxH, m_maxHeightCheckbox); - wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetTop(), m_offset, m_unitsOffset, m_offsetYCheckbox); - return true; -} + wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetLeft(), m_left, m_unitsLeft, m_positionLeftCheckbox); + wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetTop(), m_top, m_unitsTop, m_positionTopCheckbox); + wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetRight(), m_right, m_unitsRight, m_positionRightCheckbox); + wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetBottom(), m_bottom, m_unitsBottom, m_positionBottomCheckbox); + + wxTextBoxAttrPosition flags; + if (m_positionMode == 3) + flags = wxTEXT_BOX_ATTR_POSITION_FIXED; + else if (m_positionMode == 2) + flags = wxTEXT_BOX_ATTR_POSITION_ABSOLUTE; + else if (m_positionMode == 1) + flags = wxTEXT_BOX_ATTR_POSITION_RELATIVE; + else + flags = wxTEXT_BOX_ATTR_POSITION_STATIC; -// Show/hide position controls -void wxRichTextSizePage::ShowPositionControls(bool show) -{ - if (m_parentSizer) - { - m_parentSizer->Show(m_positionControls, show); - Layout(); - } -} + if (GetAttributes()->GetTextBoxAttr().GetLeft().IsValid()) + GetAttributes()->GetTextBoxAttr().GetLeft().SetPosition(flags); + if (GetAttributes()->GetTextBoxAttr().GetTop().IsValid()) + GetAttributes()->GetTextBoxAttr().GetTop().SetPosition(flags); + if (GetAttributes()->GetTextBoxAttr().GetRight().IsValid()) + GetAttributes()->GetTextBoxAttr().GetRight().SetPosition(flags); + if (GetAttributes()->GetTextBoxAttr().GetBottom().IsValid()) + GetAttributes()->GetTextBoxAttr().GetBottom().SetPosition(flags); -// Show/hide floating controls -void wxRichTextSizePage::ShowFloatingControls(bool show) -{ - if (m_parentSizer) - { - m_parentSizer->Show(m_floatingControls, show); - Layout(); - } + return true; } - /*! * Get bitmap resources */ @@ -653,17 +939,7 @@ void wxRichTextSizePage::OnRichtextHeightUpdate( wxUpdateUIEvent& event ) } /*! - * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OFFSET - */ - -void wxRichTextSizePage::OnRichtextOffsetUpdate( wxUpdateUIEvent& event ) -{ - event.Enable(m_offsetYCheckbox->GetValue()); -} - - -/*! - * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXT_PARA_UP + * wxEVT_BUTTON event handler for ID_RICHTEXT_PARA_UP */ void wxRichTextSizePage::OnRichtextParaUpClick( wxCommandEvent& WXUNUSED(event) ) @@ -711,7 +987,7 @@ void wxRichTextSizePage::OnRichtextParaUpClick( wxCommandEvent& WXUNUSED(event) } /*! - * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXT_DOWN + * wxEVT_BUTTON event handler for ID_RICHTEXT_DOWN */ void wxRichTextSizePage::OnRichtextParaDownClick( wxCommandEvent& WXUNUSED(event) ) @@ -759,7 +1035,6 @@ void wxRichTextSizePage::OnRichtextParaDownClick( wxCommandEvent& WXUNUSED(event dialog->SetObject(obj2); } - /*! * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX */ @@ -769,7 +1044,6 @@ void wxRichTextSizePage::OnRichtextVerticalAlignmentComboboxUpdate( wxUpdateUIEv event.Enable(m_verticalAlignmentCheckbox->GetValue()); } - /*! * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MIN_WIDTH */ @@ -788,7 +1062,6 @@ void wxRichTextSizePage::OnRichtextMinHeightUpdate( wxUpdateUIEvent& event ) event.Enable(m_minHeightCheckbox->GetValue()); } - /*! * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MAX_WIDTH */ @@ -798,7 +1071,6 @@ void wxRichTextSizePage::OnRichtextMaxWidthUpdate( wxUpdateUIEvent& event ) event.Enable(m_maxWidthCheckbox->GetValue()); } - /*! * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_MAX_HEIGHT */ @@ -807,3 +1079,93 @@ void wxRichTextSizePage::OnRichtextMaxHeightUpdate( wxUpdateUIEvent& event ) { event.Enable(m_maxHeightCheckbox->GetValue()); } + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT + */ + +void wxRichTextSizePage::OnRichtextLeftUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionLeftCheckbox->GetValue()); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT + */ + +void wxRichTextSizePage::OnRichtextRightUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionRightCheckbox->GetValue()); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP + */ + +void wxRichTextSizePage::OnRichtextTopUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionTopCheckbox->GetValue()); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM + */ + +void wxRichTextSizePage::OnRichtextBottomUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionBottomCheckbox->GetValue()); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_WIDTH_UNITS + */ + +void wxRichTextSizePage::OnRichtextWidthUnitsUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_widthCheckbox->GetValue() && sm_enablePositionAndSizeUnits); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_HEIGHT_UNITS + */ + +void wxRichTextSizePage::OnRichtextHeightUnitsUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_heightCheckbox->GetValue() && sm_enablePositionAndSizeUnits); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_UNITS + */ + +void wxRichTextSizePage::OnRichtextLeftUnitsUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionLeftCheckbox->GetValue() && sm_enablePositionAndSizeUnits); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_UNITS + */ + +void wxRichTextSizePage::OnRichtextRightUnitsUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionRightCheckbox->GetValue() && sm_enablePositionAndSizeUnits); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_UNITS + */ + +void wxRichTextSizePage::OnRichtextTopUnitsUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionTopCheckbox->GetValue() && sm_enablePositionAndSizeUnits); +} + +/*! + * wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_UNITS + */ + +void wxRichTextSizePage::OnRichtextBottomUnitsUpdate( wxUpdateUIEvent& event ) +{ + event.Enable(m_positionBottomCheckbox->GetValue() && sm_enablePositionAndSizeUnits); +}