![]() |
![]() |
![]() |
Gwyddion Widgets Library Reference Manual | ![]() |
---|
GwyVectorLayerGwyVectorLayer — Base class for GwyDataView vector (interactive) layers |
GwyVectorLayer; GwyVectorLayerClass; void gwy_vector_layer_set_selection_key (GwyVectorLayer *layer, const gchar *key); const gchar* gwy_vector_layer_get_selection_key (GwyVectorLayer *layer); gint gwy_vector_layer_get_focus (GwyVectorLayer *layer); gboolean gwy_vector_layer_set_focus (GwyVectorLayer *layer, gint focus); void gwy_vector_layer_draw (GwyVectorLayer *layer, GdkDrawable *drawable, GwyRenderingTarget target); 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);
GObject +----GInitiallyUnowned +----GtkObject +----GwyDataViewLayer +----GwyVectorLayer
GwyVectorLayer is a base class for GwyDataViewLayer's displaying selections and handling user input. It is a GwyDataView component and it is not normally usable outside of it.
The layer takes the selection to display from its parent GwyDataView.
The key under which the selection is found must be set with
gwy_vector_layer_set_selection_key()
.
The other methods are rarely useful outside GwyDataView implementation.
typedef struct { GwyDataViewLayerClass parent_class; GType selection_type; /* Virtual table */ void (*draw)(GwyVectorLayer *layer, GdkDrawable *drawable, GwyRenderingTarget target); gboolean (*button_press)(GwyVectorLayer *layer, GdkEventButton *event); gboolean (*button_release)(GwyVectorLayer *layer, GdkEventButton *event); gboolean (*motion_notify)(GwyVectorLayer *layer, GdkEventMotion *event); gboolean (*key_press)(GwyVectorLayer *layer, GdkEventKey *event); gboolean (*key_release)(GwyVectorLayer *layer, GdkEventKey *event); gboolean (*set_focus)(GwyVectorLayer *layer, gint object); gpointer reserved1; gpointer reserved2; gpointer reserved3; gpointer reserved4; } GwyVectorLayerClass;
void gwy_vector_layer_set_selection_key (GwyVectorLayer *layer, const gchar *key);
Sets the selection object to use by a vector layer.
layer : |
A vector layer. |
key : |
Container string key identifying the selection object. |
const gchar* gwy_vector_layer_get_selection_key (GwyVectorLayer *layer);
Gets the key identifying selection this vector layer displays.
layer : |
A vector layer. |
Returns : | The string key, or NULL if it isn't set.
|
gint gwy_vector_layer_get_focus (GwyVectorLayer *layer);
Gets focused object index.
layer : |
A vector data view layer. |
Returns : | Focued object index, or -1 if no object is focused. |
gboolean gwy_vector_layer_set_focus (GwyVectorLayer *layer, gint focus);
Focues on one selection object.
When a selection object is focused, it becomes the only one user can interact with, the others are inert.
Focus is reset whenever selection is globally changed, that is: cleared,
set anew with gwy_selection_set_data()
, swapped with another selection
object, and when the selection key in container changes.
layer : |
A vector data view layer. |
focus : |
Index of object to focus on, use -1 to unfocus (allow interaction with any object). |
Returns : | TRUE if the object was focused, FALSE on failure. Failure can
be caused by user currently moving another object, wrong object
index, or the feature being unimplemented in layer .
|
void gwy_vector_layer_draw (GwyVectorLayer *layer, GdkDrawable *drawable, GwyRenderingTarget target);
Draws layer
on given drawable (which should be a GwyDataView window).
layer : |
A vector data view layer. |
drawable : |
A drawable to draw on. |
target : |
Rendering target. |
gboolean gwy_vector_layer_button_press (GwyVectorLayer *layer, GdkEventButton *event);
Sends a mouse button press event to a layer.
This method primarily exists for GwyDataView to forward events to layers. You should rarely need it.
layer : |
A vector data view layer. |
event : |
A Gdk mouse button event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE .
|
gboolean gwy_vector_layer_button_release (GwyVectorLayer *layer, GdkEventButton *event);
Sends a mouse button release event to a layer.
This method primarily exists for GwyDataView to forward events to layers. You should rarely need it.
layer : |
A vector data view layer. |
event : |
A Gdk mouse button event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE .
|
gboolean gwy_vector_layer_motion_notify (GwyVectorLayer *layer, GdkEventMotion *event);
Sends a mouse pointer motion notification event to a layer.
This method primarily exists for GwyDataView to forward events to layers. You should rarely need it.
layer : |
A vector data view layer. |
event : |
A Gdk mouse pointer motion notification event. It can be a hint. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE .
|
gboolean gwy_vector_layer_key_press (GwyVectorLayer *layer, GdkEventKey *event);
Sends a key press event to a layer.
This method primarily exists for GwyDataView to forward events to layers. You should rarely need it.
layer : |
A vector data view layer. |
event : |
A Gdk key event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE .
|
gboolean gwy_vector_layer_key_release (GwyVectorLayer *layer, GdkEventKey *event);
Sends a key release event to a layer.
This method primarily exists for GwyDataView to forward events to layers. You should rarely need it.
layer : |
A vector data view layer. |
event : |
A Gdk key event. |
Returns : | TRUE if the event was handled. In practice, it returns FALSE .
|
selection-key
" property"selection-key" gchararray : Read / Write
The :selection-key property is the container key used to identify displayed GwySelection in container.
Default value: NULL
<< GwyPixmapLayer | GwyLayerBasic >> |