vdk 2.4.0
|
Provides a nice source editor wrapping Mike Hammerson GtkSourceView. Editor provides: More...
#include <vdkeditor.h>
Public Member Functions | |
VDKEditor (VDKForm *owner, GtkSourceBuffer *buff=NULL) | |
virtual | ~VDKEditor () |
TokenList * | SetTokens (TokenList *tkl=NULL) |
virtual void | SetForeground (VDKRgb rgb, GtkStateType state=GTK_STATE_NORMAL) |
virtual void | SetBackground (VDKRgb color, GtkStateType state=GTK_STATE_NORMAL) |
virtual void | SetFont (VDKFont *font) |
GtkSourceBuffer * | Buffer (void) |
void | Scroll (int pointer=-1, int margin=0) |
void | Scroll (int line, int col, int margin=0) |
char * | GetWord (int pos=-1) |
bool | LoadFromFile (const char *filename) |
void | Clear () |
gchar * | GetChars (int start=0, int end=-1) |
bool | SaveToFile (const char *filename) |
void | Eol () |
void | TextInsert (const char *txt, int nchar=-1) |
void | ForwardDelete (int nchars) |
void | BackwardDelete (int nchars) |
bool | IsLineVisible (int line) |
int | GetLineAtOffset (int offset) |
void | InstallSyntaxTable (VDKColor *key_color, VDKFont *key_font, VDKColor *gtk_color, VDKFont *gtk_font, VDKColor *macro_color, VDKFont *macro_font, VDKColor *pp_color, VDKFont *pp_font, VDKColor *const_color, VDKFont *const_font, VDKColor *comment_color, VDKFont *comment_font) |
void | ClearSyntaxTable () |
void | ScrollToPos (int pointer=-1, int margin=0) |
void | ScrollToLine (int line, int col, int margin=0) |
void | SelectText (int start, int end) |
void | UnselectText () |
bool | AddMarkIcon (VDKPixbuf *image, const char *icon_key, bool overwrite=true) |
void | AddLineMark (int line, const char *icon_key) |
void | RemoveLineMark (int line, const char *icon_key) |
void | RemoveLineMarks (int line) |
void | RemoveAllLineMarks () |
![]() | |
VDKRgb | GetBackground (GtkStateType state=GTK_STATE_NORMAL) |
VDKRgb | GetForeground (GtkStateType state=GTK_STATE_NORMAL) |
VDKObject (VDKForm *owner=NULL) | |
VDKObject (VDKForm *owner, GtkWidget *widget) | |
virtual | ~VDKObject () |
bool | Destroy () |
virtual int | isA () |
VDKForm * | Owner () |
virtual GtkWidget * | Widget () |
GtkWidget * | ConnectingWidget () |
GtkWidget * | WrappedWidget () |
VDKFont * | GetFont () |
void | SetVisible (bool visible) |
bool | GetVisible () |
void | SetCursor (VDKCursorType) |
VDKCursorType | GetCursor () |
void | SetSize (int w, int h) |
void | SetUsize (VDKPoint s) |
virtual void | SetTip (char *) |
virtual void | Add (VDKObject *obj, int justify=l_justify, int expand=TRUE, int fill=TRUE, int padding=0) |
ItemList & | Items () |
void | Draw (GdkRectangle *area=NULL) |
virtual void | Setup () |
void | SignalEmit (int signal) |
void | SignalEmit (char *sig) |
void | SignalEmitParent (int signal) |
void | SignalEmitParent (char *sig) |
void | GrabFocus () |
VDKObject * | Parent (VDKObject *p=NULL) |
int | SignalConnect (VDKObject *obj, char *signal, bool(VDKObject::*method)(VDKObject *), bool gtk=true, bool after=false) |
int | SignalConnect (char *signal, bool(VDKObject::*method)(VDKObject *), bool gtk=true, bool after=false) |
bool | SignalDisconnect (int connection) |
int | EventConnect (VDKObject *obj, char *event, bool(VDKObject::*method)(VDKObject *, GdkEvent *), bool after=false) |
int | EventConnect (char *, bool(VDKObject::*)(VDKObject *, GdkEvent *), bool after=false) |
bool | EventDisconnect (int connection) |
Static Public Member Functions | |
static TokenList * | LoadTokens (const char *filename) |
Public Attributes | |
VDKReadWriteValueProp< VDKEditor, int > | Pointer |
VDKReadWriteValueProp< VDKEditor, int > | Column |
VDKReadWriteValueProp< VDKEditor, int > | Line |
VDKReadOnlyValueProp< VDKEditor, int > | FirstVisibleLine |
VDKReadOnlyValueProp< VDKEditor, int > | LastVisibleLine |
VDKReadWriteValueProp< VDKEditor, bool > | Changed |
![]() | |
VDKReadWriteValueProp< VDKObject, VDKRgb > | NormalBackground |
VDKReadWriteValueProp< VDKObject, VDKFont * > | Font |
SizeObjectProp | Usize |
VDKReadWriteValueProp< VDKObject, bool > | Enabled |
VDKReadWriteValueProp< VDKObject, VDKCursorType > | Cursor |
VDKReadWriteValueProp< VDKObject, bool > | Visible |
Additional Inherited Members | |
![]() | |
VDKObjectSignal | s_clicked |
GtkWidget * | widget |
GtkWidget * | sigwid |
VDKObject * | parent |
Provides a nice source editor wrapping Mike Hammerson GtkSourceView. Editor provides:
VDKEditor::VDKEditor | ( | VDKForm * | owner, |
GtkSourceBuffer * | buff = NULL |
||
) |
Constructor
owner | |
buffer | NULL widget will make his own buffer, otherwise will share <buffer> |
left_border | if greater than 0 a left window will be made with <left_border> size |
|
virtual |
Destructor
void VDKEditor::AddLineMark | ( | int | line, |
const char * | icon_key | ||
) |
Add a mark on line numbers
line | where mark will be displayed |
icon_key | an unique string as image id |
bool VDKEditor::AddMarkIcon | ( | VDKPixbuf * | image, |
const char * | icon_key, | ||
bool | overwrite = true |
||
) |
Add an icoon for line markers
image | a VDKPixbuf to be displayed |
icon_key | an unique string as image id |
overwite | if true non unique keys will have icons overwritten |
void VDKEditor::BackwardDelete | ( | int | nchars | ) |
Backward delete chars from insertion point
|
inline |
Gets text buffer.
void VDKEditor::Clear | ( | ) |
Clears text buffer deleting all text.
void VDKEditor::ClearSyntaxTable | ( | ) |
Clear syntax table
|
inline |
Inserts a new line at insertion point
void VDKEditor::ForwardDelete | ( | int | nchars | ) |
Forward delete chars from insertion point
gchar * VDKEditor::GetChars | ( | int | start = 0 , |
int | end = -1 |
||
) |
Returns a text segment
start | starting position |
end | ending position, if -1 all text buffer from start to end will be returned. |
int VDKEditor::GetLineAtOffset | ( | int | offset | ) |
Gets line number at a buffer position
offset | buffer offset position (counting from 0) on error returns -1 |
char * VDKEditor::GetWord | ( | int | pos = -1 | ) |
Gets a word
pos,position | into text buffer, if pos == -1 gets the word at insertion point. |
void VDKEditor::InstallSyntaxTable | ( | VDKColor * | key_color, |
VDKFont * | key_font, | ||
VDKColor * | gtk_color, | ||
VDKFont * | gtk_font, | ||
VDKColor * | macro_color, | ||
VDKFont * | macro_font, | ||
VDKColor * | pp_color, | ||
VDKFont * | pp_font, | ||
VDKColor * | const_color, | ||
VDKFont * | const_font, | ||
VDKColor * | comment_color, | ||
VDKFont * | comment_font | ||
) |
Install syntax table. If a color arg is left to NULL no higligth will be done on that word set, if a font arg is left to NULL makes default font to be used.
key_color | color for language keywords |
key_font | related font |
gtk_color | color for gtk_xxx_xxx and VDK functions/members |
gtk_font | related font |
macro_color | color for macros |
macro_font | related font |
pp_color | color for prepocessor directives |
pp_font | related font |
const_color | color for constants (numbers,chars,strings) |
const_font | related font |
comment_color | for remarks |
comment_font | related font |
|
inline |
Answer if a line is visible or not line are counted from 0
line |
bool VDKEditor::LoadFromFile | ( | const char * | filename | ) |
Load text buffer with a file
filename |
|
static |
Loads tokens list for word completions from file, returns a newly constructed list to be assigned to editor with SetTokens(). User is responsible to delete token list when no longer in use. File format : simply a token per line.
filename |
void VDKEditor::RemoveAllLineMarks | ( | ) |
Remove all markers
void VDKEditor::RemoveLineMark | ( | int | line, |
const char * | icon_key | ||
) |
Remove a mark on line numbers
line | where mark will be removed from |
icon_key |
void VDKEditor::RemoveLineMarks | ( | int | line | ) |
Remove all marks on line numbers
line | where marks will be removed from |
bool VDKEditor::SaveToFile | ( | const char * | filename | ) |
Save buffer to file
void VDKEditor::Scroll | ( | int | pointer = -1 , |
int | margin = 0 |
||
) |
Scrolls to a pointer pos or (default) to current pointer position, leaving <margin> pixels free
void VDKEditor::Scroll | ( | int | line, |
int | col, | ||
int | margin = 0 |
||
) |
Scrolls to a line,column leaving <margin> pixels free
void VDKEditor::ScrollToLine | ( | int | line, |
int | col, | ||
int | margin = 0 |
||
) |
Scrolls to a line,column leaving <margin> pixels free
void VDKEditor::ScrollToPos | ( | int | pointer = -1 , |
int | margin = 0 |
||
) |
Scrolls to a pointer pos or (default) to current pointer position, leaving <margin> pixels free
void VDKEditor::SelectText | ( | int | start, |
int | end | ||
) |
Select text from start to end position
|
virtual |
|
virtual |
Sets/gets a tokens list to editor
tkl | a valid token list address, if tkl == NULL return editor token list address |
void VDKEditor::TextInsert | ( | const char * | txt, |
int | nchar = -1 |
||
) |
Inserts text at cursor position.
txt | null terminating string to be inserted |
nchars | how many chars have to be inserted (-1 means all) |
void VDKEditor::UnselectText | ( | ) |
Unselect any previous selected text
VDKReadWriteValueProp<VDKEditor,bool> VDKEditor::Changed |
Sets/gets modified flag
VDKReadWriteValueProp<VDKEditor,int> VDKEditor::Column |
Sets/gets text insertion position expressed in column offset
VDKReadOnlyValueProp<VDKEditor,int> VDKEditor::FirstVisibleLine |
Gets first visible line (lines are counted from 0)
VDKReadOnlyValueProp<VDKEditor,int> VDKEditor::LastVisibleLine |
Gets last visible line (lines are counted from 0)
VDKReadWriteValueProp<VDKEditor,int> VDKEditor::Line |
Sets/gets text insertion position expressed in lines
VDKReadWriteValueProp<VDKEditor,int> VDKEditor::Pointer |
Sets/gets text insertion position expressed in chars from text beginning. (counting from 0, gets -1 on failure)