git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			177 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //////////////////////////////////////////////////////////////////////////////
 | |
| // File:        edit.h
 | |
| // Purpose:     STC test module
 | |
| // Maintainer:  Wyo
 | |
| // Created:     2003-09-01
 | |
| // RCS-ID:      $Id$
 | |
| // 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);
 | |
|     //! extra
 | |
|     void OnChangeCase (wxCommandEvent &event);
 | |
|     void OnConvertEOL (wxCommandEvent &event);
 | |
|     // stc
 | |
|     void OnMarginClick (wxStyledTextEvent &event);
 | |
|     void OnCharAdded  (wxStyledTextEvent &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;
 | |
| 
 | |
|     DECLARE_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 = _T(""));
 | |
| 
 | |
|     //! 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_
 |