| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/richtext/richtextsymboldlg.h
 
- // Purpose:
 
- // Author:      Julian Smart
 
- // Modified by:
 
- // Created:     10/5/2006 3:11:58 PM
 
- // Copyright:   (c) Julian Smart
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- #ifndef _RICHTEXTSYMBOLDLG_H_
 
- #define _RICHTEXTSYMBOLDLG_H_
 
- /*!
 
-  * 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__
 
- #endif
 
- #endif
 
- /*!
 
-  * 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
 
- /*!
 
-  * wxSymbolPickerDialog class declaration
 
-  */
 
- 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 = 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 = 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_COMBOBOX event handler for ID_SYMBOLPICKERDIALOG_FONT
 
-     void OnFontCtrlSelected( wxCommandEvent& event );
 
- #if defined(__UNICODE__)
 
-     /// 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_COMBOBOX event handler for ID_SYMBOLPICKERDIALOG_FROM
 
-     void OnFromUnicodeSelected( wxCommandEvent& event );
 
- #endif
 
-     /// 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 );
 
- ////@end wxSymbolPickerDialog event handler declarations
 
- ////@begin wxSymbolPickerDialog member function declarations
 
-     wxString GetFontName() const { return m_fontName ; }
 
-     void SetFontName(wxString value) { m_fontName = 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 );
 
-     /// Retrieves icon resources
 
-     wxIcon GetIconResource( const wxString& name );
 
- ////@end wxSymbolPickerDialog member function declarations
 
- ////@begin wxSymbolPickerDialog member variables
 
-     wxComboBox* m_fontCtrl;
 
- #if defined(__UNICODE__)
 
-     wxComboBox* m_subsetCtrl;
 
- #endif
 
-     wxSymbolListCtrl* m_symbolsCtrl;
 
-     wxStaticText* m_symbolStaticCtrl;
 
-     wxTextCtrl* m_characterCodeCtrl;
 
- #if defined(__UNICODE__)
 
-     wxComboBox* m_fromUnicodeCtrl;
 
- #endif
 
-     wxStdDialogButtonSizer* m_stdButtonSizer;
 
-     wxString m_fontName;
 
-     bool m_fromUnicode;
 
-     wxString m_normalTextFontName;
 
-     wxString m_symbol;
 
-     /// Control identifiers
 
-     enum {
 
-         ID_SYMBOLPICKERDIALOG = 10600,
 
-         ID_SYMBOLPICKERDIALOG_FONT = 10602,
 
-         ID_SYMBOLPICKERDIALOG_SUBSET = 10605,
 
-         ID_SYMBOLPICKERDIALOG_LISTCTRL = 10608,
 
-         ID_SYMBOLPICKERDIALOG_CHARACTERCODE = 10601,
 
-         ID_SYMBOLPICKERDIALOG_FROM = 10603
 
-     };
 
- ////@end wxSymbolPickerDialog member variables
 
-     bool m_dontUpdate;
 
-     static bool             sm_showToolTips;
 
- };
 
- /*!
 
-  * The scrolling symbol list.
 
-  */
 
- class WXDLLIMPEXP_RICHTEXT wxSymbolListCtrl : public wxVScrolledWindow
 
- {
 
- public:
 
-     // constructors and such
 
-     // ---------------------
 
-     // default constructor, you must call Create() later
 
-     wxSymbolListCtrl() { Init(); }
 
-     // normal constructor which calls Create() internally
 
-     wxSymbolListCtrl(wxWindow *parent,
 
-                wxWindowID id = wxID_ANY,
 
-                const wxPoint& pos = wxDefaultPosition,
 
-                const wxSize& size = wxDefaultSize,
 
-                long style = 0,
 
-                const wxString& name = wxPanelNameStr)
 
-     {
 
-         Init();
 
-         (void)Create(parent, id, pos, size, style, name);
 
-     }
 
-     // really creates the control and sets the initial number of items in it
 
-     // (which may be changed later with SetItemCount())
 
-     //
 
-     // returns true on success or false if the control couldn't be created
 
-     bool Create(wxWindow *parent,
 
-                 wxWindowID id = wxID_ANY,
 
-                 const wxPoint& pos = wxDefaultPosition,
 
-                 const wxSize& size = wxDefaultSize,
 
-                 long style = 0,
 
-                 const wxString& name = wxPanelNameStr);
 
-     // dtor does some internal cleanup
 
-     virtual ~wxSymbolListCtrl();
 
-     // accessors
 
-     // ---------
 
-     // set the current font
 
-     virtual bool SetFont(const wxFont& font);
 
-     // set Unicode/ASCII mode
 
-     void SetUnicodeMode(bool unicodeMode);
 
-     // get the index of the currently selected item or wxNOT_FOUND if there is no selection
 
-     int GetSelection() const;
 
-     // is this item selected?
 
-     bool IsSelected(int item) const;
 
-     // is this item the current one?
 
-     bool IsCurrentItem(int item) const { return item == m_current; }
 
-     // get the margins around each cell
 
-     wxPoint GetMargins() const { return m_ptMargins; }
 
-     // get the background colour of selected cells
 
-     const wxColour& GetSelectionBackground() const { return m_colBgSel; }
 
-     // operations
 
-     // ----------
 
-     // 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);
 
-     // set the margins: horizontal margin is the distance between the window
 
-     // border and the item contents while vertical margin is half of the
 
-     // distance between items
 
-     //
 
-     // 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; }
 
-     // change the background colour of the selected cells
 
-     void SetSelectionBackground(const wxColour& col);
 
-     virtual wxVisualAttributes GetDefaultAttributes() const
 
-     {
 
-         return GetClassDefaultAttributes(GetWindowVariant());
 
-     }
 
-     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
 
-     virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const;
 
-     // gets the line height
 
-     virtual wxCoord OnGetRowHeight(size_t line) const;
 
-     // event handlers
 
-     void OnPaint(wxPaintEvent& event);
 
-     void OnKeyDown(wxKeyEvent& event);
 
-     void OnLeftDown(wxMouseEvent& event);
 
-     void OnLeftDClick(wxMouseEvent& event);
 
-     // common part of all ctors
 
-     void Init();
 
-     // send the wxEVT_LISTBOX event
 
-     void SendSelectedEvent();
 
-     // change the current item (in single selection listbox it also implicitly
 
-     // changes the selection); current may be wxNOT_FOUND in which case there
 
-     // will be no current item any more
 
-     //
 
-     // return true if the current item changed, false otherwise
 
-     bool DoSetCurrent(int current);
 
-     // flags for DoHandleItemClick
 
-     enum
 
-     {
 
-         ItemClick_Shift = 1,        // item shift-clicked
 
-         ItemClick_Ctrl  = 2,        //       ctrl
 
-         ItemClick_Kbd   = 4         // item selected from keyboard
 
-     };
 
-     // 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);
 
- private:
 
-     // the current item or wxNOT_FOUND
 
-     int m_current;
 
-     // margins
 
-     wxPoint     m_ptMargins;
 
-     // the selection bg colour
 
-     wxColour    m_colBgSel;
 
-     // 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()
 
-     wxDECLARE_NO_COPY_CLASS(wxSymbolListCtrl);
 
-     DECLARE_ABSTRACT_CLASS(wxSymbolListCtrl)
 
- };
 
- #endif
 
-     // _RICHTEXTSYMBOLDLG_H_
 
 
  |