Implemented text boxes and tables, and further editing pages for backgrounds, borders and margins.
wxRTC functions now operate on the currently focused object, which by default is the whole buffer. Up to three property commands are now shown on the context menu, depending on available objects in the current hierarchy. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
110
include/wx/richtext/richtextbackgroundpage.h
Normal file
110
include/wx/richtext/richtextbackgroundpage.h
Normal file
@@ -0,0 +1,110 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextbackgroundpage.h
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 13/11/2010 11:17:25
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _RICHTEXTBACKGROUNDPAGE_H_
|
||||
#define _RICHTEXTBACKGROUNDPAGE_H_
|
||||
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
////@begin includes
|
||||
#include "wx/statline.h"
|
||||
////@end includes
|
||||
|
||||
/*!
|
||||
* Forward declarations
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextColourSwatchCtrl;
|
||||
|
||||
/*!
|
||||
* Control identifiers
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTBACKGROUNDPAGE_STYLE wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTBACKGROUNDPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTBACKGROUNDPAGE_IDNAME ID_RICHTEXTBACKGROUNDPAGE
|
||||
#define SYMBOL_WXRICHTEXTBACKGROUNDPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTBACKGROUNDPAGE_POSITION wxDefaultPosition
|
||||
////@end control identifiers
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextBackgroundPage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextBackgroundPage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextBackgroundPage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
wxRichTextBackgroundPage();
|
||||
wxRichTextBackgroundPage( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_SIZE, long style = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_STYLE );
|
||||
|
||||
/// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_SIZE, long style = SYMBOL_WXRICHTEXTBACKGROUNDPAGE_STYLE );
|
||||
|
||||
/// Destructor
|
||||
~wxRichTextBackgroundPage();
|
||||
|
||||
/// Initialises member variables
|
||||
void Init();
|
||||
|
||||
/// Creates the controls and sizers
|
||||
void CreateControls();
|
||||
|
||||
/// Gets the attributes from the formatting dialog
|
||||
wxRichTextAttr* GetAttributes();
|
||||
|
||||
/// Data transfer
|
||||
virtual bool TransferDataToWindow();
|
||||
virtual bool TransferDataFromWindow();
|
||||
|
||||
/// Respond to colour swatch click
|
||||
void OnColourSwatch(wxCommandEvent& event);
|
||||
|
||||
////@begin wxRichTextBackgroundPage event handler declarations
|
||||
|
||||
////@end wxRichTextBackgroundPage event handler declarations
|
||||
|
||||
////@begin wxRichTextBackgroundPage member function declarations
|
||||
|
||||
/// Retrieves bitmap resources
|
||||
wxBitmap GetBitmapResource( const wxString& name );
|
||||
|
||||
/// Retrieves icon resources
|
||||
wxIcon GetIconResource( const wxString& name );
|
||||
////@end wxRichTextBackgroundPage member function declarations
|
||||
|
||||
/// Should we show tooltips?
|
||||
static bool ShowToolTips();
|
||||
|
||||
////@begin wxRichTextBackgroundPage member variables
|
||||
wxCheckBox* m_backgroundColourCheckBox;
|
||||
wxRichTextColourSwatchCtrl* m_backgroundColourSwatch;
|
||||
/// Control identifiers
|
||||
enum {
|
||||
ID_RICHTEXTBACKGROUNDPAGE = 10845,
|
||||
ID_RICHTEXT_BACKGROUND_COLOUR_CHECKBOX = 10846,
|
||||
ID_RICHTEXT_BACKGROUND_COLOUR_SWATCH = 10847
|
||||
};
|
||||
////@end wxRichTextBackgroundPage member variables
|
||||
};
|
||||
|
||||
#endif
|
||||
// _RICHTEXTBACKGROUNDPAGE_H_
|
251
include/wx/richtext/richtextborderspage.h
Normal file
251
include/wx/richtext/richtextborderspage.h
Normal file
@@ -0,0 +1,251 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextborderspage.h
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 21/10/2010 11:34:24
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _RICHTEXTBORDERSPAGE_H_
|
||||
#define _RICHTEXTBORDERSPAGE_H_
|
||||
|
||||
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
////@begin includes
|
||||
#include "wx/notebook.h"
|
||||
#include "wx/statline.h"
|
||||
////@end includes
|
||||
|
||||
/*!
|
||||
* Forward declarations
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextColourSwatchCtrl;
|
||||
class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextBorderPreviewCtrl;
|
||||
|
||||
/*!
|
||||
* Control identifiers
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTBORDERSPAGE_STYLE wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTBORDERSPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTBORDERSPAGE_IDNAME ID_RICHTEXTBORDERSPAGE
|
||||
#define SYMBOL_WXRICHTEXTBORDERSPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTBORDERSPAGE_POSITION wxDefaultPosition
|
||||
////@end control identifiers
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextBordersPage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextBordersPage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextBordersPage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
wxRichTextBordersPage();
|
||||
wxRichTextBordersPage( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTBORDERSPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTBORDERSPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTBORDERSPAGE_SIZE, long style = SYMBOL_WXRICHTEXTBORDERSPAGE_STYLE );
|
||||
|
||||
/// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTBORDERSPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTBORDERSPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTBORDERSPAGE_SIZE, long style = SYMBOL_WXRICHTEXTBORDERSPAGE_STYLE );
|
||||
|
||||
/// Destructor
|
||||
~wxRichTextBordersPage();
|
||||
|
||||
/// Initialises member variables
|
||||
void Init();
|
||||
|
||||
/// Creates the controls and sizers
|
||||
void CreateControls();
|
||||
|
||||
/// Gets the attributes from the formatting dialog
|
||||
wxRichTextAttr* GetAttributes();
|
||||
|
||||
/// Data transfer
|
||||
virtual bool TransferDataToWindow();
|
||||
virtual bool TransferDataFromWindow();
|
||||
|
||||
/// Updates the preview
|
||||
void OnCommand(wxCommandEvent& event);
|
||||
|
||||
/// Fill style combo
|
||||
virtual void FillStyleComboBox(wxComboBox* styleComboBox);
|
||||
|
||||
/// Set the border controls
|
||||
static void SetBorderValue(wxTextAttrBorder& border, /* wxTextAttrBorder& borderToReset, */ wxTextCtrl* widthValueCtrl, wxComboBox* widthUnitsCtrl, wxCheckBox* checkBox,
|
||||
wxComboBox* styleCtrl, wxRichTextColourSwatchCtrl* colourCtrl, const wxArrayInt& borderStyles);
|
||||
|
||||
/// Get data from the border controls
|
||||
static void GetBorderValue(wxTextAttrBorder& border, /* wxTextAttrBorder& borderToReset, */ wxTextCtrl* widthValueCtrl, wxComboBox* widthUnitsCtrl, wxCheckBox* checkBox,
|
||||
wxComboBox* styleCtrl, wxRichTextColourSwatchCtrl* colourCtrl, const wxArrayInt& borderStyles);
|
||||
|
||||
////@begin wxRichTextBordersPage event handler declarations
|
||||
|
||||
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXT_BORDER_LEFT_CHECKBOX
|
||||
void OnRichtextBorderCheckboxClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_LEFT
|
||||
void OnRichtextBorderLeftUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_RIGHT
|
||||
void OnRichtextBorderRightUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_TOP
|
||||
void OnRichtextBorderTopUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BORDER_BOTTOM
|
||||
void OnRichtextBorderBottomUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_LEFT
|
||||
void OnRichtextOutlineLeftUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_RIGHT
|
||||
void OnRichtextOutlineRightUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_TOP
|
||||
void OnRichtextOutlineTopUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OUTLINE_BOTTOM
|
||||
void OnRichtextOutlineBottomUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
////@end wxRichTextBordersPage event handler declarations
|
||||
|
||||
////@begin wxRichTextBordersPage member function declarations
|
||||
|
||||
/// Retrieves bitmap resources
|
||||
wxBitmap GetBitmapResource( const wxString& name );
|
||||
|
||||
/// Retrieves icon resources
|
||||
wxIcon GetIconResource( const wxString& name );
|
||||
////@end wxRichTextBordersPage member function declarations
|
||||
|
||||
/// Should we show tooltips?
|
||||
static bool ShowToolTips();
|
||||
|
||||
////@begin wxRichTextBordersPage member variables
|
||||
wxCheckBox* m_leftBorderCheckbox;
|
||||
wxTextCtrl* m_leftBorderWidth;
|
||||
wxComboBox* m_leftBorderWidthUnits;
|
||||
wxComboBox* m_leftBorderStyle;
|
||||
wxRichTextColourSwatchCtrl* m_leftBorderColour;
|
||||
wxCheckBox* m_rightBorderCheckbox;
|
||||
wxTextCtrl* m_rightBorderWidth;
|
||||
wxComboBox* m_rightBorderWidthUnits;
|
||||
wxComboBox* m_rightBorderStyle;
|
||||
wxRichTextColourSwatchCtrl* m_rightBorderColour;
|
||||
wxCheckBox* m_topBorderCheckbox;
|
||||
wxTextCtrl* m_topBorderWidth;
|
||||
wxComboBox* m_topBorderWidthUnits;
|
||||
wxComboBox* m_topBorderStyle;
|
||||
wxRichTextColourSwatchCtrl* m_topBorderColour;
|
||||
wxCheckBox* m_bottomBorderCheckbox;
|
||||
wxTextCtrl* m_bottomBorderWidth;
|
||||
wxComboBox* m_bottomBorderWidthUnits;
|
||||
wxComboBox* m_bottomBorderStyle;
|
||||
wxRichTextColourSwatchCtrl* m_bottomBorderColour;
|
||||
wxCheckBox* m_leftOutlineCheckbox;
|
||||
wxTextCtrl* m_leftOutlineWidth;
|
||||
wxComboBox* m_leftOutlineWidthUnits;
|
||||
wxComboBox* m_leftOutlineStyle;
|
||||
wxRichTextColourSwatchCtrl* m_leftOutlineColour;
|
||||
wxCheckBox* m_rightOutlineCheckbox;
|
||||
wxTextCtrl* m_rightOutlineWidth;
|
||||
wxComboBox* m_rightOutlineWidthUnits;
|
||||
wxComboBox* m_rightOutlineStyle;
|
||||
wxRichTextColourSwatchCtrl* m_rightOutlineColour;
|
||||
wxCheckBox* m_topOutlineCheckbox;
|
||||
wxTextCtrl* m_topOutlineWidth;
|
||||
wxComboBox* m_topOutlineWidthUnits;
|
||||
wxComboBox* m_topOutlineStyle;
|
||||
wxRichTextColourSwatchCtrl* m_topOutlineColour;
|
||||
wxCheckBox* m_bottomOutlineCheckbox;
|
||||
wxTextCtrl* m_bottomOutlineWidth;
|
||||
wxComboBox* m_bottomOutlineWidthUnits;
|
||||
wxComboBox* m_bottomOutlineStyle;
|
||||
wxRichTextColourSwatchCtrl* m_bottomOutlineColour;
|
||||
wxRichTextBorderPreviewCtrl* m_borderPreviewCtrl;
|
||||
/// Control identifiers
|
||||
enum {
|
||||
ID_RICHTEXTBORDERSPAGE = 10800,
|
||||
ID_RICHTEXTBORDERSPAGE_NOTEBOOK = 10801,
|
||||
ID_RICHTEXTBORDERSPAGE_BORDERS = 10802,
|
||||
ID_RICHTEXT_BORDER_LEFT_CHECKBOX = 10803,
|
||||
ID_RICHTEXT_BORDER_LEFT = 10804,
|
||||
ID_RICHTEXT_BORDER_LEFT_UNITS = 10805,
|
||||
ID_RICHTEXT_BORDER_LEFT_STYLE = 10806,
|
||||
ID_RICHTEXT_BORDER_LEFT_COLOUR = 10807,
|
||||
ID_RICHTEXT_BORDER_RIGHT_CHECKBOX = 10808,
|
||||
ID_RICHTEXT_BORDER_RIGHT = 10809,
|
||||
ID_RICHTEXT_BORDER_RIGHT_UNITS = 10810,
|
||||
ID_RICHTEXT_BORDER_RIGHT_STYLE = 10811,
|
||||
ID_RICHTEXT_BORDER_RIGHT_COLOUR = 10812,
|
||||
ID_RICHTEXT_BORDER_TOP_CHECKBOX = 10813,
|
||||
ID_RICHTEXT_BORDER_TOP = 10814,
|
||||
ID_RICHTEXT_BORDER_TOP_UNITS = 10815,
|
||||
ID_RICHTEXT_BORDER_TOP_STYLE = 10816,
|
||||
ID_RICHTEXT_BORDER_TOP_COLOUR = 10817,
|
||||
ID_RICHTEXT_BORDER_BOTTOM_CHECKBOX = 10818,
|
||||
ID_RICHTEXT_BORDER_BOTTOM = 10819,
|
||||
ID_RICHTEXT_BORDER_BOTTOM_UNITS = 10820,
|
||||
ID_RICHTEXT_BORDER_BOTTOM_STYLE = 10821,
|
||||
ID_RICHTEXT_BORDER_BOTTOM_COLOUR = 10822,
|
||||
ID_RICHTEXTBORDERSPAGE_OUTLINE = 10823,
|
||||
ID_RICHTEXT_OUTLINE_LEFT_CHECKBOX = 10824,
|
||||
ID_RICHTEXT_OUTLINE_LEFT = 10825,
|
||||
ID_RICHTEXT_OUTLINE_LEFT_UNITS = 10826,
|
||||
ID_RICHTEXT_OUTLINE_LEFT_STYLE = 10827,
|
||||
ID_RICHTEXT_OUTLINE_LEFT_COLOUR = 10828,
|
||||
ID_RICHTEXT_OUTLINE_RIGHT_CHECKBOX = 10829,
|
||||
ID_RICHTEXT_OUTLINE_RIGHT = 10830,
|
||||
ID_RICHTEXT_OUTLINE_RIGHT_UNITS = 10831,
|
||||
ID_RICHTEXT_OUTLINE_RIGHT_STYLE = 10832,
|
||||
ID_RICHTEXT_OUTLINE_RIGHT_COLOUR = 10833,
|
||||
ID_RICHTEXT_OUTLINE_TOP_CHECKBOX = 10834,
|
||||
ID_RICHTEXT_OUTLINE_TOP = 10835,
|
||||
ID_RICHTEXT_OUTLINE_TOP_UNITS = 10836,
|
||||
ID_RICHTEXT_OUTLINE_TOP_STYLE = 10837,
|
||||
ID_RICHTEXT_OUTLINE_TOP_COLOUR = 10838,
|
||||
ID_RICHTEXT_OUTLINE_BOTTOM_CHECKBOX = 10839,
|
||||
ID_RICHTEXT_OUTLINE_BOTTOM = 10840,
|
||||
ID_RICHTEXT_OUTLINE_BOTTOM_UNITS = 10841,
|
||||
ID_RICHTEXT_OUTLINE_BOTTOM_STYLE = 10842,
|
||||
ID_RICHTEXT_OUTLINE_BOTTOM_COLOUR = 10843,
|
||||
ID_RICHTEXT_BORDER_PREVIEW = 10844
|
||||
};
|
||||
////@end wxRichTextBordersPage member variables
|
||||
|
||||
wxArrayInt m_borderStyles;
|
||||
wxArrayString m_borderStyleNames;
|
||||
bool m_ignoreUpdates;
|
||||
};
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextBorderPreviewCtrl : public wxWindow
|
||||
{
|
||||
public:
|
||||
wxRichTextBorderPreviewCtrl(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& sz = wxDefaultSize, long style = 0);
|
||||
|
||||
void SetAttributes(wxRichTextAttr* attr) { m_attributes = attr; }
|
||||
wxRichTextAttr* GetAttributes() const { return m_attributes; }
|
||||
|
||||
private:
|
||||
wxRichTextAttr* m_attributes;
|
||||
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif
|
||||
// _RICHTEXTBORDERSPAGE_H_
|
File diff suppressed because it is too large
Load Diff
@@ -15,6 +15,8 @@
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
#include "wx/spinbutt.h" // for wxSpinEvent
|
||||
|
||||
/*!
|
||||
@@ -32,7 +34,7 @@ class wxRichTextCtrl;
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTBULLETSPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTBULLETSPAGE_TITLE wxT("")
|
||||
#define SYMBOL_WXRICHTEXTBULLETSPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTBULLETSPAGE_IDNAME ID_RICHTEXTBULLETSPAGE
|
||||
#define SYMBOL_WXRICHTEXTBULLETSPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTBULLETSPAGE_POSITION wxDefaultPosition
|
||||
@@ -42,10 +44,11 @@ class wxRichTextCtrl;
|
||||
* wxRichTextBulletsPage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextBulletsPage: public wxPanel
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextBulletsPage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextBulletsPage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
|
@@ -48,6 +48,13 @@ class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextStyleDefinition;
|
||||
#define wxRICHTEXT_CTRL_DOWN 0x02
|
||||
#define wxRICHTEXT_ALT_DOWN 0x04
|
||||
|
||||
/* Extra flags
|
||||
*/
|
||||
|
||||
// Don't draw guide lines around boxes and tables
|
||||
#define wxRICHTEXT_EX_NO_GUIDELINES 0x00000100
|
||||
|
||||
|
||||
/* Defaults
|
||||
*/
|
||||
|
||||
@@ -66,14 +73,17 @@ class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextStyleDefinition;
|
||||
// Milliseconds before layout occurs after resize
|
||||
#define wxRICHTEXT_DEFAULT_LAYOUT_INTERVAL 50
|
||||
|
||||
/* Identifiers
|
||||
*/
|
||||
#define wxID_RICHTEXT_PROPERTIES1 (wxID_HIGHEST + 1)
|
||||
#define wxID_RICHTEXT_PROPERTIES2 (wxID_HIGHEST + 2)
|
||||
#define wxID_RICHTEXT_PROPERTIES3 (wxID_HIGHEST + 3)
|
||||
|
||||
/*!
|
||||
* Forward declarations
|
||||
*/
|
||||
|
||||
/*!
|
||||
* wxRichTextItem class declaration
|
||||
*/
|
||||
|
||||
#if 0
|
||||
// Drawing styles/states
|
||||
#define wxRICHTEXT_SELECTED 0x01
|
||||
#define wxRICHTEXT_TAGGED 0x02
|
||||
@@ -81,6 +91,67 @@ class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextStyleDefinition;
|
||||
#define wxRICHTEXT_FOCUSSED 0x04
|
||||
// The item itself has the focus
|
||||
#define wxRICHTEXT_IS_FOCUS 0x08
|
||||
#endif
|
||||
|
||||
// Normal selection occurs initially and as user drags within one container.
|
||||
// Common ancestor selection occurs when the user starts dragging across containers
|
||||
// that have a common ancestor, for example the cells in a table.
|
||||
enum wxRichTextCtrlSelectionState
|
||||
{
|
||||
wxRichTextCtrlSelectionState_Normal,
|
||||
wxRichTextCtrlSelectionState_CommonAncestor
|
||||
};
|
||||
|
||||
/*!
|
||||
* wxRichTextContextMenuPropertiesInfo keeps track of objects that appear in the context menu,
|
||||
* whose properties are available to be edited.
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextContextMenuPropertiesInfo
|
||||
{
|
||||
public:
|
||||
wxRichTextContextMenuPropertiesInfo() { Init(); }
|
||||
|
||||
// Operations
|
||||
|
||||
/// Initialisation
|
||||
void Init() {}
|
||||
|
||||
/// Add an item
|
||||
bool AddItem(const wxString& label, wxRichTextObject* obj);
|
||||
|
||||
/// Returns number of menu items were added.
|
||||
int AddMenuItems(wxMenu* menu, int startCmd = wxID_RICHTEXT_PROPERTIES1) const;
|
||||
|
||||
/// Add appropriate menu items for the current container and clicked on object
|
||||
/// (and container's parent, if appropriate).
|
||||
int AddItems(wxRichTextObject* container, wxRichTextObject* obj);
|
||||
|
||||
/// Clear the items
|
||||
void Clear() { m_objects.Clear(); m_labels.Clear(); }
|
||||
|
||||
// Accessors
|
||||
/// Gets the nth label
|
||||
wxString GetLabel(int n) const { return m_labels[n]; }
|
||||
|
||||
/// Gets the nth object
|
||||
wxRichTextObject* GetObject(int n) const { return m_objects[n]; }
|
||||
|
||||
/// Get objects
|
||||
wxRichTextObjectPtrArray& GetObjects() { return m_objects; }
|
||||
const wxRichTextObjectPtrArray& GetObjects() const { return m_objects; }
|
||||
|
||||
/// Get labels
|
||||
wxArrayString& GetLabels() { return m_labels; }
|
||||
const wxArrayString& GetLabels() const { return m_labels; }
|
||||
|
||||
/// Get number of items
|
||||
int GetCount() const { return m_objects.GetCount(); }
|
||||
|
||||
//wxArrayInt m_ids;
|
||||
wxRichTextObjectPtrArray m_objects;
|
||||
wxArrayString m_labels;
|
||||
};
|
||||
|
||||
/*!
|
||||
* wxRichTextCtrl class declaration
|
||||
@@ -133,6 +204,11 @@ public:
|
||||
|
||||
virtual wxString GetStringSelection() const;
|
||||
|
||||
const wxRichTextSelection& GetSelection() const { return m_selection; }
|
||||
wxRichTextSelection& GetSelection() { return m_selection; }
|
||||
void SetSelection(const wxRichTextSelection& sel) { m_selection = sel; }
|
||||
|
||||
|
||||
/// Get filename
|
||||
wxString GetFilename() const { return m_filename; }
|
||||
|
||||
@@ -185,12 +261,21 @@ public:
|
||||
long GetSelectionAnchor() const { return m_selectionAnchor; }
|
||||
void SetSelectionAnchor(long anchor) { m_selectionAnchor = anchor; }
|
||||
|
||||
/// The wxRichTextObject object under mouse if any
|
||||
wxRichTextObject* GetCurrentObject() const { return m_currentObject; }
|
||||
void SetCurrentObject(wxRichTextObject* obj) { m_currentObject = obj; }
|
||||
/// Anchor object if selecting multiple containers.
|
||||
wxRichTextObject* GetSelectionAnchorObject() const { return m_selectionAnchorObject; }
|
||||
void SetSelectionAnchorObject(wxRichTextObject* anchor) { m_selectionAnchorObject = anchor; }
|
||||
|
||||
wxRichTextContextMenuPropertiesInfo& GetContextMenuPropertiesInfo() { return m_contextMenuPropertiesInfo; }
|
||||
const wxRichTextContextMenuPropertiesInfo& GetContextMenuPropertiesInfo() const { return m_contextMenuPropertiesInfo; }
|
||||
|
||||
/// The wxRichTextObject object that currently has the editing focus
|
||||
wxRichTextParagraphLayoutBox* GetFocusObject() const { return m_focusObject; }
|
||||
bool SetFocusObject(wxRichTextParagraphLayoutBox* obj, bool setCaretPosition = true);
|
||||
|
||||
// Operations
|
||||
|
||||
void Invalidate() { GetBuffer().Invalidate(wxRICHTEXT_ALL); }
|
||||
|
||||
// editing
|
||||
virtual void Clear();
|
||||
virtual void Replace(long from, long to, const wxString& value);
|
||||
@@ -229,13 +314,15 @@ public:
|
||||
virtual bool SetStyle(const wxRichTextRange& range, const wxRichTextAttr& style);
|
||||
virtual bool GetStyle(long position, wxTextAttr& style);
|
||||
virtual bool GetStyle(long position, wxRichTextAttr& style);
|
||||
virtual bool GetStyle(long position, wxRichTextAttr& style, wxRichTextParagraphLayoutBox* container);
|
||||
|
||||
// Set an image style
|
||||
void SetImageStyle(wxRichTextImage *image, const wxRichTextAttr& textAttr);
|
||||
// Set the style for a single object
|
||||
virtual void SetStyle(wxRichTextObject *obj, const wxRichTextAttr& textAttr);
|
||||
|
||||
// get the common set of styles for the range
|
||||
virtual bool GetStyleForRange(const wxRichTextRange& range, wxTextAttr& style);
|
||||
virtual bool GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style);
|
||||
virtual bool GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style, wxRichTextParagraphLayoutBox* container);
|
||||
// extended style setting operation with flags including:
|
||||
// wxRICHTEXT_SETSTYLE_WITH_UNDO, wxRICHTEXT_SETSTYLE_OPTIMIZE, wxRICHTEXT_SETSTYLE_PARAGRAPHS_ONLY, wxRICHTEXT_SETSTYLE_CHARACTERS_ONLY
|
||||
// see richtextbuffer.h for more details.
|
||||
@@ -243,6 +330,7 @@ public:
|
||||
|
||||
/// Get the content (uncombined) attributes for this position.
|
||||
virtual bool GetUncombinedStyle(long position, wxRichTextAttr& style);
|
||||
virtual bool GetUncombinedStyle(long position, wxRichTextAttr& style, wxRichTextParagraphLayoutBox* container);
|
||||
|
||||
virtual bool SetDefaultStyle(const wxTextAttr& style);
|
||||
virtual bool SetDefaultStyle(const wxRichTextAttr& style);
|
||||
@@ -316,8 +404,14 @@ public:
|
||||
virtual void SelectAll();
|
||||
virtual void SetEditable(bool editable);
|
||||
|
||||
/// Returns true if there was a selection and the object containing the selection
|
||||
/// was the same as the current focus object.
|
||||
virtual bool HasSelection() const;
|
||||
|
||||
/// Returns true if there was a selection, whether or not the current focus object
|
||||
/// is the same as the selection's container object.
|
||||
virtual bool HasUnfocusedSelection() const;
|
||||
|
||||
///// Functionality specific to wxRichTextCtrl
|
||||
|
||||
/// Write an image at the current insertion point. Supply optional type to use
|
||||
@@ -338,6 +432,14 @@ public:
|
||||
virtual bool WriteImage(const wxRichTextImageBlock& imageBlock,
|
||||
const wxRichTextAttr& textAttr = wxRichTextAttr());
|
||||
|
||||
/// Write a text box at the current insertion point, returning the text box.
|
||||
/// You can then call SetFocusObject() to set the focus to the new object.
|
||||
virtual wxRichTextBox* WriteTextBox(const wxRichTextAttr& textAttr = wxRichTextAttr());
|
||||
|
||||
/// Write a table at the current insertion point, returning the table.
|
||||
/// You can then call SetFocusObject() to set the focus to the new object.
|
||||
virtual wxRichTextTable* WriteTable(int rows, int cols, const wxRichTextAttr& tableAttr = wxRichTextAttr(), const wxRichTextAttr& cellAttr = wxRichTextAttr());
|
||||
|
||||
/// Insert a newline (actually paragraph) at the current insertion point.
|
||||
virtual bool Newline();
|
||||
|
||||
@@ -484,11 +586,12 @@ public:
|
||||
wxRichTextRange GetSelectionRange() const;
|
||||
void SetSelectionRange(const wxRichTextRange& range);
|
||||
|
||||
/// Get/set the selection range in character positions. -1, -1 means no selection.
|
||||
/// Get/set the selection range in character positions. -2, -2 means no selection
|
||||
/// -1, -1 means select everything.
|
||||
/// The range is in internal format, i.e. a single character selection is denoted
|
||||
/// by (n, n)
|
||||
const wxRichTextRange& GetInternalSelectionRange() const { return m_selectionRange; }
|
||||
void SetInternalSelectionRange(const wxRichTextRange& range) { m_selectionRange = range; }
|
||||
wxRichTextRange GetInternalSelectionRange() const { return m_selection.GetRange(); }
|
||||
void SetInternalSelectionRange(const wxRichTextRange& range) { m_selection.Set(range, GetFocusObject()); }
|
||||
|
||||
/// Add a new paragraph of text to the end of the buffer
|
||||
virtual wxRichTextRange AddParagraph(const wxString& text);
|
||||
@@ -501,7 +604,7 @@ public:
|
||||
virtual bool LayoutContent(bool onlyVisibleRect = false);
|
||||
|
||||
/// Move the caret to the given character position
|
||||
virtual bool MoveCaret(long pos, bool showAtLineStart = false);
|
||||
virtual bool MoveCaret(long pos, bool showAtLineStart = false, wxRichTextParagraphLayoutBox* container = NULL);
|
||||
|
||||
/// Move right
|
||||
virtual bool MoveRight(int noPositions = 1, int flags = 0);
|
||||
@@ -638,7 +741,7 @@ public:
|
||||
void OnUndo(wxCommandEvent& event);
|
||||
void OnRedo(wxCommandEvent& event);
|
||||
void OnSelectAll(wxCommandEvent& event);
|
||||
void OnImage(wxCommandEvent& event);
|
||||
void OnProperties(wxCommandEvent& event);
|
||||
void OnClear(wxCommandEvent& event);
|
||||
|
||||
void OnUpdateCut(wxUpdateUIEvent& event);
|
||||
@@ -647,7 +750,7 @@ public:
|
||||
void OnUpdateUndo(wxUpdateUIEvent& event);
|
||||
void OnUpdateRedo(wxUpdateUIEvent& event);
|
||||
void OnUpdateSelectAll(wxUpdateUIEvent& event);
|
||||
void OnUpdateImage(wxUpdateUIEvent& event);
|
||||
void OnUpdateProperties(wxUpdateUIEvent& event);
|
||||
void OnUpdateClear(wxUpdateUIEvent& event);
|
||||
|
||||
// Show a context menu for Rich Edit controls (the standard
|
||||
@@ -721,7 +824,7 @@ public:
|
||||
virtual bool ShouldInheritColours() const { return false; }
|
||||
|
||||
/// Position the caret
|
||||
virtual void PositionCaret();
|
||||
virtual void PositionCaret(wxRichTextParagraphLayoutBox* container = NULL);
|
||||
|
||||
/// Extend the selection, returning true if the selection was
|
||||
/// changed. Selections are in caret positions.
|
||||
@@ -731,7 +834,7 @@ public:
|
||||
virtual bool ScrollIntoView(long position, int keyCode);
|
||||
|
||||
/// Refresh the area affected by a selection change
|
||||
bool RefreshForSelectionChange(const wxRichTextRange& oldSelection, const wxRichTextRange& newSelection);
|
||||
bool RefreshForSelectionChange(const wxRichTextSelection& oldSelection, const wxRichTextSelection& newSelection);
|
||||
|
||||
/// The caret position is the character position just before the caret.
|
||||
/// A value of -1 means the caret is at the start of the buffer.
|
||||
@@ -753,8 +856,9 @@ public:
|
||||
/// to the start of the next, which may be the exact same caret position.
|
||||
void MoveCaretBack(long oldPosition) ;
|
||||
|
||||
/// Get the caret height and position for the given character position
|
||||
bool GetCaretPositionForIndex(long position, wxRect& rect);
|
||||
/// Get the caret height and position for the given character position. If container is null,
|
||||
/// the current focus object will be used.
|
||||
bool GetCaretPositionForIndex(long position, wxRect& rect, wxRichTextParagraphLayoutBox* container = NULL);
|
||||
|
||||
/// Gets the line for the visible caret position. If the caret is
|
||||
/// shown at the very end of the line, it means the next character is actually
|
||||
@@ -812,6 +916,15 @@ public:
|
||||
|
||||
// Implementation
|
||||
|
||||
/// Set up the caret for the given position and container, after a mouse click
|
||||
bool SetCaretPositionAfterClick(wxRichTextParagraphLayoutBox* container, long position, int hitTestFlags, bool extendSelection = false);
|
||||
|
||||
/// Find the caret position for the combination of hit-test flags and character position.
|
||||
/// Returns the caret position and also an indication of where to place the caret (caretLineStart)
|
||||
/// since this is ambiguous (same position used for end of line and start of next).
|
||||
long FindCaretPositionForCharacterPosition(long position, int hitTestFlags, wxRichTextParagraphLayoutBox* container,
|
||||
bool& caretLineStart);
|
||||
|
||||
/// Font names take a long time to retrieve, so cache them (on demand)
|
||||
static const wxArrayString& GetAvailableFontNames();
|
||||
static void ClearAvailableFontNames();
|
||||
@@ -825,6 +938,10 @@ protected:
|
||||
// implement the wxTextEntry pure virtual method
|
||||
virtual wxWindow *GetEditableWindow() { return this; }
|
||||
|
||||
// margins functions
|
||||
virtual bool DoSetMargins(const wxPoint& pt);
|
||||
virtual wxPoint DoGetMargins() const;
|
||||
|
||||
// FIXME: this does not work, it allows this code to compile but will fail
|
||||
// during run-time
|
||||
#ifndef __WXUNIVERSAL__
|
||||
@@ -872,12 +989,17 @@ private:
|
||||
long m_caretPositionForDefaultStyle;
|
||||
|
||||
/// Selection range in character positions. -2, -2 means no selection.
|
||||
wxRichTextRange m_selectionRange;
|
||||
wxRichTextSelection m_selection;
|
||||
|
||||
wxRichTextCtrlSelectionState m_selectionState;
|
||||
|
||||
/// Anchor so we know how to extend the selection
|
||||
/// It's a caret position since it's between two characters.
|
||||
long m_selectionAnchor;
|
||||
|
||||
/// Anchor object if selecting multiple container objects, such as grid cells.
|
||||
wxRichTextObject* m_selectionAnchorObject;
|
||||
|
||||
/// Are we editable?
|
||||
bool m_editable;
|
||||
|
||||
@@ -904,9 +1026,11 @@ private:
|
||||
wxCursor m_urlCursor;
|
||||
|
||||
static wxArrayString sm_availableFontNames;
|
||||
/// The wxRichTextObject object under mouse if any
|
||||
wxRichTextObject* m_currentObject;
|
||||
long m_imagePropertyId;
|
||||
|
||||
wxRichTextContextMenuPropertiesInfo m_contextMenuPropertiesInfo;
|
||||
|
||||
/// The object that currently has the editing focus
|
||||
wxRichTextParagraphLayoutBox* m_focusObject;
|
||||
};
|
||||
|
||||
/*!
|
||||
@@ -919,14 +1043,14 @@ public:
|
||||
wxRichTextEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)
|
||||
: wxNotifyEvent(commandType, winid),
|
||||
m_flags(0), m_position(-1), m_oldStyleSheet(NULL), m_newStyleSheet(NULL),
|
||||
m_char((wxChar) 0)
|
||||
m_char((wxChar) 0), m_container(NULL), m_oldContainer(NULL)
|
||||
{ }
|
||||
|
||||
wxRichTextEvent(const wxRichTextEvent& event)
|
||||
: wxNotifyEvent(event),
|
||||
m_flags(event.m_flags), m_position(-1),
|
||||
m_oldStyleSheet(event.m_oldStyleSheet), m_newStyleSheet(event.m_newStyleSheet),
|
||||
m_char((wxChar) 0)
|
||||
m_char((wxChar) 0), m_container(event.m_container), m_oldContainer(event.m_oldContainer)
|
||||
{ }
|
||||
|
||||
long GetPosition() const { return m_position; }
|
||||
@@ -947,6 +1071,12 @@ public:
|
||||
wxChar GetCharacter() const { return m_char; }
|
||||
void SetCharacter(wxChar ch) { m_char = ch; }
|
||||
|
||||
wxRichTextParagraphLayoutBox* GetContainer() const { return m_container; }
|
||||
void SetContainer(wxRichTextParagraphLayoutBox* container) { m_container = container; }
|
||||
|
||||
wxRichTextParagraphLayoutBox* GetOldContainer() const { return m_oldContainer; }
|
||||
void SetOldContainer(wxRichTextParagraphLayoutBox* container) { m_oldContainer = container; }
|
||||
|
||||
virtual wxEvent *Clone() const { return new wxRichTextEvent(*this); }
|
||||
|
||||
protected:
|
||||
@@ -956,6 +1086,8 @@ protected:
|
||||
wxRichTextStyleSheet* m_newStyleSheet;
|
||||
wxRichTextRange m_range;
|
||||
wxChar m_char;
|
||||
wxRichTextParagraphLayoutBox* m_container;
|
||||
wxRichTextParagraphLayoutBox* m_oldContainer;
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxRichTextEvent)
|
||||
@@ -982,6 +1114,7 @@ wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_CONTENT_D
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLE_CHANGED, wxRichTextEvent );
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_SELECTION_CHANGED, wxRichTextEvent );
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_BUFFER_RESET, wxRichTextEvent );
|
||||
wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_FOCUS_OBJECT_CHANGED, wxRichTextEvent );
|
||||
|
||||
typedef void (wxEvtHandler::*wxRichTextEventFunction)(wxRichTextEvent&);
|
||||
|
||||
|
41
include/wx/richtext/richtextdialogpage.h
Normal file
41
include/wx/richtext/richtextdialogpage.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/richtext/richtextdialogpage.h
|
||||
// Purpose: Formatting dialog page base class for wxRTC
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 2010-11-14
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows Licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_RICHTEXTDIALOGPAGE_H_
|
||||
#define _WX_RICHTEXTDIALOGPAGE_H_
|
||||
|
||||
#if wxUSE_RICHTEXT
|
||||
|
||||
#include "wx/panel.h"
|
||||
#include "wx/richtext/richtextuicustomization.h"
|
||||
|
||||
/**
|
||||
@class wxRichTextDialogPage
|
||||
The base class for formatting dialog pages.
|
||||
**/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextDialogPage: public wxPanel
|
||||
{
|
||||
public:
|
||||
wxRichTextDialogPage() {}
|
||||
wxRichTextDialogPage(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0)
|
||||
{
|
||||
Create(parent, id, pos, size, style);
|
||||
}
|
||||
|
||||
DECLARE_BASE_CLASS_HELP_PROVISION()
|
||||
};
|
||||
|
||||
#endif
|
||||
// wxUSE_RICHTEXT
|
||||
|
||||
#endif
|
||||
// _WX_RICHTEXTDIALOGPAGE_H_
|
@@ -16,6 +16,8 @@
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
////@begin includes
|
||||
////@end includes
|
||||
|
||||
@@ -35,7 +37,7 @@ class wxRichTextFontPreviewCtrl;
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTFONTPAGE_STYLE wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTFONTPAGE_TITLE wxT("")
|
||||
#define SYMBOL_WXRICHTEXTFONTPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTFONTPAGE_IDNAME ID_RICHTEXTFONTPAGE
|
||||
#define SYMBOL_WXRICHTEXTFONTPAGE_SIZE wxSize(200, 100)
|
||||
#define SYMBOL_WXRICHTEXTFONTPAGE_POSITION wxDefaultPosition
|
||||
@@ -45,10 +47,11 @@ class wxRichTextFontPreviewCtrl;
|
||||
* wxRichTextFontPage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextFontPage: public wxPanel
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextFontPage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextFontPage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
|
@@ -29,6 +29,7 @@
|
||||
|
||||
#include "wx/richtext/richtextbuffer.h"
|
||||
#include "wx/richtext/richtextstyles.h"
|
||||
#include "wx/richtext/richtextuicustomization.h"
|
||||
|
||||
class WXDLLIMPEXP_FWD_RICHTEXT wxRichTextFormattingDialog;
|
||||
class WXDLLIMPEXP_FWD_CORE wxImageList;
|
||||
@@ -43,8 +44,12 @@ class WXDLLIMPEXP_FWD_CORE wxImageList;
|
||||
#define wxRICHTEXT_FORMAT_BULLETS 0x0008
|
||||
#define wxRICHTEXT_FORMAT_INDENTS_SPACING 0x0010
|
||||
#define wxRICHTEXT_FORMAT_LIST_STYLE 0x0020
|
||||
#define wxRICHTEXT_FORMAT_MARGINS 0x0040
|
||||
#define wxRICHTEXT_FORMAT_SIZE 0x0080
|
||||
#define wxRICHTEXT_FORMAT_BORDERS 0x0100
|
||||
#define wxRICHTEXT_FORMAT_BACKGROUND 0x0200
|
||||
|
||||
#define wxRICHTEXT_FORMAT_HELP_BUTTON 0x0100
|
||||
#define wxRICHTEXT_FORMAT_HELP_BUTTON 0x1000
|
||||
|
||||
/*!
|
||||
* Indices for bullet styles in list control
|
||||
@@ -99,7 +104,7 @@ public:
|
||||
virtual int GetPageImage(int WXUNUSED(id)) const { return -1; }
|
||||
|
||||
/// Invoke help for the dialog
|
||||
virtual bool ShowHelp(int WXUNUSED(page), wxRichTextFormattingDialog* WXUNUSED(dialog)) { return false; }
|
||||
virtual bool ShowHelp(int page, wxRichTextFormattingDialog* dialog);
|
||||
|
||||
/// Set the sheet style, called at the start of wxRichTextFormattingDialog::Create
|
||||
virtual bool SetSheetStyle(wxRichTextFormattingDialog* dialog);
|
||||
@@ -115,6 +120,8 @@ public:
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextFormattingDialog: public wxPropertySheetDialog
|
||||
{
|
||||
DECLARE_CLASS(wxRichTextFormattingDialog)
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
wxRichTextFormattingDialog() { Init(); }
|
||||
|
||||
@@ -155,10 +162,23 @@ public:
|
||||
/// Apply attributes to the given range
|
||||
virtual bool ApplyStyle(wxRichTextCtrl* ctrl, const wxRichTextRange& range, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO|wxRICHTEXT_SETSTYLE_OPTIMIZE);
|
||||
|
||||
/// Apply attributes to the object being edited, if any
|
||||
virtual bool ApplyStyle(wxRichTextCtrl* ctrl, int flags = wxRICHTEXT_SETSTYLE_WITH_UNDO);
|
||||
|
||||
/// Gets and sets the attributes
|
||||
const wxRichTextAttr& GetAttributes() const { return m_attributes; }
|
||||
wxRichTextAttr& GetAttributes() { return m_attributes; }
|
||||
void SetAttributes(const wxRichTextAttr& attr) { m_attributes = attr; }
|
||||
#if 0
|
||||
/// Gets and sets the attributes that the user wants to reset
|
||||
const wxRichTextAttr& GetResetAttributes() const { return m_resetAttributes; }
|
||||
wxRichTextAttr& GetResetAttributes() { return m_resetAttributes; }
|
||||
void SetResetAttributes(const wxRichTextAttr& attr) { m_resetAttributes = attr; }
|
||||
#endif
|
||||
/// If editing the attributes for a particular object, such as an image,
|
||||
/// set the object so the code can initialize attributes such as size correctly.
|
||||
wxRichTextObject* GetObject() const { return m_object; }
|
||||
void SetObject(wxRichTextObject* obj) { m_object = obj; }
|
||||
|
||||
/// Transfers the data and from to the window
|
||||
virtual bool TransferDataToWindow();
|
||||
@@ -170,6 +190,7 @@ public:
|
||||
|
||||
/// Respond to help command
|
||||
void OnHelp(wxCommandEvent& event);
|
||||
void OnUpdateHelp(wxUpdateUIEvent& event);
|
||||
|
||||
/// Set/get image list
|
||||
void SetImageList(wxImageList* imageList) { m_imageList = imageList; }
|
||||
@@ -185,6 +206,9 @@ public:
|
||||
/// Helper for pages to get the attributes
|
||||
static wxRichTextAttr* GetDialogAttributes(wxWindow* win);
|
||||
|
||||
/// Helper for pages to get the reset attributes
|
||||
static wxRichTextAttr* GetDialogResetAttributes(wxWindow* win);
|
||||
|
||||
/// Helper for pages to get the style
|
||||
static wxRichTextStyleDefinition* GetDialogStyleDefinition(wxWindow* win);
|
||||
|
||||
@@ -194,15 +218,29 @@ public:
|
||||
/// Determines whether tooltips will be shown
|
||||
static void SetShowToolTips(bool show) { sm_showToolTips = show; }
|
||||
|
||||
/// Set the dimension into the value and units controls
|
||||
static void SetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl, wxCheckBox* checkBox);
|
||||
|
||||
/// Get the dimension from the value and units controls
|
||||
static void GetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl, wxCheckBox* checkBox);
|
||||
|
||||
/// Convert CM to MM
|
||||
static bool ConvertFromString(const wxString& string, int& ret, int scale);
|
||||
|
||||
/// Map book control page index to our page id
|
||||
void AddPageId(int id) { m_pageIds.Add(id); }
|
||||
|
||||
/// Find a page by class
|
||||
wxWindow* FindPage(wxClassInfo* info) const;
|
||||
|
||||
protected:
|
||||
|
||||
wxImageList* m_imageList;
|
||||
wxRichTextAttr m_attributes;
|
||||
//wxRichTextAttr m_resetAttributes;
|
||||
wxRichTextStyleDefinition* m_styleDefinition;
|
||||
wxRichTextStyleSheet* m_styleSheet;
|
||||
wxRichTextObject* m_object;
|
||||
wxArrayInt m_pageIds; // mapping of book control indexes to page ids
|
||||
|
||||
static wxRichTextFormattingDialogFactory* ms_FormattingDialogFactory;
|
||||
|
@@ -2,10 +2,10 @@
|
||||
// Name: wx/richtext/richtextimagedlg.h
|
||||
// Purpose:
|
||||
// Author: Mingquan Yang
|
||||
// Modified by:
|
||||
// Modified by: Julian Smart
|
||||
// Created: Wed 02 Jun 2010 11:27:23 CST
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Mingquan Yang
|
||||
// Copyright: (c) Mingquan Yang, Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -17,7 +17,9 @@
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextbuffer.h"
|
||||
#include "wx/richtext/richtextformatdlg.h"
|
||||
|
||||
/*!
|
||||
* Forward declarations
|
||||
@@ -32,33 +34,32 @@ class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTIMAGEDIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTIMAGEDIALOG_TITLE _("Image Properties")
|
||||
#define SYMBOL_WXRICHTEXTIMAGEDIALOG_IDNAME ID_WXRICHTEXTIMAGEPAGE
|
||||
#define SYMBOL_WXRICHTEXTIMAGEDIALOG_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTIMAGEDIALOG_POSITION wxDefaultPosition
|
||||
#define SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_TITLE _("Object Properties")
|
||||
#define SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_IDNAME ID_RICHTEXTOBJECTPROPERTIESDIALOG
|
||||
#define SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_POSITION wxDefaultPosition
|
||||
////@end control identifiers
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextImageDialog class declaration
|
||||
* wxRichTextObjectPropertiesDialog class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextImageDialog: public wxDialog
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextObjectPropertiesDialog: public wxRichTextFormattingDialog
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextImageDialog )
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextObjectPropertiesDialog )
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
wxRichTextImageDialog();
|
||||
wxRichTextImageDialog( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTIMAGEDIALOG_IDNAME, const wxString& caption = SYMBOL_WXRICHTEXTIMAGEDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTIMAGEDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTIMAGEDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTIMAGEDIALOG_STYLE );
|
||||
wxRichTextObjectPropertiesDialog();
|
||||
wxRichTextObjectPropertiesDialog( wxRichTextObject* obj, wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_IDNAME, const wxString& caption = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_STYLE );
|
||||
|
||||
/// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTIMAGEDIALOG_IDNAME, const wxString& caption = SYMBOL_WXRICHTEXTIMAGEDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTIMAGEDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTIMAGEDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTIMAGEDIALOG_STYLE );
|
||||
bool Create( wxRichTextObject* obj, wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_IDNAME, const wxString& caption = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTOBJECTPROPERTIESDIALOG_STYLE );
|
||||
|
||||
/// Destructor
|
||||
~wxRichTextImageDialog();
|
||||
~wxRichTextObjectPropertiesDialog();
|
||||
|
||||
/// Initialises member variables
|
||||
void Init();
|
||||
@@ -66,77 +67,28 @@ public:
|
||||
/// Creates the controls and sizers
|
||||
void CreateControls();
|
||||
|
||||
/// Set the dimension into the value and units controls
|
||||
void SetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl);
|
||||
////@begin wxRichTextObjectPropertiesDialog event handler declarations
|
||||
|
||||
/// Get the dimension from the value and units controls
|
||||
void GetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl);
|
||||
////@end wxRichTextObjectPropertiesDialog event handler declarations
|
||||
|
||||
////@begin wxRichTextImageDialog event handler declarations
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTIMAGEDIALOG_PARA_UP
|
||||
void OnRichtextimagedialogParaUpClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTIMAGEDIALOG_DOWN
|
||||
void OnRichtextimagedialogDownClick( wxCommandEvent& event );
|
||||
|
||||
////@end wxRichTextImageDialog event handler declarations
|
||||
|
||||
////@begin wxRichTextImageDialog member function declarations
|
||||
////@begin wxRichTextObjectPropertiesDialog member function declarations
|
||||
|
||||
/// Retrieves bitmap resources
|
||||
wxBitmap GetBitmapResource( const wxString& name );
|
||||
|
||||
/// Retrieves icon resources
|
||||
wxIcon GetIconResource( const wxString& name );
|
||||
////@end wxRichTextImageDialog member function declarations
|
||||
////@end wxRichTextObjectPropertiesDialog member function declarations
|
||||
|
||||
/// Should we show tooltips?
|
||||
static bool ShowToolTips();
|
||||
|
||||
/// Set the image attribute
|
||||
void SetImageAttr(const wxRichTextAttr& textAttr);
|
||||
wxRichTextImage* ApplyImageAttr();
|
||||
|
||||
/// Set the anchored object
|
||||
void SetImageObject(wxRichTextImage *image, wxRichTextBuffer* buffer);
|
||||
|
||||
virtual bool TransferDataFromWindow();
|
||||
virtual bool TransferDataToWindow();
|
||||
private:
|
||||
/// Convert CM to MM
|
||||
bool ConvertFromString(const wxString& string, int& ret, int scale);
|
||||
private:
|
||||
wxRichTextAttr m_textAttr;
|
||||
|
||||
////@begin wxRichTextImageDialog member variables
|
||||
wxComboBox* m_float;
|
||||
wxTextCtrl* m_width;
|
||||
wxComboBox* m_unitsW;
|
||||
wxTextCtrl* m_height;
|
||||
wxComboBox* m_unitsH;
|
||||
wxTextCtrl* m_offset;
|
||||
wxComboBox* m_unitsOffset;
|
||||
wxButton* m_saveButton;
|
||||
wxButton* m_cancelButton;
|
||||
////@begin wxRichTextObjectPropertiesDialog member variables
|
||||
/// Control identifiers
|
||||
enum {
|
||||
ID_WXRICHTEXTIMAGEPAGE = 10015,
|
||||
ID_RICHTEXTIMAGEDIALOG_FLOATING_MODE = 10017,
|
||||
ID_RICHTEXTIMAGEDIALOG_WIDTH = 10018,
|
||||
ID_RICHTEXTIMAGEDIALOG_UNITS_W = 10019,
|
||||
ID_RICHTEXTIMAGEDIALOG_HEIGHT = 10020,
|
||||
ID_RICHTEXTIMAGEDIALOG_UNITS_H = 10021,
|
||||
ID_RICHTEXTIMAGEDIALOG_OFFSET = 10022,
|
||||
ID_RICHTEXTIMAGEDIALOG_OFFSET_UNITS = 10023,
|
||||
ID_RICHTEXTIMAGEDIALOG_PARA_UP = 10024,
|
||||
ID_RICHTEXTIMAGEDIALOG_DOWN = 10025
|
||||
ID_RICHTEXTOBJECTPROPERTIESDIALOG = 10650
|
||||
};
|
||||
////@end wxRichTextImageDialog member variables
|
||||
|
||||
wxRichTextBuffer* m_buffer;
|
||||
wxRichTextObject* m_image;
|
||||
wxRichTextObject* m_parent;
|
||||
////@end wxRichTextObjectPropertiesDialog member variables
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -16,6 +16,8 @@
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
////@begin includes
|
||||
#include "wx/statline.h"
|
||||
////@end includes
|
||||
@@ -44,10 +46,11 @@ class wxRichTextCtrl;
|
||||
* wxRichTextIndentsSpacingPage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextIndentsSpacingPage: public wxPanel
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextIndentsSpacingPage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextIndentsSpacingPage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
|
@@ -16,6 +16,8 @@
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
////@begin includes
|
||||
#include "wx/spinctrl.h"
|
||||
#include "wx/notebook.h"
|
||||
@@ -28,7 +30,7 @@
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_TITLE wxT("")
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_IDNAME ID_RICHTEXTLISTSTYLEPAGE
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_POSITION wxDefaultPosition
|
||||
@@ -38,10 +40,11 @@
|
||||
* wxRichTextListStylePage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextListStylePage: public wxPanel
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextListStylePage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextListStylePage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
|
179
include/wx/richtext/richtextmarginspage.h
Normal file
179
include/wx/richtext/richtextmarginspage.h
Normal file
@@ -0,0 +1,179 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextmarginspage.h
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 20/10/2010 10:27:34
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _RICHTEXTMARGINSPAGE_H_
|
||||
#define _RICHTEXTMARGINSPAGE_H_
|
||||
|
||||
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
////@begin includes
|
||||
#include "wx/statline.h"
|
||||
////@end includes
|
||||
|
||||
/*!
|
||||
* Forward declarations
|
||||
*/
|
||||
|
||||
////@begin forward declarations
|
||||
////@end forward declarations
|
||||
|
||||
/*!
|
||||
* Control identifiers
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTMARGINSPAGE_STYLE wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTMARGINSPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTMARGINSPAGE_IDNAME ID_WXRICHTEXTMARGINSPAGE
|
||||
#define SYMBOL_WXRICHTEXTMARGINSPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTMARGINSPAGE_POSITION wxDefaultPosition
|
||||
////@end control identifiers
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextMarginsPage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextMarginsPage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextMarginsPage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
wxRichTextMarginsPage();
|
||||
wxRichTextMarginsPage( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTMARGINSPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTMARGINSPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTMARGINSPAGE_SIZE, long style = SYMBOL_WXRICHTEXTMARGINSPAGE_STYLE );
|
||||
|
||||
/// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTMARGINSPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTMARGINSPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTMARGINSPAGE_SIZE, long style = SYMBOL_WXRICHTEXTMARGINSPAGE_STYLE );
|
||||
|
||||
/// Destructor
|
||||
~wxRichTextMarginsPage();
|
||||
|
||||
/// Initialises member variables
|
||||
void Init();
|
||||
|
||||
/// Creates the controls and sizers
|
||||
void CreateControls();
|
||||
|
||||
/// Gets the attributes from the formatting dialog
|
||||
wxRichTextAttr* GetAttributes();
|
||||
|
||||
/// Data transfer
|
||||
virtual bool TransferDataToWindow();
|
||||
virtual bool TransferDataFromWindow();
|
||||
|
||||
////@begin wxRichTextMarginsPage event handler declarations
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_MARGIN
|
||||
void OnRichtextLeftMarginUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_MARGIN
|
||||
void OnRichtextRightMarginUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_MARGIN
|
||||
void OnRichtextTopMarginUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_MARGIN
|
||||
void OnRichtextBottomMarginUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_PADDING
|
||||
void OnRichtextLeftPaddingUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_PADDING
|
||||
void OnRichtextRightPaddingUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_PADDING
|
||||
void OnRichtextTopPaddingUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_PADDING
|
||||
void OnRichtextBottomPaddingUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
////@end wxRichTextMarginsPage event handler declarations
|
||||
|
||||
////@begin wxRichTextMarginsPage member function declarations
|
||||
|
||||
/// Retrieves bitmap resources
|
||||
wxBitmap GetBitmapResource( const wxString& name );
|
||||
|
||||
/// Retrieves icon resources
|
||||
wxIcon GetIconResource( const wxString& name );
|
||||
////@end wxRichTextMarginsPage member function declarations
|
||||
|
||||
/// Should we show tooltips?
|
||||
static bool ShowToolTips();
|
||||
|
||||
////@begin wxRichTextMarginsPage member variables
|
||||
wxCheckBox* m_leftMarginCheckbox;
|
||||
wxTextCtrl* m_marginLeft;
|
||||
wxComboBox* m_unitsMarginLeft;
|
||||
wxCheckBox* m_rightMarginCheckbox;
|
||||
wxTextCtrl* m_marginRight;
|
||||
wxComboBox* m_unitsMarginRight;
|
||||
wxCheckBox* m_topMarginCheckbox;
|
||||
wxTextCtrl* m_marginTop;
|
||||
wxComboBox* m_unitsMarginTop;
|
||||
wxCheckBox* m_bottomMarginCheckbox;
|
||||
wxTextCtrl* m_marginBottom;
|
||||
wxComboBox* m_unitsMarginBottom;
|
||||
wxCheckBox* m_leftPaddingCheckbox;
|
||||
wxTextCtrl* m_paddingLeft;
|
||||
wxComboBox* m_unitsPaddingLeft;
|
||||
wxCheckBox* m_rightPaddingCheckbox;
|
||||
wxTextCtrl* m_paddingRight;
|
||||
wxComboBox* m_unitsPaddingRight;
|
||||
wxCheckBox* m_topPaddingCheckbox;
|
||||
wxTextCtrl* m_paddingTop;
|
||||
wxComboBox* m_unitsPaddingTop;
|
||||
wxCheckBox* m_bottomPaddingCheckbox;
|
||||
wxTextCtrl* m_paddingBottom;
|
||||
wxComboBox* m_unitsPaddingBottom;
|
||||
/// Control identifiers
|
||||
enum {
|
||||
ID_WXRICHTEXTMARGINSPAGE = 10750,
|
||||
ID_RICHTEXT_LEFT_MARGIN_CHECKBOX = 10751,
|
||||
ID_RICHTEXT_LEFT_MARGIN = 10752,
|
||||
ID_RICHTEXT_LEFT_MARGIN_UNITS = 10753,
|
||||
ID_RICHTEXT_RIGHT_MARGIN_CHECKBOX = 10754,
|
||||
ID_RICHTEXT_RIGHT_MARGIN = 10755,
|
||||
ID_RICHTEXT_RIGHT_MARGIN_UNITS = 10756,
|
||||
ID_RICHTEXT_TOP_MARGIN_CHECKBOX = 10757,
|
||||
ID_RICHTEXT_TOP_MARGIN = 10758,
|
||||
ID_RICHTEXT_TOP_MARGIN_UNITS = 10759,
|
||||
ID_RICHTEXT_BOTTOM_MARGIN_CHECKBOX = 10760,
|
||||
ID_RICHTEXT_BOTTOM_MARGIN = 10761,
|
||||
ID_RICHTEXT_BOTTOM_MARGIN_UNITS = 10762,
|
||||
ID_RICHTEXT_LEFT_PADDING_CHECKBOX = 10763,
|
||||
ID_RICHTEXT_LEFT_PADDING = 10764,
|
||||
ID_RICHTEXT_LEFT_PADDING_UNITS = 10765,
|
||||
ID_RICHTEXT_RIGHT_PADDING_CHECKBOX = 10766,
|
||||
ID_RICHTEXT_RIGHT_PADDING = 10767,
|
||||
ID_RICHTEXT_RIGHT_PADDING_UNITS = 10768,
|
||||
ID_RICHTEXT_TOP_PADDING_CHECKBOX = 10769,
|
||||
ID_RICHTEXT_TOP_PADDING = 10770,
|
||||
ID_RICHTEXT_TOP_PADDING_UNITS = 10771,
|
||||
ID_RICHTEXT_BOTTOM_PADDING_CHECKBOX = 10772,
|
||||
ID_RICHTEXT_BOTTOM_PADDING = 10773,
|
||||
ID_RICHTEXT_BOTTOM_PADDING_UNITS = 10774
|
||||
};
|
||||
////@end wxRichTextMarginsPage member variables
|
||||
|
||||
bool m_ignoreUpdates;
|
||||
};
|
||||
|
||||
#endif
|
||||
// _RICHTEXTMARGINSPAGE_H_
|
@@ -145,6 +145,7 @@ private:
|
||||
int m_numPages;
|
||||
wxArrayInt m_pageBreaksStart;
|
||||
wxArrayInt m_pageBreaksEnd;
|
||||
wxArrayInt m_pageYOffsets;
|
||||
int m_marginLeft, m_marginTop, m_marginRight, m_marginBottom;
|
||||
|
||||
wxRichTextHeaderFooterData m_headerFooterData;
|
||||
|
159
include/wx/richtext/richtextsizepage.h
Normal file
159
include/wx/richtext/richtextsizepage.h
Normal file
@@ -0,0 +1,159 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextsizepage.h
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 20/10/2010 10:23:24
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _RICHTEXTSIZEPAGE_H_
|
||||
#define _RICHTEXTSIZEPAGE_H_
|
||||
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
#include "wx/sizer.h"
|
||||
|
||||
////@begin includes
|
||||
#include "wx/statline.h"
|
||||
////@end includes
|
||||
|
||||
/*!
|
||||
* Forward declarations
|
||||
*/
|
||||
|
||||
|
||||
/*!
|
||||
* Control identifiers
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTSIZEPAGE_STYLE wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTSIZEPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTSIZEPAGE_IDNAME ID_WXRICHTEXTSIZEPAGE
|
||||
#define SYMBOL_WXRICHTEXTSIZEPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTSIZEPAGE_POSITION wxDefaultPosition
|
||||
////@end control identifiers
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextSizePage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextSizePage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextSizePage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
wxRichTextSizePage();
|
||||
wxRichTextSizePage( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTSIZEPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTSIZEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTSIZEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTSIZEPAGE_STYLE );
|
||||
|
||||
/// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTSIZEPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTSIZEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTSIZEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTSIZEPAGE_STYLE );
|
||||
|
||||
/// Destructor
|
||||
~wxRichTextSizePage();
|
||||
|
||||
/// Initialises member variables
|
||||
void Init();
|
||||
|
||||
/// Creates the controls and sizers
|
||||
void CreateControls();
|
||||
|
||||
/// Gets the attributes from the formatting dialog
|
||||
wxRichTextAttr* GetAttributes();
|
||||
|
||||
/// Data transfer
|
||||
virtual bool TransferDataToWindow();
|
||||
virtual bool TransferDataFromWindow();
|
||||
|
||||
/// Show/hide position controls
|
||||
void ShowPositionControls(bool show);
|
||||
|
||||
/// Show/hide floating controls
|
||||
void ShowFloatingControls(bool show);
|
||||
|
||||
////@begin wxRichTextSizePage event handler declarations
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_WIDTH
|
||||
void OnRichtextWidthUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_HEIGHT
|
||||
void OnRichtextHeightUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX
|
||||
void OnRichtextVerticalAlignmentComboboxUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXT_OFFSET
|
||||
void OnRichtextOffsetUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXT_PARA_UP
|
||||
void OnRichtextParaUpClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXT_PARA_DOWN
|
||||
void OnRichtextParaDownClick( wxCommandEvent& event );
|
||||
|
||||
////@end wxRichTextSizePage event handler declarations
|
||||
|
||||
////@begin wxRichTextSizePage member function declarations
|
||||
|
||||
/// Retrieves bitmap resources
|
||||
wxBitmap GetBitmapResource( const wxString& name );
|
||||
|
||||
/// Retrieves icon resources
|
||||
wxIcon GetIconResource( const wxString& name );
|
||||
////@end wxRichTextSizePage member function declarations
|
||||
|
||||
/// Should we show tooltips?
|
||||
static bool ShowToolTips();
|
||||
|
||||
////@begin wxRichTextSizePage member variables
|
||||
wxBoxSizer* m_parentSizer;
|
||||
wxBoxSizer* m_floatingControls;
|
||||
wxComboBox* m_float;
|
||||
wxCheckBox* m_widthCheckbox;
|
||||
wxTextCtrl* m_width;
|
||||
wxComboBox* m_unitsW;
|
||||
wxCheckBox* m_heightCheckbox;
|
||||
wxTextCtrl* m_height;
|
||||
wxComboBox* m_unitsH;
|
||||
wxBoxSizer* m_alignmentControls;
|
||||
wxCheckBox* m_verticalAlignmentCheckbox;
|
||||
wxComboBox* m_verticalAlignmentComboBox;
|
||||
wxBoxSizer* m_positionControls;
|
||||
wxBoxSizer* m_moveObjectParentSizer;
|
||||
wxCheckBox* m_offsetYCheckbox;
|
||||
wxTextCtrl* m_offset;
|
||||
wxComboBox* m_unitsOffset;
|
||||
wxBoxSizer* m_moveObjectSizer;
|
||||
/// Control identifiers
|
||||
enum {
|
||||
ID_WXRICHTEXTSIZEPAGE = 10700,
|
||||
ID_RICHTEXT_FLOATING_MODE = 10701,
|
||||
ID_RICHTEXT_WIDTH_CHECKBOX = 10702,
|
||||
ID_RICHTEXT_WIDTH = 10703,
|
||||
ID_RICHTEXT_UNITS_W = 10704,
|
||||
ID_RICHTEXT_HEIGHT_CHECKBOX = 10705,
|
||||
ID_RICHTEXT_HEIGHT = 10706,
|
||||
ID_RICHTEXT_UNITS_H = 10707,
|
||||
ID_RICHTEXT_VERTICAL_ALIGNMENT_CHECKBOX = 10708,
|
||||
ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX = 10709,
|
||||
ID_RICHTEXT_OFFSET_CHECKBOX = 10710,
|
||||
ID_RICHTEXT_OFFSET = 10711,
|
||||
ID_RICHTEXT_OFFSET_UNITS = 10712,
|
||||
ID_RICHTEXT_PARA_UP = 10713,
|
||||
ID_RICHTEXT_PARA_DOWN = 10714
|
||||
};
|
||||
////@end wxRichTextSizePage member variables
|
||||
};
|
||||
|
||||
#endif
|
||||
// _RICHTEXTSIZEPAGE_H_
|
@@ -16,6 +16,8 @@
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextuicustomization.h"
|
||||
|
||||
////@begin includes
|
||||
////@end includes
|
||||
|
||||
@@ -31,6 +33,7 @@
|
||||
class wxBoxSizer;
|
||||
class wxRichTextStyleListCtrl;
|
||||
class wxRichTextCtrl;
|
||||
class wxStdDialogButtonSizer;
|
||||
////@end forward declarations
|
||||
|
||||
class WXDLLIMPEXP_FWD_CORE wxButton;
|
||||
@@ -79,6 +82,7 @@ class WXDLLIMPEXP_RICHTEXT wxRichTextStyleOrganiserDialog: public wxDialog
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextStyleOrganiserDialog )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
@@ -207,6 +211,7 @@ public:
|
||||
wxButton* m_closeButton;
|
||||
wxBoxSizer* m_bottomButtonSizer;
|
||||
wxCheckBox* m_restartNumberingCtrl;
|
||||
wxStdDialogButtonSizer* m_stdButtonSizer;
|
||||
wxButton* m_okButton;
|
||||
wxButton* m_cancelButton;
|
||||
/// Control identifiers
|
||||
|
@@ -12,13 +12,15 @@
|
||||
#ifndef _RICHTEXTSTYLEPAGE_H_
|
||||
#define _RICHTEXTSTYLEPAGE_H_
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
/*!
|
||||
* Control identifiers
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTSTYLEPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTSTYLEPAGE_TITLE wxT("")
|
||||
#define SYMBOL_WXRICHTEXTSTYLEPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTSTYLEPAGE_IDNAME ID_RICHTEXTSTYLEPAGE
|
||||
#define SYMBOL_WXRICHTEXTSTYLEPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTSTYLEPAGE_POSITION wxDefaultPosition
|
||||
@@ -28,10 +30,11 @@
|
||||
* wxRichTextStylePage class declaration
|
||||
*/
|
||||
|
||||
class wxRichTextStylePage: public wxPanel
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextStylePage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextStylePage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
|
@@ -240,6 +240,40 @@ protected:
|
||||
wxRichTextAttr m_levelStyles[10];
|
||||
};
|
||||
|
||||
/*!
|
||||
* wxRichTextBoxStyleDefinition class declaration, for box attributes in objects such as wxRichTextBox.
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextBoxStyleDefinition: public wxRichTextStyleDefinition
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxRichTextBoxStyleDefinition)
|
||||
public:
|
||||
|
||||
/// Copy constructor
|
||||
wxRichTextBoxStyleDefinition(const wxRichTextBoxStyleDefinition& def) { Copy(def); }
|
||||
|
||||
/// Default constructor
|
||||
wxRichTextBoxStyleDefinition(const wxString& name = wxEmptyString):
|
||||
wxRichTextStyleDefinition(name) {}
|
||||
|
||||
// Destructor
|
||||
virtual ~wxRichTextBoxStyleDefinition() {}
|
||||
|
||||
/// Copies from def
|
||||
void Copy(const wxRichTextBoxStyleDefinition& def);
|
||||
|
||||
/// Assignment operator
|
||||
void operator =(const wxRichTextBoxStyleDefinition& def) { Copy(def); }
|
||||
|
||||
/// Equality operator
|
||||
bool operator ==(const wxRichTextBoxStyleDefinition& def) const;
|
||||
|
||||
/// Clones the object
|
||||
virtual wxRichTextStyleDefinition* Clone() const { return new wxRichTextBoxStyleDefinition(*this); }
|
||||
|
||||
protected:
|
||||
};
|
||||
|
||||
/*!
|
||||
* The style sheet
|
||||
*/
|
||||
@@ -280,6 +314,9 @@ public:
|
||||
/// Add a definition to the list style list
|
||||
bool AddListStyle(wxRichTextListStyleDefinition* def);
|
||||
|
||||
/// Add a definition to the box style list
|
||||
bool AddBoxStyle(wxRichTextBoxStyleDefinition* def);
|
||||
|
||||
/// Add a definition to the appropriate style list
|
||||
bool AddStyle(wxRichTextStyleDefinition* def);
|
||||
|
||||
@@ -292,6 +329,9 @@ public:
|
||||
/// Remove a list style
|
||||
bool RemoveListStyle(wxRichTextStyleDefinition* def, bool deleteStyle = false) { return RemoveStyle(m_listStyleDefinitions, def, deleteStyle); }
|
||||
|
||||
/// Remove a box style
|
||||
bool RemoveBoxStyle(wxRichTextStyleDefinition* def, bool deleteStyle = false) { return RemoveStyle(m_boxStyleDefinitions, def, deleteStyle); }
|
||||
|
||||
/// Remove a style
|
||||
bool RemoveStyle(wxRichTextStyleDefinition* def, bool deleteStyle = false);
|
||||
|
||||
@@ -304,6 +344,9 @@ public:
|
||||
/// Find a list definition by name
|
||||
wxRichTextListStyleDefinition* FindListStyle(const wxString& name, bool recurse = true) const { return (wxRichTextListStyleDefinition*) FindStyle(m_listStyleDefinitions, name, recurse); }
|
||||
|
||||
/// Find a box definition by name
|
||||
wxRichTextBoxStyleDefinition* FindBoxStyle(const wxString& name, bool recurse = true) const { return (wxRichTextBoxStyleDefinition*) FindStyle(m_boxStyleDefinitions, name, recurse); }
|
||||
|
||||
/// Find any definition by name
|
||||
wxRichTextStyleDefinition* FindStyle(const wxString& name, bool recurse = true) const;
|
||||
|
||||
@@ -316,6 +359,9 @@ public:
|
||||
/// Return the number of list styles
|
||||
size_t GetListStyleCount() const { return m_listStyleDefinitions.GetCount(); }
|
||||
|
||||
/// Return the number of box styles
|
||||
size_t GetBoxStyleCount() const { return m_boxStyleDefinitions.GetCount(); }
|
||||
|
||||
/// Return the nth character style
|
||||
wxRichTextCharacterStyleDefinition* GetCharacterStyle(size_t n) const { return (wxRichTextCharacterStyleDefinition*) m_characterStyleDefinitions.Item(n)->GetData(); }
|
||||
|
||||
@@ -325,6 +371,9 @@ public:
|
||||
/// Return the nth list style
|
||||
wxRichTextListStyleDefinition* GetListStyle(size_t n) const { return (wxRichTextListStyleDefinition*) m_listStyleDefinitions.Item(n)->GetData(); }
|
||||
|
||||
/// Return the nth box style
|
||||
wxRichTextBoxStyleDefinition* GetBoxStyle(size_t n) const { return (wxRichTextBoxStyleDefinition*) m_boxStyleDefinitions.Item(n)->GetData(); }
|
||||
|
||||
/// Delete all styles
|
||||
void DeleteStyles();
|
||||
|
||||
@@ -372,6 +421,7 @@ protected:
|
||||
wxList m_characterStyleDefinitions;
|
||||
wxList m_paragraphStyleDefinitions;
|
||||
wxList m_listStyleDefinitions;
|
||||
wxList m_boxStyleDefinitions;
|
||||
|
||||
wxRichTextStyleSheet* m_previousSheet;
|
||||
wxRichTextStyleSheet* m_nextSheet;
|
||||
@@ -395,7 +445,8 @@ public:
|
||||
wxRICHTEXT_STYLE_ALL,
|
||||
wxRICHTEXT_STYLE_PARAGRAPH,
|
||||
wxRICHTEXT_STYLE_CHARACTER,
|
||||
wxRICHTEXT_STYLE_LIST
|
||||
wxRICHTEXT_STYLE_LIST,
|
||||
wxRICHTEXT_STYLE_BOX
|
||||
};
|
||||
|
||||
wxRichTextStyleListBox()
|
||||
|
@@ -16,6 +16,7 @@
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextuicustomization.h"
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/vscroll.h"
|
||||
|
||||
@@ -29,6 +30,7 @@ class WXDLLIMPEXP_FWD_CORE wxTextCtrl;
|
||||
|
||||
////@begin forward declarations
|
||||
class wxSymbolListCtrl;
|
||||
class wxStdDialogButtonSizer;
|
||||
////@end forward declarations
|
||||
|
||||
// __UNICODE__ is a symbol used by DialogBlocks-generated code.
|
||||
@@ -56,6 +58,7 @@ class WXDLLIMPEXP_RICHTEXT wxSymbolPickerDialog: public wxDialog
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxSymbolPickerDialog )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
@@ -158,6 +161,7 @@ public:
|
||||
#if defined(__UNICODE__)
|
||||
wxComboBox* m_fromUnicodeCtrl;
|
||||
#endif
|
||||
wxStdDialogButtonSizer* m_stdButtonSizer;
|
||||
wxString m_fontName;
|
||||
wxString m_symbol;
|
||||
bool m_fromUnicode;
|
||||
|
@@ -16,6 +16,8 @@
|
||||
* Includes
|
||||
*/
|
||||
|
||||
#include "wx/richtext/richtextdialogpage.h"
|
||||
|
||||
////@begin includes
|
||||
////@end includes
|
||||
|
||||
@@ -32,7 +34,7 @@
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTTABSPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTTABSPAGE_TITLE wxT("")
|
||||
#define SYMBOL_WXRICHTEXTTABSPAGE_TITLE wxEmptyString
|
||||
#define SYMBOL_WXRICHTEXTTABSPAGE_IDNAME ID_RICHTEXTTABSPAGE
|
||||
#define SYMBOL_WXRICHTEXTTABSPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTTABSPAGE_POSITION wxDefaultPosition
|
||||
@@ -42,10 +44,11 @@
|
||||
* wxRichTextTabsPage class declaration
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextTabsPage: public wxPanel
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextTabsPage: public wxRichTextDialogPage
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextTabsPage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
DECLARE_HELP_PROVISION()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
|
123
include/wx/richtext/richtextuicustomization.h
Normal file
123
include/wx/richtext/richtextuicustomization.h
Normal file
@@ -0,0 +1,123 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/richtext/richtextuicustomization.h
|
||||
// Purpose: UI customization base class for wxRTC
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 2010-11-14
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows Licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_RICHTEXTUICUSTOMIZATION_H_
|
||||
#define _WX_RICHTEXTUICUSTOMIZATION_H_
|
||||
|
||||
#if wxUSE_RICHTEXT
|
||||
|
||||
/**
|
||||
@class wxRichTextUICustomization
|
||||
The base class for functionality to plug in to various rich text control dialogs,
|
||||
currently allowing the application to respond to Help button clicks without the
|
||||
need to derive new dialog classes.
|
||||
|
||||
The application will typically have calls like this in its initialisation:
|
||||
|
||||
wxRichTextFormattingDialog::SetHelpId(ID_HELP_FORMATTINGDIALOG);
|
||||
wxRichTextFormattingDialog::SetUICustomization(& wxGetApp().GetRichTextUICustomization());
|
||||
wxRichTextBordersPage::SetHelpId(ID_HELP_BORDERSPAGE);
|
||||
|
||||
Only the wxRichTextFormattingDialog class needs to have its customization object and help id set,
|
||||
though the application set them for individual pages if it wants.
|
||||
**/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextUICustomization
|
||||
{
|
||||
public:
|
||||
wxRichTextUICustomization() {}
|
||||
virtual ~wxRichTextUICustomization() {}
|
||||
|
||||
/// Show the help given the current active window, and a help topic id.
|
||||
virtual bool ShowHelp(wxWindow* win, long id) = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
@class wxRichTextHelpInfo
|
||||
This class is used as a static member of dialogs, to store the help topic for the dialog
|
||||
and also the customization object that will allow help to be shown appropriately for the application.
|
||||
**/
|
||||
|
||||
class WXDLLIMPEXP_RICHTEXT wxRichTextHelpInfo
|
||||
{
|
||||
public:
|
||||
wxRichTextHelpInfo()
|
||||
{
|
||||
m_helpTopic = -1;
|
||||
m_uiCustomization = NULL;
|
||||
}
|
||||
virtual ~wxRichTextHelpInfo() {}
|
||||
|
||||
virtual bool ShowHelp(wxWindow* win)
|
||||
{
|
||||
if (m_uiCustomization && m_helpTopic != -1)
|
||||
return m_uiCustomization->ShowHelp(win, m_helpTopic);
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Get the help topic identifier.
|
||||
long GetHelpId() const { return m_helpTopic; }
|
||||
|
||||
/// Set the help topic identifier.
|
||||
void SetHelpId(long id) { m_helpTopic = id; }
|
||||
|
||||
/// Get the UI customization object.
|
||||
wxRichTextUICustomization* GetUICustomization() const { return m_uiCustomization; }
|
||||
|
||||
/// Set the UI customization object.
|
||||
void SetUICustomization(wxRichTextUICustomization* customization) { m_uiCustomization = customization; }
|
||||
|
||||
/// Is there a valid help topic id?
|
||||
bool HasHelpId() const { return m_helpTopic != -1; }
|
||||
|
||||
/// Is there a valid customization object?
|
||||
bool HasUICustomization() const { return m_uiCustomization != NULL; }
|
||||
|
||||
protected:
|
||||
wxRichTextUICustomization* m_uiCustomization;
|
||||
long m_helpTopic;
|
||||
};
|
||||
|
||||
/// Add this to the base class of dialogs
|
||||
|
||||
#define DECLARE_BASE_CLASS_HELP_PROVISION() \
|
||||
virtual long GetHelpId() const = 0; \
|
||||
virtual wxRichTextUICustomization* GetUICustomization() const = 0; \
|
||||
virtual bool ShowHelp(wxWindow* win) = 0;
|
||||
|
||||
/// A macro to make it easy to add help topic provision and UI customization
|
||||
/// to a class. Optionally, add virtual functions to a base class
|
||||
/// using DECLARE_BASE_CLASS_HELP_PROVISION. This means that the formatting dialog
|
||||
/// can obtain help topics from its individual pages without needing
|
||||
/// to know in advance what page classes are being used, allowing for extension
|
||||
/// of the formatting dialog.
|
||||
|
||||
#define DECLARE_HELP_PROVISION() \
|
||||
virtual long GetHelpId() const { return sm_helpInfo.GetHelpId(); } \
|
||||
virtual void SetHelpId(long id) { sm_helpInfo.SetHelpId(id); } \
|
||||
virtual wxRichTextUICustomization* GetUICustomization() const { return sm_helpInfo.GetUICustomization(); } \
|
||||
virtual void SetUICustomization(wxRichTextUICustomization* customization) { sm_helpInfo.SetUICustomization(customization); } \
|
||||
virtual bool ShowHelp(wxWindow* win) { return sm_helpInfo.ShowHelp(win); } \
|
||||
protected: \
|
||||
static wxRichTextHelpInfo sm_helpInfo; \
|
||||
public:
|
||||
|
||||
/// Add this to the implementation file for each dialog that needs help provision.
|
||||
|
||||
#define IMPLEMENT_HELP_PROVISION(theClass) \
|
||||
wxRichTextHelpInfo theClass::sm_helpInfo;
|
||||
|
||||
#endif
|
||||
// wxUSE_RICHTEXT
|
||||
|
||||
#endif
|
||||
// _WX_RICHTEXTUICUSTOMIZATION_H_
|
@@ -94,6 +94,7 @@ public:
|
||||
wxString GetNodeContent(wxXmlNode *node);
|
||||
wxString GetParamValue(wxXmlNode *node, const wxString& param);
|
||||
wxString GetText(wxXmlNode *node, const wxString& param = wxEmptyString, bool translate = false);
|
||||
static wxXmlNode* FindNode(wxXmlNode* node, const wxString& name);
|
||||
|
||||
protected:
|
||||
#if wxUSE_STREAMS
|
||||
|
@@ -719,6 +719,8 @@ MyFrame::MyFrame(const wxString& title, wxWindowID id, const wxPoint& pos,
|
||||
|
||||
m_richTextCtrl->SetFont(font);
|
||||
|
||||
m_richTextCtrl->SetMargins(10, 10);
|
||||
|
||||
m_richTextCtrl->SetStyleSheet(wxGetApp().GetStyleSheet());
|
||||
|
||||
combo->SetStyleSheet(wxGetApp().GetStyleSheet());
|
||||
@@ -757,6 +759,7 @@ void MyFrame::WriteInitialText()
|
||||
|
||||
r.Freeze();
|
||||
|
||||
#if 1
|
||||
r.BeginParagraphSpacing(0, 20);
|
||||
|
||||
r.BeginAlignment(wxTEXT_ALIGNMENT_CENTRE);
|
||||
@@ -950,7 +953,69 @@ void MyFrame::WriteInitialText()
|
||||
r.WriteText(wxT("Note: this sample content was generated programmatically from within the MyFrame constructor in the demo. The images were loaded from inline XPMs. Enjoy wxRichTextCtrl!\n"));
|
||||
|
||||
r.EndParagraphSpacing();
|
||||
#endif
|
||||
#if 1
|
||||
|
||||
{
|
||||
// Add a text box
|
||||
|
||||
r.Newline();
|
||||
|
||||
wxRichTextAttr attr;
|
||||
attr.GetTextBoxAttr().GetMargins().GetLeft().SetValue(20, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetMargins().GetTop().SetValue(20, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetMargins().GetRight().SetValue(20, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetMargins().GetBottom().SetValue(20, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
|
||||
attr.GetTextBoxAttr().GetBorder().SetColour(*wxBLACK);
|
||||
attr.GetTextBoxAttr().GetBorder().SetWidth(1, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetBorder().SetStyle(wxTEXT_BOX_ATTR_BORDER_SOLID);
|
||||
|
||||
wxRichTextBox* textBox = r.WriteTextBox(attr);
|
||||
r.SetFocusObject(textBox);
|
||||
|
||||
r.WriteText(wxT("This is a text box. Just testing! Once more unto the breach, dear friends, once more..."));
|
||||
|
||||
r.SetFocusObject(NULL); // Set the focus back to the main buffer
|
||||
r.SetInsertionPointEnd();
|
||||
}
|
||||
#endif
|
||||
#if 1
|
||||
{
|
||||
// Add a table
|
||||
|
||||
r.Newline();
|
||||
|
||||
wxRichTextAttr attr;
|
||||
attr.GetTextBoxAttr().GetMargins().GetLeft().SetValue(5, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetMargins().GetTop().SetValue(5, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetMargins().GetRight().SetValue(5, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetMargins().GetBottom().SetValue(5, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetPadding() = attr.GetTextBoxAttr().GetMargins();
|
||||
|
||||
attr.GetTextBoxAttr().GetBorder().SetColour(*wxBLACK);
|
||||
attr.GetTextBoxAttr().GetBorder().SetWidth(1, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
attr.GetTextBoxAttr().GetBorder().SetStyle(wxTEXT_BOX_ATTR_BORDER_SOLID);
|
||||
|
||||
wxRichTextAttr cellAttr = attr;
|
||||
cellAttr.GetTextBoxAttr().GetWidth().SetValue(200, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
cellAttr.GetTextBoxAttr().GetHeight().SetValue(150, wxTEXT_ATTR_UNITS_PIXELS);
|
||||
|
||||
wxRichTextTable* table = r.WriteTable(3, 2, attr, cellAttr);
|
||||
int i, j;
|
||||
for (j = 0; j < table->GetRowCount(); j++)
|
||||
{
|
||||
for (i = 0; i < table->GetColumnCount(); i++)
|
||||
{
|
||||
wxString msg = wxString::Format(wxT("This is cell %d, %d"), (j+1), (i+1));
|
||||
r.SetFocusObject(table->GetCell(j, i));
|
||||
r.WriteText(msg);
|
||||
}
|
||||
}
|
||||
r.SetFocusObject(NULL); // Set the focus back to the main buffer
|
||||
r.SetInsertionPointEnd();
|
||||
}
|
||||
#endif
|
||||
r.Thaw();
|
||||
|
||||
r.EndSuppressUndo();
|
||||
@@ -1199,15 +1264,14 @@ void MyFrame::OnImage(wxCommandEvent& WXUNUSED(event))
|
||||
range = m_richTextCtrl->GetSelectionRange();
|
||||
wxASSERT(range.ToInternal().GetLength() == 1);
|
||||
|
||||
wxRichTextImage* image = wxDynamicCast(m_richTextCtrl->GetBuffer().GetLeafObjectAtPosition(range.GetStart()), wxRichTextImage);
|
||||
wxRichTextImage* image = wxDynamicCast(m_richTextCtrl->GetFocusObject()->GetLeafObjectAtPosition(range.GetStart()), wxRichTextImage);
|
||||
if (image)
|
||||
{
|
||||
wxRichTextImageDialog imageDlg(this);
|
||||
imageDlg.SetImageObject(image, &m_richTextCtrl->GetBuffer());
|
||||
wxRichTextObjectPropertiesDialog imageDlg(image, this);
|
||||
|
||||
if (imageDlg.ShowModal() == wxID_OK)
|
||||
{
|
||||
image = imageDlg.ApplyImageAttr();
|
||||
imageDlg.ApplyStyle(m_richTextCtrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1263,7 +1327,7 @@ void MyFrame::OnUpdateImage(wxUpdateUIEvent& event)
|
||||
range = m_richTextCtrl->GetSelectionRange();
|
||||
if (range.ToInternal().GetLength() == 1)
|
||||
{
|
||||
obj = m_richTextCtrl->GetBuffer().GetLeafObjectAtPosition(range.GetStart());
|
||||
obj = m_richTextCtrl->GetFocusObject()->GetLeafObjectAtPosition(range.GetStart());
|
||||
if (obj && obj->IsKindOf(CLASSINFO(wxRichTextImage)))
|
||||
{
|
||||
event.Enable(true);
|
||||
|
239
src/richtext/richtextbackgroundpage.cpp
Normal file
239
src/richtext/richtextbackgroundpage.cpp
Normal file
@@ -0,0 +1,239 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextbackgroundpage.cpp
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 13/11/2010 11:17:25
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows Licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
////@begin includes
|
||||
////@end includes
|
||||
|
||||
#include "wx/richtext/richtextbackgroundpage.h"
|
||||
#include "wx/richtext/richtextformatdlg.h"
|
||||
|
||||
////@begin XPM images
|
||||
////@end XPM images
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextBackgroundPage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextBackgroundPage, wxRichTextDialogPage )
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextBackgroundPage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextBackgroundPage, wxRichTextDialogPage )
|
||||
EVT_BUTTON(ID_RICHTEXT_BACKGROUND_COLOUR_SWATCH, wxRichTextBackgroundPage::OnColourSwatch)
|
||||
|
||||
////@begin wxRichTextBackgroundPage event table entries
|
||||
////@end wxRichTextBackgroundPage event table entries
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextBackgroundPage)
|
||||
|
||||
/*!
|
||||
* wxRichTextBackgroundPage constructors
|
||||
*/
|
||||
|
||||
wxRichTextBackgroundPage::wxRichTextBackgroundPage()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxRichTextBackgroundPage::wxRichTextBackgroundPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, pos, size, style);
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextBackgroundPage creator
|
||||
*/
|
||||
|
||||
bool wxRichTextBackgroundPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextBackgroundPage creation
|
||||
SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY);
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
{
|
||||
GetSizer()->SetSizeHints(this);
|
||||
}
|
||||
Centre();
|
||||
////@end wxRichTextBackgroundPage creation
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextBackgroundPage destructor
|
||||
*/
|
||||
|
||||
wxRichTextBackgroundPage::~wxRichTextBackgroundPage()
|
||||
{
|
||||
////@begin wxRichTextBackgroundPage destruction
|
||||
////@end wxRichTextBackgroundPage destruction
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Member initialisation
|
||||
*/
|
||||
|
||||
void wxRichTextBackgroundPage::Init()
|
||||
{
|
||||
////@begin wxRichTextBackgroundPage member initialisation
|
||||
m_backgroundColourCheckBox = NULL;
|
||||
m_backgroundColourSwatch = NULL;
|
||||
////@end wxRichTextBackgroundPage member initialisation
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Control creation for wxRichTextBackgroundPage
|
||||
*/
|
||||
|
||||
void wxRichTextBackgroundPage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextBackgroundPage content construction
|
||||
wxRichTextBackgroundPage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText5 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Background"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemStaticText5->SetFont(wxFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetFamily(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetStyle(), wxBOLD, false, wxT("")));
|
||||
itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine6 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer4->Add(itemStaticLine6, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer7, 0, wxGROW, 5);
|
||||
|
||||
itemBoxSizer7->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_backgroundColourCheckBox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BACKGROUND_COLOUR_CHECKBOX, _("Background &colour:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_backgroundColourCheckBox->SetValue(false);
|
||||
m_backgroundColourCheckBox->SetHelpText(_("Enables a background colour."));
|
||||
if (wxRichTextBackgroundPage::ShowToolTips())
|
||||
m_backgroundColourCheckBox->SetToolTip(_("Enables a background colour."));
|
||||
itemBoxSizer7->Add(m_backgroundColourCheckBox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_backgroundColourSwatch = new wxRichTextColourSwatchCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BACKGROUND_COLOUR_SWATCH, wxDefaultPosition, wxSize(80, 20), wxBORDER_THEME );
|
||||
m_backgroundColourSwatch->SetHelpText(_("The background colour."));
|
||||
if (wxRichTextBackgroundPage::ShowToolTips())
|
||||
m_backgroundColourSwatch->SetToolTip(_("The background colour."));
|
||||
itemBoxSizer7->Add(m_backgroundColourSwatch, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
////@end wxRichTextBackgroundPage content construction
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Should we show tooltips?
|
||||
*/
|
||||
|
||||
wxRichTextAttr* wxRichTextBackgroundPage::GetAttributes()
|
||||
{
|
||||
return wxRichTextFormattingDialog::GetDialogAttributes(this);
|
||||
}
|
||||
|
||||
bool wxRichTextBackgroundPage::TransferDataToWindow()
|
||||
{
|
||||
wxRichTextAttr* attr = GetAttributes();
|
||||
if (!attr->HasBackgroundColour())
|
||||
{
|
||||
m_backgroundColourCheckBox->SetValue(false);
|
||||
m_backgroundColourSwatch->SetColour(*wxWHITE);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_backgroundColourCheckBox->SetValue(true);
|
||||
m_backgroundColourSwatch->SetColour(attr->GetBackgroundColour());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxRichTextBackgroundPage::TransferDataFromWindow()
|
||||
{
|
||||
wxRichTextAttr* attr = GetAttributes();
|
||||
if (m_backgroundColourCheckBox->GetValue())
|
||||
{
|
||||
attr->SetBackgroundColour(m_backgroundColourSwatch->GetColour());
|
||||
}
|
||||
else
|
||||
{
|
||||
attr->SetFlags(attr->GetFlags() & ~wxTEXT_ATTR_BACKGROUND_COLOUR);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Respond to colour swatch click
|
||||
void wxRichTextBackgroundPage::OnColourSwatch(wxCommandEvent& event)
|
||||
{
|
||||
m_backgroundColourCheckBox->SetValue(true);
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
bool wxRichTextBackgroundPage::ShowToolTips()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get bitmap resources
|
||||
*/
|
||||
|
||||
wxBitmap wxRichTextBackgroundPage::GetBitmapResource( const wxString& name )
|
||||
{
|
||||
// Bitmap retrieval
|
||||
////@begin wxRichTextBackgroundPage bitmap retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullBitmap;
|
||||
////@end wxRichTextBackgroundPage bitmap retrieval
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get icon resources
|
||||
*/
|
||||
|
||||
wxIcon wxRichTextBackgroundPage::GetIconResource( const wxString& name )
|
||||
{
|
||||
// Icon retrieval
|
||||
////@begin wxRichTextBackgroundPage icon retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullIcon;
|
||||
////@end wxRichTextBackgroundPage icon retrieval
|
||||
}
|
923
src/richtext/richtextborderspage.cpp
Normal file
923
src/richtext/richtextborderspage.cpp
Normal file
@@ -0,0 +1,923 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextborderspage.cpp
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 21/10/2010 11:34:24
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
////@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);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@@ -20,13 +20,13 @@
|
||||
* wxRichTextBulletsPage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextBulletsPage, wxPanel )
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextBulletsPage, wxRichTextDialogPage )
|
||||
|
||||
/*!
|
||||
* wxRichTextBulletsPage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextBulletsPage, wxPanel )
|
||||
BEGIN_EVENT_TABLE( wxRichTextBulletsPage, wxRichTextDialogPage )
|
||||
|
||||
////@begin wxRichTextBulletsPage event table entries
|
||||
EVT_LISTBOX( ID_RICHTEXTBULLETSPAGE_STYLELISTBOX, wxRichTextBulletsPage::OnStylelistboxSelected )
|
||||
@@ -73,6 +73,8 @@ BEGIN_EVENT_TABLE( wxRichTextBulletsPage, wxPanel )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextBulletsPage)
|
||||
|
||||
/*!
|
||||
* wxRichTextBulletsPage constructors
|
||||
*/
|
||||
@@ -120,7 +122,7 @@ void wxRichTextBulletsPage::Init()
|
||||
bool wxRichTextBulletsPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextBulletsPage creation
|
||||
wxPanel::Create( parent, id, pos, size, style );
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
@@ -139,10 +141,10 @@ bool wxRichTextBulletsPage::Create( wxWindow* parent, wxWindowID id, const wxPoi
|
||||
void wxRichTextBulletsPage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextBulletsPage content construction
|
||||
wxRichTextBulletsPage* itemPanel1 = this;
|
||||
wxRichTextBulletsPage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemPanel1->SetSizer(itemBoxSizer2);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
|
||||
@@ -153,11 +155,11 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer5, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Bullet style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Bullet style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_styleListBoxStrings;
|
||||
m_styleListBox = new wxListBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_STYLELISTBOX, wxDefaultPosition, wxSize(-1, 90), m_styleListBoxStrings, wxLB_SINGLE );
|
||||
m_styleListBox = new wxListBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_STYLELISTBOX, wxDefaultPosition, wxSize(-1, 90), m_styleListBoxStrings, wxLB_SINGLE );
|
||||
m_styleListBox->SetHelpText(_("The available bullet styles."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_styleListBox->SetToolTip(_("The available bullet styles."));
|
||||
@@ -166,21 +168,21 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer5->Add(itemBoxSizer8, 0, wxGROW, 5);
|
||||
|
||||
m_periodCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_PERIODCTRL, _("Peri&od"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_periodCtrl = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_PERIODCTRL, _("Peri&od"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_periodCtrl->SetValue(false);
|
||||
m_periodCtrl->SetHelpText(_("Check to add a period after the bullet."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_periodCtrl->SetToolTip(_("Check to add a period after the bullet."));
|
||||
itemBoxSizer8->Add(m_periodCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_parenthesesCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL, _("(*)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_parenthesesCtrl = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL, _("(*)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_parenthesesCtrl->SetValue(false);
|
||||
m_parenthesesCtrl->SetHelpText(_("Check to enclose the bullet in parentheses."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_parenthesesCtrl->SetToolTip(_("Check to enclose the bullet in parentheses."));
|
||||
itemBoxSizer8->Add(m_parenthesesCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_rightParenthesisCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL, _("*)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_rightParenthesisCtrl = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL, _("*)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_rightParenthesisCtrl->SetValue(false);
|
||||
m_rightParenthesisCtrl->SetHelpText(_("Check to add a right parenthesis."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
@@ -189,14 +191,14 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
|
||||
itemBoxSizer5->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
wxStaticText* itemStaticText13 = new wxStaticText( itemPanel1, wxID_STATIC, _("Bullet &Alignment:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText13 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Bullet &Alignment:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText13, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_bulletAlignmentCtrlStrings;
|
||||
m_bulletAlignmentCtrlStrings.Add(_("Left"));
|
||||
m_bulletAlignmentCtrlStrings.Add(_("Centre"));
|
||||
m_bulletAlignmentCtrlStrings.Add(_("Right"));
|
||||
m_bulletAlignmentCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_BULLETALIGNMENTCTRL, _("Left"), wxDefaultPosition, wxSize(60, -1), m_bulletAlignmentCtrlStrings, wxCB_READONLY );
|
||||
m_bulletAlignmentCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_BULLETALIGNMENTCTRL, _("Left"), wxDefaultPosition, wxSize(60, -1), m_bulletAlignmentCtrlStrings, wxCB_READONLY );
|
||||
m_bulletAlignmentCtrl->SetStringSelection(_("Left"));
|
||||
m_bulletAlignmentCtrl->SetHelpText(_("The bullet character."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
@@ -205,7 +207,7 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
|
||||
itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine16 = new wxStaticLine( itemPanel1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
wxStaticLine* itemStaticLine16 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
itemBoxSizer4->Add(itemStaticLine16, 0, wxGROW|wxLEFT|wxRIGHT, 5);
|
||||
|
||||
itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
@@ -216,17 +218,17 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer19 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer18->Add(itemBoxSizer19, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText20 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC, _("&Symbol:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText20 = new wxStaticText( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC, _("&Symbol:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer19->Add(itemStaticText20, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxArrayString m_symbolCtrlStrings;
|
||||
m_symbolCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, wxT(""), wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN );
|
||||
m_symbolCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, wxEmptyString, wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN );
|
||||
m_symbolCtrl->SetHelpText(_("The bullet character."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_symbolCtrl->SetToolTip(_("The bullet character."));
|
||||
itemBoxSizer19->Add(m_symbolCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxFIXED_MINSIZE, 5);
|
||||
|
||||
wxButton* itemButton22 = new wxButton( itemPanel1, ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL, _("Ch&oose..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxButton* itemButton22 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL, _("Ch&oose..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton22->SetHelpText(_("Click to browse for a symbol."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
itemButton22->SetToolTip(_("Click to browse for a symbol."));
|
||||
@@ -234,11 +236,11 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
|
||||
itemBoxSizer18->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
wxStaticText* itemStaticText24 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC, _("Symbol &font:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText24 = new wxStaticText( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC, _("Symbol &font:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer18->Add(itemStaticText24, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_symbolFontCtrlStrings;
|
||||
m_symbolFontCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, wxT(""), wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN );
|
||||
m_symbolFontCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN );
|
||||
m_symbolFontCtrl->SetHelpText(_("Available fonts."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_symbolFontCtrl->SetToolTip(_("Available fonts."));
|
||||
@@ -246,11 +248,11 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
|
||||
itemBoxSizer18->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
wxStaticText* itemStaticText27 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_NAMESTATIC, _("S&tandard bullet name:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText27 = new wxStaticText( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_NAMESTATIC, _("S&tandard bullet name:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer18->Add(itemStaticText27, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_bulletNameCtrlStrings;
|
||||
m_bulletNameCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_NAMECTRL, wxT(""), wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN );
|
||||
m_bulletNameCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_NAMECTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN );
|
||||
m_bulletNameCtrl->SetHelpText(_("A standard bullet name."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_bulletNameCtrl->SetToolTip(_("A standard bullet name."));
|
||||
@@ -258,10 +260,10 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
|
||||
itemBoxSizer18->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
wxStaticText* itemStaticText30 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC, _("&Number:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText30 = new wxStaticText( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC, _("&Number:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer18->Add(itemStaticText30, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_numberCtrl = new wxSpinCtrl( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxT("0"), wxDefaultPosition, wxSize(50, -1), wxSP_ARROW_KEYS, 0, 100000, 0 );
|
||||
m_numberCtrl = new wxSpinCtrl( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, _T("0"), wxDefaultPosition, wxSize(50, -1), wxSP_ARROW_KEYS, 0, 100000, 0 );
|
||||
m_numberCtrl->SetHelpText(_("The list item number."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_numberCtrl->SetToolTip(_("The list item number."));
|
||||
@@ -269,7 +271,7 @@ void wxRichTextBulletsPage::CreateControls()
|
||||
|
||||
itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
m_previewCtrl = new wxRichTextCtrl( itemPanel1, ID_RICHTEXTBULLETSPAGE_PREVIEW_CTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 100), wxVSCROLL|wxTE_READONLY );
|
||||
m_previewCtrl = new wxRichTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTBULLETSPAGE_PREVIEW_CTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 100), wxVSCROLL|wxTE_READONLY );
|
||||
m_previewCtrl->SetHelpText(_("Shows a preview of the bullet settings."));
|
||||
if (wxRichTextBulletsPage::ShowToolTips())
|
||||
m_previewCtrl->SetToolTip(_("Shows a preview of the bullet settings."));
|
||||
@@ -318,11 +320,24 @@ bool wxRichTextBulletsPage::TransferDataFromWindow()
|
||||
|
||||
wxRichTextAttr* attr = GetAttributes();
|
||||
|
||||
int index = m_styleListBox->GetSelection();
|
||||
if (index < 1)
|
||||
{
|
||||
m_hasBulletStyle = false;
|
||||
m_hasBulletNumber = false;
|
||||
m_hasBulletSymbol = false;
|
||||
attr->SetBulletStyle(wxTEXT_ATTR_BULLET_STYLE_NONE);
|
||||
attr->SetFlags(attr->GetFlags() & ~(wxTEXT_ATTR_BULLET_STYLE|wxTEXT_ATTR_BULLET_NUMBER|wxTEXT_ATTR_BULLET_TEXT|wxTEXT_ATTR_BULLET_NAME));
|
||||
}
|
||||
else
|
||||
{
|
||||
m_hasBulletStyle = true;
|
||||
}
|
||||
|
||||
if (m_hasBulletStyle)
|
||||
{
|
||||
long bulletStyle = wxRICHTEXT_BULLETINDEX_NONE;
|
||||
|
||||
int index = m_styleListBox->GetSelection();
|
||||
if (index == wxRICHTEXT_BULLETINDEX_ARABIC)
|
||||
bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ARABIC;
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -15,13 +15,13 @@
|
||||
* wxRichTextFontPage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextFontPage, wxPanel )
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextFontPage, wxRichTextDialogPage )
|
||||
|
||||
/*!
|
||||
* wxRichTextFontPage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextFontPage, wxPanel )
|
||||
BEGIN_EVENT_TABLE( wxRichTextFontPage, wxRichTextDialogPage )
|
||||
EVT_LISTBOX( ID_RICHTEXTFONTPAGE_FACELISTBOX, wxRichTextFontPage::OnFaceListBoxSelected )
|
||||
EVT_BUTTON( ID_RICHTEXTFONTPAGE_COLOURCTRL, wxRichTextFontPage::OnColourClicked )
|
||||
EVT_BUTTON( ID_RICHTEXTFONTPAGE_BGCOLOURCTRL, wxRichTextFontPage::OnColourClicked )
|
||||
@@ -51,6 +51,7 @@ BEGIN_EVENT_TABLE( wxRichTextFontPage, wxPanel )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextFontPage)
|
||||
/*!
|
||||
* wxRichTextFontPage constructors
|
||||
*/
|
||||
@@ -101,7 +102,7 @@ void wxRichTextFontPage::Init()
|
||||
bool wxRichTextFontPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextFontPage creation
|
||||
wxPanel::Create( parent, id, pos, size, style );
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
@@ -120,10 +121,10 @@ bool wxRichTextFontPage::Create( wxWindow* parent, wxWindowID id, const wxPoint&
|
||||
void wxRichTextFontPage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextFontPage content construction
|
||||
wxRichTextFontPage* itemPanel1 = this;
|
||||
wxRichTextFontPage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemPanel1->SetSizer(itemBoxSizer2);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
|
||||
@@ -134,16 +135,16 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer5, 1, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Font:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Font:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_faceTextCtrl = new wxTextCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_FACETEXTCTRL, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_faceTextCtrl = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_FACETEXTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_faceTextCtrl->SetHelpText(_("Type a font name."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_faceTextCtrl->SetToolTip(_("Type a font name."));
|
||||
itemBoxSizer5->Add(m_faceTextCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_faceListBox = new wxRichTextFontListBox( itemPanel1, ID_RICHTEXTFONTPAGE_FACELISTBOX, wxDefaultPosition, wxSize(200, 100), 0 );
|
||||
m_faceListBox = new wxRichTextFontListBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_FACELISTBOX, wxDefaultPosition, wxSize(200, 100), 0 );
|
||||
m_faceListBox->SetHelpText(_("Lists the available fonts."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_faceListBox->SetToolTip(_("Lists the available fonts."));
|
||||
@@ -152,17 +153,17 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer9, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText10 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText10 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Size:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer9->Add(itemStaticText10, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_sizeTextCtrl = new wxTextCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_SIZETEXTCTRL, wxT(""), wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_sizeTextCtrl = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_SIZETEXTCTRL, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_sizeTextCtrl->SetHelpText(_("Type a size in points."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_sizeTextCtrl->SetToolTip(_("Type a size in points."));
|
||||
itemBoxSizer9->Add(m_sizeTextCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_sizeListBoxStrings;
|
||||
m_sizeListBox = new wxListBox( itemPanel1, ID_RICHTEXTFONTPAGE_SIZELISTBOX, wxDefaultPosition, wxSize(50, -1), m_sizeListBoxStrings, wxLB_SINGLE );
|
||||
m_sizeListBox = new wxListBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_SIZELISTBOX, wxDefaultPosition, wxSize(50, -1), m_sizeListBoxStrings, wxLB_SINGLE );
|
||||
m_sizeListBox->SetHelpText(_("Lists font sizes in points."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_sizeListBox->SetToolTip(_("Lists font sizes in points."));
|
||||
@@ -174,11 +175,11 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer13->Add(itemBoxSizer14, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText15 = new wxStaticText( itemPanel1, wxID_STATIC, _("Font st&yle:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText15 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Font st&yle:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer14->Add(itemStaticText15, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_styleCtrlStrings;
|
||||
m_styleCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_STYLECTRL, wxT(""), wxDefaultPosition, wxSize(110, -1), m_styleCtrlStrings, wxCB_READONLY );
|
||||
m_styleCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_STYLECTRL, wxEmptyString, wxDefaultPosition, wxSize(110, -1), m_styleCtrlStrings, wxCB_READONLY );
|
||||
m_styleCtrl->SetHelpText(_("Select regular or italic style."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_styleCtrl->SetToolTip(_("Select regular or italic style."));
|
||||
@@ -187,11 +188,11 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer13->Add(itemBoxSizer17, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText18 = new wxStaticText( itemPanel1, wxID_STATIC, _("Font &weight:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText18 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Font &weight:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer17->Add(itemStaticText18, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_weightCtrlStrings;
|
||||
m_weightCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_WEIGHTCTRL, wxT(""), wxDefaultPosition, wxSize(110, -1), m_weightCtrlStrings, wxCB_READONLY );
|
||||
m_weightCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_WEIGHTCTRL, wxEmptyString, wxDefaultPosition, wxSize(110, -1), m_weightCtrlStrings, wxCB_READONLY );
|
||||
m_weightCtrl->SetHelpText(_("Select regular or bold."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_weightCtrl->SetToolTip(_("Select regular or bold."));
|
||||
@@ -200,11 +201,11 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer13->Add(itemBoxSizer20, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText21 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Underlining:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText21 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Underlining:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer20->Add(itemStaticText21, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_underliningCtrlStrings;
|
||||
m_underliningCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL, wxT(""), wxDefaultPosition, wxSize(110, -1), m_underliningCtrlStrings, wxCB_READONLY );
|
||||
m_underliningCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL, wxEmptyString, wxDefaultPosition, wxSize(110, -1), m_underliningCtrlStrings, wxCB_READONLY );
|
||||
m_underliningCtrl->SetHelpText(_("Select underlining or no underlining."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_underliningCtrl->SetToolTip(_("Select underlining or no underlining."));
|
||||
@@ -215,10 +216,10 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer13->Add(itemBoxSizer24, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText25 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Colour:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText25 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Colour:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer24->Add(itemStaticText25, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_colourCtrl = new wxRichTextColourSwatchCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_COLOURCTRL, wxDefaultPosition, wxSize(40, 20), 0 );
|
||||
m_colourCtrl = new wxRichTextColourSwatchCtrl( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_COLOURCTRL, wxDefaultPosition, wxSize(40, 20), 0 );
|
||||
m_colourCtrl->SetHelpText(_("Click to change the text colour."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_colourCtrl->SetToolTip(_("Click to change the text colour."));
|
||||
@@ -227,10 +228,10 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer27 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer13->Add(itemBoxSizer27, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText28 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Bg colour:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText28 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Bg colour:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer27->Add(itemStaticText28, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_bgColourCtrl = new wxRichTextColourSwatchCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_BGCOLOURCTRL, wxDefaultPosition, wxSize(40, 20), 0 );
|
||||
m_bgColourCtrl = new wxRichTextColourSwatchCtrl( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_BGCOLOURCTRL, wxDefaultPosition, wxSize(40, 20), 0 );
|
||||
m_bgColourCtrl->SetHelpText(_("Click to change the text background colour."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_bgColourCtrl->SetToolTip(_("Click to change the text background colour."));
|
||||
@@ -239,28 +240,28 @@ void wxRichTextFontPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer30 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer30, 0, wxGROW, 5);
|
||||
|
||||
m_strikethroughCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTFONTPAGE_STRIKETHROUGHCTRL, _("&Strikethrough"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_strikethroughCtrl = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_STRIKETHROUGHCTRL, _("&Strikethrough"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_strikethroughCtrl->SetValue(false);
|
||||
m_strikethroughCtrl->SetHelpText(_("Check to show a line through the text."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_strikethroughCtrl->SetToolTip(_("Check to show a line through the text."));
|
||||
itemBoxSizer30->Add(m_strikethroughCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_capitalsCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTFONTPAGE_CAPSCTRL, _("Ca&pitals"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_capitalsCtrl = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_CAPSCTRL, _("Ca&pitals"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_capitalsCtrl->SetValue(false);
|
||||
m_capitalsCtrl->SetHelpText(_("Check to show the text in capitals."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_capitalsCtrl->SetToolTip(_("Check to show the text in capitals."));
|
||||
itemBoxSizer30->Add(m_capitalsCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_superscriptCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTFONTPAGE_SUPERSCRIPT, _("Supe&rscript"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_superscriptCtrl = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_SUPERSCRIPT, _("Supe&rscript"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_superscriptCtrl->SetValue(false);
|
||||
m_superscriptCtrl->SetHelpText(_("Check to show the text in superscript."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_superscriptCtrl->SetToolTip(_("Check to show the text in superscript."));
|
||||
itemBoxSizer30->Add(m_superscriptCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_subscriptCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTFONTPAGE_SUBSCRIPT, _("Subscrip&t"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_subscriptCtrl = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_SUBSCRIPT, _("Subscrip&t"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE );
|
||||
m_subscriptCtrl->SetValue(false);
|
||||
m_subscriptCtrl->SetHelpText(_("Check to show the text in subscript."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
@@ -269,7 +270,7 @@ void wxRichTextFontPage::CreateControls()
|
||||
|
||||
itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
m_previewCtrl = new wxRichTextFontPreviewCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_PREVIEWCTRL, wxDefaultPosition, wxSize(100, 60), 0 );
|
||||
m_previewCtrl = new wxRichTextFontPreviewCtrl( itemRichTextDialogPage1, ID_RICHTEXTFONTPAGE_PREVIEWCTRL, wxDefaultPosition, wxSize(100, 60), 0 );
|
||||
m_previewCtrl->SetHelpText(_("Shows a preview of the font settings."));
|
||||
if (wxRichTextFontPage::ShowToolTips())
|
||||
m_previewCtrl->SetToolTip(_("Shows a preview of the font settings."));
|
||||
@@ -306,14 +307,11 @@ bool wxRichTextFontPage::TransferDataFromWindow()
|
||||
|
||||
wxRichTextAttr* attr = GetAttributes();
|
||||
|
||||
if (m_faceListBox->GetSelection() != wxNOT_FOUND)
|
||||
{
|
||||
wxString faceName = m_faceListBox->GetFaceName(m_faceListBox->GetSelection());
|
||||
if (!faceName.IsEmpty())
|
||||
if (!m_faceTextCtrl->GetValue().IsEmpty())
|
||||
{
|
||||
wxString faceName = m_faceTextCtrl->GetValue();
|
||||
attr->SetFontFaceName(faceName);
|
||||
}
|
||||
}
|
||||
else
|
||||
attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_FACE));
|
||||
|
||||
|
@@ -52,11 +52,19 @@
|
||||
#include "../../src/richtext/richtextbulletspage.cpp"
|
||||
#include "../../src/richtext/richtextstylepage.cpp"
|
||||
#include "../../src/richtext/richtextliststylepage.cpp"
|
||||
#include "../../src/richtext/richtextsizepage.cpp"
|
||||
#include "../../src/richtext/richtextmarginspage.cpp"
|
||||
#include "../../src/richtext/richtextborderspage.cpp"
|
||||
#include "../../src/richtext/richtextbackgroundpage.cpp"
|
||||
#else
|
||||
#include "richtextfontpage.cpp"
|
||||
#include "richtextindentspage.cpp"
|
||||
#include "richtexttabspage.cpp"
|
||||
#include "richtextbulletspage.cpp"
|
||||
#include "richtextmarginspage.cpp"
|
||||
#include "richtextsizepage.cpp"
|
||||
#include "richtextborderspage.cpp"
|
||||
#include "richtextbackgroundpage.cpp"
|
||||
// Digital Mars can't cope with this much code
|
||||
#ifndef __DMC__
|
||||
#include "richtextliststylepage.cpp"
|
||||
@@ -76,8 +84,12 @@ IMPLEMENT_CLASS(wxRichTextFormattingDialog, wxPropertySheetDialog)
|
||||
|
||||
BEGIN_EVENT_TABLE(wxRichTextFormattingDialog, wxPropertySheetDialog)
|
||||
EVT_BOOKCTRL_PAGE_CHANGED(wxID_ANY, wxRichTextFormattingDialog::OnTabChanged)
|
||||
EVT_BUTTON(wxID_HELP, wxRichTextFormattingDialog::OnHelp)
|
||||
EVT_UPDATE_UI(wxID_HELP, wxRichTextFormattingDialog::OnUpdateHelp)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextFormattingDialog)
|
||||
|
||||
wxRichTextFormattingDialogFactory* wxRichTextFormattingDialog::ms_FormattingDialogFactory = NULL;
|
||||
|
||||
void wxRichTextFormattingDialog::Init()
|
||||
@@ -85,6 +97,7 @@ void wxRichTextFormattingDialog::Init()
|
||||
m_imageList = NULL;
|
||||
m_styleDefinition = NULL;
|
||||
m_styleSheet = NULL;
|
||||
m_object = NULL;
|
||||
}
|
||||
|
||||
wxRichTextFormattingDialog::~wxRichTextFormattingDialog()
|
||||
@@ -117,7 +130,7 @@ bool wxRichTextFormattingDialog::Create(long flags, wxWindow* parent, const wxSt
|
||||
/// Get attributes from the given range
|
||||
bool wxRichTextFormattingDialog::GetStyle(wxRichTextCtrl* ctrl, const wxRichTextRange& range)
|
||||
{
|
||||
if (ctrl->GetBuffer().GetStyleForRange(range.ToInternal(), m_attributes))
|
||||
if (ctrl->GetFocusObject()->GetStyleForRange(range.ToInternal(), m_attributes))
|
||||
return UpdateDisplay();
|
||||
else
|
||||
return false;
|
||||
@@ -129,6 +142,20 @@ bool wxRichTextFormattingDialog::ApplyStyle(wxRichTextCtrl* ctrl, const wxRichTe
|
||||
return ctrl->SetStyleEx(range, m_attributes, flags);
|
||||
}
|
||||
|
||||
// Apply attributes to the object being edited, if any
|
||||
bool wxRichTextFormattingDialog::ApplyStyle(wxRichTextCtrl* WXUNUSED(ctrl), int flags)
|
||||
{
|
||||
if (GetObject())
|
||||
{
|
||||
wxRichTextParagraphLayoutBox* parentContainer = GetObject()->GetParentContainer();
|
||||
if (parentContainer)
|
||||
parentContainer->SetStyle(GetObject(), m_attributes, flags);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Set the attributes and optionally update the display
|
||||
bool wxRichTextFormattingDialog::SetStyle(const wxRichTextAttr& style, bool update)
|
||||
{
|
||||
@@ -212,12 +239,19 @@ void wxRichTextFormattingDialog::OnHelp(wxCommandEvent& event)
|
||||
int selPage = GetBookCtrl()->GetSelection();
|
||||
if (selPage != wxNOT_FOUND)
|
||||
{
|
||||
int pageId = m_pageIds[selPage];
|
||||
int pageId = -1;
|
||||
if (selPage < (int) m_pageIds.GetCount())
|
||||
pageId = m_pageIds[selPage];
|
||||
if (!GetFormattingDialogFactory()->ShowHelp(pageId, this))
|
||||
event.Skip();
|
||||
}
|
||||
}
|
||||
|
||||
void wxRichTextFormattingDialog::OnUpdateHelp(wxUpdateUIEvent& event)
|
||||
{
|
||||
event.Enable(true);
|
||||
}
|
||||
|
||||
void wxRichTextFormattingDialog::SetFormattingDialogFactory(wxRichTextFormattingDialogFactory* factory)
|
||||
{
|
||||
if (ms_FormattingDialogFactory)
|
||||
@@ -225,6 +259,20 @@ void wxRichTextFormattingDialog::SetFormattingDialogFactory(wxRichTextFormatting
|
||||
ms_FormattingDialogFactory = factory;
|
||||
}
|
||||
|
||||
// Find a page by class
|
||||
wxWindow* wxRichTextFormattingDialog::FindPage(wxClassInfo* info) const
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < GetBookCtrl()->GetPageCount(); i++)
|
||||
{
|
||||
wxWindow* w = GetBookCtrl()->GetPage(i);
|
||||
if (w && w->GetClassInfo() == info)
|
||||
return w;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Factory for formatting dialog
|
||||
*/
|
||||
@@ -301,6 +349,30 @@ wxPanel* wxRichTextFormattingDialogFactory::CreatePage(int page, wxString& title
|
||||
return page;
|
||||
}
|
||||
#endif
|
||||
else if (page == wxRICHTEXT_FORMAT_SIZE)
|
||||
{
|
||||
wxRichTextSizePage* page = new wxRichTextSizePage(dialog->GetBookCtrl(), wxID_ANY);
|
||||
title = _("Size");
|
||||
return page;
|
||||
}
|
||||
else if (page == wxRICHTEXT_FORMAT_MARGINS)
|
||||
{
|
||||
wxRichTextMarginsPage* page = new wxRichTextMarginsPage(dialog->GetBookCtrl(), wxID_ANY);
|
||||
title = _("Margins");
|
||||
return page;
|
||||
}
|
||||
else if (page == wxRICHTEXT_FORMAT_BORDERS)
|
||||
{
|
||||
wxRichTextBordersPage* page = new wxRichTextBordersPage(dialog->GetBookCtrl(), wxID_ANY);
|
||||
title = _("Borders");
|
||||
return page;
|
||||
}
|
||||
else if (page == wxRICHTEXT_FORMAT_BACKGROUND)
|
||||
{
|
||||
wxRichTextBackgroundPage* page = new wxRichTextBackgroundPage(dialog->GetBookCtrl(), wxID_ANY);
|
||||
title = _("Background");
|
||||
return page;
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
@@ -314,9 +386,14 @@ int wxRichTextFormattingDialogFactory::GetPageId(int i) const
|
||||
wxRICHTEXT_FORMAT_INDENTS_SPACING,
|
||||
wxRICHTEXT_FORMAT_BULLETS,
|
||||
wxRICHTEXT_FORMAT_TABS,
|
||||
wxRICHTEXT_FORMAT_LIST_STYLE };
|
||||
wxRICHTEXT_FORMAT_LIST_STYLE,
|
||||
wxRICHTEXT_FORMAT_SIZE,
|
||||
wxRICHTEXT_FORMAT_MARGINS,
|
||||
wxRICHTEXT_FORMAT_BORDERS,
|
||||
wxRICHTEXT_FORMAT_BACKGROUND
|
||||
};
|
||||
|
||||
if (i < 0 || i > 5)
|
||||
if (i < 0 || i >= GetPageIdCount())
|
||||
return -1;
|
||||
|
||||
return pages[i];
|
||||
@@ -326,9 +403,9 @@ int wxRichTextFormattingDialogFactory::GetPageId(int i) const
|
||||
int wxRichTextFormattingDialogFactory::GetPageIdCount() const
|
||||
{
|
||||
#ifdef __DMC__
|
||||
return 5;
|
||||
return 9;
|
||||
#else
|
||||
return 6;
|
||||
return 10;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -370,6 +447,28 @@ bool wxRichTextFormattingDialogFactory::CreateButtons(wxRichTextFormattingDialog
|
||||
return true;
|
||||
}
|
||||
|
||||
// Invoke help for the dialog
|
||||
bool wxRichTextFormattingDialogFactory::ShowHelp(int WXUNUSED(page), wxRichTextFormattingDialog* dialog)
|
||||
{
|
||||
wxRichTextDialogPage* window = NULL;
|
||||
int sel = dialog->GetBookCtrl()->GetSelection();
|
||||
if (sel != -1)
|
||||
window = wxDynamicCast(dialog->GetBookCtrl()->GetPage(sel), wxRichTextDialogPage);
|
||||
if (window && window->GetHelpId() != -1)
|
||||
{
|
||||
if (window->GetUICustomization())
|
||||
return window->GetUICustomization()->ShowHelp(dialog, window->GetHelpId());
|
||||
else if (dialog->GetUICustomization())
|
||||
return dialog->GetUICustomization()->ShowHelp(dialog, window->GetHelpId());
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else if (dialog->GetHelpId() != -1 && dialog->GetUICustomization())
|
||||
return dialog->ShowHelp(dialog);
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Module to initialise and clean up handlers
|
||||
*/
|
||||
@@ -460,7 +559,6 @@ wxRichTextFormattingDialog* wxRichTextFormattingDialog::GetDialog(wxWindow* win)
|
||||
return dialog;
|
||||
}
|
||||
|
||||
|
||||
// Helper for pages to get the attributes
|
||||
wxRichTextAttr* wxRichTextFormattingDialog::GetDialogAttributes(wxWindow* win)
|
||||
{
|
||||
@@ -471,6 +569,18 @@ wxRichTextAttr* wxRichTextFormattingDialog::GetDialogAttributes(wxWindow* win)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if 0
|
||||
// Helper for pages to get the attributes to reset
|
||||
wxRichTextAttr* wxRichTextFormattingDialog::GetDialogResetAttributes(wxWindow* win)
|
||||
{
|
||||
wxRichTextFormattingDialog* dialog = GetDialog(win);
|
||||
if (dialog)
|
||||
return & dialog->GetResetAttributes();
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Helper for pages to get the style
|
||||
wxRichTextStyleDefinition* wxRichTextFormattingDialog::GetDialogStyleDefinition(wxWindow* win)
|
||||
{
|
||||
@@ -481,6 +591,88 @@ wxRichTextStyleDefinition* wxRichTextFormattingDialog::GetDialogStyleDefinition(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void wxRichTextFormattingDialog::SetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl, wxCheckBox* checkBox)
|
||||
{
|
||||
int unitsIdx = 0;
|
||||
|
||||
if (!dim.IsValid())
|
||||
{
|
||||
checkBox->SetValue(false);
|
||||
valueCtrl->SetValue(wxT("0"));
|
||||
unitsCtrl->SetSelection(0);
|
||||
#if 0
|
||||
dim.SetValue(0);
|
||||
dim.SetUnits(wxTEXT_ATTR_UNITS_PIXELS);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
checkBox->SetValue(true);
|
||||
if (dim.GetUnits() == wxTEXT_ATTR_UNITS_TENTHS_MM)
|
||||
{
|
||||
unitsIdx = 1;
|
||||
float value = float(dim.GetValue()) / 10.0;
|
||||
valueCtrl->SetValue(wxString::Format(wxT("%.2f"), value));
|
||||
}
|
||||
else
|
||||
{
|
||||
unitsIdx = 0;
|
||||
valueCtrl->SetValue(wxString::Format(wxT("%d"), (int) dim.GetValue()));
|
||||
}
|
||||
|
||||
unitsCtrl->SetSelection(unitsIdx);
|
||||
}
|
||||
}
|
||||
|
||||
void wxRichTextFormattingDialog::GetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl, wxCheckBox* checkBox)
|
||||
{
|
||||
if (!checkBox->GetValue())
|
||||
{
|
||||
dim.Reset();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (unitsCtrl->GetSelection() == 1)
|
||||
dim.SetUnits(wxTEXT_ATTR_UNITS_TENTHS_MM);
|
||||
else
|
||||
dim.SetUnits(wxTEXT_ATTR_UNITS_PIXELS);
|
||||
|
||||
int value = 0;
|
||||
if (ConvertFromString(valueCtrl->GetValue(), value, dim.GetUnits()))
|
||||
dim.SetValue(value);
|
||||
}
|
||||
}
|
||||
|
||||
bool wxRichTextFormattingDialog::ConvertFromString(const wxString& string, int& ret, int scale)
|
||||
{
|
||||
const wxChar* chars = string.GetData();
|
||||
int remain = 2;
|
||||
bool dot = false;
|
||||
ret = 0;
|
||||
|
||||
for (unsigned int i = 0; i < string.Len() && remain; i++)
|
||||
{
|
||||
if (!(chars[i] >= wxT('0') && chars[i] <= wxT('9')) && !(scale == wxTEXT_ATTR_UNITS_TENTHS_MM && chars[i] == wxT('.')))
|
||||
return false;
|
||||
|
||||
if (chars[i] == wxT('.'))
|
||||
{
|
||||
dot = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (dot)
|
||||
remain--;
|
||||
|
||||
ret = ret * 10 + chars[i] - wxT('0');
|
||||
}
|
||||
|
||||
while (remain-- > 0 && scale == wxTEXT_ATTR_UNITS_TENTHS_MM)
|
||||
ret *= 10;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* A control for displaying a small preview of a colour or bitmap
|
||||
*/
|
||||
|
@@ -2,10 +2,10 @@
|
||||
// Name: src/richtext/richtextimagedlg.cpp
|
||||
// Purpose:
|
||||
// Author: Mingquan Yang
|
||||
// Modified by:
|
||||
// Modified by: Julian Smart
|
||||
// Created: Wed 02 Jun 2010 11:27:23 CST
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Mingquan Yang
|
||||
// Copyright: (c) Mingquan Yang, Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
|
||||
#if wxUSE_RICHTEXT
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
@@ -37,41 +36,37 @@
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextImageDialog type definition
|
||||
* wxRichTextObjectPropertiesDialog type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextImageDialog, wxDialog )
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextObjectPropertiesDialog, wxRichTextFormattingDialog )
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextImageDialog event table definition
|
||||
* wxRichTextObjectPropertiesDialog event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextImageDialog, wxDialog )
|
||||
BEGIN_EVENT_TABLE( wxRichTextObjectPropertiesDialog, wxRichTextFormattingDialog )
|
||||
|
||||
////@begin wxRichTextImageDialog event table entries
|
||||
EVT_BUTTON( ID_RICHTEXTIMAGEDIALOG_PARA_UP, wxRichTextImageDialog::OnRichtextimagedialogParaUpClick )
|
||||
|
||||
EVT_BUTTON( ID_RICHTEXTIMAGEDIALOG_DOWN, wxRichTextImageDialog::OnRichtextimagedialogDownClick )
|
||||
|
||||
////@end wxRichTextImageDialog event table entries
|
||||
////@begin wxRichTextObjectPropertiesDialog event table entries
|
||||
////@end wxRichTextObjectPropertiesDialog event table entries
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextImageDialog constructors
|
||||
* wxRichTextObjectPropertiesDialog constructors
|
||||
*/
|
||||
|
||||
wxRichTextImageDialog::wxRichTextImageDialog()
|
||||
wxRichTextObjectPropertiesDialog::wxRichTextObjectPropertiesDialog()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxRichTextImageDialog::wxRichTextImageDialog( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
||||
wxRichTextObjectPropertiesDialog::wxRichTextObjectPropertiesDialog( wxRichTextObject* obj, wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, caption, pos, size, style);
|
||||
Create(obj, parent, id, caption, pos, size, style);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,31 +74,27 @@ wxRichTextImageDialog::wxRichTextImageDialog( wxWindow* parent, wxWindowID id, c
|
||||
* wxRichTextImageDlg creator
|
||||
*/
|
||||
|
||||
bool wxRichTextImageDialog::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
||||
bool wxRichTextObjectPropertiesDialog::Create( wxRichTextObject* obj, wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextImageDialog creation
|
||||
SetObject(obj);
|
||||
SetExtraStyle(wxDIALOG_EX_CONTEXTHELP);
|
||||
wxDialog::Create( parent, id, caption, pos, size, style );
|
||||
long flags = wxRICHTEXT_FORMAT_SIZE|wxRICHTEXT_FORMAT_MARGINS|wxRICHTEXT_FORMAT_BORDERS|wxRICHTEXT_FORMAT_BACKGROUND;
|
||||
wxRichTextFormattingDialog::Create( flags, parent, caption, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
{
|
||||
GetSizer()->SetSizeHints(this);
|
||||
}
|
||||
Centre();
|
||||
////@end wxRichTextImageDialog creation
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextImageDialog destructor
|
||||
* wxRichTextObjectPropertiesDialog destructor
|
||||
*/
|
||||
|
||||
wxRichTextImageDialog::~wxRichTextImageDialog()
|
||||
wxRichTextObjectPropertiesDialog::~wxRichTextObjectPropertiesDialog()
|
||||
{
|
||||
////@begin wxRichTextImageDialog destruction
|
||||
////@end wxRichTextImageDialog destruction
|
||||
////@begin wxRichTextObjectPropertiesDialog destruction
|
||||
////@end wxRichTextObjectPropertiesDialog destruction
|
||||
}
|
||||
|
||||
|
||||
@@ -111,19 +102,10 @@ wxRichTextImageDialog::~wxRichTextImageDialog()
|
||||
* Member initialisation
|
||||
*/
|
||||
|
||||
void wxRichTextImageDialog::Init()
|
||||
void wxRichTextObjectPropertiesDialog::Init()
|
||||
{
|
||||
////@begin wxRichTextImageDialog member initialisation
|
||||
m_float = NULL;
|
||||
m_width = NULL;
|
||||
m_unitsW = NULL;
|
||||
m_height = NULL;
|
||||
m_unitsH = NULL;
|
||||
m_offset = NULL;
|
||||
m_unitsOffset = NULL;
|
||||
m_saveButton = NULL;
|
||||
m_cancelButton = NULL;
|
||||
////@end wxRichTextImageDialog member initialisation
|
||||
////@begin wxRichTextObjectPropertiesDialog member initialisation
|
||||
////@end wxRichTextObjectPropertiesDialog member initialisation
|
||||
}
|
||||
|
||||
|
||||
@@ -131,144 +113,8 @@ void wxRichTextImageDialog::Init()
|
||||
* Control creation for wxRichTextImageDlg
|
||||
*/
|
||||
|
||||
void wxRichTextImageDialog::CreateControls()
|
||||
void wxRichTextObjectPropertiesDialog::CreateControls()
|
||||
{
|
||||
#ifdef __WXMAC__
|
||||
SetWindowVariant(wxWINDOW_VARIANT_SMALL);
|
||||
#endif
|
||||
|
||||
////@begin wxRichTextImageDialog content construction
|
||||
wxRichTextImageDialog* itemDialog1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemDialog1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 0, wxGROW|wxALL, 5);
|
||||
|
||||
wxFlexGridSizer* itemFlexGridSizer4 = new wxFlexGridSizer(0, 2, 0, 0);
|
||||
itemBoxSizer3->Add(itemFlexGridSizer4, 0, wxALIGN_TOP|wxRIGHT, 5);
|
||||
|
||||
wxStaticText* itemStaticText5 = new wxStaticText( itemDialog1, wxID_STATIC, _("&Floating mode:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer4->Add(itemStaticText5, 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( itemDialog1, ID_RICHTEXTIMAGEDIALOG_FLOATING_MODE, _("None"), wxDefaultPosition, wxSize(80, -1), m_floatStrings, wxCB_READONLY );
|
||||
m_float->SetStringSelection(_("None"));
|
||||
m_float->SetHelpText(_("How the image will float relative to the text."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_float->SetToolTip(_("How the image will float relative to the text."));
|
||||
itemFlexGridSizer4->Add(m_float, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText7 = new wxStaticText( itemDialog1, wxID_STATIC, _("&Width:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer4->Add(itemStaticText7, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer4->Add(itemBoxSizer8, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_width = new wxTextCtrl( itemDialog1, ID_RICHTEXTIMAGEDIALOG_WIDTH, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_width->SetHelpText(_("The image width to be shown - does not change the source image width."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_width->SetToolTip(_("The image width to be shown - does not change the source image width."));
|
||||
itemBoxSizer8->Add(m_width, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxArrayString m_unitsWStrings;
|
||||
m_unitsWStrings.Add(_("px"));
|
||||
m_unitsWStrings.Add(_("cm"));
|
||||
m_unitsW = new wxComboBox( itemDialog1, ID_RICHTEXTIMAGEDIALOG_UNITS_W, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsWStrings, wxCB_READONLY );
|
||||
m_unitsW->SetStringSelection(_("px"));
|
||||
m_unitsW->SetHelpText(_("Units for the image width."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_unitsW->SetToolTip(_("Units for the image width."));
|
||||
itemBoxSizer8->Add(m_unitsW, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText11 = new wxStaticText( itemDialog1, wxID_STATIC, _("&Height:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer4->Add(itemStaticText11, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer4->Add(itemBoxSizer12, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_height = new wxTextCtrl( itemDialog1, ID_RICHTEXTIMAGEDIALOG_HEIGHT, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_height->SetHelpText(_("The image height to be shown - does not change the source image height."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_height->SetToolTip(_("The image height to be shown - does not change the source image height."));
|
||||
itemBoxSizer12->Add(m_height, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxArrayString m_unitsHStrings;
|
||||
m_unitsHStrings.Add(_("px"));
|
||||
m_unitsHStrings.Add(_("cm"));
|
||||
m_unitsH = new wxComboBox( itemDialog1, ID_RICHTEXTIMAGEDIALOG_UNITS_H, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsHStrings, wxCB_READONLY );
|
||||
m_unitsH->SetStringSelection(_("px"));
|
||||
m_unitsH->SetHelpText(_("Units for the image height."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_unitsH->SetToolTip(_("Units for the image height."));
|
||||
itemBoxSizer12->Add(m_unitsH, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText15 = new wxStaticText( itemDialog1, wxID_STATIC, _("Image Vertical &Offset:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer4->Add(itemStaticText15, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer4->Add(itemBoxSizer16, 1, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_offset = new wxTextCtrl( itemDialog1, ID_RICHTEXTIMAGEDIALOG_OFFSET, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_offset->SetMaxLength(10);
|
||||
m_offset->SetHelpText(_("The vertical offset relative to the paragraph."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_offset->SetToolTip(_("The vertical offset relative to the paragraph."));
|
||||
itemBoxSizer16->Add(m_offset, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxArrayString m_unitsOffsetStrings;
|
||||
m_unitsOffsetStrings.Add(_("px"));
|
||||
m_unitsOffsetStrings.Add(_("cm"));
|
||||
m_unitsOffset = new wxComboBox( itemDialog1, ID_RICHTEXTIMAGEDIALOG_OFFSET_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsOffsetStrings, wxCB_READONLY );
|
||||
m_unitsOffset->SetStringSelection(_("px"));
|
||||
m_unitsOffset->SetHelpText(_("Units for the image offset."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_unitsOffset->SetToolTip(_("Units for the image offset."));
|
||||
itemBoxSizer16->Add(m_unitsOffset, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText19 = new wxStaticText( itemDialog1, wxID_STATIC, _("&Move the image to:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer4->Add(itemStaticText19, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer4->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
wxButton* itemButton21 = new wxButton( itemDialog1, ID_RICHTEXTIMAGEDIALOG_PARA_UP, _("&Previous Paragraph"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton21->SetHelpText(_("Moves the image to the previous paragraph."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
itemButton21->SetToolTip(_("Moves the image to the previous paragraph."));
|
||||
itemBoxSizer20->Add(itemButton21, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxButton* itemButton22 = new wxButton( itemDialog1, ID_RICHTEXTIMAGEDIALOG_DOWN, _("&Next Paragraph"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton22->SetHelpText(_("Moves the image to the next paragraph."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
itemButton22->SetToolTip(_("Moves the image to the next paragraph."));
|
||||
itemBoxSizer20->Add(itemButton22, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine23 = new wxStaticLine( itemDialog1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer2->Add(itemStaticLine23, 0, wxGROW|wxALL, 5);
|
||||
|
||||
wxStdDialogButtonSizer* itemStdDialogButtonSizer24 = new wxStdDialogButtonSizer;
|
||||
|
||||
itemBoxSizer2->Add(itemStdDialogButtonSizer24, 0, wxGROW|wxALL, 5);
|
||||
m_saveButton = new wxButton( itemDialog1, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_saveButton->SetHelpText(_("Click to confirm your changes."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_saveButton->SetToolTip(_("Click to confirm your changes."));
|
||||
itemStdDialogButtonSizer24->AddButton(m_saveButton);
|
||||
|
||||
m_cancelButton = new wxButton( itemDialog1, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cancelButton->SetHelpText(_("Click to discard your changes."));
|
||||
if (wxRichTextImageDialog::ShowToolTips())
|
||||
m_cancelButton->SetToolTip(_("Click to discard your changes."));
|
||||
itemStdDialogButtonSizer24->AddButton(m_cancelButton);
|
||||
|
||||
itemStdDialogButtonSizer24->Realize();
|
||||
|
||||
////@end wxRichTextImageDialog content construction
|
||||
}
|
||||
|
||||
|
||||
@@ -276,7 +122,7 @@ void wxRichTextImageDialog::CreateControls()
|
||||
* Should we show tooltips?
|
||||
*/
|
||||
|
||||
bool wxRichTextImageDialog::ShowToolTips()
|
||||
bool wxRichTextObjectPropertiesDialog::ShowToolTips()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -285,173 +131,36 @@ bool wxRichTextImageDialog::ShowToolTips()
|
||||
* Get bitmap resources
|
||||
*/
|
||||
|
||||
wxBitmap wxRichTextImageDialog::GetBitmapResource( const wxString& name )
|
||||
wxBitmap wxRichTextObjectPropertiesDialog::GetBitmapResource( const wxString& name )
|
||||
{
|
||||
// Bitmap retrieval
|
||||
////@begin wxRichTextImageDialog bitmap retrieval
|
||||
////@begin wxRichTextObjectPropertiesDialog bitmap retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullBitmap;
|
||||
////@end wxRichTextImageDialog bitmap retrieval
|
||||
////@end wxRichTextObjectPropertiesDialog bitmap retrieval
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get icon resources
|
||||
*/
|
||||
|
||||
wxIcon wxRichTextImageDialog::GetIconResource( const wxString& name )
|
||||
wxIcon wxRichTextObjectPropertiesDialog::GetIconResource( const wxString& name )
|
||||
{
|
||||
// Icon retrieval
|
||||
////@begin wxRichTextImageDialog icon retrieval
|
||||
////@begin wxRichTextObjectPropertiesDialog icon retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullIcon;
|
||||
////@end wxRichTextImageDialog icon retrieval
|
||||
////@end wxRichTextObjectPropertiesDialog icon retrieval
|
||||
}
|
||||
|
||||
/*!
|
||||
* Set the image attribute
|
||||
*/
|
||||
void wxRichTextImageDialog::SetImageAttr(const wxRichTextAttr& textAttr)
|
||||
{
|
||||
m_textAttr = textAttr;
|
||||
|
||||
TransferDataToWindow();
|
||||
}
|
||||
|
||||
/*!
|
||||
* Apply the new style
|
||||
*/
|
||||
wxRichTextImage* wxRichTextImageDialog::ApplyImageAttr()
|
||||
{
|
||||
wxRichTextImage* image = wxDynamicCast(m_image, wxRichTextImage);
|
||||
|
||||
TransferDataFromWindow();
|
||||
if (m_buffer->GetRichTextCtrl())
|
||||
{
|
||||
m_buffer->GetRichTextCtrl()->SetImageStyle(image, m_textAttr);
|
||||
}
|
||||
return image;
|
||||
}
|
||||
|
||||
void wxRichTextImageDialog::SetImageObject(wxRichTextImage* image, wxRichTextBuffer* buffer)
|
||||
{
|
||||
wxRichTextObject* parent = image->GetParent();
|
||||
|
||||
m_buffer = buffer;
|
||||
m_image = image;
|
||||
m_parent = parent;
|
||||
SetImageAttr(image->GetAttributes());
|
||||
if (image->GetImageCache().IsOk())
|
||||
{
|
||||
if (!m_textAttr.GetTextBoxAttr().GetWidth().IsPresent() || m_textAttr.GetTextBoxAttr().GetWidth().GetValue() <= 0)
|
||||
{
|
||||
m_textAttr.GetTextBoxAttr().GetWidth().SetValue(image->GetImageCache().GetWidth());
|
||||
m_textAttr.GetTextBoxAttr().GetWidth().SetUnits(wxTEXT_ATTR_UNITS_PIXELS);
|
||||
}
|
||||
if (!m_textAttr.GetTextBoxAttr().GetHeight().IsPresent() || m_textAttr.GetTextBoxAttr().GetHeight().GetValue() <= 0)
|
||||
{
|
||||
m_textAttr.GetTextBoxAttr().GetHeight().SetValue(image->GetImageCache().GetHeight());
|
||||
m_textAttr.GetTextBoxAttr().GetHeight().SetUnits(wxTEXT_ATTR_UNITS_PIXELS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void wxRichTextImageDialog::SetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl)
|
||||
{
|
||||
int unitsIdx = 0;
|
||||
|
||||
if (!dim.IsPresent())
|
||||
{
|
||||
dim.SetValue(0);
|
||||
dim.SetUnits(wxTEXT_ATTR_UNITS_PIXELS);
|
||||
}
|
||||
|
||||
if (dim.GetUnits() == wxTEXT_ATTR_UNITS_TENTHS_MM)
|
||||
{
|
||||
unitsIdx = 1;
|
||||
float value = float(dim.GetValue()) / 10.0;
|
||||
valueCtrl->SetValue(wxString::Format(wxT("%.2f"), value));
|
||||
}
|
||||
else
|
||||
{
|
||||
unitsIdx = 0;
|
||||
valueCtrl->SetValue(wxString::Format(wxT("%d"), (int) dim.GetValue()));
|
||||
}
|
||||
|
||||
unitsCtrl->SetSelection(unitsIdx);
|
||||
}
|
||||
|
||||
void wxRichTextImageDialog::GetDimensionValue(wxTextAttrDimension& dim, wxTextCtrl* valueCtrl, wxComboBox* unitsCtrl)
|
||||
{
|
||||
if (unitsCtrl->GetSelection() == 1)
|
||||
dim.SetUnits(wxTEXT_ATTR_UNITS_TENTHS_MM);
|
||||
else
|
||||
dim.SetUnits(wxTEXT_ATTR_UNITS_PIXELS);
|
||||
|
||||
int value = 0;
|
||||
if (ConvertFromString(valueCtrl->GetValue(), value, dim.GetUnits()))
|
||||
dim.SetValue(value);
|
||||
}
|
||||
|
||||
bool wxRichTextImageDialog::TransferDataToWindow()
|
||||
{
|
||||
m_float->SetSelection(m_textAttr.GetTextBoxAttr().GetFloatMode());
|
||||
|
||||
SetDimensionValue(m_textAttr.GetTextBoxAttr().GetWidth(), m_width, m_unitsW);
|
||||
SetDimensionValue(m_textAttr.GetTextBoxAttr().GetHeight(), m_height, m_unitsH);
|
||||
SetDimensionValue(m_textAttr.GetTextBoxAttr().GetTop(), m_offset, m_unitsOffset);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxRichTextImageDialog::TransferDataFromWindow()
|
||||
{
|
||||
m_textAttr.GetTextBoxAttr().SetFloatMode(m_float->GetSelection());
|
||||
|
||||
GetDimensionValue(m_textAttr.GetTextBoxAttr().GetWidth(), m_width, m_unitsW);
|
||||
GetDimensionValue(m_textAttr.GetTextBoxAttr().GetHeight(), m_height, m_unitsH);
|
||||
GetDimensionValue(m_textAttr.GetTextBoxAttr().GetTop(), m_offset, m_unitsOffset);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxRichTextImageDialog::ConvertFromString(const wxString& string, int& ret, int scale)
|
||||
{
|
||||
const wxChar* chars = string.GetData();
|
||||
int remain = 2;
|
||||
bool dot = false;
|
||||
ret = 0;
|
||||
|
||||
for (unsigned int i = 0; i < string.Len() && remain; i++)
|
||||
{
|
||||
if (!(chars[i] >= '0' && chars[i] <= '9') && !(scale == wxTEXT_ATTR_UNITS_TENTHS_MM && chars[i] == '.'))
|
||||
return false;
|
||||
|
||||
if (chars[i] == '.')
|
||||
{
|
||||
dot = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (dot)
|
||||
remain--;
|
||||
|
||||
ret = ret * 10 + chars[i] - '0';
|
||||
}
|
||||
|
||||
while (remain-- > 0 && scale == wxTEXT_ATTR_UNITS_TENTHS_MM)
|
||||
ret *= 10;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
/*!
|
||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_PARA_UP
|
||||
*/
|
||||
void wxRichTextImageDialog::OnRichtextimagedialogParaUpClick( wxCommandEvent& WXUNUSED(event))
|
||||
void wxRichTextObjectPropertiesDialog::OnRichtextParaUpClick( wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Before editing this code, remove the block markers.
|
||||
wxRichTextRange range = m_image->GetRange();
|
||||
wxRichTextRange range = m_object->GetRange();
|
||||
wxRichTextObjectList::compatibility_iterator iter = m_buffer->GetChildren().GetFirst();
|
||||
if (!iter)
|
||||
return;
|
||||
@@ -469,12 +178,12 @@ void wxRichTextImageDialog::OnRichtextimagedialogParaUpClick( wxCommandEvent& WX
|
||||
|
||||
wxRichTextObject *obj = iter->GetData();
|
||||
wxRichTextRange rg = obj->GetRange();
|
||||
m_image = m_image->Clone();
|
||||
m_object = m_object->Clone();
|
||||
|
||||
m_buffer->DeleteRangeWithUndo(range, m_buffer->GetRichTextCtrl());
|
||||
m_buffer->InsertObjectWithUndo(rg.GetEnd(), m_image, m_buffer->GetRichTextCtrl(), 0);
|
||||
m_buffer->InsertObjectWithUndo(rg.GetEnd(), m_object, m_buffer->GetRichTextCtrl(), 0);
|
||||
m_parent = obj;
|
||||
m_image->SetRange(wxRichTextRange(rg.GetEnd(), rg.GetEnd()));
|
||||
m_object->SetRange(wxRichTextRange(rg.GetEnd(), rg.GetEnd()));
|
||||
}
|
||||
|
||||
|
||||
@@ -482,10 +191,10 @@ void wxRichTextImageDialog::OnRichtextimagedialogParaUpClick( wxCommandEvent& WX
|
||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON_PARA_DOWN
|
||||
*/
|
||||
|
||||
void wxRichTextImageDialog::OnRichtextimagedialogDownClick( wxCommandEvent& WXUNUSED(event))
|
||||
void wxRichTextObjectPropertiesDialog::OnRichtextDownClick( wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
// Before editing this code, remove the block markers.
|
||||
wxRichTextRange range = m_image->GetRange();
|
||||
wxRichTextRange range = m_object->GetRange();
|
||||
wxRichTextObjectList::compatibility_iterator iter = m_buffer->GetChildren().GetFirst();
|
||||
if (!iter)
|
||||
return;
|
||||
@@ -503,12 +212,15 @@ void wxRichTextImageDialog::OnRichtextimagedialogDownClick( wxCommandEvent& WXUN
|
||||
|
||||
wxRichTextObject *obj = iter->GetData();
|
||||
wxRichTextRange rg = obj->GetRange();
|
||||
m_image = m_image->Clone();
|
||||
m_object = m_object->Clone();
|
||||
|
||||
m_buffer->DeleteRangeWithUndo(range, m_buffer->GetRichTextCtrl());
|
||||
m_buffer->InsertObjectWithUndo(rg.GetEnd(), m_image, m_buffer->GetRichTextCtrl(), 0);
|
||||
m_buffer->InsertObjectWithUndo(rg.GetEnd(), m_object, m_buffer->GetRichTextCtrl(), 0);
|
||||
m_parent = obj;
|
||||
m_image->SetRange(wxRichTextRange(rg.GetEnd(), rg.GetEnd()));
|
||||
m_object->SetRange(wxRichTextRange(rg.GetEnd(), rg.GetEnd()));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// wxUSE_RICHTEXT
|
||||
|
@@ -17,13 +17,13 @@
|
||||
* wxRichTextIndentsSpacingPage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextIndentsSpacingPage, wxPanel )
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextIndentsSpacingPage, wxRichTextDialogPage )
|
||||
|
||||
/*!
|
||||
* wxRichTextIndentsSpacingPage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextIndentsSpacingPage, wxPanel )
|
||||
BEGIN_EVENT_TABLE( wxRichTextIndentsSpacingPage, wxRichTextDialogPage )
|
||||
|
||||
////@begin wxRichTextIndentsSpacingPage event table entries
|
||||
EVT_RADIOBUTTON( ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_LEFT, wxRichTextIndentsSpacingPage::OnAlignmentLeftSelected )
|
||||
@@ -54,6 +54,8 @@ BEGIN_EVENT_TABLE( wxRichTextIndentsSpacingPage, wxPanel )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextIndentsSpacingPage)
|
||||
|
||||
/*!
|
||||
* wxRichTextIndentsSpacingPage constructors
|
||||
*/
|
||||
@@ -102,7 +104,7 @@ void wxRichTextIndentsSpacingPage::Init()
|
||||
bool wxRichTextIndentsSpacingPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextIndentsSpacingPage creation
|
||||
wxPanel::Create( parent, id, pos, size, style );
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
@@ -121,10 +123,10 @@ bool wxRichTextIndentsSpacingPage::Create( wxWindow* parent, wxWindowID id, cons
|
||||
void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextIndentsSpacingPage content construction
|
||||
wxRichTextIndentsSpacingPage* itemPanel1 = this;
|
||||
wxRichTextIndentsSpacingPage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemPanel1->SetSizer(itemBoxSizer2);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
|
||||
@@ -135,7 +137,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer5, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Alignment"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Alignment"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
|
||||
@@ -146,35 +148,35 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer7->Add(itemBoxSizer9, 0, wxALIGN_CENTER_VERTICAL|wxTOP, 5);
|
||||
|
||||
m_alignmentLeft = new wxRadioButton( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_LEFT, _("&Left"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
|
||||
m_alignmentLeft = new wxRadioButton( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_LEFT, _("&Left"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
|
||||
m_alignmentLeft->SetValue(false);
|
||||
m_alignmentLeft->SetHelpText(_("Left-align text."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_alignmentLeft->SetToolTip(_("Left-align text."));
|
||||
itemBoxSizer9->Add(m_alignmentLeft, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
|
||||
m_alignmentRight = new wxRadioButton( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_RIGHT, _("&Right"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentRight = new wxRadioButton( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_RIGHT, _("&Right"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentRight->SetValue(false);
|
||||
m_alignmentRight->SetHelpText(_("Right-align text."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_alignmentRight->SetToolTip(_("Right-align text."));
|
||||
itemBoxSizer9->Add(m_alignmentRight, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
|
||||
m_alignmentJustified = new wxRadioButton( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_JUSTIFIED, _("&Justified"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentJustified = new wxRadioButton( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_JUSTIFIED, _("&Justified"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentJustified->SetValue(false);
|
||||
m_alignmentJustified->SetHelpText(_("Justify text left and right."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_alignmentJustified->SetToolTip(_("Justify text left and right."));
|
||||
itemBoxSizer9->Add(m_alignmentJustified, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
|
||||
m_alignmentCentred = new wxRadioButton( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_CENTRED, _("Cen&tred"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentCentred = new wxRadioButton( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_CENTRED, _("Cen&tred"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentCentred->SetValue(false);
|
||||
m_alignmentCentred->SetHelpText(_("Centre text."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_alignmentCentred->SetToolTip(_("Centre text."));
|
||||
itemBoxSizer9->Add(m_alignmentCentred, 0, wxALIGN_LEFT|wxALL, 5);
|
||||
|
||||
m_alignmentIndeterminate = new wxRadioButton( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_INDETERMINATE, _("&Indeterminate"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentIndeterminate = new wxRadioButton( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_ALIGNMENT_INDETERMINATE, _("&Indeterminate"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_alignmentIndeterminate->SetValue(false);
|
||||
m_alignmentIndeterminate->SetHelpText(_("Use the current alignment setting."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
@@ -183,7 +185,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
|
||||
itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine16 = new wxStaticLine( itemPanel1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
wxStaticLine* itemStaticLine16 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
itemBoxSizer4->Add(itemStaticLine16, 0, wxGROW|wxLEFT|wxBOTTOM, 5);
|
||||
|
||||
itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
@@ -191,7 +193,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer18 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer18, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText19 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Indentation (tenths of a mm)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText19 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Indentation (tenths of a mm)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer18->Add(itemStaticText19, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
|
||||
@@ -202,43 +204,43 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
wxFlexGridSizer* itemFlexGridSizer22 = new wxFlexGridSizer(4, 2, 0, 0);
|
||||
itemBoxSizer20->Add(itemFlexGridSizer22, 0, wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
wxStaticText* itemStaticText23 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText23 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer22->Add(itemStaticText23, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer22->Add(itemBoxSizer24, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_indentLeft = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeft = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeft->SetHelpText(_("The left indent."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_indentLeft->SetToolTip(_("The left indent."));
|
||||
itemBoxSizer24->Add(m_indentLeft, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText26 = new wxStaticText( itemPanel1, wxID_STATIC, _("Left (&first line):"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText26 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Left (&first line):"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer22->Add(itemStaticText26, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer27 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer22->Add(itemBoxSizer27, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_indentLeftFirst = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT_FIRST, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeftFirst = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT_FIRST, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeftFirst->SetHelpText(_("The first line indent."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_indentLeftFirst->SetToolTip(_("The first line indent."));
|
||||
itemBoxSizer27->Add(m_indentLeftFirst, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText29 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText29 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer22->Add(itemStaticText29, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer30 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer22->Add(itemBoxSizer30, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_indentRight = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_RIGHT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentRight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_RIGHT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentRight->SetHelpText(_("The right indent."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_indentRight->SetToolTip(_("The right indent."));
|
||||
itemBoxSizer30->Add(m_indentRight, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText32 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Outline level:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText32 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Outline level:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer22->Add(itemStaticText32, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxArrayString m_outlineLevelCtrlStrings;
|
||||
@@ -252,7 +254,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
m_outlineLevelCtrlStrings.Add(_("7"));
|
||||
m_outlineLevelCtrlStrings.Add(_("8"));
|
||||
m_outlineLevelCtrlStrings.Add(_("9"));
|
||||
m_outlineLevelCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_OUTLINELEVEL, _("Normal"), wxDefaultPosition, wxSize(90, -1), m_outlineLevelCtrlStrings, wxCB_READONLY );
|
||||
m_outlineLevelCtrl = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_OUTLINELEVEL, _("Normal"), wxDefaultPosition, wxSize(90, -1), m_outlineLevelCtrlStrings, wxCB_READONLY );
|
||||
m_outlineLevelCtrl->SetStringSelection(_("Normal"));
|
||||
m_outlineLevelCtrl->SetHelpText(_("The outline level."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
@@ -261,7 +263,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
|
||||
itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine35 = new wxStaticLine( itemPanel1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
wxStaticLine* itemStaticLine35 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
|
||||
itemBoxSizer4->Add(itemStaticLine35, 0, wxGROW|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
@@ -269,7 +271,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer37 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer37, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText38 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Spacing (tenths of a mm)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText38 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Spacing (tenths of a mm)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer37->Add(itemStaticText38, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer39 = new wxBoxSizer(wxHORIZONTAL);
|
||||
@@ -281,30 +283,30 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
itemFlexGridSizer41->AddGrowableCol(1);
|
||||
itemBoxSizer39->Add(itemFlexGridSizer41, 0, wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
wxStaticText* itemStaticText42 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Before a paragraph:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText42 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Before a paragraph:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer41->Add(itemStaticText42, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer43 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer41->Add(itemBoxSizer43, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_spacingBefore = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_BEFORE, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_spacingBefore = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_BEFORE, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_spacingBefore->SetHelpText(_("The spacing before the paragraph."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_spacingBefore->SetToolTip(_("The spacing before the paragraph."));
|
||||
itemBoxSizer43->Add(m_spacingBefore, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText45 = new wxStaticText( itemPanel1, wxID_STATIC, _("&After a paragraph:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText45 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&After a paragraph:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer41->Add(itemStaticText45, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer46 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer41->Add(itemBoxSizer46, 1, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_spacingAfter = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_AFTER, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_spacingAfter = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_AFTER, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_spacingAfter->SetToolTip(_("The spacing after the paragraph."));
|
||||
itemBoxSizer46->Add(m_spacingAfter, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText48 = new wxStaticText( itemPanel1, wxID_STATIC, _("L&ine spacing:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText48 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("L&ine spacing:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer41->Add(itemStaticText48, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer49 = new wxBoxSizer(wxHORIZONTAL);
|
||||
@@ -322,7 +324,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
m_spacingLineStrings.Add(_("1.8"));
|
||||
m_spacingLineStrings.Add(_("1.9"));
|
||||
m_spacingLineStrings.Add(_("2"));
|
||||
m_spacingLine = new wxComboBox( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_LINE, _("Single"), wxDefaultPosition, wxSize(90, -1), m_spacingLineStrings, wxCB_READONLY );
|
||||
m_spacingLine = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_LINE, _("Single"), wxDefaultPosition, wxSize(90, -1), m_spacingLineStrings, wxCB_READONLY );
|
||||
m_spacingLine->SetStringSelection(_("Single"));
|
||||
m_spacingLine->SetHelpText(_("The line spacing."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
@@ -331,7 +333,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
|
||||
|
||||
itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
m_previewCtrl = new wxRichTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_PREVIEW_CTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 100), wxVSCROLL|wxTE_READONLY );
|
||||
m_previewCtrl = new wxRichTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTINDENTSSPACINGPAGE_PREVIEW_CTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 100), wxVSCROLL|wxTE_READONLY );
|
||||
m_previewCtrl->SetHelpText(_("Shows a preview of the paragraph settings."));
|
||||
if (wxRichTextIndentsSpacingPage::ShowToolTips())
|
||||
m_previewCtrl->SetToolTip(_("Shows a preview of the paragraph settings."));
|
||||
|
@@ -18,13 +18,13 @@
|
||||
* wxRichTextListStylePage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextListStylePage, wxPanel )
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextListStylePage, wxRichTextDialogPage )
|
||||
|
||||
/*!
|
||||
* wxRichTextListStylePage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextListStylePage, wxPanel )
|
||||
BEGIN_EVENT_TABLE( wxRichTextListStylePage, wxRichTextDialogPage )
|
||||
|
||||
////@begin wxRichTextListStylePage event table entries
|
||||
EVT_SPINCTRL( ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxRichTextListStylePage::OnLevelUpdated )
|
||||
@@ -93,6 +93,8 @@ BEGIN_EVENT_TABLE( wxRichTextListStylePage, wxPanel )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextListStylePage)
|
||||
|
||||
/*!
|
||||
* wxRichTextListStylePage constructors
|
||||
*/
|
||||
@@ -115,7 +117,7 @@ wxRichTextListStylePage::wxRichTextListStylePage( wxWindow* parent, wxWindowID i
|
||||
bool wxRichTextListStylePage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextListStylePage creation
|
||||
wxPanel::Create( parent, id, pos, size, style );
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
@@ -168,10 +170,10 @@ void wxRichTextListStylePage::Init()
|
||||
void wxRichTextListStylePage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextListStylePage content construction
|
||||
wxRichTextListStylePage* itemPanel1 = this;
|
||||
wxRichTextListStylePage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemPanel1->SetSizer(itemBoxSizer2);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
|
||||
@@ -179,10 +181,10 @@ void wxRichTextListStylePage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
|
||||
wxStaticText* itemStaticText5 = new wxStaticText( itemPanel1, wxID_STATIC, _("&List level:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText5 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&List level:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_levelCtrl = new wxSpinCtrl( itemPanel1, ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxT("1"), wxDefaultPosition, wxSize(60, -1), wxSP_ARROW_KEYS, 1, 10, 1 );
|
||||
m_levelCtrl = new wxSpinCtrl( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_LEVEL, _T("1"), wxDefaultPosition, wxSize(60, -1), wxSP_ARROW_KEYS, 1, 10, 1 );
|
||||
m_levelCtrl->SetHelpText(_("Selects the list level to edit."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_levelCtrl->SetToolTip(_("Selects the list level to edit."));
|
||||
@@ -190,13 +192,13 @@ void wxRichTextListStylePage::CreateControls()
|
||||
|
||||
itemBoxSizer4->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxButton* itemButton8 = new wxButton( itemPanel1, ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT, _("&Font for Level..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxButton* itemButton8 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT, _("&Font for Level..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton8->SetHelpText(_("Click to choose the font for this level."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
itemButton8->SetToolTip(_("Click to choose the font for this level."));
|
||||
itemBoxSizer4->Add(itemButton8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxNotebook* itemNotebook9 = new wxNotebook( itemPanel1, ID_RICHTEXTLISTSTYLEPAGE_NOTEBOOK, wxDefaultPosition, wxDefaultSize, wxNB_DEFAULT|wxNB_TOP );
|
||||
wxNotebook* itemNotebook9 = new wxNotebook( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_NOTEBOOK, wxDefaultPosition, wxDefaultSize, wxBK_DEFAULT|wxBK_TOP );
|
||||
|
||||
wxPanel* itemPanel10 = new wxPanel( itemNotebook9, ID_RICHTEXTLISTSTYLEPAGE_BULLETS, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL );
|
||||
wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL);
|
||||
@@ -270,7 +272,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer26->Add(itemBoxSizer28, 0, wxGROW, 5);
|
||||
wxArrayString m_symbolCtrlStrings;
|
||||
m_symbolCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL, wxT(""), wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN );
|
||||
m_symbolCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL, wxEmptyString, wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN );
|
||||
m_symbolCtrl->SetHelpText(_("The bullet character."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_symbolCtrl->SetToolTip(_("The bullet character."));
|
||||
@@ -288,7 +290,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
itemBoxSizer26->Add(itemStaticText32, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_symbolFontCtrlStrings;
|
||||
m_symbolFontCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL, wxT(""), wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN );
|
||||
m_symbolFontCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN );
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_symbolFontCtrl->SetToolTip(_("Available fonts."));
|
||||
itemBoxSizer26->Add(m_symbolFontCtrl, 0, wxGROW|wxALL, 5);
|
||||
@@ -299,7 +301,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
itemBoxSizer26->Add(itemStaticText35, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_bulletNameCtrlStrings;
|
||||
m_bulletNameCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL, wxT(""), wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN );
|
||||
m_bulletNameCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN );
|
||||
m_bulletNameCtrl->SetHelpText(_("A standard bullet name."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_bulletNameCtrl->SetToolTip(_("A standard bullet name."));
|
||||
@@ -382,7 +384,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
|
||||
wxBoxSizer* itemBoxSizer59 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer57->Add(itemBoxSizer59, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
|
||||
m_indentLeft = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT, wxT(""), wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeft = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeft->SetHelpText(_("The left indent."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_indentLeft->SetToolTip(_("The left indent."));
|
||||
@@ -393,7 +395,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
|
||||
wxBoxSizer* itemBoxSizer62 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer57->Add(itemBoxSizer62, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
|
||||
m_indentLeftFirst = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE, wxT(""), wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeftFirst = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentLeftFirst->SetHelpText(_("The first line indent."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_indentLeftFirst->SetToolTip(_("The first line indent."));
|
||||
@@ -404,7 +406,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
|
||||
wxBoxSizer* itemBoxSizer65 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer57->Add(itemBoxSizer65, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
|
||||
m_indentRight = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT, wxT(""), wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentRight = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_indentRight->SetHelpText(_("The right indent."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_indentRight->SetToolTip(_("The right indent."));
|
||||
@@ -433,7 +435,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
|
||||
wxBoxSizer* itemBoxSizer76 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer74->Add(itemBoxSizer76, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
|
||||
m_spacingBefore = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE, wxT(""), wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_spacingBefore = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_spacingBefore->SetHelpText(_("The spacing before the paragraph."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_spacingBefore->SetToolTip(_("The spacing before the paragraph."));
|
||||
@@ -444,7 +446,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
|
||||
wxBoxSizer* itemBoxSizer79 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer74->Add(itemBoxSizer79, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
|
||||
m_spacingAfter = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER, wxT(""), wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_spacingAfter = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
|
||||
m_spacingAfter->SetHelpText(_("The spacing after the paragraph."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_spacingAfter->SetToolTip(_("The spacing after the paragraph."));
|
||||
@@ -470,7 +472,7 @@ void wxRichTextListStylePage::CreateControls()
|
||||
|
||||
itemBoxSizer3->Add(itemNotebook9, 0, wxGROW|wxALL, 5);
|
||||
|
||||
m_previewCtrl = new wxRichTextCtrl( itemPanel1, ID_RICHTEXTLISTSTYLEPAGE_RICHTEXTCTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 180), wxSUNKEN_BORDER|wxVSCROLL|wxTE_READONLY );
|
||||
m_previewCtrl = new wxRichTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_RICHTEXTCTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 180), wxSUNKEN_BORDER|wxVSCROLL|wxTE_READONLY );
|
||||
m_previewCtrl->SetHelpText(_("Shows a preview of the bullet settings."));
|
||||
if (wxRichTextListStylePage::ShowToolTips())
|
||||
m_previewCtrl->SetToolTip(_("Shows a preview of the bullet settings."));
|
||||
|
563
src/richtext/richtextmarginspage.cpp
Normal file
563
src/richtext/richtextmarginspage.cpp
Normal file
@@ -0,0 +1,563 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextmarginspage.cpp
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 20/10/2010 10:27:34
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
////@begin includes
|
||||
////@end includes
|
||||
|
||||
#include "wx/richtext/richtextmarginspage.h"
|
||||
|
||||
////@begin XPM images
|
||||
////@end XPM images
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextMarginsPage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextMarginsPage, wxRichTextDialogPage )
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextMarginsPage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextMarginsPage, wxRichTextDialogPage )
|
||||
|
||||
////@begin wxRichTextMarginsPage event table entries
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_LEFT_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextLeftMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN, wxRichTextMarginsPage::OnRichtextRightMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextRightMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN, wxRichTextMarginsPage::OnRichtextTopMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_TOP_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextTopMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_MARGIN_UNITS, wxRichTextMarginsPage::OnRichtextBottomMarginUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_LEFT_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_RIGHT_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextRightPaddingUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_TOP_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextTopPaddingUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_BOTTOM_PADDING_UNITS, wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate )
|
||||
|
||||
////@end wxRichTextMarginsPage event table entries
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextMarginsPage)
|
||||
|
||||
/*!
|
||||
* wxRichTextMarginsPage constructors
|
||||
*/
|
||||
|
||||
wxRichTextMarginsPage::wxRichTextMarginsPage()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxRichTextMarginsPage::wxRichTextMarginsPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, pos, size, style);
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextMarginsPage creator
|
||||
*/
|
||||
|
||||
bool wxRichTextMarginsPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextMarginsPage creation
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
{
|
||||
GetSizer()->SetSizeHints(this);
|
||||
}
|
||||
Centre();
|
||||
////@end wxRichTextMarginsPage creation
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextMarginsPage destructor
|
||||
*/
|
||||
|
||||
wxRichTextMarginsPage::~wxRichTextMarginsPage()
|
||||
{
|
||||
////@begin wxRichTextMarginsPage destruction
|
||||
////@end wxRichTextMarginsPage destruction
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Member initialisation
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::Init()
|
||||
{
|
||||
m_ignoreUpdates = false;
|
||||
|
||||
////@begin wxRichTextMarginsPage member initialisation
|
||||
m_leftMarginCheckbox = NULL;
|
||||
m_marginLeft = NULL;
|
||||
m_unitsMarginLeft = NULL;
|
||||
m_rightMarginCheckbox = NULL;
|
||||
m_marginRight = NULL;
|
||||
m_unitsMarginRight = NULL;
|
||||
m_topMarginCheckbox = NULL;
|
||||
m_marginTop = NULL;
|
||||
m_unitsMarginTop = NULL;
|
||||
m_bottomMarginCheckbox = NULL;
|
||||
m_marginBottom = NULL;
|
||||
m_unitsMarginBottom = NULL;
|
||||
m_leftPaddingCheckbox = NULL;
|
||||
m_paddingLeft = NULL;
|
||||
m_unitsPaddingLeft = NULL;
|
||||
m_rightPaddingCheckbox = NULL;
|
||||
m_paddingRight = NULL;
|
||||
m_unitsPaddingRight = NULL;
|
||||
m_topPaddingCheckbox = NULL;
|
||||
m_paddingTop = NULL;
|
||||
m_unitsPaddingTop = NULL;
|
||||
m_bottomPaddingCheckbox = NULL;
|
||||
m_paddingBottom = NULL;
|
||||
m_unitsPaddingBottom = NULL;
|
||||
////@end wxRichTextMarginsPage member initialisation
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Control creation for wxRichTextMarginsPage
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextMarginsPage content construction
|
||||
wxRichTextMarginsPage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText5 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Margins"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemStaticText5->SetFont(wxFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetPointSize(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetFamily(), wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).GetStyle(), wxBOLD, false, wxT("")));
|
||||
itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine6 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer4->Add(itemStaticLine6, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer7 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer7, 0, wxGROW, 5);
|
||||
|
||||
itemBoxSizer7->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxFlexGridSizer* itemFlexGridSizer9 = new wxFlexGridSizer(0, 4, 0, 0);
|
||||
itemBoxSizer7->Add(itemFlexGridSizer9, 0, wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_leftMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_leftMarginCheckbox->SetValue(false);
|
||||
itemFlexGridSizer9->Add(m_leftMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer9->Add(itemBoxSizer11, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_marginLeft = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_marginLeft->SetHelpText(_("The left margin size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_marginLeft->SetToolTip(_("The left margin size."));
|
||||
itemBoxSizer11->Add(m_marginLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsMarginLeftStrings;
|
||||
m_unitsMarginLeftStrings.Add(_("px"));
|
||||
m_unitsMarginLeftStrings.Add(_("cm"));
|
||||
m_unitsMarginLeft = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginLeftStrings, wxCB_READONLY );
|
||||
m_unitsMarginLeft->SetStringSelection(_("px"));
|
||||
m_unitsMarginLeft->SetHelpText(_("Units for the left margin."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsMarginLeft->SetToolTip(_("Units for the left margin."));
|
||||
itemBoxSizer11->Add(m_unitsMarginLeft, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
itemBoxSizer11->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_rightMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_rightMarginCheckbox->SetValue(false);
|
||||
itemFlexGridSizer9->Add(m_rightMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer9->Add(itemBoxSizer16, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_marginRight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_marginRight->SetHelpText(_("The right margin size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_marginRight->SetToolTip(_("The right margin size."));
|
||||
itemBoxSizer16->Add(m_marginRight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsMarginRightStrings;
|
||||
m_unitsMarginRightStrings.Add(_("px"));
|
||||
m_unitsMarginRightStrings.Add(_("cm"));
|
||||
m_unitsMarginRight = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginRightStrings, wxCB_READONLY );
|
||||
m_unitsMarginRight->SetStringSelection(_("px"));
|
||||
m_unitsMarginRight->SetHelpText(_("Units for the right margin."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsMarginRight->SetToolTip(_("Units for the right margin."));
|
||||
itemBoxSizer16->Add(m_unitsMarginRight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_topMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_topMarginCheckbox->SetValue(false);
|
||||
itemFlexGridSizer9->Add(m_topMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer9->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_marginTop = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_marginTop->SetHelpText(_("The top margin size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_marginTop->SetToolTip(_("The top margin size."));
|
||||
itemBoxSizer20->Add(m_marginTop, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsMarginTopStrings;
|
||||
m_unitsMarginTopStrings.Add(_("px"));
|
||||
m_unitsMarginTopStrings.Add(_("cm"));
|
||||
m_unitsMarginTop = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginTopStrings, wxCB_READONLY );
|
||||
m_unitsMarginTop->SetStringSelection(_("px"));
|
||||
m_unitsMarginTop->SetHelpText(_("Units for the top margin."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsMarginTop->SetToolTip(_("Units for the top margin."));
|
||||
itemBoxSizer20->Add(m_unitsMarginTop, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
itemBoxSizer20->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_bottomMarginCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_bottomMarginCheckbox->SetValue(false);
|
||||
itemFlexGridSizer9->Add(m_bottomMarginCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer9->Add(itemBoxSizer25, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_marginBottom = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_marginBottom->SetHelpText(_("The bottom margin size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_marginBottom->SetToolTip(_("The bottom margin size."));
|
||||
itemBoxSizer25->Add(m_marginBottom, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsMarginBottomStrings;
|
||||
m_unitsMarginBottomStrings.Add(_("px"));
|
||||
m_unitsMarginBottomStrings.Add(_("cm"));
|
||||
m_unitsMarginBottom = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_MARGIN_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsMarginBottomStrings, wxCB_READONLY );
|
||||
m_unitsMarginBottom->SetStringSelection(_("px"));
|
||||
m_unitsMarginBottom->SetHelpText(_("Units for the bottom margin."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsMarginBottom->SetToolTip(_("Units for the bottom margin."));
|
||||
itemBoxSizer25->Add(m_unitsMarginBottom, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer28, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText29 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Padding"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemStaticText29->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("")));
|
||||
itemBoxSizer28->Add(itemStaticText29, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine30 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer28->Add(itemStaticLine30, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer31 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer31, 0, wxGROW, 5);
|
||||
|
||||
itemBoxSizer31->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxFlexGridSizer* itemFlexGridSizer33 = new wxFlexGridSizer(0, 4, 0, 0);
|
||||
itemBoxSizer31->Add(itemFlexGridSizer33, 0, wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_leftPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING_CHECKBOX, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_leftPaddingCheckbox->SetValue(false);
|
||||
itemFlexGridSizer33->Add(m_leftPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer35 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer33->Add(itemBoxSizer35, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_paddingLeft = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_paddingLeft->SetHelpText(_("The left padding size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_paddingLeft->SetToolTip(_("The left padding size."));
|
||||
itemBoxSizer35->Add(m_paddingLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsPaddingLeftStrings;
|
||||
m_unitsPaddingLeftStrings.Add(_("px"));
|
||||
m_unitsPaddingLeftStrings.Add(_("cm"));
|
||||
m_unitsPaddingLeft = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_LEFT_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingLeftStrings, wxCB_READONLY );
|
||||
m_unitsPaddingLeft->SetStringSelection(_("px"));
|
||||
m_unitsPaddingLeft->SetHelpText(_("Units for the left padding."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsPaddingLeft->SetToolTip(_("Units for the left padding."));
|
||||
itemBoxSizer35->Add(m_unitsPaddingLeft, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
itemBoxSizer35->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_rightPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING_CHECKBOX, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_rightPaddingCheckbox->SetValue(false);
|
||||
itemFlexGridSizer33->Add(m_rightPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer40 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer33->Add(itemBoxSizer40, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_paddingRight = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_paddingRight->SetHelpText(_("The right padding size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_paddingRight->SetToolTip(_("The right padding size."));
|
||||
itemBoxSizer40->Add(m_paddingRight, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsPaddingRightStrings;
|
||||
m_unitsPaddingRightStrings.Add(_("px"));
|
||||
m_unitsPaddingRightStrings.Add(_("cm"));
|
||||
m_unitsPaddingRight = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_RIGHT_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingRightStrings, wxCB_READONLY );
|
||||
m_unitsPaddingRight->SetStringSelection(_("px"));
|
||||
m_unitsPaddingRight->SetHelpText(_("Units for the right padding."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsPaddingRight->SetToolTip(_("Units for the right padding."));
|
||||
itemBoxSizer40->Add(m_unitsPaddingRight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_topPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING_CHECKBOX, _("&Top:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_topPaddingCheckbox->SetValue(false);
|
||||
itemFlexGridSizer33->Add(m_topPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer44 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer33->Add(itemBoxSizer44, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_paddingTop = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_paddingTop->SetHelpText(_("The top padding size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_paddingTop->SetToolTip(_("The top padding size."));
|
||||
itemBoxSizer44->Add(m_paddingTop, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsPaddingTopStrings;
|
||||
m_unitsPaddingTopStrings.Add(_("px"));
|
||||
m_unitsPaddingTopStrings.Add(_("cm"));
|
||||
m_unitsPaddingTop = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_TOP_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingTopStrings, wxCB_READONLY );
|
||||
m_unitsPaddingTop->SetStringSelection(_("px"));
|
||||
m_unitsPaddingTop->SetHelpText(_("Units for the top padding."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsPaddingTop->SetToolTip(_("Units for the top padding."));
|
||||
itemBoxSizer44->Add(m_unitsPaddingTop, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
itemBoxSizer44->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_bottomPaddingCheckbox = new wxCheckBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING_CHECKBOX, _("&Bottom:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_bottomPaddingCheckbox->SetValue(false);
|
||||
itemFlexGridSizer33->Add(m_bottomPaddingCheckbox, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer49 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer33->Add(itemBoxSizer49, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_paddingBottom = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING, wxEmptyString, wxDefaultPosition, wxSize(65, -1), 0 );
|
||||
m_paddingBottom->SetHelpText(_("The bottom padding size."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_paddingBottom->SetToolTip(_("The bottom padding size."));
|
||||
itemBoxSizer49->Add(m_paddingBottom, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxArrayString m_unitsPaddingBottomStrings;
|
||||
m_unitsPaddingBottomStrings.Add(_("px"));
|
||||
m_unitsPaddingBottomStrings.Add(_("cm"));
|
||||
m_unitsPaddingBottom = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_BOTTOM_PADDING_UNITS, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsPaddingBottomStrings, wxCB_READONLY );
|
||||
m_unitsPaddingBottom->SetStringSelection(_("px"));
|
||||
m_unitsPaddingBottom->SetHelpText(_("Units for the bottom padding."));
|
||||
if (wxRichTextMarginsPage::ShowToolTips())
|
||||
m_unitsPaddingBottom->SetToolTip(_("Units for the bottom padding."));
|
||||
itemBoxSizer49->Add(m_unitsPaddingBottom, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
////@end wxRichTextMarginsPage content construction
|
||||
}
|
||||
|
||||
wxRichTextAttr* wxRichTextMarginsPage::GetAttributes()
|
||||
{
|
||||
return wxRichTextFormattingDialog::GetDialogAttributes(this);
|
||||
}
|
||||
|
||||
/*!
|
||||
* Should we show tooltips?
|
||||
*/
|
||||
|
||||
bool wxRichTextMarginsPage::ShowToolTips()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxRichTextMarginsPage::TransferDataToWindow()
|
||||
{
|
||||
// Margins
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetLeft(), m_marginLeft, m_unitsMarginLeft, m_leftMarginCheckbox);
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetTop(), m_marginTop, m_unitsMarginTop, m_topMarginCheckbox);
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetRight(), m_marginRight, m_unitsMarginRight, m_rightMarginCheckbox);
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetBottom(), m_marginBottom, m_unitsMarginBottom, m_bottomMarginCheckbox);
|
||||
|
||||
// Padding
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetLeft(), m_paddingLeft, m_unitsPaddingLeft, m_leftPaddingCheckbox);
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetTop(), m_paddingTop, m_unitsPaddingTop, m_topPaddingCheckbox);
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetRight(), m_paddingRight, m_unitsPaddingRight, m_rightPaddingCheckbox);
|
||||
wxRichTextFormattingDialog::SetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetBottom(), m_paddingBottom, m_unitsPaddingBottom, m_bottomPaddingCheckbox);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxRichTextMarginsPage::TransferDataFromWindow()
|
||||
{
|
||||
// Margins
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetLeft(), m_marginLeft, m_unitsMarginLeft, m_leftMarginCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetTop(), m_marginTop, m_unitsMarginTop, m_topMarginCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetRight(), m_marginRight, m_unitsMarginRight, m_rightMarginCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetMargins().GetBottom(), m_marginBottom, m_unitsMarginBottom, m_bottomMarginCheckbox);
|
||||
|
||||
// Padding
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetLeft(), m_paddingLeft, m_unitsPaddingLeft, m_leftPaddingCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetTop(), m_paddingTop, m_unitsPaddingTop, m_topPaddingCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetRight(), m_paddingRight, m_unitsPaddingRight, m_rightPaddingCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetPadding().GetBottom(), m_paddingBottom, m_unitsPaddingBottom, m_bottomPaddingCheckbox);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get bitmap resources
|
||||
*/
|
||||
|
||||
wxBitmap wxRichTextMarginsPage::GetBitmapResource( const wxString& name )
|
||||
{
|
||||
// Bitmap retrieval
|
||||
////@begin wxRichTextMarginsPage bitmap retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullBitmap;
|
||||
////@end wxRichTextMarginsPage bitmap retrieval
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get icon resources
|
||||
*/
|
||||
|
||||
wxIcon wxRichTextMarginsPage::GetIconResource( const wxString& name )
|
||||
{
|
||||
// Icon retrieval
|
||||
////@begin wxRichTextMarginsPage icon retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullIcon;
|
||||
////@end wxRichTextMarginsPage icon retrieval
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_MARGIN
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextLeftMarginUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_leftMarginCheckbox->GetValue());
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_MARGIN
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextRightMarginUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_rightMarginCheckbox->GetValue());
|
||||
}
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_MARGIN
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextTopMarginUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_topMarginCheckbox->GetValue());
|
||||
}
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_MARGIN
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextBottomMarginUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_bottomMarginCheckbox->GetValue());
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_LEFT_PADDING
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextLeftPaddingUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_leftPaddingCheckbox->GetValue());
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_RIGHT_PADDING
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextRightPaddingUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_rightPaddingCheckbox->GetValue());
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_TOP_PADDING
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextTopPaddingUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_topPaddingCheckbox->GetValue());
|
||||
}
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_BOTTOM_PADDING
|
||||
*/
|
||||
|
||||
void wxRichTextMarginsPage::OnRichtextBottomPaddingUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_bottomPaddingCheckbox->GetValue());
|
||||
}
|
@@ -54,6 +54,7 @@ void wxRichTextPrintout::OnPreparePrinting()
|
||||
|
||||
m_pageBreaksStart.Clear();
|
||||
m_pageBreaksEnd.Clear();
|
||||
m_pageYOffsets.Clear();
|
||||
|
||||
int lastStartPos = 0;
|
||||
|
||||
@@ -80,22 +81,20 @@ void wxRichTextPrintout::OnPreparePrinting()
|
||||
// child is a paragraph
|
||||
wxRichTextParagraph* child = wxDynamicCast(node->GetData(), wxRichTextParagraph);
|
||||
wxASSERT (child != NULL);
|
||||
|
||||
if (child)
|
||||
{
|
||||
wxRichTextLineList::compatibility_iterator node2 = child->GetLines().GetFirst();
|
||||
while (node2)
|
||||
{
|
||||
wxRichTextLine* line = node2->GetData();
|
||||
|
||||
// Set the line to the page-adjusted position
|
||||
line->SetPosition(wxPoint(line->GetPosition().x, line->GetPosition().y - yOffset));
|
||||
|
||||
int lineY = child->GetPosition().y + line->GetPosition().y;
|
||||
int lineY = child->GetPosition().y + line->GetPosition().y - yOffset;
|
||||
bool hasHardPageBreak = ((node2 == child->GetLines().GetFirst()) && child->GetAttributes().HasPageBreak());
|
||||
|
||||
// Break the page if either we're going off the bottom, or this paragraph specifies
|
||||
// an explicit page break
|
||||
|
||||
if (((lineY + line->GetSize().y) > rect.GetBottom()) ||
|
||||
((node2 == child->GetLines().GetFirst()) && child->GetAttributes().HasPageBreak()))
|
||||
if (((lineY + line->GetSize().y) > rect.GetBottom()) || hasHardPageBreak)
|
||||
{
|
||||
// New page starting at this line
|
||||
int newY = rect.y;
|
||||
@@ -105,32 +104,46 @@ void wxRichTextPrintout::OnPreparePrinting()
|
||||
int increaseOffsetBy = lineY - newY;
|
||||
yOffset += increaseOffsetBy;
|
||||
|
||||
line->SetPosition(wxPoint(line->GetPosition().x, newY - child->GetPosition().y));
|
||||
|
||||
if (!lastLine)
|
||||
lastLine = line;
|
||||
|
||||
m_pageBreaksStart.Add(lastStartPos);
|
||||
m_pageBreaksEnd.Add(lastLine->GetAbsoluteRange().GetEnd());
|
||||
m_pageYOffsets.Add(yOffset);
|
||||
|
||||
lastStartPos = line->GetAbsoluteRange().GetStart();
|
||||
lastLine = line;
|
||||
|
||||
m_numPages ++;
|
||||
|
||||
// Now create page breaks for the rest of the line, if it's larger than the page height
|
||||
int contentLeft = line->GetSize().y - rect.GetHeight();
|
||||
while (contentLeft >= 0)
|
||||
{
|
||||
yOffset += rect.GetHeight();
|
||||
contentLeft -= rect.GetHeight();
|
||||
|
||||
m_pageBreaksStart.Add(lastStartPos);
|
||||
m_pageBreaksEnd.Add(lastLine->GetAbsoluteRange().GetEnd());
|
||||
m_pageYOffsets.Add(yOffset);
|
||||
}
|
||||
}
|
||||
|
||||
lastLine = line;
|
||||
|
||||
node2 = node2->GetNext();
|
||||
}
|
||||
}
|
||||
|
||||
node = node->GetNext();
|
||||
}
|
||||
|
||||
// Closing page break
|
||||
if (m_pageBreaksStart.GetCount() == 0 || (m_pageBreaksEnd[m_pageBreaksEnd.GetCount()-1] < (GetRichTextBuffer()->GetRange().GetEnd()-1)))
|
||||
if (m_pageBreaksStart.GetCount() == 0 || (m_pageBreaksEnd[m_pageBreaksEnd.GetCount()-1] < (GetRichTextBuffer()->GetOwnRange().GetEnd()-1)))
|
||||
{
|
||||
m_pageBreaksStart.Add(lastStartPos);
|
||||
m_pageBreaksEnd.Add(GetRichTextBuffer()->GetRange().GetEnd());
|
||||
m_pageBreaksEnd.Add(GetRichTextBuffer()->GetOwnRange().GetEnd());
|
||||
m_pageYOffsets.Add(yOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -274,7 +287,25 @@ void wxRichTextPrintout::RenderPage(wxDC *dc, int page)
|
||||
|
||||
wxRichTextRange rangeToDraw(m_pageBreaksStart[page-1], m_pageBreaksEnd[page-1]);
|
||||
|
||||
GetRichTextBuffer()->Draw(*dc, rangeToDraw, wxRichTextRange(-1,-1), textRect, 0 /* descent */, wxRICHTEXT_DRAW_IGNORE_CACHE /* flags */);
|
||||
wxPoint oldOrigin = dc->GetLogicalOrigin();
|
||||
double scaleX, scaleY;
|
||||
dc->GetUserScale(& scaleX, & scaleY);
|
||||
|
||||
int yOffset = 0;
|
||||
if (page > 1)
|
||||
yOffset = m_pageYOffsets[page-2];
|
||||
|
||||
if (yOffset != oldOrigin.y)
|
||||
dc->SetLogicalOrigin(oldOrigin.x, oldOrigin.y + yOffset);
|
||||
|
||||
dc->SetClippingRegion(wxRect(textRect.x, textRect.y + yOffset, textRect.width, textRect.height));
|
||||
|
||||
GetRichTextBuffer()->Draw(*dc, rangeToDraw, wxRichTextSelection(), textRect, 0 /* descent */, wxRICHTEXT_DRAW_IGNORE_CACHE|wxRICHTEXT_DRAW_PRINT /* flags */);
|
||||
|
||||
dc->DestroyClippingRegion();
|
||||
|
||||
if (yOffset != oldOrigin.y)
|
||||
dc->SetLogicalOrigin(oldOrigin.x, oldOrigin.y);
|
||||
}
|
||||
|
||||
void wxRichTextPrintout::SetMargins(int top, int bottom, int left, int right)
|
||||
@@ -312,7 +343,7 @@ void wxRichTextPrintout::CalculateScaling(wxDC* dc, wxRect& textRect, wxRect& he
|
||||
|
||||
// The dimensions used for indentation etc. have to be unscaled
|
||||
// during printing to be correct when scaling is applied.
|
||||
if (!IsPreview())
|
||||
// if (!IsPreview())
|
||||
m_richTextBuffer->SetScale(scale);
|
||||
|
||||
// Calculate margins
|
||||
|
639
src/richtext/richtextsizepage.cpp
Normal file
639
src/richtext/richtextsizepage.cpp
Normal file
@@ -0,0 +1,639 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextsizepage.cpp
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 20/10/2010 10:23:24
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
////@begin includes
|
||||
////@end includes
|
||||
|
||||
#include "wx/richtext/richtextsizepage.h"
|
||||
|
||||
////@begin XPM images
|
||||
////@end XPM images
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextSizePage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextSizePage, wxRichTextDialogPage )
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextSizePage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextSizePage, wxRichTextDialogPage )
|
||||
|
||||
////@begin wxRichTextSizePage event table entries
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_WIDTH, wxRichTextSizePage::OnRichtextWidthUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_UNITS_W, wxRichTextSizePage::OnRichtextWidthUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_HEIGHT, wxRichTextSizePage::OnRichtextHeightUpdate )
|
||||
|
||||
EVT_UPDATE_UI( ID_RICHTEXT_UNITS_H, wxRichTextSizePage::OnRichtextHeightUpdate )
|
||||
|
||||
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_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)
|
||||
|
||||
/*!
|
||||
* wxRichTextSizePage constructors
|
||||
*/
|
||||
|
||||
wxRichTextSizePage::wxRichTextSizePage()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxRichTextSizePage::wxRichTextSizePage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, pos, size, style);
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextSizePage creator
|
||||
*/
|
||||
|
||||
bool wxRichTextSizePage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextSizePage creation
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
{
|
||||
GetSizer()->SetSizeHints(this);
|
||||
}
|
||||
Centre();
|
||||
////@end wxRichTextSizePage creation
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxRichTextSizePage destructor
|
||||
*/
|
||||
|
||||
wxRichTextSizePage::~wxRichTextSizePage()
|
||||
{
|
||||
////@begin wxRichTextSizePage destruction
|
||||
////@end wxRichTextSizePage destruction
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Member initialisation
|
||||
*/
|
||||
|
||||
void wxRichTextSizePage::Init()
|
||||
{
|
||||
////@begin wxRichTextSizePage member initialisation
|
||||
m_parentSizer = NULL;
|
||||
m_floatingControls = NULL;
|
||||
m_float = NULL;
|
||||
m_widthCheckbox = NULL;
|
||||
m_width = NULL;
|
||||
m_unitsW = NULL;
|
||||
m_heightCheckbox = NULL;
|
||||
m_height = NULL;
|
||||
m_unitsH = 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_moveObjectSizer = NULL;
|
||||
////@end wxRichTextSizePage member initialisation
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Control creation for wxRichTextSizePage
|
||||
*/
|
||||
|
||||
void wxRichTextSizePage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextSizePage content construction
|
||||
wxRichTextSizePage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
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);
|
||||
|
||||
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_floatingControls->Add(itemBoxSizer5, 0, wxGROW, 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);
|
||||
|
||||
wxStaticLine* itemStaticLine7 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer5->Add(itemStaticLine7, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_floatingControls->Add(itemBoxSizer8, 0, wxGROW, 5);
|
||||
|
||||
itemBoxSizer8->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxFlexGridSizer* itemFlexGridSizer10 = new wxFlexGridSizer(0, 2, 0, 0);
|
||||
itemBoxSizer8->Add(itemFlexGridSizer10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5);
|
||||
|
||||
wxStaticText* itemStaticText11 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Floating mode:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemFlexGridSizer10->Add(itemStaticText11, 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->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);
|
||||
|
||||
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);
|
||||
|
||||
wxStaticLine* itemStaticLine15 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer13->Add(itemStaticLine15, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_parentSizer->Add(itemBoxSizer16, 0, wxGROW, 5);
|
||||
|
||||
itemBoxSizer16->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxFlexGridSizer* itemFlexGridSizer18 = new wxFlexGridSizer(0, 2, 0, 0);
|
||||
itemBoxSizer16->Add(itemFlexGridSizer18, 0, 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_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer18->Add(itemBoxSizer20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_width = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_WIDTH, wxEmptyString, wxDefaultPosition, wxSize(65, -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);
|
||||
|
||||
wxArrayString m_unitsWStrings;
|
||||
m_unitsWStrings.Add(_("px"));
|
||||
m_unitsWStrings.Add(_("cm"));
|
||||
m_unitsW = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_UNITS_W, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsWStrings, wxCB_READONLY );
|
||||
m_unitsW->SetStringSelection(_("px"));
|
||||
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);
|
||||
|
||||
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_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemFlexGridSizer18->Add(itemBoxSizer24, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5);
|
||||
|
||||
m_height = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXT_HEIGHT, wxEmptyString, wxDefaultPosition, wxSize(65, -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);
|
||||
|
||||
wxArrayString m_unitsHStrings;
|
||||
m_unitsHStrings.Add(_("px"));
|
||||
m_unitsHStrings.Add(_("cm"));
|
||||
m_unitsH = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_UNITS_H, _("px"), wxDefaultPosition, wxSize(60, -1), m_unitsHStrings, wxCB_READONLY );
|
||||
m_unitsH->SetStringSelection(_("px"));
|
||||
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);
|
||||
|
||||
m_alignmentControls = new wxBoxSizer(wxVERTICAL);
|
||||
m_parentSizer->Add(m_alignmentControls, 0, wxGROW, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_alignmentControls->Add(itemBoxSizer28, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText29 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Alignment"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemStaticText29->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("")));
|
||||
itemBoxSizer28->Add(itemStaticText29, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine30 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer28->Add(itemStaticLine30, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer31 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_alignmentControls->Add(itemBoxSizer31, 0, wxGROW, 5);
|
||||
|
||||
itemBoxSizer31->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."));
|
||||
itemBoxSizer31->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 wxComboBox( itemRichTextDialogPage1, ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX, _("Top"), wxDefaultPosition, wxDefaultSize, m_verticalAlignmentComboBoxStrings, wxCB_READONLY );
|
||||
m_verticalAlignmentComboBox->SetStringSelection(_("Top"));
|
||||
m_verticalAlignmentComboBox->SetHelpText(_("Vertical alignment."));
|
||||
if (wxRichTextSizePage::ShowToolTips())
|
||||
m_verticalAlignmentComboBox->SetToolTip(_("Vertical alignment."));
|
||||
itemBoxSizer31->Add(m_verticalAlignmentComboBox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_positionControls = new wxBoxSizer(wxVERTICAL);
|
||||
m_parentSizer->Add(m_positionControls, 0, wxGROW, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer36 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_positionControls->Add(itemBoxSizer36, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText37 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("Position"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemStaticText37->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("")));
|
||||
itemBoxSizer36->Add(itemStaticText37, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxStaticLine* itemStaticLine38 = new wxStaticLine( itemRichTextDialogPage1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
itemBoxSizer36->Add(itemStaticLine38, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer39 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_positionControls->Add(itemBoxSizer39, 0, wxGROW, 5);
|
||||
|
||||
itemBoxSizer39->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_moveObjectParentSizer = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer39->Add(m_moveObjectParentSizer, 0, wxALIGN_TOP, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer42 = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_moveObjectParentSizer->Add(itemBoxSizer42, 0, wxGROW, 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."));
|
||||
if (wxRichTextSizePage::ShowToolTips())
|
||||
m_offsetYCheckbox->SetToolTip(_("Enable vertical offset."));
|
||||
itemBoxSizer42->Add(m_offsetYCheckbox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 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."));
|
||||
if (wxRichTextSizePage::ShowToolTips())
|
||||
m_offset->SetToolTip(_("The vertical offset relative to the paragraph."));
|
||||
itemBoxSizer42->Add(m_offset, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP|wxBOTTOM, 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."));
|
||||
if (wxRichTextSizePage::ShowToolTips())
|
||||
m_unitsOffset->SetToolTip(_("Units for the object offset."));
|
||||
itemBoxSizer42->Add(m_unitsOffset, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_moveObjectSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
m_moveObjectParentSizer->Add(m_moveObjectSizer, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText47 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Move the object to:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_moveObjectSizer->Add(itemStaticText47, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxButton* itemButton48 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXT_PARA_UP, _("&Previous Paragraph"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton48->SetHelpText(_("Moves the object to the previous paragraph."));
|
||||
if (wxRichTextSizePage::ShowToolTips())
|
||||
itemButton48->SetToolTip(_("Moves the object to the previous paragraph."));
|
||||
m_moveObjectSizer->Add(itemButton48, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
wxButton* itemButton49 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXT_PARA_DOWN, _("&Next Paragraph"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton49->SetHelpText(_("Moves the object to the next paragraph."));
|
||||
if (wxRichTextSizePage::ShowToolTips())
|
||||
itemButton49->SetToolTip(_("Moves the object to the next paragraph."));
|
||||
m_moveObjectSizer->Add(itemButton49, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
|
||||
|
||||
////@end wxRichTextSizePage content construction
|
||||
}
|
||||
|
||||
wxRichTextAttr* wxRichTextSizePage::GetAttributes()
|
||||
{
|
||||
return wxRichTextFormattingDialog::GetDialogAttributes(this);
|
||||
}
|
||||
|
||||
/*!
|
||||
* Should we show tooltips?
|
||||
*/
|
||||
|
||||
bool wxRichTextSizePage::ShowToolTips()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxRichTextSizePage::TransferDataToWindow()
|
||||
{
|
||||
m_float->SetSelection(GetAttributes()->GetTextBoxAttr().GetFloatMode());
|
||||
m_verticalAlignmentCheckbox->SetValue(GetAttributes()->GetTextBoxAttr().HasVerticalAlignment());
|
||||
if (GetAttributes()->GetTextBoxAttr().HasVerticalAlignment())
|
||||
{
|
||||
if ((int) GetAttributes()->GetTextBoxAttr().GetVerticalAlignment() > 0 &&
|
||||
(int) GetAttributes()->GetTextBoxAttr().GetVerticalAlignment() < 4)
|
||||
{
|
||||
m_verticalAlignmentComboBox->SetSelection(((int) GetAttributes()->GetTextBoxAttr().GetVerticalAlignment() - 1));
|
||||
}
|
||||
else
|
||||
m_verticalAlignmentComboBox->SetSelection(0);
|
||||
}
|
||||
|
||||
wxRichTextFormattingDialog* dialog = wxRichTextFormattingDialog::GetDialog(this);
|
||||
|
||||
if (dialog)
|
||||
{
|
||||
// Only show the Move Object controls if there's an object.
|
||||
if (!dialog->GetObject())
|
||||
{
|
||||
m_moveObjectParentSizer->Show(m_moveObjectSizer, false);
|
||||
GetSizer()->Layout();
|
||||
}
|
||||
}
|
||||
|
||||
if (dialog && dialog->GetObject())
|
||||
{
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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().GetTop(), m_offset, m_unitsOffset, m_offsetYCheckbox);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxRichTextSizePage::TransferDataFromWindow()
|
||||
{
|
||||
GetAttributes()->GetTextBoxAttr().SetFloatMode((wxTextBoxAttrFloatStyle) m_float->GetSelection());
|
||||
if (m_float->GetSelection() == 0)
|
||||
GetAttributes()->GetTextBoxAttr().RemoveFlag(wxTEXT_BOX_ATTR_FLOAT);
|
||||
|
||||
if (m_verticalAlignmentCheckbox->GetValue())
|
||||
GetAttributes()->GetTextBoxAttr().SetVerticalAlignment((wxTextBoxAttrVerticalAlignment) (m_verticalAlignmentComboBox->GetSelection() + 1));
|
||||
else
|
||||
{
|
||||
GetAttributes()->GetTextBoxAttr().SetVerticalAlignment(wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT_NONE);
|
||||
GetAttributes()->GetTextBoxAttr().RemoveFlag(wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT);
|
||||
}
|
||||
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetWidth(), m_width, m_unitsW, m_widthCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetHeight(), m_height, m_unitsH, m_heightCheckbox);
|
||||
wxRichTextFormattingDialog::GetDimensionValue(GetAttributes()->GetTextBoxAttr().GetTop(), m_offset, m_unitsOffset, m_offsetYCheckbox);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Show/hide position controls
|
||||
void wxRichTextSizePage::ShowPositionControls(bool show)
|
||||
{
|
||||
if (m_parentSizer)
|
||||
{
|
||||
m_parentSizer->Show(m_positionControls, show);
|
||||
Layout();
|
||||
}
|
||||
}
|
||||
|
||||
// Show/hide floating controls
|
||||
void wxRichTextSizePage::ShowFloatingControls(bool show)
|
||||
{
|
||||
if (m_parentSizer)
|
||||
{
|
||||
m_parentSizer->Show(m_floatingControls, show);
|
||||
Layout();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Get bitmap resources
|
||||
*/
|
||||
|
||||
wxBitmap wxRichTextSizePage::GetBitmapResource( const wxString& name )
|
||||
{
|
||||
// Bitmap retrieval
|
||||
////@begin wxRichTextSizePage bitmap retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullBitmap;
|
||||
////@end wxRichTextSizePage bitmap retrieval
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get icon resources
|
||||
*/
|
||||
|
||||
wxIcon wxRichTextSizePage::GetIconResource( const wxString& name )
|
||||
{
|
||||
// Icon retrieval
|
||||
////@begin wxRichTextSizePage icon retrieval
|
||||
wxUnusedVar(name);
|
||||
return wxNullIcon;
|
||||
////@end wxRichTextSizePage icon retrieval
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_WIDTH
|
||||
*/
|
||||
|
||||
void wxRichTextSizePage::OnRichtextWidthUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_widthCheckbox->GetValue());
|
||||
}
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_HEIGHT
|
||||
*/
|
||||
|
||||
void wxRichTextSizePage::OnRichtextHeightUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_heightCheckbox->GetValue());
|
||||
}
|
||||
|
||||
/*!
|
||||
* 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
|
||||
*/
|
||||
|
||||
void wxRichTextSizePage::OnRichtextParaUpClick( wxCommandEvent& WXUNUSED(event) )
|
||||
{
|
||||
wxRichTextFormattingDialog* dialog = wxRichTextFormattingDialog::GetDialog(this);
|
||||
if (!dialog || !dialog->GetObject())
|
||||
return;
|
||||
|
||||
// Make sure object attributes are up-to-date
|
||||
dialog->TransferDataFromWindow();
|
||||
|
||||
wxRichTextBuffer* buffer = dialog->GetObject()->GetBuffer();
|
||||
wxRichTextParagraphLayoutBox* container = dialog->GetObject()->GetParentContainer();
|
||||
wxRichTextObject* parent = dialog->GetObject()->GetParent();
|
||||
if (!container || !parent || !buffer)
|
||||
return;
|
||||
|
||||
wxRichTextRange range = dialog->GetObject()->GetRange();
|
||||
wxRichTextObjectList::compatibility_iterator iter = container->GetChildren().GetFirst();
|
||||
if (!iter)
|
||||
return;
|
||||
|
||||
while (iter)
|
||||
{
|
||||
if (iter->GetData() == parent)
|
||||
break;
|
||||
iter = iter->GetNext();
|
||||
}
|
||||
if (!iter)
|
||||
return;
|
||||
iter = iter->GetPrevious();
|
||||
if (!iter)
|
||||
return;
|
||||
|
||||
wxRichTextObject *obj = iter->GetData();
|
||||
wxRichTextRange rg = obj->GetRange();
|
||||
// tempObj will be deleted along with the undo object, and a clone of it will be
|
||||
// returned by InsertObjectWithUndo
|
||||
wxRichTextObject* tempObj = dialog->GetObject()->Clone();
|
||||
|
||||
container->DeleteRangeWithUndo(range, buffer->GetRichTextCtrl(), buffer);
|
||||
|
||||
wxRichTextObject* obj2 = container->InsertObjectWithUndo(rg.GetStart(), tempObj, buffer->GetRichTextCtrl(), buffer, 0);
|
||||
dialog->SetObject(obj2);
|
||||
}
|
||||
|
||||
/*!
|
||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXT_DOWN
|
||||
*/
|
||||
|
||||
void wxRichTextSizePage::OnRichtextParaDownClick( wxCommandEvent& WXUNUSED(event) )
|
||||
{
|
||||
wxRichTextFormattingDialog* dialog = wxRichTextFormattingDialog::GetDialog(this);
|
||||
if (!dialog || !dialog->GetObject())
|
||||
return;
|
||||
|
||||
// Make sure object attributes are up-to-date
|
||||
dialog->TransferDataFromWindow();
|
||||
|
||||
wxRichTextBuffer* buffer = dialog->GetObject()->GetBuffer();
|
||||
wxRichTextParagraphLayoutBox* container = dialog->GetObject()->GetParentContainer();
|
||||
wxRichTextObject* parent = dialog->GetObject()->GetParent();
|
||||
if (!container || !parent || !buffer)
|
||||
return;
|
||||
|
||||
wxRichTextRange range = dialog->GetObject()->GetRange();
|
||||
|
||||
wxRichTextObjectList::compatibility_iterator iter = buffer->GetChildren().GetFirst();
|
||||
if (!iter)
|
||||
return;
|
||||
|
||||
while (iter)
|
||||
{
|
||||
if (iter->GetData() == parent)
|
||||
break;
|
||||
iter = iter->GetNext();
|
||||
}
|
||||
|
||||
iter = iter->GetNext();
|
||||
if (!iter)
|
||||
return;
|
||||
|
||||
wxRichTextObject *obj = iter->GetData();
|
||||
wxRichTextRange rg = obj->GetRange();
|
||||
// tempObj will be deleted along with the undo object, and a clone of it will be
|
||||
// returned by InsertObjectWithUndo
|
||||
wxRichTextObject* tempObj = dialog->GetObject()->Clone();
|
||||
|
||||
container->DeleteRangeWithUndo(range, buffer->GetRichTextCtrl(), buffer);
|
||||
|
||||
// Minus one because we deleted an object
|
||||
wxRichTextObject* obj2 = container->InsertObjectWithUndo(rg.GetStart()-1, tempObj, buffer->GetRichTextCtrl(), buffer, 0);
|
||||
dialog->SetObject(obj2);
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* wxEVT_UPDATE_UI event handler for ID_RICHTEXT_VERTICAL_ALIGNMENT_COMBOBOX
|
||||
*/
|
||||
|
||||
void wxRichTextSizePage::OnRichtextVerticalAlignmentComboboxUpdate( wxUpdateUIEvent& event )
|
||||
{
|
||||
event.Enable(m_verticalAlignmentCheckbox->GetValue());
|
||||
}
|
||||
|
@@ -67,6 +67,8 @@ BEGIN_EVENT_TABLE( wxRichTextStyleOrganiserDialog, wxDialog )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextStyleOrganiserDialog)
|
||||
|
||||
/*!
|
||||
* wxRichTextStyleOrganiserDialog constructors
|
||||
*/
|
||||
@@ -110,6 +112,7 @@ void wxRichTextStyleOrganiserDialog::Init()
|
||||
m_closeButton = NULL;
|
||||
m_bottomButtonSizer = NULL;
|
||||
m_restartNumberingCtrl = NULL;
|
||||
m_stdButtonSizer = NULL;
|
||||
m_okButton = NULL;
|
||||
m_cancelButton = NULL;
|
||||
////@end wxRichTextStyleOrganiserDialog member initialisation
|
||||
@@ -277,23 +280,29 @@ void wxRichTextStyleOrganiserDialog::CreateControls()
|
||||
m_restartNumberingCtrl->SetToolTip(_("Check to restart numbering."));
|
||||
m_bottomButtonSizer->Add(m_restartNumberingCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
|
||||
m_bottomButtonSizer->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
m_stdButtonSizer = new wxStdDialogButtonSizer;
|
||||
|
||||
m_bottomButtonSizer->Add(m_stdButtonSizer, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
m_okButton = new wxButton( itemDialog1, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_okButton->SetDefault();
|
||||
m_okButton->SetHelpText(_("Click to confirm your selection."));
|
||||
if (wxRichTextStyleOrganiserDialog::ShowToolTips())
|
||||
m_okButton->SetToolTip(_("Click to confirm your selection."));
|
||||
m_bottomButtonSizer->Add(m_okButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
m_stdButtonSizer->AddButton(m_okButton);
|
||||
|
||||
m_cancelButton = new wxButton( itemDialog1, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_cancelButton->SetHelpText(_("Click to cancel this window."));
|
||||
if (wxRichTextStyleOrganiserDialog::ShowToolTips())
|
||||
m_cancelButton->SetToolTip(_("Click to cancel this window."));
|
||||
m_bottomButtonSizer->Add(m_cancelButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
m_stdButtonSizer->AddButton(m_cancelButton);
|
||||
|
||||
wxButton* itemButton28 = new wxButton( itemDialog1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_stdButtonSizer->AddButton(itemButton28);
|
||||
|
||||
m_stdButtonSizer->Realize();
|
||||
|
||||
////@end wxRichTextStyleOrganiserDialog content construction
|
||||
|
||||
if (GetHelpId() == -1)
|
||||
{
|
||||
wxWindow* button = FindWindowById(wxID_HELP);
|
||||
if (button)
|
||||
m_stdButtonSizer->Show(button, false);
|
||||
}
|
||||
|
||||
if ((m_flags & wxRICHTEXT_ORGANISER_CREATE_STYLES) == 0)
|
||||
{
|
||||
m_buttonSizer->Show(m_newCharacter, false);
|
||||
@@ -323,8 +332,8 @@ void wxRichTextStyleOrganiserDialog::CreateControls()
|
||||
|
||||
if ((m_flags & wxRICHTEXT_ORGANISER_OK_CANCEL) == 0)
|
||||
{
|
||||
m_bottomButtonSizer->Show(m_okButton, false);
|
||||
m_bottomButtonSizer->Show(m_cancelButton, false);
|
||||
m_stdButtonSizer->Show(m_okButton, false);
|
||||
m_stdButtonSizer->Show(m_cancelButton, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -17,13 +17,13 @@
|
||||
* wxRichTextStylePage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextStylePage, wxPanel )
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextStylePage, wxRichTextDialogPage )
|
||||
|
||||
/*!
|
||||
* wxRichTextStylePage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextStylePage, wxPanel )
|
||||
BEGIN_EVENT_TABLE( wxRichTextStylePage, wxRichTextDialogPage )
|
||||
|
||||
////@begin wxRichTextStylePage event table entries
|
||||
EVT_UPDATE_UI( ID_RICHTEXTSTYLEPAGE_NEXT_STYLE, wxRichTextStylePage::OnNextStyleUpdate )
|
||||
@@ -32,6 +32,8 @@ BEGIN_EVENT_TABLE( wxRichTextStylePage, wxPanel )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextStylePage)
|
||||
|
||||
/*!
|
||||
* wxRichTextStylePage constructors
|
||||
*/
|
||||
@@ -67,7 +69,7 @@ void wxRichTextStylePage::Init()
|
||||
bool wxRichTextStylePage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextStylePage creation
|
||||
wxPanel::Create( parent, id, pos, size, style );
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
@@ -86,44 +88,44 @@ bool wxRichTextStylePage::Create( wxWindow* parent, wxWindowID id, const wxPoint
|
||||
void wxRichTextStylePage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextStylePage content construction
|
||||
wxRichTextStylePage* itemPanel1 = this;
|
||||
wxRichTextStylePage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemPanel1->SetSizer(itemBoxSizer2);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL, 5);
|
||||
itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW, 5);
|
||||
|
||||
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer5, 0, wxGROW, 5);
|
||||
itemBoxSizer4->Add(itemBoxSizer5, 1, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_styleName = new wxTextCtrl( itemPanel1, ID_RICHTEXTSTYLEPAGE_STYLE_NAME, wxT(""), wxDefaultPosition, wxSize(300, -1), wxTE_READONLY );
|
||||
m_styleName = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTSTYLEPAGE_STYLE_NAME, wxEmptyString, wxDefaultPosition, wxSize(300, -1), wxTE_READONLY );
|
||||
m_styleName->SetHelpText(_("The style name."));
|
||||
if (wxRichTextStylePage::ShowToolTips())
|
||||
m_styleName->SetToolTip(_("The style name."));
|
||||
itemBoxSizer5->Add(m_styleName, 0, wxGROW|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText8 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Based on:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText8 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Based on:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText8, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_basedOnStrings;
|
||||
m_basedOn = new wxComboBox( itemPanel1, ID_RICHTEXTSTYLEPAGE_BASED_ON, wxT(""), wxDefaultPosition, wxDefaultSize, m_basedOnStrings, wxCB_DROPDOWN );
|
||||
m_basedOn = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTSTYLEPAGE_BASED_ON, wxEmptyString, wxDefaultPosition, wxSize(300, -1), m_basedOnStrings, wxCB_DROPDOWN );
|
||||
m_basedOn->SetHelpText(_("The style on which this style is based."));
|
||||
if (wxRichTextStylePage::ShowToolTips())
|
||||
m_basedOn->SetToolTip(_("The style on which this style is based."));
|
||||
itemBoxSizer5->Add(m_basedOn, 0, wxGROW|wxALL, 5);
|
||||
|
||||
wxStaticText* itemStaticText10 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Next style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText10 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Next style:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText10, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
wxArrayString m_nextStyleStrings;
|
||||
m_nextStyle = new wxComboBox( itemPanel1, ID_RICHTEXTSTYLEPAGE_NEXT_STYLE, wxT(""), wxDefaultPosition, wxDefaultSize, m_nextStyleStrings, wxCB_DROPDOWN );
|
||||
m_nextStyle = new wxComboBox( itemRichTextDialogPage1, ID_RICHTEXTSTYLEPAGE_NEXT_STYLE, wxEmptyString, wxDefaultPosition, wxSize(300, -1), m_nextStyleStrings, wxCB_DROPDOWN );
|
||||
m_nextStyle->SetHelpText(_("The default style for the next paragraph."));
|
||||
if (wxRichTextStylePage::ShowToolTips())
|
||||
m_nextStyle->SetToolTip(_("The default style for the next paragraph."));
|
||||
@@ -160,10 +162,14 @@ bool wxRichTextStylePage::TransferDataToWindow()
|
||||
wxRichTextStyleDefinition* def = wxRichTextFormattingDialog::GetDialogStyleDefinition(this);
|
||||
if (def)
|
||||
{
|
||||
m_basedOn->Freeze();
|
||||
m_nextStyle->Freeze();
|
||||
|
||||
wxRichTextParagraphStyleDefinition* paraDef = wxDynamicCast(def, wxRichTextParagraphStyleDefinition);
|
||||
wxRichTextListStyleDefinition* listDef = wxDynamicCast(def, wxRichTextListStyleDefinition);
|
||||
// wxRichTextCharacterStyleDefinition* charDef = wxDynamicCast(def, wxRichTextCharacterStyleDefinition);
|
||||
wxRichTextCharacterStyleDefinition* charDef = wxDynamicCast(def, wxRichTextCharacterStyleDefinition);
|
||||
wxRichTextStyleSheet* sheet = wxRichTextFormattingDialog::GetDialog(this)->GetStyleSheet();
|
||||
wxRichTextBoxStyleDefinition* boxDef = wxDynamicCast(def, wxRichTextBoxStyleDefinition);
|
||||
|
||||
m_styleName->SetValue(def->GetName());
|
||||
|
||||
@@ -226,7 +232,17 @@ bool wxRichTextStylePage::TransferDataToWindow()
|
||||
m_basedOn->Append(p->GetName());
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (boxDef)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < sheet->GetBoxStyleCount(); i++)
|
||||
{
|
||||
wxRichTextBoxStyleDefinition* p = wxDynamicCast(sheet->GetBoxStyle(i), wxRichTextBoxStyleDefinition);
|
||||
if (p)
|
||||
m_basedOn->Append(p->GetName());
|
||||
}
|
||||
}
|
||||
else if (charDef)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < sheet->GetCharacterStyleCount(); i++)
|
||||
@@ -240,6 +256,9 @@ bool wxRichTextStylePage::TransferDataToWindow()
|
||||
}
|
||||
|
||||
m_basedOn->SetValue(def->GetBaseStyle());
|
||||
|
||||
m_nextStyle->Thaw();
|
||||
m_basedOn->Thaw();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@@ -35,6 +35,7 @@ IMPLEMENT_CLASS(wxRichTextStyleDefinition, wxObject)
|
||||
IMPLEMENT_CLASS(wxRichTextCharacterStyleDefinition, wxRichTextStyleDefinition)
|
||||
IMPLEMENT_CLASS(wxRichTextParagraphStyleDefinition, wxRichTextStyleDefinition)
|
||||
IMPLEMENT_CLASS(wxRichTextListStyleDefinition, wxRichTextParagraphStyleDefinition)
|
||||
IMPLEMENT_CLASS(wxRichTextBoxStyleDefinition, wxRichTextStyleDefinition)
|
||||
|
||||
/*!
|
||||
* A definition
|
||||
@@ -103,6 +104,20 @@ bool wxRichTextParagraphStyleDefinition::operator ==(const wxRichTextParagraphSt
|
||||
return (Eq(def) && m_nextStyle == def.m_nextStyle);
|
||||
}
|
||||
|
||||
/*!
|
||||
* Box style definition
|
||||
*/
|
||||
|
||||
void wxRichTextBoxStyleDefinition::Copy(const wxRichTextBoxStyleDefinition& def)
|
||||
{
|
||||
wxRichTextStyleDefinition::Copy(def);
|
||||
}
|
||||
|
||||
bool wxRichTextBoxStyleDefinition::operator ==(const wxRichTextBoxStyleDefinition& def) const
|
||||
{
|
||||
return (Eq(def));
|
||||
}
|
||||
|
||||
/*!
|
||||
* List style definition
|
||||
*/
|
||||
@@ -315,6 +330,8 @@ bool wxRichTextStyleSheet::RemoveStyle(wxRichTextStyleDefinition* def, bool dele
|
||||
return true;
|
||||
if (RemoveListStyle(def, deleteStyle))
|
||||
return true;
|
||||
if (RemoveBoxStyle(def, deleteStyle))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -340,6 +357,7 @@ void wxRichTextStyleSheet::DeleteStyles()
|
||||
WX_CLEAR_LIST(wxList, m_characterStyleDefinitions);
|
||||
WX_CLEAR_LIST(wxList, m_paragraphStyleDefinitions);
|
||||
WX_CLEAR_LIST(wxList, m_listStyleDefinitions);
|
||||
WX_CLEAR_LIST(wxList, m_boxStyleDefinitions);
|
||||
}
|
||||
|
||||
/// Insert into list of style sheets
|
||||
@@ -405,6 +423,13 @@ bool wxRichTextStyleSheet::AddListStyle(wxRichTextListStyleDefinition* def)
|
||||
return AddStyle(m_listStyleDefinitions, def);
|
||||
}
|
||||
|
||||
/// Add a definition to the box style list
|
||||
bool wxRichTextStyleSheet::AddBoxStyle(wxRichTextBoxStyleDefinition* def)
|
||||
{
|
||||
def->GetStyle().SetParagraphStyleName(def->GetName());
|
||||
return AddStyle(m_boxStyleDefinitions, def);
|
||||
}
|
||||
|
||||
/// Add a definition to the appropriate style list
|
||||
bool wxRichTextStyleSheet::AddStyle(wxRichTextStyleDefinition* def)
|
||||
{
|
||||
@@ -420,6 +445,10 @@ bool wxRichTextStyleSheet::AddStyle(wxRichTextStyleDefinition* def)
|
||||
if (charDef)
|
||||
return AddCharacterStyle(charDef);
|
||||
|
||||
wxRichTextBoxStyleDefinition* boxDef = wxDynamicCast(def, wxRichTextBoxStyleDefinition);
|
||||
if (boxDef)
|
||||
return AddBoxStyle(boxDef);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -438,6 +467,10 @@ wxRichTextStyleDefinition* wxRichTextStyleSheet::FindStyle(const wxString& name,
|
||||
if (charDef)
|
||||
return charDef;
|
||||
|
||||
wxRichTextBoxStyleDefinition* boxDef = FindBoxStyle(name, recurse);
|
||||
if (boxDef)
|
||||
return boxDef;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -466,6 +499,12 @@ void wxRichTextStyleSheet::Copy(const wxRichTextStyleSheet& sheet)
|
||||
AddListStyle(new wxRichTextListStyleDefinition(*def));
|
||||
}
|
||||
|
||||
for (node = sheet.m_boxStyleDefinitions.GetFirst(); node; node = node->GetNext())
|
||||
{
|
||||
wxRichTextBoxStyleDefinition* def = (wxRichTextBoxStyleDefinition*) node->GetData();
|
||||
AddBoxStyle(new wxRichTextBoxStyleDefinition(*def));
|
||||
}
|
||||
|
||||
SetName(sheet.GetName());
|
||||
SetDescription(sheet.GetDescription());
|
||||
}
|
||||
@@ -560,6 +599,11 @@ void wxRichTextStyleListBox::UpdateStyles()
|
||||
for (i = 0; i < GetStyleSheet()->GetListStyleCount(); i++)
|
||||
m_styleNames.Add(GetStyleSheet()->GetListStyle(i)->GetName());
|
||||
}
|
||||
if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_BOX)
|
||||
{
|
||||
for (i = 0; i < GetStyleSheet()->GetBoxStyleCount(); i++)
|
||||
m_styleNames.Add(GetStyleSheet()->GetBoxStyle(i)->GetName());
|
||||
}
|
||||
|
||||
m_styleNames.Sort();
|
||||
SetItemCount(m_styleNames.GetCount());
|
||||
@@ -817,6 +861,13 @@ wxString wxRichTextStyleListBox::GetStyleToShowInIdleTime(wxRichTextCtrl* ctrl,
|
||||
else if ((styleType == wxRICHTEXT_STYLE_ALL || styleType == wxRICHTEXT_STYLE_LIST) &&
|
||||
!attr.GetListStyleName().IsEmpty())
|
||||
styleName = attr.GetListStyleName();
|
||||
// TODO: when we have a concept of focused object (text box), we'll
|
||||
// use the paragraph style name of the focused object as the frame style name.
|
||||
#if 0
|
||||
else if ((styleType == wxRICHTEXT_STYLE_ALL || styleType == wxRICHTEXT_STYLE_BOX) &&
|
||||
!attr.GetBoxStyleName().IsEmpty())
|
||||
styleName = attr.GetBoxStyleName();
|
||||
#endif
|
||||
}
|
||||
else if ((styleType == wxRICHTEXT_STYLE_ALL || styleType == wxRICHTEXT_STYLE_CHARACTER) &&
|
||||
!attr.GetCharacterStyleName().IsEmpty())
|
||||
@@ -923,6 +974,7 @@ bool wxRichTextStyleListCtrl::Create(wxWindow* parent, wxWindowID id, const wxPo
|
||||
choices.Add(_("Paragraph styles"));
|
||||
choices.Add(_("Character styles"));
|
||||
choices.Add(_("List styles"));
|
||||
choices.Add(_("Box styles"));
|
||||
|
||||
m_styleChoice = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, choices);
|
||||
|
||||
@@ -997,6 +1049,10 @@ int wxRichTextStyleListCtrl::StyleTypeToIndex(wxRichTextStyleListBox::wxRichText
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
else if (styleType == wxRichTextStyleListBox::wxRICHTEXT_STYLE_BOX)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1009,6 +1065,8 @@ wxRichTextStyleListBox::wxRichTextStyleType wxRichTextStyleListCtrl::StyleIndexT
|
||||
return wxRichTextStyleListBox::wxRICHTEXT_STYLE_CHARACTER;
|
||||
else if (i == 3)
|
||||
return wxRichTextStyleListBox::wxRICHTEXT_STYLE_LIST;
|
||||
else if (i == 4)
|
||||
return wxRichTextStyleListBox::wxRICHTEXT_STYLE_BOX;
|
||||
|
||||
return wxRichTextStyleListBox::wxRICHTEXT_STYLE_ALL;
|
||||
}
|
||||
|
@@ -309,6 +309,8 @@ BEGIN_EVENT_TABLE( wxSymbolPickerDialog, wxDialog )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxSymbolPickerDialog)
|
||||
|
||||
/*!
|
||||
* wxSymbolPickerDialog constructors
|
||||
*/
|
||||
@@ -366,6 +368,7 @@ void wxSymbolPickerDialog::Init()
|
||||
#if defined(__UNICODE__)
|
||||
m_fromUnicodeCtrl = NULL;
|
||||
#endif
|
||||
m_stdButtonSizer = NULL;
|
||||
////@end wxSymbolPickerDialog member initialisation
|
||||
m_dontUpdate = false;
|
||||
}
|
||||
@@ -460,25 +463,29 @@ void wxSymbolPickerDialog::CreateControls()
|
||||
|
||||
#endif
|
||||
|
||||
wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxHORIZONTAL);
|
||||
itemBoxSizer3->Add(itemBoxSizer20, 0, wxGROW, 5);
|
||||
m_stdButtonSizer = new wxStdDialogButtonSizer;
|
||||
|
||||
itemBoxSizer20->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||
itemBoxSizer3->Add(m_stdButtonSizer, 0, wxGROW|wxTOP|wxBOTTOM, 5);
|
||||
wxButton* itemButton21 = new wxButton( itemDialog1, wxID_OK, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton21->SetDefault();
|
||||
m_stdButtonSizer->AddButton(itemButton21);
|
||||
|
||||
wxStdDialogButtonSizer* itemStdDialogButtonSizer22 = new wxStdDialogButtonSizer;
|
||||
wxButton* itemButton22 = new wxButton( itemDialog1, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_stdButtonSizer->AddButton(itemButton22);
|
||||
|
||||
itemBoxSizer20->Add(itemStdDialogButtonSizer22, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
wxButton* itemButton23 = new wxButton( itemDialog1, wxID_OK, _("Insert"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton23->SetDefault();
|
||||
itemStdDialogButtonSizer22->AddButton(itemButton23);
|
||||
wxButton* itemButton23 = new wxButton( itemDialog1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_stdButtonSizer->AddButton(itemButton23);
|
||||
|
||||
wxButton* itemButton24 = new wxButton( itemDialog1, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemStdDialogButtonSizer22->AddButton(itemButton24);
|
||||
|
||||
itemStdDialogButtonSizer22->Realize();
|
||||
m_stdButtonSizer->Realize();
|
||||
|
||||
////@end wxSymbolPickerDialog content construction
|
||||
|
||||
if (GetHelpId() == -1)
|
||||
{
|
||||
wxWindow* button = FindWindowById(wxID_HELP);
|
||||
if (button)
|
||||
m_stdButtonSizer->Show(button, false);
|
||||
}
|
||||
}
|
||||
|
||||
/// Data transfer
|
||||
|
@@ -17,13 +17,13 @@
|
||||
* wxRichTextTabsPage type definition
|
||||
*/
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextTabsPage, wxPanel )
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxRichTextTabsPage, wxRichTextDialogPage )
|
||||
|
||||
/*!
|
||||
* wxRichTextTabsPage event table definition
|
||||
*/
|
||||
|
||||
BEGIN_EVENT_TABLE( wxRichTextTabsPage, wxPanel )
|
||||
BEGIN_EVENT_TABLE( wxRichTextTabsPage, wxRichTextDialogPage )
|
||||
|
||||
////@begin wxRichTextTabsPage event table entries
|
||||
EVT_LISTBOX( ID_RICHTEXTTABSPAGE_TABLIST, wxRichTextTabsPage::OnTablistSelected )
|
||||
@@ -41,6 +41,8 @@ BEGIN_EVENT_TABLE( wxRichTextTabsPage, wxPanel )
|
||||
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_HELP_PROVISION(wxRichTextTabsPage)
|
||||
|
||||
/*!
|
||||
* wxRichTextTabsPage constructors
|
||||
*/
|
||||
@@ -77,7 +79,7 @@ void wxRichTextTabsPage::Init()
|
||||
bool wxRichTextTabsPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
|
||||
{
|
||||
////@begin wxRichTextTabsPage creation
|
||||
wxPanel::Create( parent, id, pos, size, style );
|
||||
wxRichTextDialogPage::Create( parent, id, pos, size, style );
|
||||
|
||||
CreateControls();
|
||||
if (GetSizer())
|
||||
@@ -96,10 +98,10 @@ bool wxRichTextTabsPage::Create( wxWindow* parent, wxWindowID id, const wxPoint&
|
||||
void wxRichTextTabsPage::CreateControls()
|
||||
{
|
||||
////@begin wxRichTextTabsPage content construction
|
||||
wxRichTextTabsPage* itemPanel1 = this;
|
||||
wxRichTextTabsPage* itemRichTextDialogPage1 = this;
|
||||
|
||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
|
||||
itemPanel1->SetSizer(itemBoxSizer2);
|
||||
itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
|
||||
|
||||
wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
|
||||
@@ -110,10 +112,10 @@ void wxRichTextTabsPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer5, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Position (tenths of a mm):"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText6 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&Position (tenths of a mm):"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
|
||||
|
||||
m_tabEditCtrl = new wxTextCtrl( itemPanel1, ID_RICHTEXTTABSPAGE_TABEDIT, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_tabEditCtrl = new wxTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTTABSPAGE_TABEDIT, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_tabEditCtrl->SetHelpText(_("The tab position."));
|
||||
if (wxRichTextTabsPage::ShowToolTips())
|
||||
m_tabEditCtrl->SetToolTip(_("The tab position."));
|
||||
@@ -121,7 +123,7 @@ void wxRichTextTabsPage::CreateControls()
|
||||
|
||||
wxArrayString m_tabListCtrlStrings;
|
||||
m_tabListCtrlStrings.Add(_("The tab positions."));
|
||||
m_tabListCtrl = new wxListBox( itemPanel1, ID_RICHTEXTTABSPAGE_TABLIST, wxDefaultPosition, wxSize(80, 200), m_tabListCtrlStrings, wxLB_SINGLE );
|
||||
m_tabListCtrl = new wxListBox( itemRichTextDialogPage1, ID_RICHTEXTTABSPAGE_TABLIST, wxDefaultPosition, wxSize(80, 200), m_tabListCtrlStrings, wxLB_SINGLE );
|
||||
itemBoxSizer5->Add(m_tabListCtrl, 1, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||
|
||||
itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
|
||||
@@ -129,22 +131,22 @@ void wxRichTextTabsPage::CreateControls()
|
||||
wxBoxSizer* itemBoxSizer10 = new wxBoxSizer(wxVERTICAL);
|
||||
itemBoxSizer4->Add(itemBoxSizer10, 0, wxGROW, 5);
|
||||
|
||||
wxStaticText* itemStaticText11 = new wxStaticText( itemPanel1, wxID_STATIC, wxT(""), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxStaticText* itemStaticText11 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemBoxSizer10->Add(itemStaticText11, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM, 5);
|
||||
|
||||
wxButton* itemButton12 = new wxButton( itemPanel1, ID_RICHTEXTTABSPAGE_NEW_TAB, _("&New"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxButton* itemButton12 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXTTABSPAGE_NEW_TAB, _("&New"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton12->SetHelpText(_("Click to create a new tab position."));
|
||||
if (wxRichTextTabsPage::ShowToolTips())
|
||||
itemButton12->SetToolTip(_("Click to create a new tab position."));
|
||||
itemBoxSizer10->Add(itemButton12, 0, wxGROW|wxALL, 5);
|
||||
|
||||
wxButton* itemButton13 = new wxButton( itemPanel1, ID_RICHTEXTTABSPAGE_DELETE_TAB, _("&Delete"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxButton* itemButton13 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXTTABSPAGE_DELETE_TAB, _("&Delete"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton13->SetHelpText(_("Click to delete the selected tab position."));
|
||||
if (wxRichTextTabsPage::ShowToolTips())
|
||||
itemButton13->SetToolTip(_("Click to delete the selected tab position."));
|
||||
itemBoxSizer10->Add(itemButton13, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
||||
|
||||
wxButton* itemButton14 = new wxButton( itemPanel1, ID_RICHTEXTTABSPAGE_DELETE_ALL_TABS, _("Delete A&ll"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
wxButton* itemButton14 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXTTABSPAGE_DELETE_ALL_TABS, _("Delete A&ll"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
itemButton14->SetHelpText(_("Click to delete all tab positions."));
|
||||
if (wxRichTextTabsPage::ShowToolTips())
|
||||
itemButton14->SetToolTip(_("Click to delete all tab positions."));
|
||||
|
@@ -166,6 +166,12 @@ wxRichTextObject* wxRichTextXMLHandler::CreateObjectForXMLName(wxRichTextObject*
|
||||
return new wxRichTextParagraph;
|
||||
else if (name == wxT("paragraphlayout"))
|
||||
return new wxRichTextParagraphLayoutBox;
|
||||
else if (name == wxT("textbox"))
|
||||
return new wxRichTextBox;
|
||||
else if (name == wxT("cell"))
|
||||
return new wxRichTextBox;
|
||||
else if (name == wxT("table"))
|
||||
return new wxRichTextBox;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
@@ -173,39 +179,18 @@ wxRichTextObject* wxRichTextXMLHandler::CreateObjectForXMLName(wxRichTextObject*
|
||||
/// Recursively import an object
|
||||
bool wxRichTextXMLHandler::ImportXML(wxRichTextBuffer* buffer, wxRichTextObject* obj, wxXmlNode* node)
|
||||
{
|
||||
obj->ImportFromXML(buffer, node, this);
|
||||
bool recurse = false;
|
||||
obj->ImportFromXML(buffer, node, this, & recurse);
|
||||
|
||||
// TODO: how to control whether to import children.
|
||||
|
||||
wxRichTextCompositeObject* compositeParent = wxDynamicCast(obj, wxRichTextCompositeObject);
|
||||
if (compositeParent)
|
||||
if (recurse && compositeParent)
|
||||
{
|
||||
wxXmlNode* child = node->GetChildren();
|
||||
while (child)
|
||||
{
|
||||
if (child->GetName() == wxT("stylesheet"))
|
||||
{
|
||||
if (GetFlags() & wxRICHTEXT_HANDLER_INCLUDE_STYLESHEET)
|
||||
{
|
||||
wxRichTextStyleSheet* sheet = new wxRichTextStyleSheet;
|
||||
wxString sheetName = child->GetAttribute(wxT("name"), wxEmptyString);
|
||||
wxString sheetDescription = child->GetAttribute(wxT("description"), wxEmptyString);
|
||||
sheet->SetName(sheetName);
|
||||
sheet->SetDescription(sheetDescription);
|
||||
|
||||
wxXmlNode* child2 = child->GetChildren();
|
||||
while (child2)
|
||||
{
|
||||
ImportStyleDefinition(sheet, child2);
|
||||
|
||||
child2 = child2->GetNext();
|
||||
}
|
||||
|
||||
// Notify that styles have changed. If this is vetoed by the app,
|
||||
// the new sheet will be deleted. If it is not vetoed, the
|
||||
// old sheet will be deleted and replaced with the new one.
|
||||
buffer->SetStyleSheetAndNotify(sheet);
|
||||
}
|
||||
}
|
||||
else
|
||||
if (child->GetName() != wxT("stylesheet"))
|
||||
{
|
||||
wxRichTextObject* childObj = CreateObjectForXMLName(obj, child->GetName());
|
||||
if (childObj)
|
||||
@@ -301,6 +286,26 @@ bool wxRichTextXMLHandler::ImportStyleDefinition(wxRichTextStyleSheet* sheet, wx
|
||||
|
||||
sheet->AddParagraphStyle(def);
|
||||
}
|
||||
else if (styleType == wxT("boxstyle"))
|
||||
{
|
||||
wxRichTextBoxStyleDefinition* def = new wxRichTextBoxStyleDefinition(styleName);
|
||||
|
||||
def->SetBaseStyle(baseStyleName);
|
||||
|
||||
wxXmlNode* child = node->GetChildren();
|
||||
while (child)
|
||||
{
|
||||
if (child->GetName() == wxT("style"))
|
||||
{
|
||||
wxRichTextAttr attr;
|
||||
ImportStyle(attr, child, true);
|
||||
def->SetStyle(attr);
|
||||
}
|
||||
child = child->GetNext();
|
||||
}
|
||||
|
||||
sheet->AddBoxStyle(def);
|
||||
}
|
||||
else if (styleType == wxT("liststyle"))
|
||||
{
|
||||
wxRichTextListStyleDefinition* def = new wxRichTextListStyleDefinition(styleName);
|
||||
@@ -399,6 +404,17 @@ wxString wxRichTextXMLHandler::GetText(wxXmlNode *node, const wxString& param, b
|
||||
return str1;
|
||||
}
|
||||
|
||||
wxXmlNode* wxRichTextXMLHandler::FindNode(wxXmlNode* node, const wxString& name)
|
||||
{
|
||||
wxXmlNode* child = node->GetChildren();
|
||||
while (child)
|
||||
{
|
||||
if (child->GetName() == name)
|
||||
return child;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// For use with earlier versions of wxWidgets
|
||||
#ifndef WXUNUSED_IN_UNICODE
|
||||
#if wxUSE_UNICODE
|
||||
@@ -611,7 +627,7 @@ static inline void AddAttribute(wxString& str, const wxString& name, const wxCol
|
||||
|
||||
static inline void AddAttribute(wxString& str, const wxString& name, const wxTextAttrDimension& dim)
|
||||
{
|
||||
if (dim.IsPresent())
|
||||
if (dim.IsValid())
|
||||
{
|
||||
wxString value = MakeString(dim.GetValue()) + wxT(",") + MakeString((int) dim.GetFlags());
|
||||
str << wxT(" ") << name << wxT("=\"");
|
||||
@@ -622,13 +638,13 @@ static inline void AddAttribute(wxString& str, const wxString& name, const wxTex
|
||||
|
||||
static inline void AddAttribute(wxString& str, const wxString& rootName, const wxTextAttrDimensions& dims)
|
||||
{
|
||||
if (dims.GetLeft().IsPresent())
|
||||
if (dims.GetLeft().IsValid())
|
||||
AddAttribute(str, rootName + wxString(wxT("-left")), dims.GetLeft());
|
||||
if (dims.GetRight().IsPresent())
|
||||
if (dims.GetRight().IsValid())
|
||||
AddAttribute(str, rootName + wxString(wxT("-right")), dims.GetRight());
|
||||
if (dims.GetTop().IsPresent())
|
||||
if (dims.GetTop().IsValid())
|
||||
AddAttribute(str, rootName + wxString(wxT("-top")), dims.GetTop());
|
||||
if (dims.GetBottom().IsPresent())
|
||||
if (dims.GetBottom().IsValid())
|
||||
AddAttribute(str, rootName + wxString(wxT("-bottom")), dims.GetBottom());
|
||||
}
|
||||
|
||||
@@ -682,7 +698,7 @@ static inline void AddAttribute(wxXmlNode* node, const wxString& name, const wxC
|
||||
|
||||
static inline void AddAttribute(wxXmlNode* node, const wxString& name, const wxTextAttrDimension& dim)
|
||||
{
|
||||
if (dim.IsPresent())
|
||||
if (dim.IsValid())
|
||||
{
|
||||
wxString value = MakeString(dim.GetValue()) + wxT(",") + MakeString(dim.GetFlags());
|
||||
AddAttribute(node, name, value);
|
||||
@@ -691,13 +707,13 @@ static inline void AddAttribute(wxXmlNode* node, const wxString& name, const wxT
|
||||
|
||||
static inline void AddAttribute(wxXmlNode* node, const wxString& rootName, const wxTextAttrDimensions& dims)
|
||||
{
|
||||
if (dims.GetLeft().IsPresent())
|
||||
if (dims.GetLeft().IsValid())
|
||||
AddAttribute(node, rootName + wxString(wxT("-left")), dims.GetLeft());
|
||||
if (dims.GetRight().IsPresent())
|
||||
if (dims.GetRight().IsValid())
|
||||
AddAttribute(node, rootName + wxString(wxT("-right")), dims.GetRight());
|
||||
if (dims.GetTop().IsPresent())
|
||||
if (dims.GetTop().IsValid())
|
||||
AddAttribute(node, rootName + wxString(wxT("-top")), dims.GetTop());
|
||||
if (dims.GetBottom().IsPresent())
|
||||
if (dims.GetBottom().IsValid())
|
||||
AddAttribute(node, rootName + wxString(wxT("-bottom")), dims.GetBottom());
|
||||
}
|
||||
|
||||
@@ -809,6 +825,12 @@ bool wxRichTextXMLHandler::DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream&
|
||||
wxRichTextListStyleDefinition* def = buffer->GetStyleSheet()->GetListStyle(i);
|
||||
ExportStyleDefinition(styleSheetNode, def);
|
||||
}
|
||||
|
||||
for (i = 0; i < (int) buffer->GetStyleSheet()->GetBoxStyleCount(); i++)
|
||||
{
|
||||
wxRichTextBoxStyleDefinition* def = buffer->GetStyleSheet()->GetBoxStyle(i);
|
||||
ExportStyleDefinition(styleSheetNode, def);
|
||||
}
|
||||
}
|
||||
bool success = ExportXML(rootNode, *buffer);
|
||||
#if wxRICHTEXT_USE_OUTPUT_TIMINGS
|
||||
@@ -878,6 +900,12 @@ bool wxRichTextXMLHandler::DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream&
|
||||
ExportStyleDefinition(stream, def, level + 1);
|
||||
}
|
||||
|
||||
for (i = 0; i < (int) buffer->GetStyleSheet()->GetBoxStyleCount(); i++)
|
||||
{
|
||||
wxRichTextBoxStyleDefinition* def = buffer->GetStyleSheet()->GetBoxStyle(i);
|
||||
ExportStyleDefinition(stream, def, level + 1);
|
||||
}
|
||||
|
||||
OutputIndentation(stream, level);
|
||||
OutputString(stream, wxT("</stylesheet>"));
|
||||
}
|
||||
@@ -912,6 +940,7 @@ bool wxRichTextXMLHandler::ExportStyleDefinition(wxOutputStream& stream, wxRichT
|
||||
wxRichTextCharacterStyleDefinition* charDef = wxDynamicCast(def, wxRichTextCharacterStyleDefinition);
|
||||
wxRichTextParagraphStyleDefinition* paraDef = wxDynamicCast(def, wxRichTextParagraphStyleDefinition);
|
||||
wxRichTextListStyleDefinition* listDef = wxDynamicCast(def, wxRichTextListStyleDefinition);
|
||||
wxRichTextBoxStyleDefinition* boxDef = wxDynamicCast(def, wxRichTextBoxStyleDefinition);
|
||||
|
||||
wxString baseStyle = def->GetBaseStyle();
|
||||
wxString baseStyleProp;
|
||||
@@ -995,7 +1024,7 @@ bool wxRichTextXMLHandler::ExportStyleDefinition(wxOutputStream& stream, wxRichT
|
||||
|
||||
level ++;
|
||||
|
||||
wxString style = AddAttributes(def->GetStyle(), false);
|
||||
wxString style = AddAttributes(def->GetStyle(), true);
|
||||
|
||||
OutputIndentation(stream, level);
|
||||
OutputString(stream, wxT("<style ") + style + wxT(">"));
|
||||
@@ -1008,6 +1037,28 @@ bool wxRichTextXMLHandler::ExportStyleDefinition(wxOutputStream& stream, wxRichT
|
||||
OutputIndentation(stream, level);
|
||||
OutputString(stream, wxT("</paragraphstyle>"));
|
||||
}
|
||||
else if (boxDef)
|
||||
{
|
||||
OutputIndentation(stream, level);
|
||||
|
||||
OutputString(stream, wxT("<boxstyle") + baseStyleProp + descrProp + wxT(">"));
|
||||
|
||||
level ++;
|
||||
|
||||
wxString style = AddAttributes(def->GetStyle(), true);
|
||||
|
||||
OutputIndentation(stream, level);
|
||||
OutputString(stream, wxT("<style ") + style + wxT(">"));
|
||||
|
||||
OutputIndentation(stream, level);
|
||||
OutputString(stream, wxT("</style>"));
|
||||
|
||||
level --;
|
||||
|
||||
OutputIndentation(stream, level);
|
||||
OutputString(stream, wxT("</boxstyle>"));
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1233,6 +1284,7 @@ bool wxRichTextXMLHandler::ExportStyleDefinition(wxXmlNode* parent, wxRichTextSt
|
||||
{
|
||||
wxRichTextCharacterStyleDefinition* charDef = wxDynamicCast(def, wxRichTextCharacterStyleDefinition);
|
||||
wxRichTextParagraphStyleDefinition* paraDef = wxDynamicCast(def, wxRichTextParagraphStyleDefinition);
|
||||
wxRichTextBoxStyleDefinition* boxDef = wxDynamicCast(def, wxRichTextBoxStyleDefinition);
|
||||
wxRichTextListStyleDefinition* listDef = wxDynamicCast(def, wxRichTextListStyleDefinition);
|
||||
|
||||
wxString baseStyle = def->GetBaseStyle();
|
||||
@@ -1275,6 +1327,12 @@ bool wxRichTextXMLHandler::ExportStyleDefinition(wxXmlNode* parent, wxRichTextSt
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (boxDef)
|
||||
{
|
||||
defNode->SetName(wxT("boxstyle"));
|
||||
|
||||
AddAttributes(styleNode, def->GetStyle(), true);
|
||||
}
|
||||
else if (paraDef)
|
||||
{
|
||||
defNode->SetName(wxT("paragraphstyle"));
|
||||
@@ -1777,7 +1835,7 @@ bool wxRichTextXMLHandler::ImportStyle(wxRichTextAttr& attr, wxXmlNode* node, bo
|
||||
attr.GetTextBoxAttr().SetClearMode(wxTEXT_BOX_ATTR_CLEAR_NONE);
|
||||
}
|
||||
else if (name == wxT("collapse-borders"))
|
||||
attr.GetTextBoxAttr().SetCollapseBorders(value == wxT("1"));
|
||||
attr.GetTextBoxAttr().SetCollapseBorders((wxTextBoxAttrCollapseMode) wxAtoi(value));
|
||||
|
||||
else if (name.Contains(wxT("border-")))
|
||||
{
|
||||
@@ -1882,11 +1940,13 @@ bool wxRichTextXMLHandler::ImportStyle(wxRichTextAttr& attr, wxXmlNode* node, bo
|
||||
// wxUSE_STREAMS
|
||||
|
||||
// Import this object from XML
|
||||
bool wxRichTextObject::ImportFromXML(wxRichTextBuffer* WXUNUSED(buffer), wxXmlNode* node, wxRichTextXMLHandler* handler)
|
||||
bool wxRichTextObject::ImportFromXML(wxRichTextBuffer* WXUNUSED(buffer), wxXmlNode* node, wxRichTextXMLHandler* handler, bool* recurse)
|
||||
{
|
||||
handler->ImportProperties(this, node);
|
||||
handler->ImportStyle(GetAttributes(), node, UsesParagraphAttributes());
|
||||
|
||||
*recurse = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1948,9 +2008,9 @@ bool wxRichTextObject::ExportXML(wxXmlNode* parent, wxRichTextXMLHandler* handle
|
||||
|
||||
|
||||
// Import this object from XML
|
||||
bool wxRichTextPlainText::ImportFromXML(wxRichTextBuffer* buffer, wxXmlNode* node, wxRichTextXMLHandler* handler)
|
||||
bool wxRichTextPlainText::ImportFromXML(wxRichTextBuffer* buffer, wxXmlNode* node, wxRichTextXMLHandler* handler, bool* recurse)
|
||||
{
|
||||
wxRichTextObject::ImportFromXML(buffer, node, handler);
|
||||
wxRichTextObject::ImportFromXML(buffer, node, handler, recurse);
|
||||
|
||||
if (node->GetName() == wxT("text"))
|
||||
{
|
||||
@@ -2212,9 +2272,9 @@ bool wxRichTextPlainText::ExportXML(wxXmlNode* parent, wxRichTextXMLHandler* han
|
||||
|
||||
|
||||
// Import this object from XML
|
||||
bool wxRichTextImage::ImportFromXML(wxRichTextBuffer* buffer, wxXmlNode* node, wxRichTextXMLHandler* handler)
|
||||
bool wxRichTextImage::ImportFromXML(wxRichTextBuffer* buffer, wxXmlNode* node, wxRichTextXMLHandler* handler, bool* recurse)
|
||||
{
|
||||
wxRichTextObject::ImportFromXML(buffer, node, handler);
|
||||
wxRichTextObject::ImportFromXML(buffer, node, handler, recurse);
|
||||
|
||||
wxBitmapType imageType = wxBITMAP_TYPE_PNG;
|
||||
wxString value = node->GetAttribute(wxT("imagetype"), wxEmptyString);
|
||||
@@ -2361,14 +2421,39 @@ bool wxRichTextImage::ExportXML(wxXmlNode* parent, wxRichTextXMLHandler* handler
|
||||
|
||||
|
||||
// Import this object from XML
|
||||
bool wxRichTextParagraphLayoutBox::ImportFromXML(wxRichTextBuffer* buffer, wxXmlNode* node, wxRichTextXMLHandler* handler)
|
||||
bool wxRichTextParagraphLayoutBox::ImportFromXML(wxRichTextBuffer* buffer, wxXmlNode* node, wxRichTextXMLHandler* handler, bool* recurse)
|
||||
{
|
||||
wxRichTextObject::ImportFromXML(buffer, node, handler);
|
||||
wxRichTextObject::ImportFromXML(buffer, node, handler, recurse);
|
||||
|
||||
*recurse = true;
|
||||
|
||||
wxString partial = node->GetAttribute(wxT("partialparagraph"), wxEmptyString);
|
||||
if (partial == wxT("true"))
|
||||
SetPartialParagraph(true);
|
||||
|
||||
wxXmlNode* child = wxRichTextXMLHandler::FindNode(node, wxT("stylesheet"));
|
||||
if (child && (handler->GetFlags() & wxRICHTEXT_HANDLER_INCLUDE_STYLESHEET))
|
||||
{
|
||||
wxRichTextStyleSheet* sheet = new wxRichTextStyleSheet;
|
||||
wxString sheetName = child->GetAttribute(wxT("name"), wxEmptyString);
|
||||
wxString sheetDescription = child->GetAttribute(wxT("description"), wxEmptyString);
|
||||
sheet->SetName(sheetName);
|
||||
sheet->SetDescription(sheetDescription);
|
||||
|
||||
wxXmlNode* child2 = child->GetChildren();
|
||||
while (child2)
|
||||
{
|
||||
handler->ImportStyleDefinition(sheet, child2);
|
||||
|
||||
child2 = child2->GetNext();
|
||||
}
|
||||
|
||||
// Notify that styles have changed. If this is vetoed by the app,
|
||||
// the new sheet will be deleted. If it is not vetoed, the
|
||||
// old sheet will be deleted and replaced with the new one.
|
||||
buffer->SetStyleSheetAndNotify(sheet);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2377,7 +2462,8 @@ bool wxRichTextParagraphLayoutBox::ImportFromXML(wxRichTextBuffer* buffer, wxXml
|
||||
bool wxRichTextParagraphLayoutBox::ExportXML(wxOutputStream& stream, int indent, wxRichTextXMLHandler* handler)
|
||||
{
|
||||
::OutputIndentation(stream, indent);
|
||||
::OutputString(stream, wxT("<paragraphlayout"), handler->GetConvMem(), handler->GetConvFile());
|
||||
wxString nodeName = GetXMLNodeName();
|
||||
::OutputString(stream, wxT("<") + nodeName, handler->GetConvMem(), handler->GetConvFile());
|
||||
|
||||
wxString style = handler->AddAttributes(GetAttributes(), true);
|
||||
|
||||
@@ -2399,7 +2485,7 @@ bool wxRichTextParagraphLayoutBox::ExportXML(wxOutputStream& stream, int indent,
|
||||
}
|
||||
|
||||
::OutputIndentation(stream, indent);
|
||||
::OutputString(stream, wxT("</paragraphlayout>"), handler->GetConvMem(), handler->GetConvFile());
|
||||
::OutputString(stream, wxT("</") + nodeName + wxT(">"), handler->GetConvMem(), handler->GetConvFile());
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
@@ -2408,7 +2494,7 @@ bool wxRichTextParagraphLayoutBox::ExportXML(wxOutputStream& stream, int indent,
|
||||
// Export this object to the given parent node, usually creating at least one child node.
|
||||
bool wxRichTextParagraphLayoutBox::ExportXML(wxXmlNode* parent, wxRichTextXMLHandler* handler)
|
||||
{
|
||||
wxXmlNode* elementNode = new wxXmlNode(wxXML_ELEMENT_NODE, wxT("paragraphlayout"));
|
||||
wxXmlNode* elementNode = new wxXmlNode(wxXML_ELEMENT_NODE, GetXMLNodeName());
|
||||
parent->AddChild(elementNode);
|
||||
handler->AddAttributes(elementNode, GetAttributes(), true);
|
||||
handler->WriteProperties(elementNode, GetProperties());
|
||||
@@ -2427,6 +2513,112 @@ bool wxRichTextParagraphLayoutBox::ExportXML(wxXmlNode* parent, wxRichTextXMLHan
|
||||
}
|
||||
#endif
|
||||
|
||||
// Import this object from XML
|
||||
bool wxRichTextTable::ImportFromXML(wxRichTextBuffer* buffer, wxXmlNode* node, wxRichTextXMLHandler* handler, bool* recurse)
|
||||
{
|
||||
wxRichTextBox::ImportFromXML(buffer, node, handler, recurse);
|
||||
|
||||
*recurse = false;
|
||||
|
||||
m_rowCount = wxAtoi(node->GetAttribute(wxT("rows"), wxEmptyString));
|
||||
m_colCount = wxAtoi(node->GetAttribute(wxT("cols"), wxEmptyString));
|
||||
|
||||
wxXmlNode* child = node->GetChildren();
|
||||
while (child)
|
||||
{
|
||||
wxRichTextObject* childObj = handler->CreateObjectForXMLName(this, child->GetName());
|
||||
if (childObj)
|
||||
{
|
||||
AppendChild(childObj);
|
||||
handler->ImportXML(buffer, childObj, child);
|
||||
}
|
||||
child = child->GetNext();
|
||||
}
|
||||
|
||||
m_cells.Add(wxRichTextObjectPtrArray(), m_rowCount);
|
||||
int i, j;
|
||||
for (i = 0; i < m_rowCount; i++)
|
||||
{
|
||||
wxRichTextObjectPtrArray& colArray = m_cells[i];
|
||||
for (j = 0; j < m_colCount; j++)
|
||||
{
|
||||
int idx = i * m_colCount + j;
|
||||
if (idx < (int) GetChildren().GetCount())
|
||||
{
|
||||
wxRichTextCell* cell = wxDynamicCast(GetChildren().Item(idx)->GetData(), wxRichTextCell);
|
||||
if (cell)
|
||||
colArray.Add(cell);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#if wxRICHTEXT_HAVE_DIRECT_OUTPUT
|
||||
// Export this object directly to the given stream.
|
||||
bool wxRichTextTable::ExportXML(wxOutputStream& stream, int indent, wxRichTextXMLHandler* handler)
|
||||
{
|
||||
::OutputIndentation(stream, indent);
|
||||
wxString nodeName = GetXMLNodeName();
|
||||
::OutputString(stream, wxT("<") + nodeName, handler->GetConvMem(), handler->GetConvFile());
|
||||
|
||||
wxString style = handler->AddAttributes(GetAttributes(), true);
|
||||
|
||||
style << wxT(" rows=\"") << m_rowCount << wxT("\"");
|
||||
style << wxT(" cols=\"") << m_colCount << wxT("\"");
|
||||
|
||||
::OutputString(stream, style + wxT(">"), handler->GetConvMem(), handler->GetConvFile());
|
||||
|
||||
if (GetProperties().GetCount() > 0)
|
||||
{
|
||||
handler->WriteProperties(stream, GetProperties(), indent);
|
||||
}
|
||||
|
||||
int i, j;
|
||||
for (i = 0; i < m_rowCount; i++)
|
||||
{
|
||||
for (j = 0; j < m_colCount; j ++)
|
||||
{
|
||||
wxRichTextCell* cell = GetCell(i, j);
|
||||
cell->ExportXML(stream, indent+1, handler);
|
||||
}
|
||||
}
|
||||
|
||||
::OutputIndentation(stream, indent);
|
||||
::OutputString(stream, wxT("</") + nodeName + wxT(">"), handler->GetConvMem(), handler->GetConvFile());
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if wxRICHTEXT_HAVE_XMLDOCUMENT_OUTPUT
|
||||
// Export this object to the given parent node, usually creating at least one child node.
|
||||
bool wxRichTextTable::ExportXML(wxXmlNode* parent, wxRichTextXMLHandler* handler)
|
||||
{
|
||||
wxXmlNode* elementNode = new wxXmlNode(wxXML_ELEMENT_NODE, GetXMLNodeName());
|
||||
parent->AddChild(elementNode);
|
||||
handler->AddAttributes(elementNode, GetAttributes(), true);
|
||||
handler->WriteProperties(elementNode, GetProperties());
|
||||
|
||||
elementNode->AddAttribute(wxT("rows"), wxString::Format(wxT("%d"), m_rowCount));
|
||||
elementNode->AddAttribute(wxT("cols"), wxString::Format(wxT("%d"), m_colCount));
|
||||
|
||||
int i, j;
|
||||
for (i = 0; i < m_rowCount; i++)
|
||||
{
|
||||
for (j = 0; j < m_colCount; j ++)
|
||||
{
|
||||
wxRichTextCell* cell = GetCell(i, j);
|
||||
cell->ExportXML(elementNode, handler);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
// wxUSE_RICHTEXT && wxUSE_XML
|
||||
|
||||
|
Reference in New Issue
Block a user