27 #ifndef _vdktextview_h
28 #define _vdktextview_h
29 #include <vdk/widcontain.h>
30 #include <vdk/vdkprops.h>
31 #include <vdk/eventbox.h>
32 #define INSERT_MARK "insert"
46 #ifndef USE_SIGCPLUSPLUS
61 GtkTextBuffer* buffer;
67 VDKReadWriteValueProp<VDKTextBuffer,int>
Pointer;
71 VDKReadWriteValueProp<VDKTextBuffer,int>
Column;
75 VDKReadWriteValueProp<VDKTextBuffer,int>
Line;
79 VDKReadOnlyValueProp<VDKTextBuffer,unsigned int> Length;
83 VDKReadWriteValueProp<VDKTextBuffer,bool>
Changed;
109 GtkTextBuffer*
Buffer() {
return buffer; }
119 void TextInsert(
const char* txt,
int nchar = -1);
130 gchar*
GetChars(
int start,
int end = -1);
152 void SetPointer(
int p);
156 void SetColumn(
int r);
158 unsigned int GetLength()
160 return gtk_text_buffer_get_char_count(buffer);
164 return gtk_text_buffer_get_modified(buffer);
166 void SetChanged(
bool f)
168 gtk_text_buffer_set_modified(buffer,f);
184 #define TVB_ALL 0x0000
185 #define TVB_LEFT 0x0001
186 #define TVB_TOP 0x0002
187 #define TVB_RIGHT 0x0004
188 #define TVB_BOTTOM 0x0008
189 #define TVB_TYPEMASK 0x000F
197 void ConnectSignals();
198 static void HandleRealize(GtkWidget*, gpointer);
213 int left_border = 0);
220 GtkStateType state = GTK_STATE_NORMAL);
222 GtkStateType state = GTK_STATE_NORMAL);
246 void TextBorder(
int size,
int which = TVB_ALL);
251 void ScrollToPos (
int pointer = -1,
int margin = 0);
260 VDKReadWriteValueProp<VDKTextView,int>
Pointer;
264 VDKReadWriteValueProp<VDKTextView,int>
Column;
268 VDKReadWriteValueProp<VDKTextView,int>
Line;
272 VDKReadOnlyValueProp<VDKTextView,unsigned int> Length;
276 VDKReadWriteValueProp<VDKTextView,bool> Editable;
280 VDKReadWriteValueProp<VDKTextView,unsigned int> MaxUndo;
284 VDKReadWriteValueProp<VDKTextView,bool> LineAutoSelect;
288 VDKReadWriteValueProp<VDKTextView,bool> ShowLineNumbers;
300 VDKReadWriteValueProp<VDKTextView,bool>
Changed;
389 void SetPointer(
int p) { buffer->SetPointer(p); }
390 int GetPointer() {
return buffer->GetPointer(); }
391 void SetLine(
int r) { buffer->SetLine(r); }
392 int GetLine() {
return buffer->GetLine(); }
393 void SetColumn(
int r) { buffer->SetColumn(r); }
394 int GetColumn() {
return buffer->GetColumn(); }
395 unsigned int GetLength() {
return buffer->GetLength(); }
397 {
return gtk_text_view_get_editable (GTK_TEXT_VIEW(view));}
398 void SetEditable(
bool f)
399 { gtk_text_view_set_editable (GTK_TEXT_VIEW(view),f);}
400 void SetShowLineNumbers(
bool f);
401 int GetFirstVisibleLine();
402 int GetLastVisibleLine();
403 bool GetChanged() {
return buffer->GetChanged(); }
404 void SetChanged(
bool f) { buffer->SetChanged(f); }