| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- //////////////////////////////////////////////////////////////////////////////
- // File: edit.h
- // Purpose: STC test module
- // Maintainer: Wyo
- // Created: 2003-09-01
- // Copyright: (c) wxGuide
- // Licence: wxWindows licence
- //////////////////////////////////////////////////////////////////////////////
- #ifndef _EDIT_H_
- #define _EDIT_H_
- //----------------------------------------------------------------------------
- // informations
- //----------------------------------------------------------------------------
- //----------------------------------------------------------------------------
- // headers
- //----------------------------------------------------------------------------
- //! wxWidgets headers
- //! wxWidgets/contrib headers
- #include "wx/stc/stc.h" // styled text control
- //! application headers
- #include "prefs.h" // preferences
- //============================================================================
- // declarations
- //============================================================================
- class EditPrint;
- class EditProperties;
- //----------------------------------------------------------------------------
- //! Edit
- class Edit: public wxStyledTextCtrl {
- friend class EditProperties;
- friend class EditPrint;
- public:
- //! constructor
- Edit (wxWindow *parent, wxWindowID id = wxID_ANY,
- const wxPoint &pos = wxDefaultPosition,
- const wxSize &size = wxDefaultSize,
- long style =
- #ifndef __WXMAC__
- wxSUNKEN_BORDER|
- #endif
- wxVSCROLL
- );
- //! destructor
- ~Edit ();
- // event handlers
- // common
- void OnSize( wxSizeEvent &event );
- // edit
- void OnEditRedo (wxCommandEvent &event);
- void OnEditUndo (wxCommandEvent &event);
- void OnEditClear (wxCommandEvent &event);
- void OnEditCut (wxCommandEvent &event);
- void OnEditCopy (wxCommandEvent &event);
- void OnEditPaste (wxCommandEvent &event);
- // find
- void OnFind (wxCommandEvent &event);
- void OnFindNext (wxCommandEvent &event);
- void OnReplace (wxCommandEvent &event);
- void OnReplaceNext (wxCommandEvent &event);
- void OnBraceMatch (wxCommandEvent &event);
- void OnGoto (wxCommandEvent &event);
- void OnEditIndentInc (wxCommandEvent &event);
- void OnEditIndentRed (wxCommandEvent &event);
- void OnEditSelectAll (wxCommandEvent &event);
- void OnEditSelectLine (wxCommandEvent &event);
- //! view
- void OnHilightLang (wxCommandEvent &event);
- void OnDisplayEOL (wxCommandEvent &event);
- void OnIndentGuide (wxCommandEvent &event);
- void OnLineNumber (wxCommandEvent &event);
- void OnLongLineOn (wxCommandEvent &event);
- void OnWhiteSpace (wxCommandEvent &event);
- void OnFoldToggle (wxCommandEvent &event);
- void OnSetOverType (wxCommandEvent &event);
- void OnSetReadOnly (wxCommandEvent &event);
- void OnWrapmodeOn (wxCommandEvent &event);
- void OnUseCharset (wxCommandEvent &event);
- // annotations
- void OnAnnotationAdd(wxCommandEvent& event);
- void OnAnnotationRemove(wxCommandEvent& event);
- void OnAnnotationClear(wxCommandEvent& event);
- void OnAnnotationStyle(wxCommandEvent& event);
- //! extra
- void OnChangeCase (wxCommandEvent &event);
- void OnConvertEOL (wxCommandEvent &event);
- // stc
- void OnMarginClick (wxStyledTextEvent &event);
- void OnCharAdded (wxStyledTextEvent &event);
- void OnKey (wxStyledTextEvent &event);
- void OnKeyDown(wxKeyEvent &event);
- //! language/lexer
- wxString DeterminePrefs (const wxString &filename);
- bool InitializePrefs (const wxString &filename);
- bool UserSettings (const wxString &filename);
- LanguageInfo const* GetLanguageInfo () {return m_language;};
- //! load/save file
- bool LoadFile ();
- bool LoadFile (const wxString &filename);
- bool SaveFile ();
- bool SaveFile (const wxString &filename);
- bool Modified ();
- wxString GetFilename () {return m_filename;};
- void SetFilename (const wxString &filename) {m_filename = filename;};
- private:
- // file
- wxString m_filename;
- // lanugage properties
- LanguageInfo const* m_language;
- // margin variables
- int m_LineNrID;
- int m_LineNrMargin;
- int m_FoldingID;
- int m_FoldingMargin;
- int m_DividerID;
- wxDECLARE_EVENT_TABLE();
- };
- //----------------------------------------------------------------------------
- //! EditProperties
- class EditProperties: public wxDialog {
- public:
- //! constructor
- EditProperties (Edit *edit, long style = 0);
- private:
- };
- #if wxUSE_PRINTING_ARCHITECTURE
- //----------------------------------------------------------------------------
- //! EditPrint
- class EditPrint: public wxPrintout {
- public:
- //! constructor
- EditPrint (Edit *edit, const wxChar *title = wxT(""));
- //! event handlers
- bool OnPrintPage (int page);
- bool OnBeginDocument (int startPage, int endPage);
- //! print functions
- bool HasPage (int page);
- void GetPageInfo (int *minPage, int *maxPage, int *selPageFrom, int *selPageTo);
- private:
- Edit *m_edit;
- int m_printed;
- wxRect m_pageRect;
- wxRect m_printRect;
- bool PrintScaling (wxDC *dc);
- };
- #endif // wxUSE_PRINTING_ARCHITECTURE
- #endif // _EDIT_H_
|