/////////////////////////////////////////////////////////////////////////////
-// 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_
* Includes
*/
+#include "wx/dialog.h"
#include "wx/vscroll.h"
+#include "wx/combobox.h"
+#include "wx/stattext.h"
+#include "wx/textctrl.h"
/*!
* Forward declarations
class wxSymbolListCtrl;
////@end forward declarations
+// __UNICODE__ is a symbol used by DialogBlocks-generated code.
#ifndef __UNICODE__
#if wxUSE_UNICODE
#define __UNICODE__
* 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)
*/
class WXDLLIMPEXP_RICHTEXT wxSymbolPickerDialog: public wxDialog
-{
+{
DECLARE_DYNAMIC_CLASS( wxSymbolPickerDialog )
DECLARE_EVENT_TABLE()
/// 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();
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
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__)
////@end wxSymbolPickerDialog member variables
bool m_dontUpdate;
+ static bool sm_showToolTips;
};
/*!
* The scrolling symbol list.
*/
-
+
class WXDLLIMPEXP_RICHTEXT wxSymbolListCtrl : public wxVScrolledWindow
{
public:
// set the current font
virtual bool SetFont(const wxFont& font);
-
+
// set Unicode/ASCII mode
void SetUnicodeMode(bool unicodeMode);
// 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);
// 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; }
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);
// 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);
// 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;