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); }
Provides a raw font.
Definition: vdkfont.h:38
Hierarchy root class.
Definition: vdkutils.h:264
Containers base class.
Definition: widcontain.h:40
Provides a simple RGB color structure.
Definition: vdkutils.h:38
Provides a gtk+ gtktextbuffer wrapper.
Definition: vdktextview.h:51
void BackwardDelete(int nchars)
Definition: vdktextview.cc:270
GtkTextBuffer * Buffer()
Definition: vdktextview.h:109
VDKReadWriteValueProp< VDKTextBuffer, int > Column
Definition: vdktextview.h:71
int GetLineAtOffset(int offset)
Definition: vdktextview.cc:286
void ForwardDelete(int nchars)
Definition: vdktextview.cc:250
virtual ~VDKTextBuffer()
Definition: vdktextview.cc:83
bool SaveToFile(const char *filename)
Definition: vdktextview.cc:119
VDKReadWriteValueProp< VDKTextBuffer, bool > Changed
Definition: vdktextview.h:83
VDKReadWriteValueProp< VDKTextBuffer, int > Pointer
Definition: vdktextview.h:67
void Undo()
Definition: vdktextview.h:142
VDKReadWriteValueProp< VDKTextBuffer, int > Line
Definition: vdktextview.h:75
void Clear()
Definition: vdktextview.cc:152
void TextInsert(const char *txt, int nchar=-1)
Definition: vdktextview.cc:145
VDKTextBuffer()
Definition: vdktextview.cc:56
bool LoadFromFile(const char *filename)
Definition: vdktextview.cc:93
gchar * GetChars(int start, int end=-1)
Definition: vdktextview.cc:233
Provides a gtk+ gtktextview wrapper. This widget works under a buffer-view model, text buffer take ca...
Definition: vdktextview.h:193
void Freeze()
Definition: vdktextview.h:339
void Undo()
Definition: vdktextview.h:345
gchar * GetChars(int start=0, int end=-1)
Definition: vdktextview.h:324
VDKTextView(VDKForm *owner, VDKTextBuffer *buffer=NULL, int left_border=0)
Definition: vdktextview.cc:301
void ScrollToLine(int line, int col, int margin=0)
Definition: vdktextview.cc:458
void Eol()
Definition: vdktextview.h:349
bool LoadFromFile(char *filename)
Definition: vdktextview.h:306
void Clear()
Definition: vdktextview.h:313
VDKReadWriteValueProp< VDKTextView, bool > Changed
Definition: vdktextview.h:300
void Thaw()
Definition: vdktextview.h:335
int GetLineAtOffset(int offset)
Definition: vdktextview.h:384
void BackwardDelete(int nchars)
Definition: vdktextview.h:367
void ScrollToPos(int pointer=-1, int margin=0)
Definition: vdktextview.cc:444
bool SaveToFile(char *filename)
Definition: vdktextview.h:331
VDKReadOnlyValueProp< VDKTextView, int > LastVisibleLine
Definition: vdktextview.h:296
void TextInsert(const char *txt, int nchar=-1)
Definition: vdktextview.h:355
virtual void SetBackground(VDKRgb color, GtkStateType state=GTK_STATE_NORMAL)
Definition: vdktextview.cc:391
VDKReadOnlyValueProp< VDKTextView, int > FirstVisibleLine
Definition: vdktextview.h:292
bool IsLineVisible(int line)
Definition: vdktextview.h:374
virtual ~VDKTextView()
Definition: vdktextview.cc:369
VDKReadWriteValueProp< VDKTextView, int > Pointer
Definition: vdktextview.h:260
VDKReadWriteValueProp< VDKTextView, int > Column
Definition: vdktextview.h:264
virtual void SetFont(VDKFont *font)
Definition: vdktextview.cc:412
void TextBorder(int size, int which=TVB_ALL)
Definition: vdktextview.cc:418
VDKTextBuffer * Buffer(VDKTextBuffer *buff=NULL)
Definition: vdktextview.cc:377
void ForwardDelete(int nchars)
Definition: vdktextview.h:362
virtual void SetForeground(VDKRgb rgb, GtkStateType state=GTK_STATE_NORMAL)
Definition: vdktextview.cc:405
VDKReadWriteValueProp< VDKTextView, int > Line
Definition: vdktextview.h:268