1 // -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
3 // libanjuta interfaces. Generate stubs with anjuta-idl-compiler.pl
5 // Copyright (C) 2004 Naba Kumar <naba@gnome.org>
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 2 of the License, or
10 // (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Library General Public License for more details.
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 #include
<glib
-object.h
>
24 * SECTION:ianjuta-file
26 * @short_description: Implemented by plugins that can open files.
27 * @see_also: #IAnjutaFileSavable
28 * @stability: Unstable
29 * @include: libanjuta/interfaces/ianjuta-file.h
31 * Any plugin that can open files should implemented this interface. Along
32 * with the 'File Loader::SupportedMimeTypes' property of the plugin in
33 * .plugin file, it will be used by the loader to open files of that type.
41 * @err: Error propagation and reporting
43 * The implementor opens the given URI.
45 void open
(const gchar
*uri
);
48 * ianjuta_file_get_uri:
50 * @err: Error propagation and reporting
52 * Returns the URI that was opened with ianjuta_file_open().
54 * Return value: The last URI opened.
59 * SECTION:ianjuta-file-savable
60 * @title: IAnjutaFileSavable
61 * @short_description: Implemented by plugins that can save files.
62 * @see_also: #IAnjutaFile
63 * @stability: Unstable
64 * @include: libanjuta/interfaces/ianjuta-file-savable.h
66 * Plugins implementing #IAnjutaFile inteface that can also save files
67 * should also implement this interface.
69 interface IAnjutaFileSavable
72 * IAnjutaFileSavable::save_point:
74 * @entered: TRUE if save point is entered, FALSE otherwise.
76 * This signal is emitted when the editor enters or leave the save
77 * point. Save point is the point where the contents were saved to
78 * non-volatile memory (e.g. disk). For example, performing undo/redo
79 * will enter or leave the save point in an editor.
81 void ::save_point
(gboolean entered
);
84 * IAnjutaFileSavable::saved:
86 * @uri: URI where the content is saved.
88 * This signal is emitted when the content is saved.
90 void ::saved
(const gchar
*uri
);
93 * ianjuta_file_savable_save:
95 * @err: Error propagation and reporting
97 * Saves the content to the original URI from which it was loaded.
102 * ianjuta_file_savable_save_as:
104 * @uri: URI to save the content.
105 * @err: Error propagation and reporting
107 * Saves the content to a different URI.
109 void save_as
(const gchar
*uri
);
112 * ianjuta_file_savable_set_dirty:
115 * @err: Error propagation and reporting
117 * if @dirty is TRUE, sets dirty for the content. Save point will be
118 * left and the content will be considered not saved. Otherwise,
119 * content will considered saved and save-point will be entered.
121 void set_dirty
(gboolean dirty
);
124 * ianjuta_file_savable_is_dirty:
126 * @err: Error propagation and reporting
128 * Returns the dirty status of the content.
130 * Return value: TRUE if dirty, FALSE otherwise.
132 gboolean is_dirty
();
137 * SECTION:ianjuta-stream
138 * @title: IAnjutaStream
139 * @short_description: Implemented by plugins that can open file streams
141 * @stability: Unstable
142 * @include: libanjuta/interfaces/ianjuta-stream.h
145 interface IAnjutaStream
150 * ianjuta_stream_open:
152 * @stream: Stream to open from.
153 * @err: Error propagation and reporting
155 * The implementor opens the given stream.
157 void open
(FILE
* stream
);
160 * SECTION:ianjuta-stream-savable
161 * @title: IAnjutaStreamSavable
162 * @short_description: Implemented by plugins that can save file streams
164 * @stability: Unstable
165 * @include: libanjuta/interfaces/ianjuta-stream-savable.h
168 interface IAnjutaStreamSavable
171 * ianjuta_stream_save:
173 * @stream: Stream to save to.
174 * @err: Error propagation and reporting
176 * The implementor saves the content to the given stream.
178 void save
(FILE
* stream
);
183 * SECTION:ianjuta-markable
184 * @title: IAnjutaMarkable
185 * @short_description: Implemented by editors (or views) with markers support
187 * @stability: Unstable
188 * @include: libanjuta/interfaces/ianjuta-markable.h
191 interface IAnjutaMarkable
207 void ::marker_clicked
(gboolean double_click
, gint location
);
210 * ianjuta_markable_mark:
212 * @location: Location at which the marker to set.
213 * @marker: Type of marker to be used
214 * @err: Error propagation and reporting
216 * Marks the specified location with the given marker type. Location is
217 * implementation depenedent. For example, for an editor location means
218 * lines where markers are set.
220 * Return value: Handle of the location marked. Can be used later to obtain
221 * new location, if it has been moved due to addetions/deletions in the
222 * implementor object.
224 gint mark
(gint location
, Marker marker
);
227 * ianjuta_markable_location_from_handle:
229 * @handle: Handle of location.
230 * @err: Error propagation and reporting
232 * Location where a marker is set could have moved by some operation in
233 * the implementation. To retrieve the correct location where the marker
234 * has moved, pass the handle retured by ianjuta_markable_mark() to this
237 * Return value: Current location where the marker was set.
239 gint location_from_handle
(gint
handle);
242 * ianjuta_markable_unmark:
244 * @location: Location where the marker is set.
245 * @marker: The marker to unset.
246 * @err: Error propagation and reporting
248 * Clears the @marker at given @location.
250 void unmark
(gint location
, Marker marker
);
253 * ianjuta_markable_is_marker_set:
255 * @location: Location to check.
256 * @marker: Marker to check.
257 * @err: Error propagation and reporting
259 * Check if the @marker is set at the given @location.
261 * Returns: TRUE if the marker is set at the location, other false.
263 gboolean is_marker_set
(gint location
, Marker marker
);
266 * ianjuta_markable_delete_all_markers:
268 * @marker: Marker to delete.
269 * @err: Error propagation and reporting
271 * Delete the @marker from all locations.
273 void delete_all_markers
(Marker marker
);
277 * SECTION:ianjuta-indicable
278 * @title: IAnjutaIndicable
279 * @short_description: Implemented by indicate that indicate a range
281 * @stability: Unstable
282 * @include: libanjuta/interfaces/ianjuta-indicable.h
285 interface IAnjutaIndicable
287 #include
<libanjuta
/interfaces
/ianjuta
-iterable.h
>
296 void set
(IAnjutaIterable
*begin_location
, IAnjutaIterable
*end_location
, Indicator indicator
);
301 * SECTION:ianjuta-iterable
302 * @title: IAnjutaIterable
303 * @short_description: Implemented by objects that can iterate
305 * @stability: Unstable
306 * @include: libanjuta/interfaces/ianjuta-iterable.h
309 interface IAnjutaIterable
312 * ianjuta_iterable_first:
314 * @err: Error propagation and reporting
316 * Set iter to first element position. Returns FALSE if
317 * there is no element in the iterable (hence does not have first).
318 * The iter points to the first valid item.
320 * Returns: TRUE if sucessful, other FALSE.
325 * ianjuta_iterable_next:
327 * @err: Error propagation and reporting
329 * Set the iter position to next element position. Iter can go until one
330 * item past the last item and lands in end-iter. end-iter does not point
331 * to any valid item and signifies end of the list. Returns FALSE if iter
332 * was already at end-iter (iter can not go past it) and remains pointed
335 * Returns: TRUE if sucessful, otherwise FALSE if already at end-iter.
340 * ianjuta_iterable_previous:
342 * @err: Error propagation and reporting
344 * Set the iter position to previous element position. Returns FALSE if
345 * there is no previous element and the iter remains pointed to the first
348 * Returns: TRUE if sucessful, other FALSE.
350 gboolean previous
();
353 * ianjuta_iterable_last:
355 * @err: Error propagation and reporting
357 * Set iter position to end-iter (one past last element) position.
358 * Returns FALSE if there is no element in the iterable (already
361 * Returns: TRUE if sucessful, other FALSE.
366 * ianjuta_iterable_foreach:
368 * @callback: Callback to call for each element.
369 * @user_data: user data that is passed back to the callback.
370 * @err: Error propagation and reporting
372 * Call callback for each element in the list. Call back is passed the
373 * same iter, but with different position set (from first to last). This
374 * method does not affect current position. i.e. current position is
375 * restored at the end of this method.
377 void foreach
(GFunc
callback, gpointer user_data
);
380 * ianjuta_iterable_set_position:
382 * @position: New position for the iter.
383 * @err: Error propagation and reporting
385 * Sets the current position of the iter to @position. The given @position
386 * must be from 0 to length - 1 (#ianjuta_iter_get_length()) to point to
387 * a valid element. Passing @position < 0 will set it to end-iter. It
388 * returns TRUE for the above cases. FLASE will be returned, if
389 * out-of-range @position is passed (@position > length - 1) and iter is
392 * Returns: TRUE if successfully set (i.e. @position is within the range or
393 * end-iter). otherwise returns FALSE (i.e. @position is out of data range).
395 gboolean set_position
(gint position
);
398 * ianjuta_iterable_get_position:
400 * @err: Error propagation and reporting
402 * Index of the current iter in the iterable. It will be
403 * from 0 to length - 1 (ianjuta_iter_get_length()) if iter is pointed
404 * at valid element. It will return -1 if iter is pointed at end-iter.
406 * Returns: integer index, or -1 for end-iter.
408 gint get_position
();
411 * ianjuta_iterable_get_length:
413 * @err: Error propagation and reporting
415 * Length of the iterable (number of elements indexable by it).
417 * Returns: total length of the list.
422 * ianjuta_iterable_clone:
424 * @err: Error propagation and reporting
426 * Clones the iterable. The returned iterable object must be unrefed
429 * Returns: A new instance of this iterable pointing at the same location.
431 IAnjutaIterable
*clone
();
434 * ianjuta_iterable_assign:
436 * @src_iter: Source iter from which to copy the assignment.
437 * @err: Error propagation and reporting
439 * Assigns the iter position from @src_iter.
442 void assign
(IAnjutaIterable
*src_iter
);
445 * ianjuta_iterable_compare:
447 * @iter2: Second iter to compare.
448 * @err: Error propagation and reporting
450 * Compares the position of @iter2 with this @obj. Returns -1
451 * value if this @obj is smaller than @iter2. Returns +1 value
452 * if this @obj is larger than @iter2. And returns 0 if both are equal.
453 * If you want difference of the iter positions, use
454 * #ianjuta_iterable_diff(). This method is meant for fast comparision.
456 * Returns: 0 if equal, -1 if @obj is smaller than @iter2
457 * or +1 if @obj is larger than @iter2.
460 gint compare
(IAnjutaIterable
*iter2
);
463 * ianjuta_iterable_diff:
465 * @iter2: Second iter to differenciate.
466 * @err: Error propagation and reporting
468 * Compares the position of @iter2 with this @obj and returns difference
469 * in position of the two (@obj - @iter2).
471 * Returns: The position difference of @obj - @iter2
474 gint diff
(IAnjutaIterable
*iter2
);
477 * SECTION:ianjuta-iterable-tree
478 * @title: IAnjutaIterableTree
479 * @short_description: Implemented by tree objects that can iterate
481 * @stability: Unstable
482 * @include: libanjuta/interfaces/ianjuta-iterable-tree.h
485 interface IAnjutaIterableTree
489 * ianjuta_iterable_tree_parent:
491 * @err: Error propagation and reporting
493 * Set iter position to parent of curernt iter. If there is no parent,
494 * returns FALSE (current iter position is not changed)
496 * Returns: TRUE if sucessful, otherwise FALSE.
501 * ianjuta_iterable_tree_children:
503 * @err: Error propagation and reporting
505 * Iter position set to first child of current iter. If there is no
506 * children, return NULL (iter position is not changed).
508 * Returns: TRUE if sucessful, otherwise FALSE.
510 gboolean children
();
513 * ianjuta_iterable_tree_has_children:
515 * @err: Error propagation and reporting
517 * Returns true if current iter has children
519 * Returns: TRUE if there are children, otherwise FALSE.
521 gboolean has_children
();
524 * ianjuta_iterable_tree_foreach_post:
526 * @callback: Callback to call for each element.
527 * @user_data: User data to pass back to callback.
528 * @err: Error propagation and reporting
530 * Call callback for each element in post order.
532 void foreach_post
(GFunc
callback, gpointer user_data
);
535 * ianjuta_iterable_tree_foreach_pre:
537 * @callback: Callback to call for each element.
538 * @user_data: User data to pass back to callback.
539 * @err: Error propagation and reporting
541 * Call callback for each element in pre order.
543 void foreach_pre
(GFunc
callback, gpointer user_data
);
548 * SECTION:ianjuta-buildable
549 * @title: IAnjutaBuildable
550 * @short_description: Implemented by plugins that can build
552 * @stability: Unstable
553 * @include: libanjuta/interfaces/ianjuta-buildable.h
556 interface IAnjutaBuildable
562 COMMAND_BUILD_TARBALL
,
572 * ianjuta_buildable_set_command:
574 * @command_id: Command to override.
575 * @command: Build command to override.
576 * @err: Error propagation and reporting.
578 * Overrides the default command for the given command.
580 void set_command
(Command command_id
, const gchar
*command
);
583 * ianjuta_buildable_get_command:
585 * @command_id: Command to get override.
586 * @err: Error propagation and reporting.
588 * Retrieves the currently set command override.
590 * Returns: The overridden command. NULL if no override set.
592 const gchar
* get_command
(Command command_id
);
595 * ianjuta_buildable_reset_commands:
597 * @err: Error propagation and reporting.
599 * Resets the command overrides to defaults.
601 void reset_commands
();
604 * ianjuta_buildable_build:
607 * @err: Error propagation and reporting.
611 void build
(const gchar
*uri
);
614 * ianjuta_buildable_clean:
617 * @err: Error propagation and reporting.
621 void clean
(const gchar
*uri
);
624 * ianjuta_buildable_install:
627 * @err: Error propagation and reporting.
631 void install
(const gchar
*uri
);
634 * ianjuta_buildable_configure:
637 * @err: Error propagation and reporting.
641 void configure
(const gchar
*uri
);
644 * ianjuta_buildable_generate:
647 * @err: Error propagation and reporting.
651 void generate
(const gchar
*uri
);
654 * ianjuta_buildable_execute:
657 * @err: Error propagation and reporting.
661 void execute
(const gchar
*uri
);
665 * SECTION:ianjuta-help
666 * @title: IAnjutaHelp
667 * @short_description: Implemented by plugins that can provide help support
669 * @stability: Unstable
670 * @include: libanjuta/interfaces/ianjuta-help.h
673 interface IAnjutaHelp
677 * ianjuta_help_search:
680 * @err: Error propagation and reporting
684 void search
(const gchar
*query
);
688 * SECTION:ianjuta-loader
689 * @title: IAnjutaLoader
690 * @short_description: Interface to load file or stream
692 * @stability: Unstable
693 * @include: libanjuta/interfaces/ianjuta-loader.h
695 * Loaders can deterime correct plugin to open a file or stream. They
696 * themselves can not load it, but will correctly redirect the request to
697 * an implementor of IAnjutaFile, IAnjutaFileSavable, IAnjutaStream or
698 * IAnjutaStreamSavable, depending on the mime-type, meta-type or any other
701 interface IAnjutaLoader
703 #include
<libanjuta
/anjuta
-plugin.h
>
705 * ianjuta_loader_find_plugins:
707 * @err: Error propagation and reporting.
709 * Returns all plugins supporting loader interface.
711 List
<AnjutaPlugin
*> find_plugins
();
714 * SECTION:ianjuta-file-loader
715 * @title: IAnjutaFileLoader
716 * @short_description: Loader to load files
718 * @stability: Unstable
719 * @include: libanjuta/interfaces/ianjuta-file-loader.h
721 * Loaders can deterime correct plugin to open a file.
723 interface IAnjutaFileLoader
726 * ianjuta_file_loader_load:
729 * @readonly: Open in readonly mode.
730 * @err: Error propagation and reporting
732 * Determines a plugin which can open the given file, activates it
733 * opening the file and returns the interface of the plugin activated.
735 * Return value: Plugin interface used to load the file.
737 GObject
* load
(const gchar
*uri
, gboolean
readonly);
740 * ianjuta_loader_peek_interface:
742 * @uri: Meta file to peek
743 * @err: Error propagation and reporting
745 * Peeks the file and determines the interface which can load
748 * Return value: Plugin interface name that can load the file.
750 gchar
* peek_interface
(const gchar
*uri
);
754 * SECTION:ianjuta-stream-loader
755 * @title: IAnjutaStreamLoader
756 * @short_description: Loader to load streams
758 * @stability: Unstable
759 * @include: libanjuta/interfaces/ianjuta-stream-loader.h
761 * StreamLoaders can deterime correct plugin to open a stream.
763 interface IAnjutaStreamLoader
768 * ianjuta_stream_loader_load:
770 * @stream: Stream to load
771 * @readonly: Open in readonly mode.
772 * @err: Error propagation and reporting
774 * Determines a plugin which can open the given stream, activates it
775 * opening the stream and returns the interface of the plugin activated.
777 * Return value: Plugin interface used to load the stream.
779 GObject
* load
(FILE
*stream
, gboolean
readonly);
782 * ianjuta_stream_loader_peek_interface:
784 * @stream: Stream to load
785 * @err: Error propagation and reporting
787 * Peeks the stream and determines the interface which can load
790 * Return value: Plugin interface name that can load the stream.
792 gchar
* peek_interface
(FILE
*stream
);
797 * SECTION:ianjuta-document
798 * @title: IAnjutaDocument
799 * @short_description: Interface for all kind of editable resources that
800 * will be managed by IAnjutaDocumentManager
802 * @stability: Unstable
803 * @include: libanjuta/interfaces/ianjuta-document.h
806 interface IAnjutaDocument
809 * IAnjutaDocument::update_ui:
812 * This signal is emitted when the document assumes the UI must be updated
813 * because some internal state of the document has changed. For example, if
814 * current line position is changed, it needs to be reflected to the UI.
819 * ianjuta_document_get_filename:
821 * @err: Error propagation and reporting
823 * Allows obtaining of the filename the editor was loaded from.
825 * Return value: The name of the file. Not to be freed by caller.
827 const gchar
* get_filename
();
830 * ianjuta_document_can_undo:
832 * @err: Error propagation and reporting
834 * Can the editor undo the last operation?
836 * Returns true if editor can undo, else FALSE
841 * ianjuta_document_can_redo:
843 * @err: Error propagation and reporting
845 * Can the editor redo the last operation?
847 * Returns true if editor can redo, else FALSE
849 gboolean can_redo
();
852 * ianjuta_document_undo:
854 * @err: Error propagation and reporting
856 * Undo last operation
861 * ianjuta_document_redo:
863 * @err: Error propagation and reporting
865 * Redo last undo operation
870 * ianjuta_document_begin_undo_action:
872 * @err: Error propagation and reporting
874 * Begins the mark of undoable action. Calls to this are stacked and
875 * each must be ended with ianjuta_document_end_action().
877 void begin_undo_action
();
880 * ianjuta_document_end_undo_action:
882 * @err: Error propagation and reporting
884 * Ends the mark of undoable action.
886 void end_undo_action
();
889 * ianjuta_document_grab_focus:
891 * @err: Error propagation and reporting
898 * ianjuta_document_cut:
900 * @err: Error propagation and reporting
902 * Cut selection to clipboard.
907 * ianjuta_document_copy:
909 * @err: Error propagation and reporting
911 * Copy selection to clipboard.
916 * ianjuta_document_paste:
918 * @err: Error propagation and reporting
920 * Paste clipboard at current position.
925 * ianjuta_document_clear:
927 * @err: Error propagation and reporting
935 * SECTION:ianjuta-editor
936 * @title: IAnjutaEditor
937 * @short_description: Text editor interface
939 * @stability: Unstable
940 * @include: libanjuta/interfaces/ianjuta-editor.h
943 interface IAnjutaEditor
945 #include
<gtk
/gtkwidget.h
>
946 #include
<libanjuta
/interfaces
/ianjuta
-iterable.h
>
962 * IAnjutaEditor::char_added:
963 * @position: The iter position where @ch is added.
964 * @ch: The character that has been added.
967 * This signal is emitted when any character is added inside the editor.
968 * The newly added character is @ch which has been inserted at @position.
970 void ::char_added
(GObject
*position
, gchar ch
);
973 * IAnjutaEditor::changed:
974 * @position: The iter position where change happend.
975 * @added: TRUE if added, FALSE if deleted.
976 * @length: Length of the text changed.
977 * @lines: Number of lines added or removed.
978 * @text: The text added or removed.
981 * This signal is emitted when any text change happens in editor.
982 * The changes begin at @position. @text is not garanteed to be NULL
983 * terminated. Use @length to read the text. @lines represent the
984 * number of line breaks in the added or removed text.
986 void ::changed
(GObject
*position
, gboolean added
, gint length
, gint lines
, const gchar
*text
);
989 * ianjuta_editor_get_tabsize:
991 * @err: Error propagation and reporting
993 * Returns the tabsize (in spaces) currently used by the editor.
995 * Returns: tabsize in number of spaces
1000 * ianjuta_editor_set_tabsize:
1002 * @tabsize: Tabsize in spaces
1003 * @err: Error propagation and reporting
1005 * Sets the tabsize of the editor.
1007 void set_tabsize
(gint tabsize
);
1010 * ianjuta_editor_get_use_spaces:
1012 * @err: Error propagation and reporting
1014 * Returns if the editor uses spaces for filling up tab characters.
1016 * Returns: TRUE if yes, FALSE if no.
1018 gboolean get_use_spaces
();
1021 * ianjuta_editor_set_use_space:
1023 * @use_spaces: TRUE to use spaces, FALSE to use tab char directly.
1024 * @err: Error propagation and reporting
1026 * Sets if the editor should use spaces for filling up tab characters.
1028 void set_use_spaces
(gboolean use_spaces
);
1031 * ianjuta_editor_set_auto_indent:
1033 * @auto_indent: TRUE to enable auto-indent, FALSE to disable
1035 * Sets whether the editor should auto-indent itself. A plugin that does
1036 * custom auto-indent can set this to false and override the preferences
1039 void set_auto_indent
(gboolean auto_indent
);
1042 * ianjuta_editor_erase_range:
1044 * @position_start: Start position of chars to erase.
1045 * @position_end: End position of chars to erase.
1046 * @err: Error propagation and reporting
1048 * Erases the chars between positions pointed by @position_start and
1049 * @position_end. The character pointed by @position_start is included,
1050 * while pointed by @position_end is not include in the range. After
1051 * the erase operation, all active iters, except these two, are no
1052 * longer guranteed to be valid. At the end the operation, these two
1053 * iters point to the same position which is the position where erase
1054 * happend (usually the original @position_start position).
1056 void erase
(IAnjutaIterable
*position_start
, IAnjutaIterable
*position_end
);
1059 * ianjuta_editor_erase_all:
1061 * @err: Error propagation and reporting
1063 * Empties the whole editor buffer. There will be zero characters.
1064 * After the erase operation, none of the active iters are guranteed
1070 * ianjuta_editor_insert:
1072 * @position: Character position in editor where insert will take place.
1073 * @text: Text to append.
1074 * @length: Length of @text to use.
1075 * @err: Error propagation and reporting
1077 * Inserts @length characters from @text buffer at given @position of
1078 * editor buffer. If @length is -1, the whole @text is used.
1080 void insert
(IAnjutaIterable
*position
, const gchar
*text
, gint length
);
1083 * ianjuta_editor_append:
1085 * @text: Text to append.
1086 * @length: Length of @text to use.
1087 * @err: Error propagation and reporting
1089 * Appends @length characters from @text buffer at the end of editor
1090 * buffer. If @length is -1, the whole @text is used. @length is in bytes.
1092 void append
(const gchar
*text
, gint length
);
1095 * ianjuta_editor_goto_line:
1097 * @lineno: line number where carat will be moved.
1098 * @err: Error propagation and reporting
1100 * Carat is moved to the given @lineno line and text view is scrolled to
1101 * bring it in viewable area of the editor.
1103 void goto_line
(gint lineno
);
1106 * ianjuta_editor_goto_start:
1108 * @err: Error propagation and reporting
1110 * Carat is moved to the begining of editor and text view is scrolled to
1111 * bring it in viewable area of the editor.
1116 * ianjuta_editor_goto_end:
1118 * @err: Error propagation and reporting
1120 * Carat is moved to the end of editor and text view is scrolled to
1121 * bring it in viewable area of the editor.
1126 * ianjuta_editor_goto_position:
1128 * @position: Character position where carat will be moved.
1129 * @err: Error propagation and reporting
1131 * Carat is moved to the given @position and text view is scrolled to
1132 * bring @position in viewable area of the editor.
1134 void goto_position
(IAnjutaIterable
*position
);
1137 * ianjuta_editor_get_text:
1139 * @begin: Begining iterator
1140 * @end: End iterator
1141 * @err: Error propagation and reporting
1143 * Gets text characters beginning from @begin (including char
1144 * pointed by @begin) and ending with @end (excluding character
1145 * pointed by @end). The characters returned are utf-8 encoded.
1146 * The iterators @begin and @end could be in either order. The returned
1147 * text, however, is in right order. If both @begin and @end points
1148 * to the same position, NULL is returned.
1150 * Returns: A buffer of utf-8 characters.
1151 * The returned buffer must be freed when no longer required.
1153 gchar
* get_text
(IAnjutaIterable
*begin
, IAnjutaIterable
*end
);
1156 * ianjuta_editor_get_text_all:
1158 * @err: Error propagation and reporting
1160 * Gets all text characters in the editor.
1161 * The characters returned are utf-8 encoded.
1163 * Returns: A buffer of utf-8 characters containing all text from editor.
1164 * The returned buffer must be freed when no longer required.
1166 gchar
* get_text_all
();
1169 * ianjuta_editor_line_from_position:
1171 * @position: Position you want to know the line from
1172 * @err: Error propagation and reporting
1174 * Get the line number in which @position locates.
1175 * Returns: Line which corresponds to @position
1178 int get_line_from_position
(IAnjutaIterable
*position
);
1181 * ianjuta_editor_get_lineno:
1183 * @err: Error propagation and reporting
1185 * Obtains current line number on which carat is.
1187 * Return value: Line number.
1192 * ianjuta_editor_get_length:
1194 * @err: Error propagation and reporting
1196 * Get length of complete text in editor. This will be the total
1197 * number of characters in the file or buffer.
1199 * Return value: Text length.
1204 * ianjuta_editor_get_current_word:
1206 * @err: Error propagation and reporting
1208 * Obtains the word on which carat is currently on.
1210 * Return value: Current word.
1212 gchar
* get_current_word
();
1215 * ianjuta_editor_get_current_column:
1217 * @err: Error propagation and reporting
1219 * Obtains number of the current column in the editor.
1221 * Return value: Current column.
1226 * ianjuta_editor_get_line_begin_position:
1229 * @err: Error propagation and reporting.
1235 IAnjutaIterable
* get_line_begin_position
(gint line
);
1238 * ianjuta_editor_get_line_end_position:
1241 * @err: Error propagation and reporting.
1247 IAnjutaIterable
*get_line_end_position
(gint line
);
1250 * ianjuta_editor_get_overwrite:
1252 * @err: Error propagation and reporting
1254 * Obtains editor overwirte mode: TRUE = Override, FALSE = Insert.
1256 * Return value: editor mode.
1258 gboolean get_overwrite
();
1262 * ianjuta_editor_set_popup_menu:
1265 * @err: Error propagation and reporting
1267 * Set Editor popup menu. This is the menu shown in the editor when one
1268 * right-clicks on it.
1271 void set_popup_menu
(GtkWidget
*menu
);
1274 * ianjuta_editor_get_offset:
1276 * @err: Error propagation and reporting
1278 * Get current caret position in integer character offset. Deprecated.
1279 * Use ianjuta_editor_get_position() instead.
1281 * Returns: Current character position since the begining of file.
1286 * ianjuta_editor_get_position:
1288 * @err: Error propagation and reporting
1290 * Get current caret position.
1292 * Returns: Iterator that points to the current position.
1294 IAnjutaIterable
* get_position
();
1297 * ianjuta_editor_get_position_from_offset:
1299 * @offset: Character offset position where the iter will be set
1300 * @err: Error propagation and reporting
1302 * Creates and returns an iter for editor cells. The iter is
1303 * placed at the unicode character position where the given offset
1304 * @offset happens to fall. The returned iter is cell (character)
1305 * iter and not byte iter, so all iter operations
1306 * on it are character (not byte) iteration, including all position
1307 * and index references in the iter.
1309 * The iter must be unreferrenced by the caller when done.
1310 * The iter navigates (next/previous) in step of unicode
1311 * characters (one unicode character == one cell).
1313 * Retrun value: a newly created iter of IAnjutaEditorCell placed at the
1314 * given @offset position.
1316 IAnjutaIterable
* get_position_from_offset
(gint offset
);
1319 * ianjuta_editor_get_start_position:
1321 * @err: Error propagation and reporting
1323 * Gets the iter positioned at the start of the editor buffer.
1325 * Retrun value: Cell iter set to the begining of the editor.
1327 IAnjutaIterable
* get_start_position
();
1330 * ianjuta_editor_get_end_position:
1332 * @err: Error propagation and reporting
1334 * Gets the iter positioned at the end of the editor buffer. The
1335 * returned iter is the end-iter which does not point to any valid
1336 * character in the buffer (it is pointed one step beyond the last
1339 * Retrun value: Cell iter set to the end of the editor (end-iter).
1341 IAnjutaIterable
* get_end_position
();
1344 * SECTION:ianjuta-editor-selection
1345 * @title: IAnjutaEditorSelection
1346 * @short_description: Text editor selection interface
1348 * @stability: Unstable
1349 * @include: libanjuta/interfaces/ianjuta-editor-selection.h
1352 interface IAnjutaEditorSelection
1354 #include
<libanjuta
/interfaces
/ianjuta
-editor
-cell.h
>
1356 * ianjuta_editor_selection_has_selection:
1358 * @err: Error propagation and reporting
1360 * Returns TRUE if editor has any text selected. The selection
1361 * positions can be retrieved with ianjuta_editor_selection_get_start()
1362 * and ianjuta_editor_selection_get_end().
1364 * Returns: TRUE if there is text selected else FALSE.
1366 gboolean has_selection
();
1369 * ianjuta_editor_selection_get:
1371 * @err: Error propagation and reporting
1373 * Gets curerntly selected text in editor.
1375 * Returns: A newly allocated buffer of currently selected characters.
1376 * NULL if there is no selection. The returned buffer must be freed after
1382 * ianjuta_editor_selection_set:
1384 * @start: Begin of selection
1385 * @end: End of selection
1386 * @err: Error propagation and reporting
1388 * Select characters between start and end. Start and end don't have to
1391 void set
(IAnjutaIterable
* start
, IAnjutaIterable
* end
);
1394 * ianjuta_editor_selection_get_start:
1396 * @err: Error propagation and reporting
1398 * Gets start position of selection text. If there is no selection,
1401 * Return: Start of selection or NULL if there is no selection.
1403 IAnjutaIterable
* get_start
();
1406 * ianjuta_editor_selection_get_end:
1408 * @err: Error propagation and reporting
1410 * Get end position of selection. If there is no selection, returns
1413 * Return: End of selection or NULL if there is no selection.
1415 IAnjutaIterable
* get_end
();
1418 * ianjuta_editor_selection_select_block:
1420 * @err: Error propagation and reporting
1422 * Selects current block of code. The definition of block of code
1423 * depends on highlight mode used (programming language). Some
1424 * highlight mode does not have block concept, in that case this
1425 * method does not do anything.
1427 void select_block
();
1430 * ianjuta_editor_selection_select_function:
1432 * @err: Error propagation and reporting
1434 * Select current function block. The definition of function block
1435 * depends on highlight mode used (programming language). Some
1436 * highlight mode does not have function concept, in that case this
1437 * method does not do anything.
1439 void select_function
();
1442 * ianjuta_editor_selection_select_to_brace:
1444 * @err: Error propagation and reporting
1446 * Select to brace. Some highlight mode does not have braces concept,
1447 * in that case, this method does not do anything.
1449 void select_to_brace
();
1452 * ianjuta_editor_edit_select_all:
1454 * @err: Error propagation and reporting
1456 * Select whole buffer.
1461 * ianjuta_editor_selection_replace:
1463 * @text: Replacement text.
1464 * @length: Length of the text to used in @text.
1465 * @err: Error propagation and reporting
1467 * Replaces currently selected text with the @text. Only @length amount
1468 * of characters are used from @text buffer to replace.
1470 void replace
(const gchar
*text
, gint length
);
1474 * SECTION:ianjuta-editor-search
1475 * @title: IAnjutaEditorSearch
1476 * @short_description: Text editor search interface
1478 * @stability: Unstable
1479 * @include: libanjuta/interfaces/ianjuta-editor-search.h
1482 interface IAnjutaEditorSearch
1484 #include
<libanjuta
/interfaces
/ianjuta
-editor
-cell.h
>
1487 * ianjuta_editor_search_forward:
1489 * @search: String to search for
1490 * @start: Where to search from
1491 * @end: Where to stop searching
1492 * @result_start: Will be set to the start of the search_result (or NULL)
1493 * @result_end: Will be set to the end of the search_result (or NULL)
1494 * @err: Error propagation and reporting
1496 * Search forward from start to end
1499 gboolean forward
(const gchar
* search
, gboolean case_sensitive
, IAnjutaEditorCell
* start
, IAnjutaEditorCell
* end
, IAnjutaEditorCell
** result_start
, IAnjutaEditorCell
** result_end
);
1502 * ianjuta_editor_search_backward:
1504 * @search: String to search for
1505 * @start: Where to search from
1506 * @end: Where to stop searching
1507 * @result_start: Will be set to the start of the search_result (or NULL)
1508 * @result_end: Will be set to the end of the search_result (or NULL)
1509 * @err: Error propagation and reporting
1511 * Search backward from end to start
1515 gboolean backward
(const gchar
* search
, gboolean case_sensitive
, IAnjutaEditorCell
* start
, IAnjutaEditorCell
* end
, IAnjutaEditorCell
** result_start
, IAnjutaEditorCell
** result_end
);
1520 * SECTION:ianjuta-editor-convert
1521 * @title: IAnjutaEditorConvert
1522 * @short_description: Text editor convert interface
1524 * @stability: Unstable
1525 * @include: libanjuta/interfaces/ianjuta-editor-convert.h
1528 interface IAnjutaEditorConvert
1531 * ianjuta_editor_convert_to_upper:
1533 * @start_position: Start position.
1534 * @end_position: End position.
1535 * @err: Error propagation and reporting
1537 * change characters from start position to end position to uppercase.
1540 void to_upper
(IAnjutaIterable
*start_position
, IAnjutaIterable
*end_position
);
1543 * ianjuta_editor_convert_to_lower:
1545 * @start_position: Start position.
1546 * @end_position: End position.
1547 * @err: Error propagation and reporting
1549 * change characters from start position to end position to lowercase
1552 void to_lower
(IAnjutaIterable
*start_position
, IAnjutaIterable
*end_position
);
1556 * SECTION:ianjuta-editor-line-mode
1557 * @title: IAnjutaEditorLineMode
1558 * @short_description: Text editor line mode
1560 * @stability: Unstable
1561 * @include: libanjuta/interfaces/ianjuta-editor-line-mode.h
1564 interface IAnjutaEditorLineMode
1574 * ianjuta_editor_line_mode_get:
1576 * @err: Error propagation and reporting
1578 * Get current line ending mode. It is auto-detected from the
1584 * ianjuta_editor_line_mode_set:
1586 * @mode: Line mode to set.
1587 * @err: Error propagation and reporting
1589 * Set the line ending mode to the given @mode. Existing line end
1590 * characters in the buffer are not touched. Only the newly added
1591 * texts will have @mode line end characters.
1593 void set
(Type mode
);
1596 * ianjuta_editor_line_mode_convert:
1598 * @mode: Line mode to convert.
1599 * @err: Error propagation and reporting
1601 * Set the line ending mode to the given @mode and convert all line end
1602 * characters in the buffer to @mode line end characters.
1604 void convert
(Type mode
);
1607 * ianjuta_editor_line_mode_fix:
1609 * @err: Error propagation and reporting
1611 * Convert EOL characters to majority of line mode. This is helpful
1612 * when the buffer contains mixed line modes and we want to fix it.
1618 * SECTION:ianjuta-editor-assist
1619 * @title: IAnjutaEditorAssist
1620 * @short_description: Editor assistance framework
1622 * @stability: Unstable
1623 * @include: libanjuta/interfaces/ianjuta-editor-assist.h
1626 interface IAnjutaEditorAssist
1628 /* IAnjutaEdiotrAssist::assist_chosen:
1630 * @selection: The selection index
1632 * User's selection from the choices. It is the index of the choice
1633 * presented with ianjuta_editor_assist_suggest().
1635 void ::assist_chosen
(gint selection
);
1638 * ianjuta_editor_assist_suggest:
1640 * @choices: list of choices.
1641 * @char_alignment: Character alignment.
1642 * @err: Error propagation and reporting
1644 * Suggest a list of choices to the user. The suggestions are viewed
1645 * at char_alignment which should be the beginning of the completed word.
1646 * If choices is NULL, and assist_end signal
1650 void suggest
(List
<const gchar
*> choices
, IAnjutaIterable
*position
, int char_alignment
);
1652 /** ianjuta_editor_assist_hide_suggestions
1654 * @err: Error propagation and reporting
1656 * Hide current suggestions but do not emit assist_end signal.
1657 * This is useful when temporary waiting for more context
1659 void hide_suggestions
();
1662 * ianjuta_editor_assist_tip:
1664 * @tips: list of alternative tips.
1665 * @char_alignment: Character alignment.
1666 * @err: Error propagation and reporting
1668 * Show tips showing more information on current context. No user feedback
1669 * is required when tips are shown. @char_alignment indicates
1670 * the position before which is the known context and after which are
1671 * the suggestions. Usually the editor would use this to
1672 * align the choices displayed such that the carat is just at this
1673 * position when the choices are displayed.
1676 void show_tips
(List
<const gchar
*> tips
, IAnjutaIterable
*position
, gint char_alignment
);
1679 * ianjuta_editor_assist_cancel_tip:
1681 * @err: Error propagation and reporting
1683 * Cancels the last shown tooltip
1685 void cancel_tips
();
1688 * ianjuta_editor_assist_get_suggestions:
1690 * @context: The context for the suggestions.
1691 * @err: Error propagation and reporting
1693 * Usually the editor might have some suggestions to make
1694 * for a context. For example in a simple word completion context.
1695 * If the editor has no suggestions to make, it returns NULL.
1697 * Returns: A list of suggestions for the given context or NULL
1698 * if there is nothing to suggest.
1700 * Returns: A list of dynamically allocated strings. The whole
1701 * list, including the the strings should be freed when done.
1703 List
<const gchar
*> get_suggestions
(const gchar
*context
);
1707 * SECTION:ianjuta-editor-hover
1708 * @title: IAnjutaEditorHover
1709 * @short_description: Text editor hover interface
1711 * @stability: Unstable
1712 * @include: libanjuta/interfaces/ianjuta-editor-hover
1715 interface IAnjutaEditorHover
1717 #include
<libanjuta
/interfaces
/ianjuta
-iterable.h
>
1719 void ::hover_over
(GObject
* position
);
1720 void ::hover_leave
(GObject
* position
);
1722 void display
(IAnjutaIterable
* position
, const gchar
*info
);
1726 * SECTION:ianjuta-editor-language
1727 * @title: IAnjutaEditorLanguage
1728 * @short_description: Text editor language interface
1730 * @stability: Unstable
1731 * @include: libanjuta/interfaces/ianjuta-editor-language.h
1734 interface IAnjutaEditorLanguage
1736 void ::language_changed
(const gchar
*language
);
1739 * ianjuta_editor_language_get_supported_languages:
1741 * @err: Error propagation and reporting
1743 * Return a list of languages supported by the editor
1744 * Note: These list contains the names in the form
1745 * the editor implementation knows them
1749 const List
<const gchar
*> get_supported_languages
();
1752 * ianjuta_editor_language_name:
1754 * @err: Error propagation and reporting
1760 const gchar
*get_language_name
(const gchar
* language
);
1763 * ianjuta_editor_language_get_language:
1765 * @err: Error propagation and reporting
1767 * Return the name of the currently used language
1771 const gchar
*get_language
();
1774 * ianjuta_editor_language_set_language:
1776 * @err: Error propagation and reporting
1779 * Force the editor to use a given language
1783 void set_language
(const gchar
* language
);
1787 * SECTION:ianjuta-editor-folds
1788 * @title: IAnjutaEditorFolds
1789 * @short_description: Text editor folds inteface
1791 * @stability: Unstable
1792 * @include: libanjuta/interfaces/ianjuta-editor-folds.h
1795 interface IAnjutaEditorFolds
1798 * ianjuta_editor_view_open_folds:
1800 * @err: Error propagation and reporting
1808 * ianjuta_editor_view_close_folds:
1810 * @err: Error propagation and reporting
1818 * ianjuta_editor_view_toggle_fold:
1820 * @err: Error propagation and reporting
1822 * Open/Close current fold
1825 void toggle_current
();
1829 * SECTION:ianjuta-editor-view
1830 * @title: IAnjutaEditorView
1831 * @short_description: Text editor view interface
1833 * @stability: Unstable
1834 * @include: libanjuta/interfaces/ianjuta-editor-view.h
1836 * An editor view is a visual representation of the editor. An editor
1837 * can have multiple views. All views of an editor show the same editor
1838 * content (buffer). Consequently, any change done in one view is
1839 * updated in all other views.
1841 interface IAnjutaEditorView
1844 * ianjuta_editor_view_create:
1846 * @err: Error propagation and reporting
1848 * Creates a new view for the editor. The newly created view gets
1849 * the user focus and scrolls to the same location as last view.
1854 * ianjuta_editor_view_remove_current:
1856 * @err: Error propagation and reporting
1858 * Removes currently focused editor view. It does not remove the
1859 * last view of the editor. That is, if currently there is only
1860 * one view of the editor, this function does nothing.
1862 void remove_current
();
1865 * ianjuta_editor_view_get_count:
1867 * @err: Error propagation and reporting
1869 * Total number of views currently present. It will never be less
1870 * than 1. Invalid return values are considered error condition.
1876 * SECTION:ianjuta-editor-comment
1877 * @title: IAnjutaEditorComment
1878 * @short_description: Text editor comment interface
1880 * @stability: Unstable
1881 * @include: libanjuta/interfaces/ianjuta-editor-comment.h
1884 interface IAnjutaEditorComment
1887 * ianjuta_editor_comment_block:
1889 * @err: Error propagation and reporting
1891 * Comment/Uncomment out selected block
1896 * ianjuta_editor_comment_box:
1898 * @err: Error propagation and reporting
1900 * Comment/Uncomment out selected block
1905 * ianjuta_editor_comment_stream:
1907 * @err: Error propagation and reporting
1909 * Comment/Uncomment out selected block
1915 * SECTION:ianjuta-editor-zoom
1916 * @title: IAnjutaEditorZoom
1917 * @short_description: Text editor zoom interface
1919 * @stability: Unstable
1920 * @include: libanjuta/interfaces/ianjuta-editor-zoom.h
1923 interface IAnjutaEditorZoom
1926 * ianjuta_editor_zoom_in:
1928 * @err: Error propagation and reporting
1935 * ianjuta_editor_zoom_out:
1937 * @err: Error propagation and reporting
1945 * SECTION:ianjuta-editor-goto
1946 * @title: IAnjutaEditorGoto
1947 * @short_description: Text editor navigation interface
1949 * @stability: Unstable
1950 * @include: libanjuta/interfaces/ianjuta-editor-goto.h
1953 interface IAnjutaEditorGoto
1956 * ianjuta_editor_goto_start_block()
1958 * @err: Error propagation and reporting
1960 * Moves cursor to the start of the current block
1965 * ianjuta_editor_goto_end_block()
1967 * @err: Error propagation and reporting
1969 * Moves cursor to the end of the current block
1974 * ianjuta_editor_goto_matching_brace()
1976 * @err: Error propagation and reporting
1978 * Moves cursor to matching brace
1980 void matching_brace
();
1986 * SECTION:ianjuta-editor-cell
1987 * @title: IAnjutaEditorCell
1988 * @short_description: Text editor character cell
1990 * @stability: Unstable
1991 * @include: libanjuta/interfaces/ianjuta-editor-cell.h
1993 * Represents a cell in editor. A cell corresponds to a unicode
1994 * character along with all associated styles (such as colors and font).
1995 * A cell may or may not have style. If style is supported in the
1996 * editor, it is assumed all cells will have styles and hence every
1997 * IAnjutaEditorCell interface instance will have additionally
1998 * IAnjutaEditorCellStyle implemented.
2000 interface IAnjutaEditorCell
2002 #include
<libanjuta
/interfaces
/ianjuta
-editor.h
>
2005 * ianjuta_editor_cell_get_character:
2007 * @err: Error propagation and reporting
2009 * Returns the unicode character in this cell. A NULL terminated
2010 * string is returned that is the multibyte unicode character.
2011 * NULL is returned if the cell does not have any character.
2013 * Retruns: a newly created string representing the cell's unicode
2016 gchar
*get_character
();
2019 * ianjuta_editor_cell_get_length:
2021 * @err: Error propagation and reporting.
2023 * Gets the length of the cell in bytes. That is, length of the
2024 * unicode character.
2026 * Returns: Length of the unicode character.
2031 * ianjuta_editor_cell_get_char:
2033 * @err: Error propagation and reporting
2035 * Returns the byte of the unicode character in this cell at given
2036 * index @char_index. @char_index can vary from 0 to length of the
2037 * unicode string minus 1. Out of range index is not allowed
2038 * (asserted) and return is undefined.
2040 * Since there is dynamic allocation of unicode character string
2041 * involved in ianjuta_editor_cell_get_character(), this function
2042 * is mainly useful for fast iteration (such as copying data).
2044 * Retruns: a byte character.
2046 gchar get_char
(gint char_index
);
2048 IAnjutaEditorAttribute get_attribute
();
2051 * SECTION:ianjuta-editor-cell-style
2052 * @title: IAnjutaEditorCellStyle
2053 * @short_description: Text editor cell style interface
2055 * @stability: Unstable
2056 * @include: libanjuta/interfaces/ianjuta-editor-cell-style.h
2059 interface IAnjutaEditorCellStyle
2061 gchar
* get_font_description
();
2063 gchar
* get_background_color
();
2068 * SECTION:ianjuta-bookmark
2069 * @title: IAnjutaBookmark
2070 * @short_description: Bookmark interface
2072 * @stability: Unstable
2073 * @include: libanjuta/interfaces/ianjuta-bookmark.h
2076 interface IAnjutaBookmark
2079 * ianjuta_bookmark_toggle:
2081 * @location: The location where bookmark is toggled.
2082 * @ensure_visible: If the location must be made visible.
2083 * @err: Error propagation and reporting
2085 * Toggle bookmark at given @location
2088 void toggle
(gint location
, gboolean ensure_visible
);
2091 * ianjuta_bookmark_first:
2093 * @err: Error propagation and reporting
2095 * Goto first bookmark
2101 * ianjuta_bookmark_last:
2103 * @err: Error propagation and reporting
2105 * Goto last bookmark
2111 * ianjuta_bookmark_next:
2113 * @err: Error propagation and reporting
2115 * Goto next bookmark
2121 * ianjuta_bookmark_previous:
2123 * @err: Error propagation and reporting
2125 * Goto previous bookmark
2131 * ianjuta_bookmark_clear_all:
2133 * @err: Error propagation and reporting
2135 * Clear all bookmarks
2142 * SECTION:ianjuta-editor-factory
2143 * @title: IAnjutaEditorFactory
2144 * @short_description: Text editor factory that creates IAnjutaEditor objects
2146 * @stability: Unstable
2147 * @include: libanjuta/interfaces/ianjuta-editor-factory.h
2150 interface IAnjutaEditorFactory
2152 #include
"ianjuta-editor.h"
2155 * ianjuta_editor_factory_new_editor:
2158 * @filename: filename to open
2159 * @err: Error propagation and reporting
2161 * Get a new GtkWidget* which implements IAnjutaEditor
2163 * Return value: An object implementing IAnjutaEditor
2165 IAnjutaEditor
* new_editor
(const gchar
* uri
, const gchar
* filename
);
2169 * SECTION:ianjuta-document-manager
2170 * @title: IAnjutaDocumentManager
2171 * @short_description: Interface for plugin that manages all the editors
2173 * @stability: Unstable
2174 * @include: libanjuta/interfaces/ianjuta-document-manager.h
2177 interface IAnjutaDocumentManager
2179 #include
"ianjuta-document.h"
2180 #include
"ianjuta-editor.h"
2188 * ianjuta_document_manager_get_uri:
2190 * @file: short filename
2191 * @err: Error propagation and reporting.
2193 * Given the short filename, finds the URI of the file, if the
2194 * editor that has it loaded is found. If there is no editor that has
2195 * this file opened, returns NULL.
2197 * Return value: the URI of the file, if an editor is found for it.
2199 gchar
* get_uri
(const gchar
*file
);
2202 * ianjuta_document_manager_find_document_with_uri:
2204 * @uri: the file uri.
2205 * @err: Error propagation and reporting.
2207 * Finds the document that has the file with URI @uri loaded. Only
2208 * the editor that matches the URI will be searched.
2210 * Return value: the document that corresponds to given URI. NULL if
2211 * there is no editor loaded with this URI.
2213 IAnjutaDocument
* find_document_with_uri
(const gchar
*uri
);
2216 * ianjuta_document_manager_goto_uri_line:
2218 * @uri: URI of the file to go to.
2219 * @lineno: the line number in the file to go to.
2220 * @err: Error propagation and reporting.
2222 * Loads the given file if not loaded yet, set its editor as current editor
2223 * and moves cursor to the given line in the editor.
2225 * Return value: the editor where the mark has been put. NULL if none.
2227 IAnjutaEditor
* goto_uri_line
(const gchar
*uri
, gint lineno
);
2230 * ianjuta_document_manager_goto_uri_line_mark:
2232 * @uri: URI of the file to go to.
2233 * @lineno: the line number in the file to go to.
2234 * @mark: TRUE if the line should be marked with a marker.
2235 * @err: Error propagation and reporting
2237 * Loads the given file if not loaded yet, set its editor as current editor
2238 * and moves cursor to the given line in the editor. Optionally also marks
2239 * the line with line marker if @mark is given TRUE.
2241 * Return value: the editor where the mark has been put. NULL if none.
2243 IAnjutaEditor
* goto_uri_line_mark
(const gchar
*uri
, gint lineno
, gboolean mark
);
2246 * ianjuta_document_manager_get_current_document:
2248 * @err: Error propagation and reporting.
2250 * Gets the current document.
2252 * Return value: the currently active document. NULL if none is there.
2254 IAnjutaDocument
* get_current_document
();
2257 * ianjuta_document_manager_set_current_document:
2259 * @document: the document to set as current.
2260 * @err: Error propagation and reporting.
2262 * Sets the given document as current document.
2264 void set_current_document
(IAnjutaDocument
*document
);
2267 * ianjuta_document_manager_get_doc_widgets:
2269 * @err: Error propagation and reporting.
2271 * Gets a list of widgets for open documents. Each widget is
2272 * a GTK_WIDGET(InjutaDocument*)
2274 * Return value: a list of widgets for all open documents
2275 * The returned list (but not the data in the list) must be
2278 List
<GtkWidget
*> get_doc_widgets
();
2281 * ianjuta_document_manager_add_buffer:
2283 * @name: Name of the editor buffer.
2284 * @content: Initial content of the buffer.
2285 * @err: Error propagation and reporting.
2287 * Creates a new editor buffer of the given name and sets the given
2288 * content as its initial content.
2290 * Return value: the IAnjutaEditor instance that has been added.
2292 IAnjutaEditor
* add_buffer
(const gchar
*name
, const gchar
* content
);
2295 * ianjuta_document_manager_remove_document:
2297 * @document: Document to close.
2298 * @save_before: If true, saves the document before closing.
2299 * @err: Error propagation and reporting.
2301 * Closes and removes the given document. If @save_before is TRUE, also
2302 * saves the document before closing.
2304 * Return value: TRUE if the document was removed, else FALSE.
2306 gboolean remove_document
(IAnjutaDocument
*document
, gboolean save_before
);
2309 * ianjuta_document_manager_add_document:
2311 * @document: the document to add
2312 * @err: Error propagation and reporting.
2314 * Adds a document to the document manager. This will open a new
2315 * Notebook tab and show the document there
2318 void add_document
(IAnjutaDocument
* document
);
2323 * SECTION:ianjuta-message-view
2324 * @title: IAnjutaMessageView
2325 * @short_description: A view where messages of different kind can be shown
2327 * @stability: Unstable
2328 * @include: libanjuta/interfaces/ianjuta-message-view.h
2331 interface IAnjutaMessageView
2342 * IAnjutaMessageView::message_clicked:
2345 * @err: Error propagation and reporting.
2349 void ::message_clicked
(const gchar
*message);
2352 * IAnjutaMessageView::buffer_flushed:
2355 * @err: Error propagation and reporting.
2359 void ::buffer_flushed
(const gchar
*line
);
2362 * ianjuta_message_view_buffer_append:
2365 * @err: Error propagation and reporting.
2369 void buffer_append
(const gchar
*text
);
2372 * ianjuta_message_view_append:
2377 * @err: Error propagation and reporting.
2381 void append
(Type type
, const gchar
*summary
, const gchar
*details
);
2384 * ianjuta_message_view_clear:
2386 * @err: Error propagation and reporting.
2393 * ianjuta_message_view_select_next:
2395 * @err: Error propagation and reporting.
2399 void select_next
();
2402 * ianjuta_message_view_select_previous:
2404 * @err: Error propagation and reporting.
2408 void select_previous
();
2411 * ianjuta_message_view_get_current_message:
2413 * @err: Error propagation and reporting.
2417 const gchar
* get_current_message
();
2420 * ianjuta_message_view_get_all_messages:
2422 * @err: Error propagation and reporting.
2426 List
<const gchar
*> get_all_messages
();
2430 * SECTION:ianjuta-message-manager
2431 * @title: IAnjutaMessageManager
2432 * @short_description: The plugin that managers all message views
2434 * @stability: Unstable
2435 * @include: libanjuta/interfaces/ianjuta-message-manager.h
2438 interface IAnjutaMessageManager
2440 #include
"ianjuta-message-view.h"
2447 * ianjuta_message_manager_add_view:
2449 * @name: Name/Title of the new view
2450 * @icon: Path to an icon or ""
2451 * @err: Error propagation and reporting
2453 * Adds a new view to the message-manager
2455 * Return value: The new message-view
2457 IAnjutaMessageView
* add_view
(const gchar
*name
, const gchar
*icon
);
2460 * ianjuta_message_manager_remove_view:
2462 * @view: The view to remove
2463 * @err: Error propagation and reporting
2465 * Remove view from the message-manager. The view
2466 * will become invalid.
2468 void remove_view
(IAnjutaMessageView
*view
);
2471 * ianjuta_message_manager_get_current_view:
2473 * @err: Error propagation and reporting
2475 * Get the view with is currently on top of
2476 * the notebook or NULL if the message-manager is empty.
2478 * Return value: Current view; #IAnjutaMessageView object.
2479 * NULL, if there is no views.
2481 IAnjutaMessageView
* get_current_view
();
2484 * ianjuta_message_manager_get_view_by_name:
2486 * @name: Name/Title of the view
2487 * @err: Error propagation and reporting
2489 * Get the view with the given name or NULL if
2490 * it does not exist.
2492 * Return value: The message-view or NULL
2494 IAnjutaMessageView
* get_view_by_name
(const gchar
*name
);
2497 * ianjuta_message_manager_get_all_views:
2499 * @err: Error propagation and reporting
2501 * Get all message-views
2503 * Return value: A GList* of all views. You must not
2504 * manipulate the list.
2506 List
<IAnjutaMessageView
*> get_all_views
();
2509 * ianjuta_message_manager_set_current_view:
2511 * @view: A message view
2512 * @err: Error propagation and reporting
2514 * Set view to be on top of the notebook.
2517 void set_current_view
(IAnjutaMessageView
*view
);
2520 * ianjuta_message_manager_set_view_title:
2522 * @view: A message view
2523 * @title: Sets the title of view.
2524 * @err: Error propagation and reporting
2526 * Sets the title of view.
2529 void set_view_title
(IAnjutaMessageView
*view
, const gchar
*title
);
2533 * SECTION:ianjuta-file-manager
2534 * @title: IAnjutaFileManager
2535 * @short_description: File manager plugin
2537 * @stability: Unstable
2538 * @include: libanjuta/interfaces/ianjuta-file-manager.h
2541 interface IAnjutaFileManager
2545 * IAnjutaFileManager::section_changed:
2547 * @err: Error propagation and reporting.
2551 void ::section_changed
(const gchar
*uri
);
2554 * ianjuta_file_manager_set_root:
2557 * @err: Error propagation and reporting.
2561 void set_root
(const gchar
*root_uri
);
2564 * ianjuta_file_manager_get_selected:
2566 * @err: Error propagation and reporting.
2570 gchar
* get_selected
();
2573 * ianjuta_file_manager_set_selected:
2576 * @err: Error propagation and reporting.
2580 void set_selected
(const gchar
*uri
);
2584 * SECTION:ianjuta-terminal
2585 * @title: IAnjutaTerminal
2586 * @short_description: Interface for command line terminals
2588 * @stability: Unstable
2589 * @include: libanjuta/interfaces/ianjuta-terminal.h
2592 interface IAnjutaTerminal
2594 #include
<sys
/types.h
>
2597 * IAnjutaDebugManager::child_exited:
2599 * @pid: pid of terminated child
2600 * @status: status of terminated child as returned by waitpid
2602 * This signal is emitted when a child exit.
2604 void ::child_exited
(gint pid
, gint status
);
2608 * ianjuta_terminal_execute_command:
2610 * @directory: Working directory
2611 * @command: Command executed followed by arguments
2612 * @environment: List of additional environment variables
2613 * @err: Error propagation and reporting.
2615 * Run the command in a terminal, setting the working directory
2616 * and environment variables.
2618 * Returns: Process ID
2620 pid_t execute_command
(const gchar
* directory
, const gchar
*command
, gchar
**environment
);
2624 * SECTION:ianjuta-project-manager
2625 * @title: IAnjutaProjectManager
2626 * @short_description: Interface for project managers
2628 * @stability: Unstable
2629 * @include: libanjuta/interfaces/ianjuta-project-manager.h
2632 interface IAnjutaProjectManager
2653 CAN_ADD_GROUP
= 1 << 0,
2654 CAN_ADD_TARGET
= 1 << 1,
2655 CAN_ADD_SOURCE
= 1 << 2
2661 * IAnjutaProjectManager::element_added:
2663 * @element_uri: fixme
2664 * @err: Error propagation and reporting.
2668 void ::element_added
(const gchar
*element_uri
);
2671 * IAnjutaProjectManager::element_removed:
2673 * @element_uri: fixme
2674 * @err: Error propagation and reporting.
2678 void ::element_removed
(const gchar
*element_uri
);
2681 * IAnjutaProjectManager::element_selected:
2683 * @element_uri: fixme
2684 * @err: Error propagation and reporting.
2688 void ::element_selected
(const gchar
*element_uri
);
2693 * ianjuta_project_manager_get_element_type:
2695 * @element_uri: fixme
2696 * @err: Error propagation and reporting.
2702 ElementType get_element_type
(const gchar
*element_uri
);
2705 * ianjuta_project_manager_get_elements:
2707 * @element_type: fixme
2708 * @err: Error propagation and reporting.
2714 List
<const gchar
*> get_elements
(ElementType element_type
);
2717 * ianjuta_project_manager_get_target_type:
2719 * @target_uri: fixme
2720 * @err: Error propagation and reporting.
2726 TargetType get_target_type
(const gchar
*target_uri
);
2729 * ianjuta_project_manager_get_targets:
2731 * @target_type: fixme
2732 * @err: Error propagation and reporting.
2738 List
<const gchar
*> get_targets
(TargetType target_type
);
2741 * ianjuta_project_manager_get_parent:
2743 * @element_uri: fixme
2744 * @err: Error propagation and reporting.
2750 gchar
* get_parent
(const gchar
*element_uri
);
2753 * ianjuta_project_manager_get_children:
2755 * @element_uri: fixme
2756 * @err: Error propagation and reporting.
2762 List
<const gchar
*> get_children
(const gchar
*element_uri
);
2765 * ianjuta_project_manager_get_selected:
2767 * @err: Error propagation and reporting.
2771 gchar
* get_selected
();
2774 * ianjuta_project_manager_get_capabilities:
2776 * @err: Error propagation and reporting.
2778 * Returns the capabilites of project whether it can add group, target
2781 * Returns: Supported capabilites.
2783 Capabilities get_capabilities
();
2786 * ianjuta_project_manager_add_source:
2788 * @source_uri_to_add: fixme
2789 * @default_location_uri: fixme
2790 * @err: Error propagation and reporting.
2792 * Prompt the user to add a file to the project. If the user selects
2793 * multiple files only the first uri is returned.
2795 * Returns: element URIs. Must be freed when no longer required.
2797 gchar
* add_source
(const gchar
*source_uri_to_add
, const gchar
*default_location_uri
);
2800 * ianjuta_project_manager_add_sources:
2802 * @source_uris_to_add: fixme
2803 * @default_location_uri: fixme
2804 * @err: Error propagation and reporting.
2806 * Prompt the user to add a file to the project. If the user selects
2807 * multiple files only the first uri is returned.
2809 * Returns: element URIs. Must be freed when no longer required.
2811 List
<const gchar
*> add_sources
(List
<const gchar
*> source_uri_to_add
, const gchar
*default_location_uri
);
2814 * ianjuta_project_manager_add_target:
2816 * @target_name_to_add: fixme
2817 * @default_location_uri: fixme
2818 * @err: Error propagation and reporting.
2824 gchar
* add_target
(const gchar
*target_name_to_add
, const gchar
*default_location_uri
);
2827 * ianjuta_project_manager_add_group:
2829 * @group_name_to_add: fixme
2830 * @default_location_uri: fixme
2831 * @err: Error propagation and reporting.
2837 gchar
* add_group
(const gchar
*group_name_to_add
, const gchar
*default_location_uri
);
2840 * ianjuta_project_manager_is_open:
2842 * @err: Error propagation and reporting.
2846 gboolean is_open
();
2849 * ianjuta_project_manager_get_packages
2851 * @err: Error propagation and reporting.
2853 * Returns: the list of pkg-config packages that this projects
2854 * requires in it's configure.ac or NULL
2856 List
<gchar
*> get_packages
();
2860 * SECTION:ianjuta-todo
2861 * @title: IAnjutaTodo
2862 * @short_description: Task manager interface
2864 * @stability: Unstable
2865 * @include: libanjuta/interfaces/ianjuta-todo.h
2868 interface IAnjutaTodo
2872 * ianjuta_to_do_load:
2875 * @err: Error propagation and reporting.
2879 void load
(const gchar
*uri
);
2883 * SECTION:ianjuta-wizard
2884 * @title: IAnjutaWizard
2885 * @short_description: Interface for wizards that can create new stuffs
2887 * @stability: Unstable
2888 * @include: libanjuta/interfaces/ianjuta-wizard.h
2891 interface IAnjutaWizard
2895 * ianjuta_wizard_activate:
2897 * @err: Error propagation and reporting.
2905 * SECTION:ianjuta-debugger
2906 * @title: IAnjutaDebugger
2907 * @short_description: Debugger interface
2909 * @stability: Unstable
2910 * @include: libanjuta/interfaces/ianjuta-debugger.h
2913 interface IAnjutaDebugger
2915 #include
"ianjuta-message-view.h"
2916 #include
<libanjuta
/anjuta
-error.h
>
2917 #include
<sys
/types.h
>
2931 UNABLE_TO_CREATE_VARIABLE
,
2932 UNABLE_TO_ACCESS_MEMORY
,
2933 UNABLE_TO_OPEN_FILE
,
2934 UNSUPPORTED_FILE_TYPE
,
2935 UNSUPPORTED_VERSION
,
2936 UNABLE_TO_FIND_DEBUGGER
,
2982 /* Call back functions */
2983 typedef void (*Callback) (const gpointer data
, gpointer user_data
, GError
* err
);
2984 typedef void (*GListCallback
) (const GList
* list
, gpointer user_data
, GError
* err
);
2985 typedef void (*GCharCallback
) (const gchar
*value
, gpointer user_data
, GError
* err
);
2986 typedef void (*OutputCallback
) (OutputType type
, const gchar
*output
, gpointer user_data
);
2987 typedef void (*MemoryCallback
) (gulong address
, guint length
, const gchar
*data
, gpointer user_data
, GError
*err
);
2992 * IAnjutaDebugger::debugger_started:
2997 void ::debugger_started
();
3000 * IAnjutaDebugger::debugger_stopped:
3002 * @err: Error propagation and reporting.
3006 void ::debugger_stopped
(GError
*err
);
3009 * IAnjutaDebugger::program_loaded:
3014 void ::program_loaded
();
3017 * IAnjutaDebugger::program_running:
3022 void ::program_running
();
3025 * IAnjutaDebugger::program_stopped:
3030 void ::program_stopped
();
3033 * IAnjutaDebugger::program_exited:
3038 void ::program_exited
();
3041 * IAnjutaDebugger::sharedlib_event:
3046 void ::sharedlib_event
();
3049 * IAnjutaDebugger::program_moved:
3051 * @pid: process id, 0 when unknown
3052 * @tid: thread id, 0 when unknown
3053 * @address: program counter address, 0 when unknown
3054 * @file: source file where is the program counter, NULL when unknown
3055 * @line: line number if file name above is not NULL
3057 * This signal is emitted when the debugger know the current program
3058 * location. Most of the time, after the program has stopped but it
3059 * could happen even if it is still running.
3061 void ::program_moved
(gint pid
, gint tid
, gulong address
, const gchar
* file
, guint line
);
3064 * IAnjutaDebugger::frame_changed:
3071 void ::frame_changed
(guint frame
, gint thread
);
3074 * IAnjutaDebugger::signal_received:
3076 * @name: Signal name
3077 * @description: Signal description
3081 void ::signal_received
(const gchar
* name
, const gchar
* description
);
3084 * IAnjutaDebugger::debugger_ready:
3090 void ::debugger_ready
(State state
);
3094 * ianjuta_debugger_get_state:
3096 * @err: Error propagation and reporting.
3108 * ianjuta_debugger_load:
3112 * @source_search_directories: fixme
3114 * @err: Error propagation and reporting.
3118 * Returns: TRUE if sucessful, other FALSE.
3120 gboolean load
(const gchar
*file
, const gchar
*mime_type
, const List
<const gchar
*> source_search_directories
);
3123 * ianjuta_debugger_attach:
3126 * @source_search_directories: fixme
3127 * @err: Error propagation and reporting.
3131 * Returns: TRUE if sucessful, other FALSE.
3133 gboolean attach
(pid_t pid
, const List
<const gchar
*> source_search_directories
);
3136 * ianjuta_debugger_set_working_directory:
3138 * @dir: working program directory
3139 * @err: Error propagation and reporting.
3141 * Set program working directory.
3143 * Returns: TRUE if sucessful, other FALSE.
3145 gboolean set_working_directory
(const gchar
*dir
);
3148 * ianjuta_debugger_set_environment:
3150 * @env: List environment variable
3151 * @err: Error propagation and reporting
3153 * Set environment variable
3155 * Returns: TRUE if sucessfull, other FALSE.
3157 gboolean set_environment
(gchar
**env
);
3160 * ianjuta_debugger_start:
3162 * @args: command line argument of the program
3163 * @terminal: TRUE if the program need a terminal
3164 * @stop: TRUE if program is stopped at the beginning
3165 * @err: Error propagation and reporting.
3167 * Start a loaded program under debugger control.
3169 * Returns: TRUE if sucessful, other FALSE.
3171 gboolean start
(const gchar
*args
, gboolean terminal
, gboolean stop
);
3174 * ianjuta_debugger_unload:
3176 * @err: Error propagation and reporting.
3185 * ianjuta_debugger_quit:
3187 * @err: Error propagation and reporting.
3189 * Quit the debugger, can wait until the debugger is ready.
3191 * Returns: TRUE if sucessful, other FALSE.
3196 * ianjuta_debugger_abort:
3198 * @err: Error propagation and reporting.
3200 * Quit the debugger as fast as possible.
3202 * Returns: TRUE if sucessful, other FALSE.
3207 * ianjuta_debugger_run:
3209 * @err: Error propagation and reporting.
3218 * ianjuta_debugger_step_in:
3220 * @err: Error propagation and reporting.
3226 gboolean step_in
();
3229 * ianjuta_debugger_step_over:
3231 * @err: Error propagation and reporting.
3237 gboolean step_over
();
3240 * ianjuta_debugger_step_out:
3242 * @err: Error propagation and reporting.
3248 gboolean step_out
();
3251 * ianjuta_debugger_run_to:
3255 * @err: Error propagation and reporting.
3261 gboolean run_to
(const gchar
*uri
, gint line
);
3264 * ianjuta_debugger_exit:
3266 * @err: Error propagation and reporting.
3275 * ianjuta_debugger_interrupt:
3277 * @err: Error propagation and reporting.
3283 gboolean interrupt
();
3288 * ianjuta_debugger_inspect:
3293 * @err: Error propagation and reporting.
3299 gboolean inspect
(const gchar
* name
, Callback callback, gpointer user_data
);
3302 * ianjuta_debugger_evaluate:
3308 * @err: Error propagation and reporting.
3314 gboolean evaluate
(const gchar
* name
, const gchar
* value
, Callback callback, gpointer user_data
);
3317 * ianjuta_debugger_print:
3322 * @err: Error propagation and reporting.
3328 gboolean print
(const gchar
*variable
, Callback callback, gpointer user_data
);
3331 * ianjuta_debugger_list_local:
3335 * @err: Error propagation and reporting.
3341 gboolean list_local
(Callback callback, gpointer user_data
);
3344 * ianjuta_debugger_list_argument:
3348 * @err: Error propagation and reporting.
3354 gboolean list_argument
(Callback callback, gpointer user_data
);
3357 * ianjuta_debugger_info_signal:
3361 * @err: Error propagation and reporting.
3367 gboolean info_signal
(Callback callback, gpointer user_data
);
3370 * ianjuta_debugger_info_sharedlib:
3374 * @err: Error propagation and reporting.
3380 gboolean info_sharedlib
(Callback callback, gpointer user_data
);
3383 * ianjuta_debugger_handle_signal:
3389 * @err: Error propagation and reporting.
3395 gboolean handle_signal
(const gchar
*name
, gboolean stop
, gboolean print
, gboolean
ignore);
3398 * ianjuta_debugger_info_frame:
3403 * @err: Error propagation and reporting.
3409 gboolean info_frame
(guint frame
, Callback callback, gpointer user_data
);
3412 * ianjuta_debugger_info_args:
3416 * @err: Error propagation and reporting.
3422 gboolean info_args
(Callback callback, gpointer user_data
);
3425 * ianjuta_debugger_info_target:
3429 * @err: Error propagation and reporting.
3435 gboolean info_target
(Callback callback, gpointer user_data
);
3438 * ianjuta_debugger_info_program:
3442 * @err: Error propagation and reporting.
3448 gboolean info_program
(Callback callback, gpointer user_data
);
3451 * ianjuta_debugger_info_udot:
3455 * @err: Error propagation and reporting.
3461 gboolean info_udot
(Callback callback, gpointer user_data
);
3465 * ianjuta_debugger_info_variables:
3469 * @err: Error propagation and reporting.
3475 gboolean info_variables
(Callback callback, gpointer user_data
);
3478 * ianjuta_debugger_list_frame:
3482 * @err: Error propagation and reporting.
3488 gboolean list_frame
(Callback callback, gpointer user_data
);
3491 * ianjuta_debugger_set_frame:
3494 * @err: Error propagation and reporting.
3500 gboolean set_frame
(guint frame
);
3503 * ianjuta_debugger_list_thread:
3507 * @err: Error propagation and reporting.
3513 gboolean list_thread
(Callback callback, gpointer user_data
);
3516 * ianjuta_debugger_set_thread:
3519 * @err: Error propagation and reporting.
3525 gboolean set_thread
(gint thread
);
3528 * ianjuta_debugger_info_threads:
3533 * @err: Error propagation and reporting.
3539 gboolean info_thread
(gint thread
, Callback callback, gpointer user_data
);
3542 * ianjuta_debugger_list_register:
3546 * @err: Error propagation and reporting.
3552 gboolean list_register
(Callback callback, gpointer user_data
);
3555 * ianjuta_debugger_send_command:
3558 * @err: Error propagation and reporting.
3564 gboolean send_command
(const gchar
*command
);
3567 * ianjuta_debugger_callback:
3571 * @err: Error propagation and reporting.
3577 gboolean
callback (Callback callback, gpointer user_data
);
3580 * ianjuta_debugger_enable_log:
3583 * @err: Error propagation and reporting.
3589 void enable_log
(IAnjutaMessageView
*log
);
3592 * ianjuta_debugger_disable_log:
3594 * @err: Error propagation and reporting.
3600 void disable_log
();
3603 * SECTION:ianjuta-debugger-breakpoint
3604 * @title: IAnjutaDebuggerBreakpoint
3605 * @short_description: Breakpoint Debugger interface
3607 * @stability: Unstable
3608 * @include: libanjuta/interfaces/ianjuta-debugger-breakpoint.h
3611 interface IAnjutaDebuggerBreakpoint
3619 ON_ADDRESS
= 1 << 2,
3620 ON_FUNCTION
= 1 << 3,
3623 WITH_ENABLE
= 1 << 16,
3624 WITH_IGNORE
= 1 << 15,
3625 WITH_TIME
= 1 << 11,
3626 WITH_CONDITION
= 1 << 12,
3627 WITH_TEMPORARY
= 1 << 13
3647 SET_AT_ADDRESS
= 1 << 0,
3648 SET_AT_FUNCTION
= 1 << 1,
3655 * ianjuta_debugger_breakpoint_implement:
3657 * @err: Error propagation and reporting.
3659 * Return all implemented methods.
3661 * Returns: A OR of IAnjutaDebuggerBreakpointMethod
3662 * corresponding to all implemented optional methods.
3667 * ianjuta_debugger_breakpoint_set_at_line:
3669 * @file: File containing the breakpoint
3670 * @line: Line number where is the breakpoint
3671 * @callback: Callback to call when the breakpoint has been set
3672 * @user_data: User data that is passed back to the callback
3673 * @err: Error propagation and reporting.
3675 * Set a breakpoint at the specified line in the file.
3677 * Returns: TRUE if the request succeed and the callback is called. If
3678 * FALSE, the callback will not be called.
3680 gboolean set_at_line
(const gchar
* file
, guint line
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3684 * ianjuta_debugger_breakpoint_set_at_address:
3686 * @address: Address of the breakpoint
3687 * @callback: Callback to call when the breakpoint has been set
3688 * @user_date: User data that is passed back to the callback
3689 * @err: Error propagation and reporting.
3691 * Set a breakpoint at the specified address.
3692 * This function is optional.
3694 * Returns: TRUE if the request succeed and the callback is called. If
3695 * FALSE, the callback will not be called.
3697 gboolean set_at_address
(gulong address
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3700 * ianjuta_debugger_breakpoint_set_at_function:
3702 * @file: File containing the breakpoint
3703 * @function: Function name where the breakpoint is put
3704 * @callback: Callback to call when the breakpoint has been set
3705 * @user_data: User data that is passed back to the callback
3706 * @err: Error propagation and reporting.
3708 * Set a breakpoint at the beginning of the specified function.
3709 * This function is optional.
3711 * Returns: TRUE if the request succeed and the callback is called. If
3712 * FALSE, the callback will not be called.
3714 gboolean set_at_function
(const gchar
* file
, const gchar
* function
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3717 * ianjuta_debugger_breakpoint_clear:
3719 * @id: Breakpoint identification number
3720 * @callback: Callback to call when the breakpoint has been cleared
3721 * @user_data: User data that is passed back to the callback
3722 * @err: Error propagation and reporting.
3724 * Clear a breakpoint put by any set functions. The Id of the breakpoint
3725 * is given in the callback of the set functions.
3727 * Returns: TRUE if the request succeed and the callback is called. If
3728 * FALSE, the callback will not be called.
3730 gboolean clear
(guint
id, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3733 * ianjuta_debugger_breakpoint_list:
3735 * @callback: Callback to call with the list of breakpoints
3736 * @user_data: User data that is passed back to the callback
3737 * @err: Error propagation and reporting.
3739 * List all breakpoints set in the debugger. It is useful to
3740 * know how many time a breakpoint has been hit.
3742 * Returns: TRUE if the request succeed and the callback is called. If
3743 * FALSE, the callback will not be called.
3745 gboolean list
(IAnjutaDebuggerCallback
callback, gpointer user_data
);
3748 * ianjuta_debugger_breakpoint_enable:
3750 * @id: Breakpoint identification number
3751 * @enable: TRUE to enable the breakpoint, FALSE to disable it
3752 * @callback: Callback to call when the breakpoint has been changed
3753 * @user_data: User data that is passed back to the callback
3754 * @err: Error propagation and reporting.
3756 * Enable of disable a breakpoint. This function is optional.
3758 * Returns: TRUE if the request succeed and the callback is called. If
3759 * FALSE, the callback will not be called.
3761 gboolean enable
(guint
id, gboolean enable
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3764 * ianjuta_debugger_breakpoint_ignore:
3766 * @id: Breakpoint identification number
3767 * @ignore: Number of time a breakpoint must be ignored
3768 * @callback: Callback to call when the breakpoint has been changed
3769 * @user_data: User data that is passed back to the callback
3770 * @err: Error propagation and reporting.
3772 * This allow to ignore the breakpoint a number of time before stopping.
3773 * This function is optional.
3775 * Returns: TRUE if the request succeed and the callback is called. If
3776 * FALSE, the callback will not be called.
3778 gboolean
ignore (guint
id, guint
ignore, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3781 * ianjuta_debugger_breakpoint_condition:
3783 * @id: Breakpoint identification number
3785 * @callback: Callback to call when the breakpoint has been changed
3786 * @user_data: User data that is passed back to the callback
3787 * @err: Error propagation and reporting.
3789 * Add a condition, evaluate in the program context, on the breakpoint,
3790 * the program will stop when it reachs the breakpoint only if the
3791 * condition is true. This function is optional.
3793 * Returns: TRUE if the request succeed and the callback is called. If
3794 * FALSE, the callback will not be called.
3796 gboolean condition
(guint
id, const gchar
* condition
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3800 * SECTION:ianjuta-debugger-variable
3801 * @title: IAnjutaDebuggerVariable
3802 * @short_description: Variables interface for debuggers
3804 * @stability: Unstable
3805 * @include: libanjuta/interfaces/ianjuta-debugger-variable.h
3807 * This interface is used to examine and change values of expression.
3808 * It is based on the MI2 variable object interface of gdb. A
3809 * variable needs to be created before being able to get or set its
3810 * value and list its children.
3812 interface IAnjutaDebuggerVariable
3827 * ianjuta_debugger_variable_create:
3829 * @expression: Variable expression
3830 * @callback: Callback to call when the variable has been created
3831 * @user_data: User data that is passed back to the callback
3832 * @err: Error propagation and reporting.
3834 * Create a new variable object in the current thread and frame.
3836 * Returns: TRUE if the request succeed and the callback is
3837 * called. If FALSE, the callback will not be called.
3839 gboolean create
(const gchar
*expression
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3842 * ianjuta_debugger_variable_list_children:
3844 * @name: Variable name
3845 * @callback: Callback to call when the children have been
3847 * @user_data: User data that is passed back to the callback
3848 * @err: Error propagation and reporting.
3850 * List and create objects for all children of a
3853 * Returns: TRUE if the request succeed and the callback is
3854 * called. If FALSE, the callback will not be called.
3856 gboolean list_children
(const gchar
*name
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3859 * ianjuta_debugger_variable_evaluate:
3861 * @name: Variable name
3862 * @callback: Callback to call with the variable value
3863 * @user_data: User data that is passed back to the callback
3864 * @err: Error propagation and reporting.
3866 * Get the value of one variable or child object.
3868 * Returns: TRUE if the request succeed and the callback is
3869 * called. If FALSE, the callback will not be called.
3871 gboolean evaluate
(const gchar
*name
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
3874 * ianjuta_debugger_variable_assign:
3876 * @name: Variable name
3877 * @value: Variable value
3878 * @err: Error propagation and reporting.
3880 * Set the value of one variable or child object.
3882 * Returns: TRUE if the request succeed and the callback is
3883 * called. If FALSE, the callback will not be called.
3885 gboolean assign
(const gchar
*name
, const gchar
*value
);
3888 * ianjuta_debugger_variable_update:
3890 * @callback: Callback to call with the list of all changed
3892 * @user_data: User data that is passed back to the callback
3893 * @err: Error propagation and reporting.
3895 * List all changed variable objects since the last call.
3897 * Returns: TRUE if the request succeed and the callback is
3898 * called. If FALSE, the callback will not be called.
3900 gboolean update
(IAnjutaDebuggerCallback
callback, gpointer user_data
);
3903 * ianjuta_debugger_variable_destroy:
3905 * @name: Variable name
3906 * @err: Error propagation and reporting.
3908 * Delete a previously created variable or child object
3909 * including its own children.
3911 * Returns: TRUE if the request succeed and the callback is
3912 * called. If FALSE, the callback will not be called.
3914 gboolean destroy
(const gchar
*name
);
3918 * SECTION:ianjuta-debugger-register
3919 * @title: IAnjutaDebuggerRegister
3920 * @short_description: Register interface for debuggers
3922 * @stability: Unstable
3923 * @include: libanjuta/interfaces/ianjuta-debugger-register.h
3925 * This interface is used to examine and change values of CPU registers.
3927 interface IAnjutaDebuggerRegister
3938 * ianjuta_debugger_register_list:
3940 * @callback: Callback to call with the register list
3941 * @user_data: User data that is passed back to the callback
3942 * @err: Error propagation and reporting.
3944 * List all registers of the target. This function can be called without
3945 * a program loaded, the value field of register structure is not filled.
3947 * Returns: TRUE if the request succeed and the callback is
3948 * called. If FALSE, the callback will not be called.
3950 gboolean list
(IAnjutaDebuggerCallback
callback, gpointer user_data
);
3953 * ianjuta_debugger_register_update:
3955 * @callback: Callback call with the list of all modified registers
3956 * @user_data: User data that is passed back to the callback
3957 * @err: Error propagation and reporting.
3959 * Return all modified registers since the last call. Only the num and
3960 * value field are used.
3962 * Returns: TRUE if the request succeed and the callback is
3963 * called. If FALSE, the callback will not be called.
3965 gboolean update
(IAnjutaDebuggerCallback
callback, gpointer user_data
);
3968 * ianjuta_debugger_register_write:
3970 * @value: Modified register with a new value
3971 * @err: Error propagation and reporting.
3973 * Change the value of one register. Only the num and value field are used.
3975 * Returns: TRUE if the request succeed.
3977 gboolean write
(Data
*value
);
3981 * SECTION:ianjuta-debugger-memory
3982 * @title: IAnjutaDebuggerMemory
3983 * @short_description: Memory interface for debuggers
3985 * @stability: Unstable
3986 * @include: libanjuta/interfaces/ianjuta-debugger-memory.h
3988 * This interface is used to examine the target memory.
3990 interface IAnjutaDebuggerMemory
4000 * ianjuta_debugger_memory_inspect:
4002 * @address: Start address of the memory block
4003 * @length: Length of memory block
4004 * @callback: Call back with a IAnjutaDebuggerMemoryBlock as argument
4005 * @user_data: User data that is passed back to the callback
4006 * @err: Error propagation and reporting.
4008 * Read a block of the target memory.
4010 * Returns: TRUE if the request succeed and the callback is
4011 * called. If FALSE, the callback will not be called.
4013 gboolean inspect
(gulong address
, guint length
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
4017 * SECTION:ianjuta-debugger-instruction
4018 * @title: IAnjutaDebuggerInstruction
4019 * @short_description: Debugger interface for machine instruction
4021 * @stability: Unstable
4022 * @include: libanjuta/interfaces/ianjuta-debugger-instruction.h
4024 * This interface is used to debuger as machine instruction level.
4026 interface IAnjutaDebuggerInstruction
4043 * ianjuta_debugger_instruction_disassemble:
4045 * @address: Start address of the memory block
4046 * @length: Length of memory block
4047 * @callback: Call back with a IAnjutaDebuggerInstructionDisassembly as argument
4048 * @user_data: User data that is passed back to the callback
4049 * @err: Error propagation and reporting.
4051 * Disassemble a part of the memory
4053 * Returns: TRUE if the request succeed and the callback is
4054 * called. If FALSE, the callback will not be called.
4056 gboolean disassemble
(gulong address
, guint length
, IAnjutaDebuggerCallback
callback, gpointer user_data
);
4059 * ianjuta_debugger_instruction_step_in:
4061 * @err: Error propagation and reporting.
4063 * Execute one assembler instruction in the program.
4065 * Returns: TRUE if the request succeed and the callback is called. If
4066 * FALSE, the callback will not be called.
4068 gboolean step_in
();
4071 * ianjuta_debugger_instruction_step_over:
4073 * @err: Error propagation and reporting.
4075 * Execute one assembler instruction in the program, if the instruction
4076 * is a function call, continues until the function returns.
4078 * Returns: TRUE if the request succeed and the callback is called. If
4079 * FALSE, the callback will not be called.
4081 gboolean step_over
();
4084 * ianjuta_debugger_instruction_run_to_address:
4086 * @address: Run to this addresss
4087 * @err: Error propagation and reporting.
4089 * Start the program until it reachs the address address
4091 * Returns: TRUE if the request succeed and the callback is called. If
4092 * FALSE, the callback will not be called.
4094 gboolean run_to_address
(gulong address
);
4100 * SECTION:ianjuta-debug-manager
4101 * @title: IAnjutaDebugManager
4102 * @short_description: Common graphical interface to all debugger
4104 * @stability: Unstable
4105 * @include: libanjuta/interfaces/ianjuta-debug-manager.h
4107 * This interface wrap the real debugger plugin and provide a
4108 * common graphical user interface.
4111 interface IAnjutaDebugManager
4113 #include
"ianjuta-debugger.h"
4114 #include
"ianjuta-debugger-breakpoint.h"
4119 * IAnjutaDebugManager::debugger_started:
4122 * This signal is emitted when the debugger is started.
4124 void ::debugger_started
();
4127 * IAnjutaDebugManager::debugger_stopped:
4129 * @err: Error propagation and reporting.
4131 * This signal is emitted when the debugger is stopped.
4133 void ::debugger_stopped
(GError
*err
);
4136 * IAnjutaDebugManager::program_loaded:
4139 * This signal is emitted when a program is loaded most of the
4140 * time just before the first program_stopped signal.
4142 void ::program_loaded
();
4145 * IAnjutaDebugManager::program_unloaded:
4148 * This signal is emitted when a program is unloaded. If the
4149 * debugger is stopped while a program is loaded, this signal
4150 * is emitted before the debugger_stopped signal.
4152 void ::program_unloaded
();
4155 * IAnjutaDebugManager::program_started:
4158 * This signal is emitted when the program is started. If the
4159 * program starts and is stopped by the debugger, a program-stopped
4160 * signal will be emitted too. If the program starts is not stopped
4161 * by the debugger a program-running signal will be emitted.
4163 void ::program_started
();
4166 * IAnjutaDebugManager::program_exited:
4169 * This signal is emitted when the program is unloaded. If the
4170 * debugger is stopped while a program is running or stopped, this
4171 * signal is emitted before the program_unloaded signal.
4173 void ::program_exited
();
4176 * IAnjutaDebugManager::program_stopped:
4179 * This signal is emitted when the program is stopped.
4181 void ::program_stopped
();
4184 * IAnjutaDebugManager::program_running:
4187 * This signal is emitted when the program is running.
4189 void ::program_running
();
4193 * IAnjutaDebugManager::sharedlib_event:
4196 * This signal is emitted when a new shared library is loaded. It
4197 * is useful to try to set pending breakpoints those could be in
4198 * the newly loaded library.
4200 void ::sharedlib_event
();
4203 * IAnjutaDebugManager::program_moved:
4205 * @pid: process id, 0 when unknown
4206 * @tid: thread id, 0 when unknown
4207 * @address: program counter address, 0 when unknown
4208 * @file: source file where is the program counter, NULL when unknown
4209 * @line: line number if file name above is not NULL
4211 * This signal is emitted when the debugger know the current program
4212 * location. Most of the time, after the program has stopped but it
4213 * could happen even if it is still running.
4215 void ::program_moved
(gint pid
, gint tid
, gulong address
, const gchar
* file
, guint line
);
4218 * IAnjutaDebugManager::frame_changed:
4223 * This signal is emitted when the current frame is changed. It is
4224 * equal to the top frame in the interrupted thread when the
4225 * program stops but can be changed afterward by the user.
4226 * Several commands use this current frame, by example the register
4227 * window display the register values for the current thread only.
4229 void ::frame_changed
(guint frame
, gint thread
);
4232 * IAnjutaDebugManager::location_changed:
4234 * @address: program counter address, 0 when unknown
4235 * @uri: source file where is the program counter, NULL when unknown
4236 * @line: line number if file name above is not NULL
4238 * This signal is emitted when the current location is changed. It is
4239 * equal to the program location when the program stops but can be
4240 * changed afterward by the user.
4242 void ::location_changed
(gulong address
, const gchar
* uri
, guint line
);
4245 * IAnjutaDebugManager::signal_received:
4247 * @name: Signal name
4248 * @description: Signal description
4250 * This signal is emitted when the debugged program receives a
4253 void ::signal_received
(const gchar
* name
, const gchar
* description
);
4256 * IAnjutaDebugManager::breakpoint_changed:
4258 * @breakpoint: Breakpoint
4259 * @err: Error propagation and reporting.
4261 * This signal is emitted when a breakpoint is changed. It includes
4262 * new breakpoint and deleted breakpoint.
4264 void ::breakpoint_changed
(IAnjutaDebuggerBreakpointItem
*breakpoint
);
4268 * SECTION:ianjuta-vcs
4269 * @title: IAnjutaVcs
4270 * @short_description: Version control system interface
4272 * @stability: Unstable
4273 * @include: libanjuta/interfaces/ianjuta-vcs.h
4276 interface IAnjutaVcs
4280 * @filename: String with the filename
4282 * @err: Error propagation and reporting
4284 * Add filename to the cvs repositry.
4286 void add
(const gchar
* filename
);
4289 * ianjuta_cvs_remove:
4290 * @filename: String with the filename
4292 * @err: Error propagation and reporting
4294 * Remove filename to the cvs repositry. Note that the file
4295 * is not removed physicly. This function will fail if the file
4296 * still exists on disc.
4298 void remove
(const gchar
* filename
);
4301 * ianjuta_vcs_update:
4302 * @filename: String with the filename
4303 * @recurse: TRUE to recurse into subdirectories
4305 * @err: Error propagation and reporting
4307 * Update filename with the cvs repositry.
4309 void update
(const gchar
* filename
, gboolean recurse
);
4312 * ianjuta_vcs_commit:
4313 * @filename: String with the filename
4314 * @log: The log message for the commit or ""
4315 * @recurse: TRUE to recurse into subdirectories
4317 * @err: Error propagation and reporting
4319 * Commit changes in filename to the cvs repositry.
4321 void commit
(const gchar
* filename
, const gchar
* log
, gboolean recurse
);
4325 * SECTION:ianjuta-macro
4326 * @title: IAnjutaMacro
4327 * @short_description: Macro processor interface
4329 * @stability: Unstable
4330 * @include: libanjuta/interfaces/ianjuta-macro.h
4333 interface IAnjutaMacro
4336 * ianjuta_macro_insert:
4337 * @key: Key of the macro
4339 * @err: Error propagation and reporting
4341 * Insert Macro to editor
4343 void insert
(const gchar
* key
);
4347 * SECTION:ianjuta-symbol
4348 * @title: IAnjutaSymbol
4349 * @short_description: Source code symbol interface
4350 * @see_also: #IAnjutaSymbolManager
4351 * @stability: Unstable
4352 * @include: libanjuta/interfaces/ianjuta-symbol.h
4355 interface IAnjutaSymbol
4357 #include
<gdk
/gdkpixbuf.h
>
4361 TYPE_UNDEF
= 0, // Unknown type
4362 TYPE_CLASS
= 1, // Class declaration
4363 TYPE_ENUM
= 2, // Enum declaration
4364 TYPE_ENUMERATOR
= 4, // Enumerator value
4365 TYPE_FIELD
= 8, // Field (Java only)
4366 TYPE_FUNCTION
= 16, // Function definition
4367 TYPE_INTERFACE
= 32, // Interface (Java only)
4368 TYPE_MEMBER
= 64, // Member variable of class/struct
4369 TYPE_METHOD
= 128, // Class method (Java only)
4370 TYPE_NAMESPACE
= 256, // Namespace declaration
4371 TYPE_PACKAGE
= 512, // Package (Java only)
4372 TYPE_PROTOTYPE
= 1024, // Function prototype
4373 TYPE_STRUCT
= 2048, // Struct declaration
4374 TYPE_TYPEDEF
= 4096, // Typedef
4375 TYPE_UNION
= 8192, // Union
4376 TYPE_VARIABLE
= 16384, // Variable
4377 TYPE_EXTERNVAR
= 32768, // Extern or forward declaration
4378 TYPE_MACRO
= 65536, // Macro (without arguments)
4379 TYPE_MACRO_WITH_ARG
= 131072, // Parameterized macro
4380 TYPE_FILE
= 262144, // File (Pseudo tag)
4381 TYPE_OTHER
= 524288, // Other (non C/C++/Java tag)
4382 TYPE_MAX
= 1048575 // Maximum value
4385 /* Field masks -- used mainly to retrieve fields of a symbol */
4389 FIELD_SIMPLE
= 0, // With this field you will have name, line of declaration,
4390 // is_file_scope and signature of the symbol
4391 FIELD_FILE_PATH
= 1,
4392 FIELD_IMPLEMENTATION
= 2,
4396 FIELD_TYPE_NAME
= 32,
4397 FIELD_LANGUAGE
= 64,
4398 FIELD_FILE_IGNORE
= 128,
4399 FIELD_FILE_INCLUDE
= 256,
4400 FIELD_PROJECT_NAME
= 512,
4401 FIELD_WORKSPACE_NAME
= 1024
4405 * ianjuta_symbol_get_name:
4406 * The name of the symbol
4408 const gchar
*get_name
();
4411 * ianjuta_symbol_get_uri:
4412 * The uri of the symbol
4414 const gchar
*get_uri
();
4417 * ianjuta_symbol_get_line:
4418 * Line of the file in which the symbol is declared.
4423 * ianjuta_symbol_is_local:
4424 * Is the symbol a static (private) one?
4426 gboolean is_local
();
4429 * ianjuta_symbol_get_args:
4430 * If symbol is a function then this will return a string with the args.
4432 const gchar
*get_args
();
4435 * ianjuta_symbol_get_sym_type:
4436 * You can obtain an IAnjutaSymbolType of the symbol.
4437 * To have a string representation see ianjuta_symbol_get_extra_info_string ().
4438 * You *need* a symbol with FIELD_TYPE enabled attribute. e.g. use ianjuta_symbol_manager_search
4439 * passing FIELD_TYPE as info_fields.
4441 Type get_sym_type
();
4444 * ianjuta_symbol_get_extra_info_string:
4445 * @sym_info: Just one FIELD_* per time. It is NOT possible to pass something like
4446 * FIELD_1 | FIELD_2 | ...
4448 const gchar
*get_extra_info_string
(Field sym_info
);
4451 * Pixbuf icon representing the symbol.
4452 * You *need* a symbol with FIELD_ACCESS | FIELD_KIND enabled attribute. e.g. use
4453 * ianjuta_symbol_manager_search passing FIELD_ACCESS | FIELD_KIND as info_fields.
4455 const GdkPixbuf
*get_icon
();
4460 * SECTION:ianjuta-symbol-manager
4461 * @title: IAnjutaSymbolManager
4462 * @short_description: Source code symbols manager inteface
4463 * @see_also: #IAnjutaSymbol
4464 * @stability: Unstable
4465 * @include: libanjuta/interfaces/ianjuta-symbol-manager.h
4468 interface IAnjutaSymbolManager
4470 #include
"ianjuta-iterable.h"
4471 #include
"ianjuta-symbol.h"
4474 * ianjuta_symbol_manager_search:
4476 * @match_types: If passed IANJUTA_TYPE_UNDEF the function will not perfom any filter.
4477 * @include_types: Should the result contain or exclude the match_types? TRUE to include them,
4478 * FALSE to exclude. For example use may want all symbols but classes.
4479 * @match_name: fixme
4480 * @partial_name_match: if TRUE it will search for %match_name%, it FALSE for the exact
4481 * string match_name.
4482 * @global_search: if TRUE it will search only for public/extern functions.
4483 * If FALSE it will search also for static/private functions.
4484 * @results_limit Limit results to an upper bound. -1 If you don't want to use this par.
4485 * @results_offset Skip results_offset results. -1 If you don't want to use this par.
4486 * @err: Error propagation and reporting.
4488 * Database query. Returned iterable must be unrefed after use.
4492 IAnjutaIterable
* search
(IAnjutaSymbolType match_types
, gboolean include_types
, IAnjutaSymbolField info_fields
, const gchar
*match_name
, gboolean partial_name_match
, gboolean global_search
, gint results_limit
, gint results_offset
);
4495 * ianjuta_symbol_manager_get_members:
4497 * @symbol_name: fixme
4498 * @global_search: fixme
4499 * @err: Error propagation and reporting.
4501 * Database query. Returned iterable must be unrefed after use.
4505 IAnjutaIterable
* get_members
(IAnjutaSymbol
*symbol
, IAnjutaSymbolField info_fields
, gboolean global_search
);
4508 * ianjuta_symbol_manager_get_parents:
4510 * @symbol_name: fixme
4511 * @err: Error propagation and reporting.
4517 IAnjutaIterable
* get_class_parents
(IAnjutaSymbol
*symbol
, IAnjutaSymbolField info_fields
);
4521 * SECTION:ianjuta-print
4522 * @title: IAnjutaPrint
4523 * @short_description: Print interface
4525 * @stability: Unstable
4526 * @include: libanjuta/interfaces/ianjuta-print.h
4529 interface IAnjutaPrint
4532 * ianjuta_print_print:
4534 * @err: Error propagation and reporting.
4536 * Print the plugin (the file in case of the editor). In most cases this will show
4542 * ianjuta_print_print:
4544 * @err: Error propagation and reporting.
4546 * Show print preview dialog
4549 void print_preview
();
4553 * SECTION:ianjuta-language-support
4554 * @title: IAnjutaLanguageSupport
4555 * @short_description: Programming language specific supports from plugins
4557 * @stability: Unstable
4558 * @include: libanjuta/interfaces/ianjuta-language-support.h
4561 interface IAnjutaLanguageSupport
4563 List
<const gchar
*> get_supported_languages
();
4564 gboolean supports
(const gchar
*language
);
4568 * SECTION:ianjuta-preferences
4569 * @title: IAnjutaPreferences
4570 * @short_description: Preferences interface
4572 * @stability: Unstable
4573 * @include: libanjuta/interfaces/ianjuta-preferences
4576 interface IAnjutaPreferences
4578 #include
<libanjuta
/anjuta
-preferences.h
>
4580 * ianjuta_preferences_merge:
4582 * @prefs: AnjutaPreferences to install to
4583 * @err: Error propagation and reporting.
4585 * When called, the plugin should install it's preferences
4587 void merge
(AnjutaPreferences
* prefs
);
4590 * ianjuta_preferences_unmerge:
4592 * @prefs: AnjutaPreferences to install to
4593 * @err: Error propagation and reporting.
4595 * When called, the plugin should uninstall it's preferences
4597 void unmerge
(AnjutaPreferences
* prefs
);
4601 * SECTION:ianjuta-plugin-factory
4602 * @title: IAnjutaPluginFactory
4603 * @short_description: Create Anjuta plugin objects
4605 * @stability: Unstable
4606 * @include: libanjuta/interfaces/ianjuta-plugin-factory.h
4608 * This interface is used to create all Anjuta plugin objects. It is
4609 * already implemented inside Anjuta by an object able to load plugins written
4610 * in C. In order to load plugins in other languages (or in a different way),
4611 * a loader plugin implementing this interface must be written first, probably
4615 interface IAnjutaPluginFactory
4617 #include
<libanjuta
/anjuta
-plugin.h
>
4618 #include
<libanjuta
/anjuta
-shell.h
>
4619 #include
<libanjuta
/anjuta
-plugin
-handle.h
>
4622 * IAnjutaPluginFactoryError:
4623 * @IANJUTA_PLUGIN_FACTORY_MISSING_LOCATION: Module file location is
4624 * missing in .plugin file
4625 * @IANJUTA_PLUGIN_FACTORY_MISSING_TYPE: Plugin type (just after
4626 * double colon following location) is missing in .plugin file
4627 * @IANJUTA_PLUGIN_FACTORY_MISSING_MODULE: Module file name not found,
4628 * plugin module is probably not installed
4629 * @IANJUTA_PLUGIN_FACTORY_UNLOADABLE_MODULE: Module file cannot be
4630 * loaded, not a shared library perhaps
4631 * @IANJUTA_PLUGIN_FACTORY_MISSING_FUNCTION: Module does not contain
4632 * registration function, library is not an anjuta plugin or
4633 * is not for the right version
4634 * @IANJUTA_PLUGIN_FACTORY_INVALID_TYPE: Module has not registered
4635 * plugin type, library is not an anjuta plugin or not for
4637 * @IANJUTA_PLUGIN_FACTORY_UNKNOWN_ERROR: Another error
4639 * These enumeration is used to specify errors.
4654 * ianjuta_plugin_factory_new_plugin:
4656 * @handle: Plugin information
4657 * @shell: Anjuta shell
4658 * @err: Error propagation and reporting.
4660 * Create a new AnjutaPlugin object from the plugin information handle,
4661 * give it the AnjutaShell object as argument.
4663 * Return value: a new plugin object
4665 AnjutaPlugin
* new_plugin
(AnjutaPluginHandle
* handle, AnjutaShell
*shell
);
4669 * SECTION:ianjuta-language
4670 * @title: IAnjutaLanguage
4671 * @short_description: Interface to manager multiple programming languages
4673 * @stability: Unstable
4674 * @include: libanjuta/interfaces/ianjuta-language.h
4678 interface IAnjutaLanguage
4680 #include
<libanjuta
/interfaces
/ianjuta
-editor
-language.h
>
4684 * ianjuta_language_from_mime_type:
4686 * @mime_type: A mime type to get the language for
4688 * Returns: A language Id or 0 in case no language was found
4690 Id get_from_mime_type
(const gchar
* mime_type
);
4693 * ianjuta_language_from_string:
4695 * @string: A string representation of the language. Note that multiple
4696 * strings may describe the language like C++ and Cpp
4698 * Returns: A language Id or 0 in case no language was found
4700 Id get_from_string
(const gchar
* string);
4703 * ianjuta_language_get_name:
4705 * @id: A valid language id
4707 * Returns: The main name of the language. When you call ianjuta_language_from_string()
4708 * before that method the string you get here might be different to the one you passed
4709 * because the language might have multiple string representations
4711 const gchar
* get_name
(Id id);
4714 * ianjuta_language_get_strings
4716 * @id: A valid language id
4718 * Returns: A list of strings that represent this language that language
4720 List
<const gchar
*> get_strings
(Id id);
4723 * ianjuta_language_get_from_editor:
4725 * @editor: An object implementing IAnjutaEditorLanguage
4726 * @err: Error propagation
4728 * Conviniece method to get the id directly from the editor
4730 * Returns: A valid language id or 0
4733 IAnjutaLanguageId get_from_editor
(IAnjutaEditorLanguage
* editor
);
4736 * ianjuta_language_get_name_from_editor:
4738 * @editor: An object implementing IAnjutaEditorLanguage
4739 * @err: Error propagation
4741 * Conviniece method to get the name directly from the editor
4743 * Returns: A language name or NULL
4746 const gchar
* get_name_from_editor
(IAnjutaEditorLanguage
* editor
);