## ianjuta-markable

ianjuta-markable —

##

# Synopsis

    enum        IAnjutaMarkableError;
    enum        IAnjutaMarkableMarker;
    #define     IANJUTA_MARKABLE_ERROR
    struct      IAnjutaMarkable;
    struct      IAnjutaMarkableIface;
    GQuark      ianjuta_markable_error_quark    (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.

## Description

## Details

### enum IAnjutaMarkableError

    typedef enum {
    	IANJUTA_MARKABLE_INVALID_LOCATION
    } IAnjutaMarkableError;

### enum IAnjutaMarkableMarker

    typedef enum {
    	IANJUTA_MARKABLE_NONE,
    	IANJUTA_MARKABLE_BASIC,
    	IANJUTA_MARKABLE_LIGHT,
    	IANJUTA_MARKABLE_ATTENTIVE,
    	IANJUTA_MARKABLE_INTENSE
    } IAnjutaMarkableMarker;

### IANJUTA_MARKABLE_ERROR

    #define IANJUTA_MARKABLE_ERROR ianjuta_markable_error_quark()

### struct IAnjutaMarkable

    struct IAnjutaMarkable;

### struct IAnjutaMarkableIface

    struct IAnjutaMarkableIface {

    	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);

    };

### ianjuta_markable_error_quark ()

    GQuark      ianjuta_markable_error_quark    (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