| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: wx/richtext/richtextstyledlg.h
- // Purpose:
- // Author: Julian Smart
- // Modified by:
- // Created: 10/5/2006 12:05:31 PM
- // Copyright: (c) Julian Smart
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #ifndef _RICHTEXTSTYLEDLG_H_
- #define _RICHTEXTSTYLEDLG_H_
- /*!
- * Includes
- */
- #include "wx/richtext/richtextuicustomization.h"
- ////@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;
- class wxStdDialogButtonSizer;
- ////@end forward declarations
- class WXDLLIMPEXP_FWD_CORE wxButton;
- class WXDLLIMPEXP_FWD_CORE wxCheckBox;
- /*!
- * Control identifiers
- */
- #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
- #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_TITLE wxGetTranslation("Style Organiser")
- #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_IDNAME ID_RICHTEXTSTYLEORGANISERDIALOG
- #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_SIZE wxSize(400, 300)
- #define SYMBOL_WXRICHTEXTSTYLEORGANISERDIALOG_POSITION wxDefaultPosition
- /*!
- * 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_BOX 0x0800
- #define wxRICHTEXT_ORGANISER_SHOW_ALL 0x1000
- // 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()
- DECLARE_HELP_PROVISION()
- 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_BUTTON 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_BUTTON 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_BUTTON 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_BUTTON event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_BOX
- void OnNewBoxClick( wxCommandEvent& event );
- /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_NEW_BOX
- void OnNewBoxUpdate( wxUpdateUIEvent& event );
- /// wxEVT_BUTTON event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_APPLY
- void OnApplyClick( wxCommandEvent& event );
- /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_APPLY
- void OnApplyUpdate( wxUpdateUIEvent& event );
- /// wxEVT_BUTTON event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_RENAME
- void OnRenameClick( wxCommandEvent& event );
- /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_RENAME
- void OnRenameUpdate( wxUpdateUIEvent& event );
- /// wxEVT_BUTTON event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_EDIT
- void OnEditClick( wxCommandEvent& event );
- /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_EDIT
- void OnEditUpdate( wxUpdateUIEvent& event );
- /// wxEVT_BUTTON event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_DELETE
- void OnDeleteClick( wxCommandEvent& event );
- /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTSTYLEORGANISERDIALOG_DELETE
- void OnDeleteUpdate( wxUpdateUIEvent& event );
- /// wxEVT_BUTTON event handler for wxID_HELP
- void OnHelpClick( wxCommandEvent& 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_newBox;
- wxButton* m_applyStyle;
- wxButton* m_renameStyle;
- wxButton* m_editStyle;
- wxButton* m_deleteStyle;
- wxButton* m_closeButton;
- wxBoxSizer* m_bottomButtonSizer;
- wxCheckBox* m_restartNumberingCtrl;
- wxStdDialogButtonSizer* m_stdButtonSizer;
- 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_NEW_BOX = 10512,
- 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_
|