The model for SourceView widgets. More...
Inherits Gtk::TextBuffer.
Public Member Functions | |
virtual | ~SourceBuffer () |
GtkSourceBuffer* | gobj () |
Provides access to the underlying C GObject. | |
const GtkSourceBuffer* | gobj () const |
Provides access to the underlying C GObject. | |
GtkSourceBuffer* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
bool | get_highlight_matching_brackets () const |
Determines whether bracket match highlighting is activated for the source buffer. | |
void | set_highlight_matching_brackets (bool highlight=true) |
controls the bracket match highlighting function in the buffer. | |
bool | get_highlight_syntax () const |
Determines whether text highlighting is activated in the source buffer. | |
void | set_highlight_syntax (bool highlight=true) |
controls whether text is highlighted in the buffer. | |
int | get_max_undo_levels () const |
Determines the number of undo levels the buffer will track for buffer edits. | |
void | set_max_undo_levels (int max_undo_levels) |
Sets the number of undo levels for user actions the buffer will track. | |
Glib::RefPtr< SourceLanguage > | get_language () |
Determines the GtkSourceLanguage used by the buffer. | |
Glib::RefPtr< const SourceLanguage > | get_language () const |
Determines the GtkSourceLanguage used by the buffer. | |
void | set_language (const Glib::RefPtr< SourceLanguage >& language) |
Sets the GtkSourceLanguage the source buffer will use. | |
bool | can_undo () const |
Determines whether a source buffer can undo the last action. | |
bool | can_redo () const |
Determines whether a source buffer can redo the last action. | |
void | undo () |
Undoes the last user action which modified the buffer. | |
void | redo () |
redoes the last undo operation. | |
void | begin_not_undoable_action () |
Marks the beginning of a not undoable action on the buffer, disabling the undo manager. | |
void | end_not_undoable_action () |
Marks the end of a not undoable action on the buffer. | |
bool | backward_iter_to_source_mark (Gtk::TextIter& iter, const Glib::ustring& category) |
Moves iter to the position of the previous GtkSourceMark of the given category. | |
bool | backward_iter_to_source_mark (Gtk::TextIter& iter) |
bool | forward_iter_to_source_mark (Gtk::TextIter& iter, const Glib::ustring& category) |
Moves iter to the position of the next SourceMark of the given category. | |
bool | forward_iter_to_source_mark (Gtk::TextIter& iter) |
Moves iter to the position of the next SourceMark. | |
void | ensure_highlight (const Gtk::TextIter&start, const Gtk::TextIter&end) |
Forces buffer to analyze and highlight the given area synchronously. | |
void | set_style_scheme (const Glib::RefPtr< SourceStyleScheme >& scheme) |
Sets style scheme used by the buffer. | |
Glib::RefPtr< SourceStyleScheme > | get_style_scheme () |
Returns the style scheme currently used by the buffer. | |
Glib::RefPtr< const SourceStyleScheme > | get_style_scheme () const |
Returns the style scheme currently used by the buffer. | |
Glib::RefPtr< SourceMark > | create_source_mark (const Glib::ustring& name, const Glib::ustring& category, const Gtk::TextIter& where) |
Creates a source mark in the buffer of category category. | |
Glib::RefPtr< SourceMark > | create_source_mark (const Glib::ustring& category, const Gtk::TextIter& where) |
Glib::SListHandle < Glib::RefPtr< SourceMark > > | get_source_marks_at_line (int line, const Glib::ustring& category) const |
Returns the list of marks of the given category at line. | |
Glib::SListHandle < Glib::RefPtr< SourceMark > > | get_source_marks_at_line (int line) const |
Returns all source marks marks at line. | |
Glib::SListHandle < Glib::RefPtr< SourceMark > > | get_source_marks_at_iter (Gtk::TextIter& iter, const Glib::ustring& category) const |
returns the list of marks of the given category at a given itertor. | |
Glib::SListHandle < Glib::RefPtr< SourceMark > > | get_source_marks_at_iter (Gtk::TextIter& iter) const |
returns all the marks at a given iterator. | |
void | remove_source_marks (const Gtk::TextIter&start, const Gtk::TextIter&end, const Glib::ustring& category) |
Remove all marks of a given category, from a given region of the. | |
void | remove_source_marks (const Gtk::TextIter&start, const Gtk::TextIter&end) |
bool | iter_has_context_class (const Gtk::TextIter& iter, const Glib::ustring& context) const |
Check if the class context_klass is set on iter. | |
bool | iter_backward_to_context_class_toggle (Gtk::TextIter& iter, const Glib::ustring& context) const |
Moves backward to the next toggle (on or off) of the context class. | |
bool | iter_forward_to_context_class_toggle (Gtk::TextIter& iter, const Glib::ustring& context) const |
Moves forward to the next toggle (on or off) of the context class. | |
Glib::StringArrayHandle | get_context_classes_at_iter (const Gtk::TextIter& iter) const |
Get all defined context classes at iter. | |
Glib::PropertyProxy< bool > | property_highlight_syntax () |
Whether to highlight syntax in the buffer. | |
Glib::PropertyProxy_ReadOnly < bool > | property_highlight_syntax () const |
Whether to highlight syntax in the buffer. | |
Glib::PropertyProxy< bool > | property_highlight_matching_brackets () |
Whether to highlight matching brackets. | |
Glib::PropertyProxy_ReadOnly < bool > | property_highlight_matching_brackets () const |
Whether to highlight matching brackets. | |
Glib::PropertyProxy< int > | property_max_undo_levels () |
Number of undo levels for the buffer. | |
Glib::PropertyProxy_ReadOnly< int > | property_max_undo_levels () const |
Number of undo levels for the buffer. | |
Glib::PropertyProxy < Glib::RefPtr< SourceLanguage > > | property_language () |
Language object to get highlighting patterns from. | |
Glib::PropertyProxy_ReadOnly < Glib::RefPtr< SourceLanguage > > | property_language () const |
Language object to get highlighting patterns from. | |
Glib::PropertyProxy_ReadOnly < bool > | property_can_undo () const |
Whether Undo operation is possible. | |
Glib::PropertyProxy_ReadOnly < bool > | property_can_redo () const |
Whether Redo operation is possible. | |
Glib::PropertyProxy < Glib::RefPtr < SourceStyleScheme > > | property_style_scheme () |
Style scheme. | |
Glib::PropertyProxy_ReadOnly < Glib::RefPtr < SourceStyleScheme > > | property_style_scheme () const |
Style scheme. | |
Glib::SignalProxy0< void > | signal_undo () |
Glib::SignalProxy0< void > | signal_redo () |
signals | |
Glib::SignalProxy2< void, Gtk::TextIter&, Gtk::TextIter& > | signal_highlight_updated () |
Emitted whenever the syntax highlighting information has been updated, so that views can request a redraw if the region changed is visible. | |
Glib::SignalProxy1< void, const Glib::RefPtr< SourceMark >& > | signal_source_mark_updated () |
Emitted whenever a marker of sourcebuffer has changed and needs to be redisplayed by the view. | |
Static Public Member Functions | |
static Glib::RefPtr< SourceBuffer > | create (const Glib::RefPtr< Gtk::TextTagTable >& tagtable) |
create a new SourceBuffer, from a Gtk::TextTagTable. | |
static Glib::RefPtr< SourceBuffer > | create (const Glib::RefPtr< SourceLanguage >& language) |
brief create a new SourceBuffer | |
Protected Member Functions | |
SourceBuffer () | |
SourceBuffer (const Glib::RefPtr< Gtk::TextTagTable >& tag_table) | |
SourceBuffer (const Glib::RefPtr< SourceLanguage >& language) | |
Related Functions | |
(Note that these are not member functions.) | |
Glib::RefPtr < gtksourceview::SourceBuffer > | wrap (GtkSourceBuffer* object, bool take_copy=false) |
A Glib::wrap() method for this object. |
The model for SourceView widgets.
It extends the TextBuffer object by adding features necessary to display and edit source code: syntax highlighting, bracket matching and markers. It also implements support for undo/redo operations. To create a SourceBuffer use SourceBuffer::create(). By default highlighting is enabled, but you can disable it with SourceBuffer::set_highlight_syntax(). This can be useful if you're not using SourceLanguage objects to set the highlighting patterns, and instead you're manually adding SourceTag objects to the buffer's tag table.
virtual gtksourceview::SourceBuffer::~SourceBuffer | ( | ) | [virtual] |
gtksourceview::SourceBuffer::SourceBuffer | ( | ) | [protected] |
gtksourceview::SourceBuffer::SourceBuffer | ( | const Glib::RefPtr< Gtk::TextTagTable > & | tag_table | ) | [explicit, protected] |
gtksourceview::SourceBuffer::SourceBuffer | ( | const Glib::RefPtr< SourceLanguage >& | language | ) | [explicit, protected] |
bool gtksourceview::SourceBuffer::backward_iter_to_source_mark | ( | Gtk::TextIter & | iter | ) |
bool gtksourceview::SourceBuffer::backward_iter_to_source_mark | ( | Gtk::TextIter & | iter, | |
const Glib::ustring & | category | |||
) |
Moves iter to the position of the previous GtkSourceMark of the given category.
Returns true if iter was moved. If category is NULL, the previous source mark can be of any category.
iter | the iterator to consider. | |
category | the category to search for or NULL. |
void gtksourceview::SourceBuffer::begin_not_undoable_action | ( | ) |
Marks the beginning of a not undoable action on the buffer, disabling the undo manager.
Typically you would call this function before initially setting the contents of the buffer (e.g. when loading a file in a text editor). You may nest SourceBuffer::begin_not_undoable_action() / SourceBuffer::end_not_undoable_action() blocks.
bool gtksourceview::SourceBuffer::can_redo | ( | ) | const |
Determines whether a source buffer can redo the last action.
I.E if the last operation was an undo.
bool gtksourceview::SourceBuffer::can_undo | ( | ) | const |
Determines whether a source buffer can undo the last action.
static Glib::RefPtr<SourceBuffer> gtksourceview::SourceBuffer::create | ( | const Glib::RefPtr< SourceLanguage >& | language | ) | [static] |
brief create a new SourceBuffer
language | the language to be considered by the SourceBuffer for syntax highlighting. |
static Glib::RefPtr<SourceBuffer> gtksourceview::SourceBuffer::create | ( | const Glib::RefPtr< Gtk::TextTagTable > & | tagtable | ) | [static] |
create a new SourceBuffer, from a Gtk::TextTagTable.
tagtable | a tag table to be taken in account |
Reimplemented from Gtk::TextBuffer.
Glib::RefPtr<SourceMark> gtksourceview::SourceBuffer::create_source_mark | ( | const Glib::ustring & | category, | |
const Gtk::TextIter & | where | |||
) |
Glib::RefPtr<SourceMark> gtksourceview::SourceBuffer::create_source_mark | ( | const Glib::ustring & | name, | |
const Glib::ustring & | category, | |||
const Gtk::TextIter & | where | |||
) |
Creates a source mark in the buffer of category category.
A source mark is a Gtk::TextMark but organised into categories. Depending on the category a pixbuf can be specified that will be displayed along the line of the mark. Like a Gtk::TextMark, a SourceMark can be anonymous if the passed name is NULL.
Note that the buffer owns the marks.
Marks always have left gravity and are moved to the beginning of the line when the user deletes the line they were in. Typical uses for a source mark are bookmarks, breakpoints, current executing instruction indication in a source file, etc..
name | the name of the mark, can be "". | |
category | a string defining the mark category. | |
where | location where to place the mark. |
void gtksourceview::SourceBuffer::end_not_undoable_action | ( | ) |
Marks the end of a not undoable action on the buffer.
When the last not undoable block is closed through the call to this function, the list of undo actions is cleared and the undo manager is re-enabled.
void gtksourceview::SourceBuffer::ensure_highlight | ( | const Gtk::TextIter & | start, | |
const Gtk::TextIter & | end | |||
) |
Forces buffer to analyze and highlight the given area synchronously.
start | start of the area to highlight. | |
end | end of the area to highlight. |
bool gtksourceview::SourceBuffer::forward_iter_to_source_mark | ( | Gtk::TextIter & | iter | ) |
Moves iter to the position of the next SourceMark.
Returns true if iter was moved. The category of the next SourceMark is considered to be NULL so that SourceMark can be of any category.
iter | the iterator to move. |
bool gtksourceview::SourceBuffer::forward_iter_to_source_mark | ( | Gtk::TextIter & | iter, | |
const Glib::ustring & | category | |||
) |
Moves iter to the position of the next SourceMark of the given category.
Returns true if iter was moved. If category is NULL, the next source mark can be of any category.
iter | the iterator to move. | |
category | the category to search for, or NULL. |
Glib::StringArrayHandle gtksourceview::SourceBuffer::get_context_classes_at_iter | ( | const Gtk::TextIter & | iter | ) | const |
Get all defined context classes at iter.
iter | A Gtk::TextIter. |
0
terminated array of context class names. Use g_strfreev to free the array if it is no longer needed.bool gtksourceview::SourceBuffer::get_highlight_matching_brackets | ( | ) | const |
Determines whether bracket match highlighting is activated for the source buffer.
bool gtksourceview::SourceBuffer::get_highlight_syntax | ( | ) | const |
Determines whether text highlighting is activated in the source buffer.
Glib::RefPtr<const SourceLanguage> gtksourceview::SourceBuffer::get_language | ( | ) | const |
Determines the GtkSourceLanguage used by the buffer.
Glib::RefPtr<SourceLanguage> gtksourceview::SourceBuffer::get_language | ( | ) |
Determines the GtkSourceLanguage used by the buffer.
int gtksourceview::SourceBuffer::get_max_undo_levels | ( | ) | const |
Determines the number of undo levels the buffer will track for buffer edits.
Glib::SListHandle<Glib::RefPtr<SourceMark> > gtksourceview::SourceBuffer::get_source_marks_at_iter | ( | Gtk::TextIter & | iter | ) | const |
returns all the marks at a given iterator.
iter | the iterator to consider. |
Glib::SListHandle<Glib::RefPtr<SourceMark> > gtksourceview::SourceBuffer::get_source_marks_at_iter | ( | Gtk::TextIter & | iter, | |
const Glib::ustring & | category | |||
) | const |
returns the list of marks of the given category at a given itertor.
If category is NULL it returns all marks at iter.
iter | the iterator to consider. | |
category | the category to search for, or NULL. |
Glib::SListHandle<Glib::RefPtr<SourceMark> > gtksourceview::SourceBuffer::get_source_marks_at_line | ( | int | line | ) | const |
Returns all source marks marks at line.
line | the line number to consider. | |
a | newly allocated GSList. |
Glib::SListHandle<Glib::RefPtr<SourceMark> > gtksourceview::SourceBuffer::get_source_marks_at_line | ( | int | line, | |
const Glib::ustring & | category | |||
) | const |
Returns the list of marks of the given category at line.
If category is NULL, all marks at line are returned.
line | the line number to consider. | |
category | category to search for or NULL. | |
a | newly allocated GSList. |
Glib::RefPtr<const SourceStyleScheme> gtksourceview::SourceBuffer::get_style_scheme | ( | ) | const |
Returns the style scheme currently used by the buffer.
This method is const and returns a const value.
Glib::RefPtr<SourceStyleScheme> gtksourceview::SourceBuffer::get_style_scheme | ( | ) |
Returns the style scheme currently used by the buffer.
const GtkSourceBuffer* gtksourceview::SourceBuffer::gobj | ( | ) | const [inline] |
Provides access to the underlying C GObject.
Reimplemented from Gtk::TextBuffer.
GtkSourceBuffer* gtksourceview::SourceBuffer::gobj | ( | ) | [inline] |
Provides access to the underlying C GObject.
Reimplemented from Gtk::TextBuffer.
GtkSourceBuffer* gtksourceview::SourceBuffer::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Reimplemented from Gtk::TextBuffer.
bool gtksourceview::SourceBuffer::iter_backward_to_context_class_toggle | ( | Gtk::TextIter & | iter, | |
const Glib::ustring & | context | |||
) | const |
Moves backward to the next toggle (on or off) of the context class.
If no matching context class toggles are found, returns false
, otherwise true
. Does not return toggles located at iter, only toggles after iter. Sets iter to the location of the toggle, or to the end of the buffer if no toggle is found.
iter | A Gtk::TextIter. | |
context_class | The context class. |
bool gtksourceview::SourceBuffer::iter_forward_to_context_class_toggle | ( | Gtk::TextIter & | iter, | |
const Glib::ustring & | context | |||
) | const |
Moves forward to the next toggle (on or off) of the context class.
If no matching context class toggles are found, returns false
, otherwise true
. Does not return toggles located at iter, only toggles after iter. Sets iter to the location of the toggle, or to the end of the buffer if no toggle is found.
iter | A Gtk::TextIter. | |
context_class | The context class. |
bool gtksourceview::SourceBuffer::iter_has_context_class | ( | const Gtk::TextIter & | iter, | |
const Glib::ustring & | context | |||
) | const |
Check if the class context_klass is set on iter.
iter | A Gtk::TextIter. | |
context_class | Class to search for. |
Glib::PropertyProxy_ReadOnly<bool> gtksourceview::SourceBuffer::property_can_redo | ( | ) | const |
Whether Redo operation is possible.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly<bool> gtksourceview::SourceBuffer::property_can_undo | ( | ) | const |
Whether Undo operation is possible.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly<bool> gtksourceview::SourceBuffer::property_highlight_matching_brackets | ( | ) | const |
Whether to highlight matching brackets.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> gtksourceview::SourceBuffer::property_highlight_matching_brackets | ( | ) |
Whether to highlight matching brackets.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly<bool> gtksourceview::SourceBuffer::property_highlight_syntax | ( | ) | const |
Whether to highlight syntax in the buffer.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<bool> gtksourceview::SourceBuffer::property_highlight_syntax | ( | ) |
Whether to highlight syntax in the buffer.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<SourceLanguage> > gtksourceview::SourceBuffer::property_language | ( | ) | const |
Language object to get highlighting patterns from.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy< Glib::RefPtr<SourceLanguage> > gtksourceview::SourceBuffer::property_language | ( | ) |
Language object to get highlighting patterns from.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly<int> gtksourceview::SourceBuffer::property_max_undo_levels | ( | ) | const |
Number of undo levels for the buffer.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<int> gtksourceview::SourceBuffer::property_max_undo_levels | ( | ) |
Number of undo levels for the buffer.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy_ReadOnly< Glib::RefPtr<SourceStyleScheme> > gtksourceview::SourceBuffer::property_style_scheme | ( | ) | const |
Style scheme.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy< Glib::RefPtr<SourceStyleScheme> > gtksourceview::SourceBuffer::property_style_scheme | ( | ) |
Style scheme.
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
void gtksourceview::SourceBuffer::redo | ( | ) |
redoes the last undo operation.
Use SourceBuffer::can_redo() to check whether a call to this function will have any effect.
void gtksourceview::SourceBuffer::remove_source_marks | ( | const Gtk::TextIter & | start, | |
const Gtk::TextIter & | end | |||
) |
void gtksourceview::SourceBuffer::remove_source_marks | ( | const Gtk::TextIter & | start, | |
const Gtk::TextIter & | end, | |||
const Glib::ustring & | category | |||
) |
Remove all marks of a given category, from a given region of the.
buffer If category is NULL, all marks in the range will be removed.
start | the begining of the region to consider | |
end | the end of the region to consider. | |
category | the category of the marks to consider. |
void gtksourceview::SourceBuffer::set_highlight_matching_brackets | ( | bool | highlight = true |
) |
controls the bracket match highlighting function in the buffer.
If activated, when you position your cursor over a bracket character (a parenthesis, a square bracket, etc.) the matching opening or closing bracket character will be highlighted. You can specify the style with the SourceBuffer::set_bracket_match_style() function.
highlight | true if you want matching brackets highlighted. |
void gtksourceview::SourceBuffer::set_highlight_syntax | ( | bool | highlight = true |
) |
controls whether text is highlighted in the buffer.
If highlight is TRUE, the text will be highlighted according to the patterns installed in the buffer (either set with SourceBuffer::set_language() or by adding individual GtkSourceTag tags to the buffer's tag table). Otherwise, any current highlighted text will be restored to the default buffer style. Tags not of SourceTag type will not be removed by this option, and normal Gtk::TextTag priority settings apply when highlighting is enabled. If not using a SourceLanguage for setting the highlighting patterns in the buffer, it is recommended for performance reasons that you add all the SourceTag tags with highlighting disabled and enable it when finished.
highlight | true if you want to activate highlighting |
void gtksourceview::SourceBuffer::set_language | ( | const Glib::RefPtr< SourceLanguage >& | language | ) |
Sets the GtkSourceLanguage the source buffer will use.
This adds GtkSourceTag tags with the language's patterns and sets the escape character with SourceBuffer::set_escape_char(). Note that this will remove any SourceTag tags currently in the buffer's tag table. The buffer holds a reference to the language set.
language | a GtkSourceLanguage to set. |
void gtksourceview::SourceBuffer::set_max_undo_levels | ( | int | max_undo_levels | ) |
Sets the number of undo levels for user actions the buffer will track.
If the number of user actions exceeds the limit set by this function, older actions will be discarded. A new action is started whenever the function Gtk::TextBuffer::begin_user_action() is called. In general, this happens whenever the user presses any key which modifies the buffer, but the undo manager will try to merge similar consecutive actions, such as multiple character insertions into one action. But, inserting a newline does start a new action.
max_undo_levels | the desired maximum number of undo levels. |
void gtksourceview::SourceBuffer::set_style_scheme | ( | const Glib::RefPtr< SourceStyleScheme >& | scheme | ) |
Sets style scheme used by the buffer.
scheme | the style scheme to be used by the buffer |
Glib::SignalProxy2< void,Gtk::TextIter&,Gtk::TextIter& > gtksourceview::SourceBuffer::signal_highlight_updated | ( | ) |
Emitted whenever the syntax highlighting information has been updated, so that views can request a redraw if the region changed is visible.
Usually only view widgets displaying this buffer will be interested in this signal. parameter start: an iterator at the start of the updated region. parameter end: and iterator at the end of the updated region.
void on_my_highlight_updated(Gtk::TextIter& start, Gtk::TextIter& end)
Glib::SignalProxy0< void > gtksourceview::SourceBuffer::signal_redo | ( | ) |
void on_my_redo()
Glib::SignalProxy1< void,const Glib::RefPtr<SourceMark>& > gtksourceview::SourceBuffer::signal_source_mark_updated | ( | ) |
Emitted whenever a marker of sourcebuffer has changed and needs to be redisplayed by the view.
A change in a marker's type or location can trigger this signal. Note that moving a marker causes the emission of this signal twice: one for the old location and one for the new. parameter where: an iterator at the location where the change occurred.
void on_my_source_mark_updated(const Glib::RefPtr<SourceMark>& where)
Glib::SignalProxy0< void > gtksourceview::SourceBuffer::signal_undo | ( | ) |
void on_my_undo()
void gtksourceview::SourceBuffer::undo | ( | ) |
Undoes the last user action which modified the buffer.
Use SourceBuffer::can_undo() to check whether a call to this function will have any effect. Actions are defined as groups of operations between a call to TextBuffer::begin_user_action() and TextBuffer::end_user_action(), or sequences of similar edits (inserts or deletes) on the same line.
Glib::RefPtr< gtksourceview::SourceBuffer > wrap | ( | GtkSourceBuffer * | object, | |
bool | take_copy = false | |||
) | [related] |
A Glib::wrap() method for this object.
object | The C instance. | |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |