IAnjutaMarkable

IAnjutaMarkable — Implemented by editors (or views) with markers support

Stability Level

Unstable, unless otherwise indicated

Synopsis


#include <libanjuta/interfaces/ianjuta-markable.h>

#define             IANJUTA_TYPE_MARKABLE_ERROR
#define             IANJUTA_TYPE_MARKABLE_MARKER
#define             IANJUTA_MARKABLE_ERROR
                    IAnjutaMarkable;
                    IAnjutaMarkableIface;
enum                IAnjutaMarkableError;
enum                IAnjutaMarkableMarker;
GType               ianjuta_markable_marker_get_type    (void);
GQuark              ianjuta_markable_error_quark        (void);
GType               ianjuta_markable_get_type           (void);
void                ianjuta_markable_delete_all_markers (IAnjutaMarkable *obj,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);
gboolean            ianjuta_markable_is_marker_set      (IAnjutaMarkable *obj,
                                                         gint location,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);
gint                ianjuta_markable_location_from_handle
                                                        (IAnjutaMarkable *obj,
                                                         gint handle,
                                                         GError **err);
gint                ianjuta_markable_mark               (IAnjutaMarkable *obj,
                                                         gint location,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);
void                ianjuta_markable_unmark             (IAnjutaMarkable *obj,
                                                         gint location,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);

Object Hierarchy

  GInterface
   +----IAnjutaMarkable

Prerequisites

IAnjutaMarkable requires GObject.

Signals

  "marker-clicked"                                 : Run Last

Description

Details

IANJUTA_TYPE_MARKABLE_ERROR

#define IANJUTA_TYPE_MARKABLE_ERROR (ianjuta_markable_error_get_type())


IANJUTA_TYPE_MARKABLE_MARKER

#define IANJUTA_TYPE_MARKABLE_MARKER (ianjuta_markable_marker_get_type())


IANJUTA_MARKABLE_ERROR

#define IANJUTA_MARKABLE_ERROR ianjuta_markable_error_quark()


IAnjutaMarkable

typedef struct _IAnjutaMarkable IAnjutaMarkable;


IAnjutaMarkableIface

typedef struct {
	GTypeInterface g_iface;
	
	/* Signal */
	void (*marker_clicked) (IAnjutaMarkable *obj, gboolean double_click,  gint location);

	void (*delete_all_markers) (IAnjutaMarkable *obj, IAnjutaMarkableMarker marker, GError **err);
	gboolean (*is_marker_set) (IAnjutaMarkable *obj, gint location,  IAnjutaMarkableMarker marker, GError **err);
	gint (*location_from_handle) (IAnjutaMarkable *obj, gint handle, GError **err);
	gint (*mark) (IAnjutaMarkable *obj, gint location,  IAnjutaMarkableMarker marker, GError **err);
	void (*unmark) (IAnjutaMarkable *obj, gint location,  IAnjutaMarkableMarker marker, GError **err);
} IAnjutaMarkableIface;


enum IAnjutaMarkableError

typedef enum {
	IANJUTA_MARKABLE_INVALID_LOCATION
} IAnjutaMarkableError;


enum IAnjutaMarkableMarker

typedef enum {
	IANJUTA_MARKABLE_LINEMARKER,
	IANJUTA_MARKABLE_BOOKMARK,
	IANJUTA_MARKABLE_BREAKPOINT_DISABLED,
	IANJUTA_MARKABLE_BREAKPOINT_ENABLED,
	IANJUTA_MARKABLE_PROGRAM_COUNTER
} IAnjutaMarkableMarker;

This enumeration is used to specify the pixmap used for the marker

IANJUTA_MARKABLE_LINEMARKER

Mark a particular line

IANJUTA_MARKABLE_BOOKMARK

A bookmark

IANJUTA_MARKABLE_BREAKPOINT_DISABLED

a disabled breakpoint

IANJUTA_MARKABLE_BREAKPOINT_ENABLED

a enabled breakpoint

IANJUTA_MARKABLE_PROGRAM_COUNTER

Marks the program counter position

ianjuta_markable_marker_get_type ()

GType               ianjuta_markable_marker_get_type    (void);

Returns :


ianjuta_markable_error_quark ()

GQuark              ianjuta_markable_error_quark        (void);

Returns :


ianjuta_markable_get_type ()

GType               ianjuta_markable_get_type           (void);

Returns :


ianjuta_markable_delete_all_markers ()

void                ianjuta_markable_delete_all_markers (IAnjutaMarkable *obj,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);

Delete the marker from all locations.

obj :

Self

marker :

Marker to delete.

err :

Error propagation and reporting

ianjuta_markable_is_marker_set ()

gboolean            ianjuta_markable_is_marker_set      (IAnjutaMarkable *obj,
                                                         gint location,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);

Check if the marker is set at the given location.

obj :

Self

location :

Location to check.

marker :

Marker to check.

err :

Error propagation and reporting

Returns :

TRUE if the marker is set at the location, other false.

ianjuta_markable_location_from_handle ()

gint                ianjuta_markable_location_from_handle
                                                        (IAnjutaMarkable *obj,
                                                         gint handle,
                                                         GError **err);

Location where a marker is set could have moved by some operation in the implementation. To retrieve the correct location where the marker has moved, pass the handle retured by ianjuta_markable_mark() to this method.

obj :

Self

handle :

Handle of location.

err :

Error propagation and reporting

Returns :

Current location where the marker was set.

ianjuta_markable_mark ()

gint                ianjuta_markable_mark               (IAnjutaMarkable *obj,
                                                         gint location,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);

Marks the specified location with the given marker type. Location is implementation depenedent. For example, for an editor location means lines where markers are set.

obj :

Self

location :

Location at which the marker to set.

marker :

Type of marker to be used

err :

Error propagation and reporting

Returns :

Handle of the location marked. Can be used later to obtain new location, if it has been moved due to addetions/deletions in the implementor object.

ianjuta_markable_unmark ()

void                ianjuta_markable_unmark             (IAnjutaMarkable *obj,
                                                         gint location,
                                                         IAnjutaMarkableMarker marker,
                                                         GError **err);

Clears the marker at given location.

obj :

Self

location :

Location where the marker is set.

marker :

The marker to unset.

err :

Error propagation and reporting

Signal Details

The "marker-clicked" signal

void                user_function                      (IAnjutaMarkable *obj,
                                                        gboolean         double_click,
                                                        gint             location,
                                                        gpointer         user_data)         : Run Last

The signal is emitted when the user clicks on a marker

obj :

Self

double_click :

whether the marker was double clicked

location :

location of the clicked marker

user_data :

user data set when the signal handler was connected.