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:
Julian Smart
2011-01-14 11:57:44 +00:00
parent 3625820490
commit 603f702b4a
42 changed files with 19398 additions and 3272 deletions

View File

@@ -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
{
DECLARE_DYNAMIC_CLASS( wxRichTextImageDialog )
class WXDLLIMPEXP_RICHTEXT wxRichTextObjectPropertiesDialog: public wxRichTextFormattingDialog
{
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);
////@begin wxRichTextImageDialog event handler declarations
////@end wxRichTextObjectPropertiesDialog 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