git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			242 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			242 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/richtext/richtextstyledlg.h
 | |
| // Purpose:
 | |
| // Author:      Julian Smart
 | |
| // Modified by:
 | |
| // Created:     10/5/2006 12:05:31 PM
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) Julian Smart
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _RICHTEXTSTYLEDLG_H_
 | |
| #define _RICHTEXTSTYLEDLG_H_
 | |
| 
 | |
| /*!
 | |
|  * Includes
 | |
|  */
 | |
| 
 | |
| ////@begin includes
 | |
| ////@end includes
 | |
| 
 | |
| #include "wx/richtext/richtextbuffer.h"
 | |
| #include "wx/richtext/richtextstyles.h"
 | |
| #include "wx/richtext/richtextctrl.h"
 | |
| 
 | |
| /*!
 | |
|  * Forward declarations
 | |
|  */
 | |
| 
 | |
| ////@begin forward declarations
 | |
| class wxBoxSizer;
 | |
| class wxRichTextStyleListCtrl;
 | |
| class wxRichTextCtrl;
 | |
| ////@end forward declarations
 | |
| 
 | |
| class WXDLLIMPEXP_FWD_CORE wxButton;
 | |
| class WXDLLIMPEXP_FWD_CORE wxCheckBox;
 | |
| 
 | |
| /*!
 | |
|  * Control identifiers
 | |
|  */
 | |
| 
 | |
| ////@begin control identifiers
 | |
| #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
 | |
| #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_TITLE _("Style Organiser")
 | |
| #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_IDNAME ID_RICHTEXTSTYLEORGANISERDIALOG
 | |
| #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_SIZE wxSize(400, 300)
 | |
| #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_POSITION wxDefaultPosition
 | |
| ////@end control identifiers
 | |
| 
 | |
| /*!
 | |
|  * Flags for specifying permitted operations
 | |
|  */
 | |
| 
 | |
| #define wxRICHTEXT_ORGANISER_DELETE_STYLES  0x0001
 | |
| #define wxRICHTEXT_ORGANISER_CREATE_STYLES  0x0002
 | |
| #define wxRICHTEXT_ORGANISER_APPLY_STYLES   0x0004
 | |
| #define wxRICHTEXT_ORGANISER_EDIT_STYLES    0x0008
 | |
| #define wxRICHTEXT_ORGANISER_RENAME_STYLES  0x0010
 | |
| #define wxRICHTEXT_ORGANISER_OK_CANCEL      0x0020
 | |
| #define wxRICHTEXT_ORGANISER_RENUMBER       0x0040
 | |
| 
 | |
| // The permitted style types to show
 | |
| #define wxRICHTEXT_ORGANISER_SHOW_CHARACTER 0x0100
 | |
| #define wxRICHTEXT_ORGANISER_SHOW_PARAGRAPH 0x0200
 | |
| #define wxRICHTEXT_ORGANISER_SHOW_LIST      0x0400
 | |
| #define wxRICHTEXT_ORGANISER_SHOW_ALL       0x0800
 | |
| 
 | |
| // Common combinations
 | |
| #define wxRICHTEXT_ORGANISER_ORGANISE (wxRICHTEXT_ORGANISER_SHOW_ALL|wxRICHTEXT_ORGANISER_DELETE_STYLES|wxRICHTEXT_ORGANISER_CREATE_STYLES|wxRICHTEXT_ORGANISER_APPLY_STYLES|wxRICHTEXT_ORGANISER_EDIT_STYLES|wxRICHTEXT_ORGANISER_RENAME_STYLES)
 | |
| #define wxRICHTEXT_ORGANISER_BROWSE (wxRICHTEXT_ORGANISER_SHOW_ALL|wxRICHTEXT_ORGANISER_OK_CANCEL)
 | |
| #define wxRICHTEXT_ORGANISER_BROWSE_NUMBERING (wxRICHTEXT_ORGANISER_SHOW_LIST|wxRICHTEXT_ORGANISER_OK_CANCEL|wxRICHTEXT_ORGANISER_RENUMBER)
 | |
| 
 | |
| /*!
 | |
|  * wxRichTextStyleOrganiserDialog class declaration
 | |
|  */
 | |
| 
 | |
| class WXDLLIMPEXP_RICHTEXT wxRichTextStyleOrganiserDialog: public wxDialog
 | |
| {
 | |
|     DECLARE_DYNAMIC_CLASS( wxRichTextStyleOrganiserDialog )
 | |
|     DECLARE_EVENT_TABLE()
 | |
| 
 | |
| public:
 | |
|     /// Constructors
 | |
|     wxRichTextStyleOrganiserDialog( );
 | |
|     wxRichTextStyleOrganiserDialog( int flags, wxRichTextStyleSheet* sheet, wxRichTextCtrl* ctrl, wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& caption = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_STYLE );
 | |
| 
 | |
|     /// Creation
 | |
|     bool Create( int flags, wxRichTextStyleSheet* sheet, wxRichTextCtrl* ctrl, wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& caption = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_SIZE, long style = SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_STYLE );
 | |
| 
 | |
|     /// Creates the controls and sizers
 | |
|     void CreateControls();
 | |
| 
 | |
|     /// Initialise member variables
 | |
|     void Init();
 | |
| 
 | |
|     /// Transfer data from/to window
 | |
|     virtual bool TransferDataFromWindow();
 | |
|     virtual bool TransferDataToWindow();
 | |
| 
 | |
|     /// Set/get style sheet
 | |
|     void SetStyleSheet(wxRichTextStyleSheet* sheet) { m_richTextStyleSheet = sheet; }
 | |
|     wxRichTextStyleSheet* GetStyleSheet() const { return m_richTextStyleSheet; }
 | |
| 
 | |
|     /// Set/get control
 | |
|     void SetRichTextCtrl(wxRichTextCtrl* ctrl) { m_richTextCtrl = ctrl; }
 | |
|     wxRichTextCtrl* GetRichTextCtrl() const { return m_richTextCtrl; }
 | |
| 
 | |
|     /// Set/get flags
 | |
|     void SetFlags(int flags) { m_flags = flags; }
 | |
|     int GetFlags() const { return m_flags; }
 | |
| 
 | |
|     /// Show preview for given or selected preview
 | |
|     void ShowPreview(int sel = -1);
 | |
| 
 | |
|     /// Clears the preview
 | |
|     void ClearPreview();
 | |
| 
 | |
|     /// List selection
 | |
|     void OnListSelection(wxCommandEvent& event);
 | |
| 
 | |
|     /// Get/set restart numbering boolean
 | |
|     bool GetRestartNumbering() const { return m_restartNumbering; }
 | |
|     void SetRestartNumbering(bool restartNumbering) { m_restartNumbering = restartNumbering; }
 | |
| 
 | |
|     /// Get selected style name or definition
 | |
|     wxString GetSelectedStyle() const;
 | |
|     wxRichTextStyleDefinition* GetSelectedStyleDefinition() const;
 | |
| 
 | |
|     /// Apply the style
 | |
|     bool ApplyStyle(wxRichTextCtrl* ctrl = NULL);
 | |
| 
 | |
|     /// Should we show tooltips?
 | |
|     static bool ShowToolTips() { return sm_showToolTips; }
 | |
| 
 | |
|     /// Determines whether tooltips will be shown
 | |
|     static void SetShowToolTips(bool show) { sm_showToolTips = show; }
 | |
| 
 | |
| ////@begin wxRichTextStyleOrganiserDialog event handler declarations
 | |
| 
 | |
|     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_CHAR
 | |
|     void OnNewCharClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_CHAR
 | |
|     void OnNewCharUpdate( wxUpdateUIEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_PARA
 | |
|     void OnNewParaClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_PARA
 | |
|     void OnNewParaUpdate( wxUpdateUIEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_LIST
 | |
|     void OnNewListClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_LIST
 | |
|     void OnNewListUpdate( wxUpdateUIEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_APPLY
 | |
|     void OnApplyClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_APPLY
 | |
|     void OnApplyUpdate( wxUpdateUIEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_RENAME
 | |
|     void OnRenameClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_RENAME
 | |
|     void OnRenameUpdate( wxUpdateUIEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_EDIT
 | |
|     void OnEditClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_EDIT
 | |
|     void OnEditUpdate( wxUpdateUIEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_DELETE
 | |
|     void OnDeleteClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_DELETE
 | |
|     void OnDeleteUpdate( wxUpdateUIEvent& event );
 | |
| 
 | |
| ////@end wxRichTextStyleOrganiserDialog event handler declarations
 | |
| 
 | |
| ////@begin wxRichTextStyleOrganiserDialog member function declarations
 | |
| 
 | |
|     /// Retrieves bitmap resources
 | |
|     wxBitmap GetBitmapResource( const wxString& name );
 | |
| 
 | |
|     /// Retrieves icon resources
 | |
|     wxIcon GetIconResource( const wxString& name );
 | |
| ////@end wxRichTextStyleOrganiserDialog member function declarations
 | |
| 
 | |
| ////@begin wxRichTextStyleOrganiserDialog member variables
 | |
|     wxBoxSizer* m_innerSizer;
 | |
|     wxBoxSizer* m_buttonSizerParent;
 | |
|     wxRichTextStyleListCtrl* m_stylesListBox;
 | |
|     wxRichTextCtrl* m_previewCtrl;
 | |
|     wxBoxSizer* m_buttonSizer;
 | |
|     wxButton* m_newCharacter;
 | |
|     wxButton* m_newParagraph;
 | |
|     wxButton* m_newList;
 | |
|     wxButton* m_applyStyle;
 | |
|     wxButton* m_renameStyle;
 | |
|     wxButton* m_editStyle;
 | |
|     wxButton* m_deleteStyle;
 | |
|     wxButton* m_closeButton;
 | |
|     wxBoxSizer* m_bottomButtonSizer;
 | |
|     wxCheckBox* m_restartNumberingCtrl;
 | |
|     wxButton* m_okButton;
 | |
|     wxButton* m_cancelButton;
 | |
|     /// Control identifiers
 | |
|     enum {
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG = 10500,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_STYLES = 10501,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_CURRENT_STYLE = 10510,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_PREVIEW = 10509,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_CHAR = 10504,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_PARA = 10505,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_LIST = 10508,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_APPLY = 10503,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_RENAME = 10502,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_EDIT = 10506,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_DELETE = 10507,
 | |
|         ID_RICHTEXTSTYLEORGANISERDIALOG_RESTART_NUMBERING = 10511
 | |
|     };
 | |
| ////@end wxRichTextStyleOrganiserDialog member variables
 | |
| 
 | |
| private:
 | |
| 
 | |
|     wxRichTextCtrl*         m_richTextCtrl;
 | |
|     wxRichTextStyleSheet*   m_richTextStyleSheet;
 | |
| 
 | |
|     bool                    m_dontUpdate;
 | |
|     int                     m_flags;
 | |
|     static bool             sm_showToolTips;
 | |
|     bool                    m_restartNumbering;
 | |
| };
 | |
| 
 | |
| #endif
 | |
|     // _RICHTEXTSTYLEDLG_H_
 |