X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ebf0a02930fcaaf8b78ed30a71e03619d5d07df4..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/richtext/richtextsymboldlg.h diff --git a/include/wx/richtext/richtextsymboldlg.h b/include/wx/richtext/richtextsymboldlg.h index c72e3109bc..a5946bf7d2 100644 --- a/include/wx/richtext/richtextsymboldlg.h +++ b/include/wx/richtext/richtextsymboldlg.h @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: richtextsymboldlg.h -// Purpose: +// Name: wx/richtext/richtextsymboldlg.h +// Purpose: // Author: Julian Smart -// Modified by: +// Modified by: // Created: 10/5/2006 3:11:58 PM -// RCS-ID: +// RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _RICHTEXTSYMBOLDLG_H_ @@ -16,16 +16,24 @@ * Includes */ +#include "wx/richtext/richtextuicustomization.h" +#include "wx/dialog.h" #include "wx/vscroll.h" /*! * Forward declarations */ +class WXDLLIMPEXP_FWD_CORE wxStaticText; +class WXDLLIMPEXP_FWD_CORE wxComboBox; +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; + ////@begin forward declarations class wxSymbolListCtrl; +class wxStdDialogButtonSizer; ////@end forward declarations +// __UNICODE__ is a symbol used by DialogBlocks-generated code. #ifndef __UNICODE__ #if wxUSE_UNICODE #define __UNICODE__ @@ -36,8 +44,8 @@ class wxSymbolListCtrl; * Symbols */ -#define SYMBOL_WXSYMBOLPICKERDIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxCLOSE_BOX -#define SYMBOL_WXSYMBOLPICKERDIALOG_TITLE _("Symbols") +#define SYMBOL_WXSYMBOLPICKERDIALOG_STYLE (wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxCLOSE_BOX) +#define SYMBOL_WXSYMBOLPICKERDIALOG_TITLE wxGetTranslation("Symbols") #define SYMBOL_WXSYMBOLPICKERDIALOG_IDNAME ID_SYMBOLPICKERDIALOG #define SYMBOL_WXSYMBOLPICKERDIALOG_SIZE wxSize(400, 300) #define SYMBOL_WXSYMBOLPICKERDIALOG_POSITION wxDefaultPosition @@ -47,75 +55,84 @@ class wxSymbolListCtrl; */ class WXDLLIMPEXP_RICHTEXT wxSymbolPickerDialog: public wxDialog -{ +{ DECLARE_DYNAMIC_CLASS( wxSymbolPickerDialog ) DECLARE_EVENT_TABLE() + DECLARE_HELP_PROVISION() public: /// Constructors wxSymbolPickerDialog( ); wxSymbolPickerDialog( const wxString& symbol, const wxString& fontName, const wxString& normalTextFont, - wxWindow* parent, wxWindowID id = SYMBOL_WXSYMBOLPICKERDIALOG_IDNAME, const wxString& caption = SYMBOL_WXSYMBOLPICKERDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXSYMBOLPICKERDIALOG_POSITION, const wxSize& size = SYMBOL_WXSYMBOLPICKERDIALOG_SIZE, long style = SYMBOL_WXSYMBOLPICKERDIALOG_STYLE ); + wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& caption = SYMBOL_WXSYMBOLPICKERDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXSYMBOLPICKERDIALOG_POSITION, const wxSize& size = SYMBOL_WXSYMBOLPICKERDIALOG_SIZE, long style = SYMBOL_WXSYMBOLPICKERDIALOG_STYLE ); /// Creation bool Create( const wxString& symbol, const wxString& fontName, const wxString& normalTextFont, - wxWindow* parent, wxWindowID id = SYMBOL_WXSYMBOLPICKERDIALOG_IDNAME, const wxString& caption = SYMBOL_WXSYMBOLPICKERDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXSYMBOLPICKERDIALOG_POSITION, const wxSize& size = SYMBOL_WXSYMBOLPICKERDIALOG_SIZE, long style = SYMBOL_WXSYMBOLPICKERDIALOG_STYLE ); + wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& caption = SYMBOL_WXSYMBOLPICKERDIALOG_TITLE, const wxPoint& pos = SYMBOL_WXSYMBOLPICKERDIALOG_POSITION, const wxSize& size = SYMBOL_WXSYMBOLPICKERDIALOG_SIZE, long style = SYMBOL_WXSYMBOLPICKERDIALOG_STYLE ); /// Initialises members variables void Init(); /// Creates the controls and sizers void CreateControls(); - + /// Update the display void UpdateSymbolDisplay(bool updateSymbolList = true, bool showAtSubset = true); /// Respond to symbol selection void OnSymbolSelected( wxCommandEvent& event ); - + /// Set Unicode mode void SetUnicodeMode(bool unicodeMode); - + /// Show at the current subset selection void ShowAtSubset(); - + /// Get the selected symbol character int GetSymbolChar() const; /// Is there a selection? bool HasSelection() const { return !m_symbol.IsEmpty(); } - + /// Specifying normal text? bool UseNormalFont() const { return m_fontName.IsEmpty(); } - + + /// Should we show tooltips? + static bool ShowToolTips() { return sm_showToolTips; } + + /// Determines whether tooltips will be shown + static void SetShowToolTips(bool show) { sm_showToolTips = show; } + /// Data transfer virtual bool TransferDataToWindow(); ////@begin wxSymbolPickerDialog event handler declarations - /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_SYMBOLPICKERDIALOG_FONT + /// wxEVT_COMBOBOX event handler for ID_SYMBOLPICKERDIALOG_FONT void OnFontCtrlSelected( wxCommandEvent& event ); #if defined(__UNICODE__) - /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_SYMBOLPICKERDIALOG_SUBSET + /// wxEVT_COMBOBOX event handler for ID_SYMBOLPICKERDIALOG_SUBSET void OnSubsetSelected( wxCommandEvent& event ); + /// wxEVT_UPDATE_UI event handler for ID_SYMBOLPICKERDIALOG_SUBSET + void OnSymbolpickerdialogSubsetUpdate( wxUpdateUIEvent& event ); + #endif #if defined(__UNICODE__) - /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_SYMBOLPICKERDIALOG_FROM + /// wxEVT_COMBOBOX event handler for ID_SYMBOLPICKERDIALOG_FROM void OnFromUnicodeSelected( wxCommandEvent& event ); #endif -#if defined(__WXMSW__) || defined(__WXGTK__) || defined(__WXOS2__) || defined(__WXMGL__) || defined(__WXMOTIF__) || defined(__WXCOCOA__) || defined(__WXX11__) || defined(__WXPALMOS__) /// wxEVT_UPDATE_UI event handler for wxID_OK void OnOkUpdate( wxUpdateUIEvent& event ); -#endif -#if defined(__WXMAC__) - /// wxEVT_UPDATE_UI event handler for wxID_OK - void OnOkUpdate( wxUpdateUIEvent& event ); + /// wxEVT_BUTTON event handler for wxID_HELP + void OnHelpClick( wxCommandEvent& event ); + + /// wxEVT_UPDATE_UI event handler for wxID_HELP + void OnHelpUpdate( wxUpdateUIEvent& event ); -#endif ////@end wxSymbolPickerDialog event handler declarations ////@begin wxSymbolPickerDialog member function declarations @@ -123,15 +140,15 @@ public: wxString GetFontName() const { return m_fontName ; } void SetFontName(wxString value) { m_fontName = value ; } - wxString GetSymbol() const { return m_symbol ; } - void SetSymbol(wxString value) { m_symbol = value ; } - bool GetFromUnicode() const { return m_fromUnicode ; } void SetFromUnicode(bool value) { m_fromUnicode = value ; } wxString GetNormalTextFontName() const { return m_normalTextFontName ; } void SetNormalTextFontName(wxString value) { m_normalTextFontName = value ; } + wxString GetSymbol() const { return m_symbol ; } + void SetSymbol(wxString value) { m_symbol = value ; } + /// Retrieves bitmap resources wxBitmap GetBitmapResource( const wxString& name ); @@ -139,9 +156,6 @@ public: wxIcon GetIconResource( const wxString& name ); ////@end wxSymbolPickerDialog member function declarations - /// Should we show tooltips? - static bool ShowToolTips(); - ////@begin wxSymbolPickerDialog member variables wxComboBox* m_fontCtrl; #if defined(__UNICODE__) @@ -153,10 +167,11 @@ public: #if defined(__UNICODE__) wxComboBox* m_fromUnicodeCtrl; #endif + wxStdDialogButtonSizer* m_stdButtonSizer; wxString m_fontName; - wxString m_symbol; bool m_fromUnicode; wxString m_normalTextFontName; + wxString m_symbol; /// Control identifiers enum { ID_SYMBOLPICKERDIALOG = 10600, @@ -169,12 +184,13 @@ public: ////@end wxSymbolPickerDialog member variables bool m_dontUpdate; + static bool sm_showToolTips; }; /*! * The scrolling symbol list. */ - + class WXDLLIMPEXP_RICHTEXT wxSymbolListCtrl : public wxVScrolledWindow { public: @@ -217,7 +233,7 @@ public: // set the current font virtual bool SetFont(const wxFont& font); - + // set Unicode/ASCII mode void SetUnicodeMode(bool unicodeMode); @@ -242,7 +258,7 @@ public: // set the selection to the specified item, if it is wxNOT_FOUND the // selection is unset void SetSelection(int selection); - + // make this item visible void EnsureVisible(int item); @@ -253,7 +269,7 @@ public: // by default both margins are 0 void SetMargins(const wxPoint& pt); void SetMargins(wxCoord x, wxCoord y) { SetMargins(wxPoint(x, y)); } - + // set the cell size void SetCellSize(const wxSize& sz) { m_cellSize = sz; } const wxSize& GetCellSize() const { return m_cellSize; } @@ -268,21 +284,21 @@ public: static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); - + // Get min/max symbol values int GetMinSymbolValue() const { return m_minSymbolValue; } int GetMaxSymbolValue() const { return m_maxSymbolValue; } - + // Respond to size change void OnSize(wxSizeEvent& event); protected: - // draws a line of symbols + // draws a line of symbols virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const; - + // gets the line height - virtual wxCoord OnGetLineHeight(size_t line) const; + virtual wxCoord OnGetRowHeight(size_t line) const; // event handlers void OnPaint(wxPaintEvent& event); @@ -293,7 +309,7 @@ protected: // common part of all ctors void Init(); - // send the wxEVT_COMMAND_LISTBOX_SELECTED event + // send the wxEVT_LISTBOX event void SendSelectedEvent(); // change the current item (in single selection listbox it also implicitly @@ -313,13 +329,13 @@ protected: // common part of keyboard and mouse handling processing code void DoHandleItemClick(int item, int flags); - + // calculate line number from symbol value int SymbolValueToLineNumber(int item); - + // initialise control from current min/max values void SetupCtrl(bool scrollToSelection = true); - + // hit testing int HitTest(const wxPoint& pt); @@ -335,24 +351,24 @@ private: // double buffer wxBitmap* m_doubleBuffer; - + // cell size wxSize m_cellSize; - + // minimum and maximum symbol value int m_minSymbolValue; // minimum and maximum symbol value int m_maxSymbolValue; - + // number of items per line int m_symbolsPerLine; - + // Unicode/ASCII mode bool m_unicodeMode; DECLARE_EVENT_TABLE() - DECLARE_NO_COPY_CLASS(wxSymbolListCtrl) + wxDECLARE_NO_COPY_CLASS(wxSymbolListCtrl); DECLARE_ABSTRACT_CLASS(wxSymbolListCtrl) };