git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			173 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			173 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 = wxSUNKEN_BORDER|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, 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_
 |