X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ebf0a02930fcaaf8b78ed30a71e03619d5d07df4..fc32630a5e03e60a67d4ef53fc59985ea087b451:/include/wx/richtext/richtextsymboldlg.h diff --git a/include/wx/richtext/richtextsymboldlg.h b/include/wx/richtext/richtextsymboldlg.h index c72e3109bc..1137baa28f 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,22 @@ * Includes */ +#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; ////@end forward declarations +// __UNICODE__ is a symbol used by DialogBlocks-generated code. #ifndef __UNICODE__ #if wxUSE_UNICODE #define __UNICODE__ @@ -36,7 +42,7 @@ class wxSymbolListCtrl; * Symbols */ -#define SYMBOL_WXSYMBOLPICKERDIALOG_STYLE wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxCLOSE_BOX +#define SYMBOL_WXSYMBOLPICKERDIALOG_STYLE (wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxCLOSE_BOX) #define SYMBOL_WXSYMBOLPICKERDIALOG_TITLE _("Symbols") #define SYMBOL_WXSYMBOLPICKERDIALOG_IDNAME ID_SYMBOLPICKERDIALOG #define SYMBOL_WXSYMBOLPICKERDIALOG_SIZE wxSize(400, 300) @@ -47,7 +53,7 @@ class wxSymbolListCtrl; */ class WXDLLIMPEXP_RICHTEXT wxSymbolPickerDialog: public wxDialog -{ +{ DECLARE_DYNAMIC_CLASS( wxSymbolPickerDialog ) DECLARE_EVENT_TABLE() @@ -55,39 +61,45 @@ 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(); @@ -106,16 +118,9 @@ public: 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 ); -#endif ////@end wxSymbolPickerDialog event handler declarations ////@begin wxSymbolPickerDialog member function declarations @@ -139,9 +144,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__) @@ -169,12 +171,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 +220,7 @@ public: // set the current font virtual bool SetFont(const wxFont& font); - + // set Unicode/ASCII mode void SetUnicodeMode(bool unicodeMode); @@ -242,7 +245,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 +256,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 +271,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); @@ -313,13 +316,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,19 +338,19 @@ 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;