vdk 2.4.0
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
VDKEditor Class Reference

Provides a nice source editor wrapping Mike Hammerson GtkSourceView. Editor provides: More...

#include <vdkeditor.h>

Inheritance diagram for VDKEditor:
VDKObject VDKNotCopyAble

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 ()
 
- Public Member Functions inherited from VDKObject
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
 
- Public Attributes inherited from VDKObject
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

- Protected Attributes inherited from VDKObject
VDKObjectSignal s_clicked
 
GtkWidget * widget
 
GtkWidget * sigwid
 
VDKObject * parent
 

Detailed Description

Provides a nice source editor wrapping Mike Hammerson GtkSourceView. Editor provides:

Constructor & Destructor Documentation

VDKEditor::VDKEditor ( VDKForm *  owner,
GtkSourceBuffer *  buff = NULL 
)

Constructor

Parameters
owner
bufferNULL widget will make his own buffer, otherwise will share <buffer>
left_borderif greater than 0 a left window will be made with <left_border> size
tip
left_border should be greater than zero if user wants activate ShowLineNumbers property.
VDKEditor::~VDKEditor ( )
virtual

Destructor

Member Function Documentation

void VDKEditor::AddLineMark ( int  line,
const char *  icon_key 
)

Add a mark on line numbers

Parameters
linewhere mark will be displayed
icon_keyan unique string as image id
bool VDKEditor::AddMarkIcon ( VDKPixbuf *  image,
const char *  icon_key,
bool  overwrite = true 
)

Add an icoon for line markers

Parameters
imagea VDKPixbuf to be displayed
icon_keyan unique string as image id
overwiteif true non unique keys will have icons overwritten
void VDKEditor::BackwardDelete ( int  nchars)

Backward delete chars from insertion point

GtkSourceBuffer* VDKEditor::Buffer ( void  )
inline

Gets text buffer.

void VDKEditor::Clear ( )

Clears text buffer deleting all text.

void VDKEditor::ClearSyntaxTable ( )

Clear syntax table

void VDKEditor::Eol ( )
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

Parameters
startstarting position
endending position, if -1 all text buffer from start to end will be returned.
Tip
Invisible chars won't be included. Returned address should be g_free()'d by user.
int VDKEditor::GetLineAtOffset ( int  offset)

Gets line number at a buffer position

Parameters
offsetbuffer offset position (counting from 0) on error returns -1
char * VDKEditor::GetWord ( int  pos = -1)

Gets a word

Parameters
pos,positioninto 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.

Parameters
key_colorcolor for language keywords
key_fontrelated font
gtk_colorcolor for gtk_xxx_xxx and VDK functions/members
gtk_fontrelated font
macro_colorcolor for macros
macro_fontrelated font
pp_colorcolor for prepocessor directives
pp_fontrelated font
const_colorcolor for constants (numbers,chars,strings)
const_fontrelated font
comment_colorfor remarks
comment_fontrelated font
bool VDKEditor::IsLineVisible ( int  line)
inline

Answer if a line is visible or not line are counted from 0

Parameters
line
bool VDKEditor::LoadFromFile ( const char *  filename)

Load text buffer with a file

Parameters
filename
TokenList * VDKEditor::LoadTokens ( const char *  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.

Parameters
filename
void VDKEditor::RemoveAllLineMarks ( )

Remove all markers

void VDKEditor::RemoveLineMark ( int  line,
const char *  icon_key 
)

Remove a mark on line numbers

Parameters
linewhere mark will be removed from
icon_key
void VDKEditor::RemoveLineMarks ( int  line)

Remove all marks on line numbers

Parameters
linewhere 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

void VDKEditor::SetBackground ( VDKRgb  color,
GtkStateType  state = GTK_STATE_NORMAL 
)
virtual

Sets object background

Parameters
colora VDKRgb object
statecan be one of the gtk+ widget states

Reimplemented from VDKObject.

void VDKEditor::SetFont ( VDKFont *  f)
virtual

Sets object font

Reimplemented from VDKObject.

void VDKEditor::SetForeground ( VDKRgb  color,
GtkStateType  state = GTK_STATE_NORMAL 
)
virtual

Sets object foreground

Parameters
colora VDKRgb object
statecan be one of the gtk+ widget states

Reimplemented from VDKObject.

TokenList* VDKEditor::SetTokens ( TokenList *  tkl = NULL)
inline

Sets/gets a tokens list to editor

Parameters
tkla 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.

Parameters
txtnull terminating string to be inserted
ncharshow many chars have to be inserted (-1 means all)
void VDKEditor::UnselectText ( )

Unselect any previous selected text

Member Data Documentation

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)


The documentation for this class was generated from the following files: