]> git.saurik.com Git - wxWidgets.git/blame - samples/stc/edit.h
gravity for splitter window (patch 1046105)
[wxWidgets.git] / samples / stc / edit.h
CommitLineData
88a8b04e
RD
1//////////////////////////////////////////////////////////////////////////////
2// File: edit.h
3// Purpose: STC test module
4// Maintainer: Wyo
5// Created: 2003-09-01
6// RCS-ID: $Id$
7// Copyright: (c) wxGuide
8// Licence: wxWindows licence
9//////////////////////////////////////////////////////////////////////////////
10
11#ifndef _EDIT_H_
12#define _EDIT_H_
13
14//----------------------------------------------------------------------------
15// informations
16//----------------------------------------------------------------------------
17
18
19//----------------------------------------------------------------------------
20// headers
21//----------------------------------------------------------------------------
22
be5a51fb 23//! wxWidgets headers
88a8b04e 24
be5a51fb 25//! wxWidgets/contrib headers
88a8b04e
RD
26#include <wx/stc/stc.h> // styled text control
27
28//! application headers
29#include "prefs.h" // preferences
30
31
32//============================================================================
33// declarations
34//============================================================================
35
36class EditPrint;
37class EditProperties;
38
39
40//----------------------------------------------------------------------------
41//! Edit
42class Edit: public wxStyledTextCtrl {
43 friend class EditProperties;
44 friend class EditPrint;
45
46public:
47 //! constructor
7e126a07 48 Edit (wxWindow *parent, wxWindowID id = wxID_ANY,
88a8b04e
RD
49 const wxPoint &pos = wxDefaultPosition,
50 const wxSize &size = wxDefaultSize,
51 long style = wxSUNKEN_BORDER|wxVSCROLL
52 );
53
54 //! destructor
55 ~Edit ();
56
57 // event handlers
58 // common
59 void OnSize( wxSizeEvent &event );
60 // edit
61 void OnEditRedo (wxCommandEvent &event);
62 void OnEditUndo (wxCommandEvent &event);
63 void OnEditClear (wxCommandEvent &event);
64 void OnEditCut (wxCommandEvent &event);
65 void OnEditCopy (wxCommandEvent &event);
66 void OnEditPaste (wxCommandEvent &event);
67 // find
68 void OnFind (wxCommandEvent &event);
69 void OnFindNext (wxCommandEvent &event);
70 void OnReplace (wxCommandEvent &event);
71 void OnReplaceNext (wxCommandEvent &event);
72 void OnBraceMatch (wxCommandEvent &event);
73 void OnGoto (wxCommandEvent &event);
74 void OnEditIndentInc (wxCommandEvent &event);
75 void OnEditIndentRed (wxCommandEvent &event);
76 void OnEditSelectAll (wxCommandEvent &event);
77 void OnEditSelectLine (wxCommandEvent &event);
78 //! view
79 void OnHilightLang (wxCommandEvent &event);
80 void OnDisplayEOL (wxCommandEvent &event);
81 void OnIndentGuide (wxCommandEvent &event);
82 void OnLineNumber (wxCommandEvent &event);
83 void OnLongLineOn (wxCommandEvent &event);
84 void OnWhiteSpace (wxCommandEvent &event);
85 void OnFoldToggle (wxCommandEvent &event);
86 void OnSetOverType (wxCommandEvent &event);
87 void OnSetReadOnly (wxCommandEvent &event);
88 void OnWrapmodeOn (wxCommandEvent &event);
89 void OnUseCharset (wxCommandEvent &event);
90 //! extra
91 void OnChangeCase (wxCommandEvent &event);
92 void OnConvertEOL (wxCommandEvent &event);
93 // stc
94 void OnMarginClick (wxStyledTextEvent &event);
95 void OnCharAdded (wxStyledTextEvent &event);
96
97 //! language/lexer
98 wxString DeterminePrefs (const wxString &filename);
99 bool InitializePrefs (const wxString &filename);
100 bool UserSettings (const wxString &filename);
101 LanguageInfo const* GetLanguageInfo () {return m_language;};
102
103 //! load/save file
104 bool LoadFile ();
105 bool LoadFile (const wxString &filename);
106 bool SaveFile ();
107 bool SaveFile (const wxString &filename);
108 bool Modified ();
109 wxString GetFilename () {return m_filename;};
110 void SetFilename (const wxString &filename) {m_filename = filename;};
111
112private:
113 // file
114 wxString m_filename;
115
116 // lanugage properties
117 LanguageInfo const* m_language;
118
119 // margin variables
120 int m_LineNrID;
121 int m_LineNrMargin;
122 int m_FoldingID;
123 int m_FoldingMargin;
124 int m_DividerID;
125
126 DECLARE_EVENT_TABLE()
127};
128
129//----------------------------------------------------------------------------
130//! EditProperties
131class EditProperties: public wxDialog {
132
133public:
134
135 //! constructor
136 EditProperties (Edit *edit, long style = 0);
137
138private:
139
140};
141
142//----------------------------------------------------------------------------
143//! EditPrint
144class EditPrint: public wxPrintout {
145
146public:
147
148 //! constructor
149 EditPrint (Edit *edit, wxChar *title = _T(""));
150
151 //! event handlers
152 bool OnPrintPage (int page);
153 bool OnBeginDocument (int startPage, int endPage);
154
155 //! print functions
156 bool HasPage (int page);
157 void GetPageInfo (int *minPage, int *maxPage, int *selPageFrom, int *selPageTo);
158
159private:
160 Edit *m_edit;
161 int m_printed;
162 wxRect m_pageRect;
163 wxRect m_printRect;
164
165 bool PrintScaling (wxDC *dc);
166};
167
168#endif // _EDIT_H_
169