GwyVectorLayer

GwyVectorLayer — Base class for GwyDataView vector (interactive) layers

Synopsis




struct      GwyVectorLayer;
void        gwy_vector_layer_draw           (GwyVectorLayer *layer,
                                             GdkDrawable *drawable);
gboolean    gwy_vector_layer_button_press   (GwyVectorLayer *layer,
                                             GdkEventButton *event);
gboolean    gwy_vector_layer_button_release (GwyVectorLayer *layer,
                                             GdkEventButton *event);
gboolean    gwy_vector_layer_motion_notify  (GwyVectorLayer *layer,
                                             GdkEventMotion *event);
gboolean    gwy_vector_layer_key_press      (GwyVectorLayer *layer,
                                             GdkEventKey *event);
gboolean    gwy_vector_layer_key_release    (GwyVectorLayer *layer,
                                             GdkEventKey *event);
void        gwy_vector_layer_selection_finished
                                            (GwyVectorLayer *layer);
gint        gwy_vector_layer_get_selection  (GwyVectorLayer *layer,
                                             gdouble *selection);
void        gwy_vector_layer_set_selection  (GwyVectorLayer *layer,
                                             gint nselected,
                                             gdouble *selection);
void        gwy_vector_layer_unselect       (GwyVectorLayer *layer);
GtkUpdateType gwy_vector_layer_get_update_policy
                                            (GwyVectorLayer *layer);
void        gwy_vector_layer_set_update_policy
                                            (GwyVectorLayer *layer,
                                             GtkUpdateType policy);
void        gwy_vector_layer_updated        (GwyVectorLayer *layer);
void        gwy_vector_layer_setup_gc       (GwyVectorLayer *layer);
void        gwy_vector_layer_cursor_new_or_ref
                                            (GdkCursor **cursor,
                                             GdkCursorType type);
void        gwy_vector_layer_cursor_free_or_unref
                                            (GdkCursor **cursor);

Object Hierarchy


  GObject
   +----GtkObject
         +----GwyDataViewLayer
               +----GwyVectorLayer

Properties


  "update-policy"        GtkUpdateType        : Read / Write

Signal Prototypes


"selection-finished"
            void        user_function      (GwyVectorLayer *gwyvectorlayer,
                                            gpointer user_data);

Description

Details

struct GwyVectorLayer

struct GwyVectorLayer;


gwy_vector_layer_draw ()

void        gwy_vector_layer_draw           (GwyVectorLayer *layer,
                                             GdkDrawable *drawable);

Draws layer on given drawable (which should be a GwyDataView window).

layer: A vector data view layer.
drawable: A drawable to draw on.

gwy_vector_layer_button_press ()

gboolean    gwy_vector_layer_button_press   (GwyVectorLayer *layer,
                                             GdkEventButton *event);

Sends a mouse button press event to a layer.

layer: A vector data view layer.
event: A Gdk mouse button event.
Returns : TRUE if the event was handled. In practice, it returns FALSE.

gwy_vector_layer_button_release ()

gboolean    gwy_vector_layer_button_release (GwyVectorLayer *layer,
                                             GdkEventButton *event);

Sends a mouse button release event to a layer.

layer: A vector data view layer.
event: A Gdk mouse button event.
Returns : TRUE if the event was handled. In practice, it returns FALSE.

gwy_vector_layer_motion_notify ()

gboolean    gwy_vector_layer_motion_notify  (GwyVectorLayer *layer,
                                             GdkEventMotion *event);

Sends a mouse pointer motion notification event to a layer.

layer: A vector data view layer.
event: A Gdk mouse pointer motion notification event.
Returns : TRUE if the event was handled. In practice, it returns FALSE.

gwy_vector_layer_key_press ()

gboolean    gwy_vector_layer_key_press      (GwyVectorLayer *layer,
                                             GdkEventKey *event);

Sends a key press event to a layer.

layer: A vector data view layer.
event: A Gdk key event.
Returns : TRUE if the event was handled. In practice, it returns FALSE.

gwy_vector_layer_key_release ()

gboolean    gwy_vector_layer_key_release    (GwyVectorLayer *layer,
                                             GdkEventKey *event);

Sends a key release event to a layer.

layer: A vector data view layer.
event: A Gdk key event.
Returns : TRUE if the event was handled. In practice, it returns FALSE.

gwy_vector_layer_selection_finished ()

void        gwy_vector_layer_selection_finished
                                            (GwyVectorLayer *layer);

Emits a "selection_finished" singal on a layer.

layer: A vector data view layer.

gwy_vector_layer_get_selection ()

gint        gwy_vector_layer_get_selection  (GwyVectorLayer *layer,
                                             gdouble *selection);

Obtains the selection.

The selection is a sequence of coordinates whose precise interpretation is layer-dependent.

layer: A vector data view layer.
selection: An array where the coordinates should be stored in, or NULL (to get only the number of selected lines, you can use gwy_vector_layer_get_nselected() instead). If not NULL it must be long enough to hold all the coordinates.
Returns : The number of selected objects (the same value as gwy_vector_layer_get_nselected() returns). Usually this is NOT the number of coordinates in selection (a point takes two coordinates, a line four)

gwy_vector_layer_set_selection ()

void        gwy_vector_layer_set_selection  (GwyVectorLayer *layer,
                                             gint nselected,
                                             gdouble *selection);

Sets the selection.

Do not use this function while user is drawing a selection.

See gwy_vector_layer_get_selection() for some selection format discussion.

layer: A vector data view layer.
nselected: The number of objects in selection.
selection: An array with the selection coordinates. The number of objects (not coordinates) there is nselected.

gwy_vector_layer_unselect ()

void        gwy_vector_layer_unselect       (GwyVectorLayer *layer);

Clears the selection.

Do not use this function while user is drawing a selection.

layer: A vector data view layer.

gwy_vector_layer_get_update_policy ()

GtkUpdateType gwy_vector_layer_get_update_policy
                                            (GwyVectorLayer *layer);

Returns the update policy of a vector layer layer.

layer: A vector data view layer.
Returns : The update policy.

gwy_vector_layer_set_update_policy ()

void        gwy_vector_layer_set_update_policy
                                            (GwyVectorLayer *layer,
                                             GtkUpdateType policy);

Sets update policy for a vector layer layer.

layer: A vector data view layer.
policy: the update policy the vector layer should use.

gwy_vector_layer_updated ()

void        gwy_vector_layer_updated        (GwyVectorLayer *layer);

Maybe emit the "updated" signal on layer.

Unlike gwy_data_view_layer_updated(), this function honours vector layer update policy, so the "update" signal may not be actually emited right now.

layer: A vector data view layer.

gwy_vector_layer_setup_gc ()

void        gwy_vector_layer_setup_gc       (GwyVectorLayer *layer);

Sets up Gdk graphic context of the vector layer for its parent window.

This function is intended only for layer implementation.

layer: A vector data view layer.

gwy_vector_layer_cursor_new_or_ref ()

void        gwy_vector_layer_cursor_new_or_ref
                                            (GdkCursor **cursor,
                                             GdkCursorType type);

Increments reference count of a given Gdk cursor or creates a new one (if cursor is NULL) of type cursor_type.

This function is intended only for layer implementation.

cursor: A Gdk cursor, or NULL.
type: Cursor type to eventually create.

gwy_vector_layer_cursor_free_or_unref ()

void        gwy_vector_layer_cursor_free_or_unref
                                            (GdkCursor **cursor);

Decrements reference count of a Gdk cursor, possibly freeing it.

This function is intended only for layer implementation.

cursor: A Gdk cursor.

Properties

"update-policy" (GtkUpdateType : Read / Write)

When value changed causes signal emission.

Signals

The "selection-finished" signal

void        user_function                  (GwyVectorLayer *gwyvectorlayer,
                                            gpointer user_data);

gwyvectorlayer:the object which received the signal.
user_data:user data set when the signal handler was connected.