ChamplainSelectionLayer

ChamplainSelectionLayer — A container for ChamplainMarker supporting selection

Synopsis

enum                ChamplainSelectionMode;
                    ChamplainSelectionLayer;
ChamplainLayer *    champlain_selection_layer_new       (void);
void                champlain_selection_layer_set_selection_mode
                                                        (ChamplainSelectionLayer *layer,
                                                         ChamplainSelectionMode mode);
ChamplainSelectionMode  champlain_selection_layer_get_selection_mode
                                                        (ChamplainSelectionLayer *layer);
void                champlain_selection_layer_select    (ChamplainSelectionLayer *layer,
                                                         ChamplainBaseMarker *marker);
void                champlain_selection_layer_unselect  (ChamplainSelectionLayer *layer,
                                                         ChamplainBaseMarker *marker);
void                champlain_selection_layer_select_all
                                                        (ChamplainSelectionLayer *layer);
void                champlain_selection_layer_unselect_all
                                                        (ChamplainSelectionLayer *layer);
gboolean            champlain_selection_layer_marker_is_selected
                                                        (ChamplainSelectionLayer *layer,
                                                         ChamplainBaseMarker *marker);
ChamplainBaseMarker * champlain_selection_layer_get_selected
                                                        (ChamplainSelectionLayer *layer);
const GList *       champlain_selection_layer_get_selected_markers
                                                        (ChamplainSelectionLayer *layer);
guint               champlain_selection_layer_count_selected_markers
                                                        (ChamplainSelectionLayer *layer);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----ClutterActor
               +----ClutterGroup
                     +----ChamplainLayer
                           +----ChamplainSelectionLayer

Implemented Interfaces

ChamplainSelectionLayer implements ClutterScriptable, ClutterAnimatable, AtkImplementorIface and ClutterContainer.

Properties

  "selection-mode"           ChamplainSelectionMode  : Read / Write

Signals

  "changed"                                        : Run Last

Description

A ChamplainSelectionLayer is little more than a ChamplainLayer. The markers can be selected.

Details

enum ChamplainSelectionMode

typedef enum
{
  CHAMPLAIN_SELECTION_NONE,
  CHAMPLAIN_SELECTION_SINGLE,
  CHAMPLAIN_SELECTION_MULTIPLE
} ChamplainSelectionMode;

Selection mode

CHAMPLAIN_SELECTION_NONE

No marker can be selected.

CHAMPLAIN_SELECTION_SINGLE

Only one marker can be selected.

CHAMPLAIN_SELECTION_MULTIPLE

Multiple marker can be selected.

ChamplainSelectionLayer

typedef struct _ChamplainSelectionLayer ChamplainSelectionLayer;


champlain_selection_layer_new ()

ChamplainLayer *    champlain_selection_layer_new       (void);

Creates an instance of ChamplainSelectionLayer.

Returns :

a new ChamplainSelectionLayer ready to be used as a ClutterContainer for the markers.

Since 0.4


champlain_selection_layer_set_selection_mode ()

void                champlain_selection_layer_set_selection_mode
                                                        (ChamplainSelectionLayer *layer,
                                                         ChamplainSelectionMode mode);

Sets the selection mode of the layer.

NOTE: changing selection mode to CHAMPLAIN_SELECTION_NONE or CHAMPLAIN_SELECTION_SINGLE will clear all previously selected markers.

layer :

a ChamplainSelectionLayer

mode :

a ChamplainSelectionMode value

Since 0.4


champlain_selection_layer_get_selection_mode ()

ChamplainSelectionMode  champlain_selection_layer_get_selection_mode
                                                        (ChamplainSelectionLayer *layer);

Gets the selection mode of the layer.

layer :

a ChamplainSelectionLayer

Returns :

the selection mode of the layer.

Since 0.4


champlain_selection_layer_select ()

void                champlain_selection_layer_select    (ChamplainSelectionLayer *layer,
                                                         ChamplainBaseMarker *marker);

Selects the marker.

Since 0.4


champlain_selection_layer_unselect ()

void                champlain_selection_layer_unselect  (ChamplainSelectionLayer *layer,
                                                         ChamplainBaseMarker *marker);

Unselect the marker.

Since 0.4


champlain_selection_layer_select_all ()

void                champlain_selection_layer_select_all
                                                        (ChamplainSelectionLayer *layer);

Selects all markers in the layer. This call will only work if the selection mode is set CHAMPLAIN_SELETION_MULTIPLE.

Since 0.4


champlain_selection_layer_unselect_all ()

void                champlain_selection_layer_unselect_all
                                                        (ChamplainSelectionLayer *layer);

Unselects all markers.

Since 0.4


champlain_selection_layer_marker_is_selected ()

gboolean            champlain_selection_layer_marker_is_selected
                                                        (ChamplainSelectionLayer *layer,
                                                         ChamplainBaseMarker *marker);

Checks whether the marker is selected.

layer :

a ChamplainSelectionLayer

marker :

a ChamplainBaseMarker

Returns :

whether the marker is selected or not.

Since 0.4


champlain_selection_layer_get_selected ()

ChamplainBaseMarker * champlain_selection_layer_get_selected
                                                        (ChamplainSelectionLayer *layer);

This function will return NULL if in CHAMPLAIN_SELETION_MULTIPLE.

layer :

a ChamplainSelectionLayer

Returns :

the selected ChamplainBaseMarker or NULL if none is selected.

Since 0.4


champlain_selection_layer_get_selected_markers ()

const GList *       champlain_selection_layer_get_selected_markers
                                                        (ChamplainSelectionLayer *layer);

Gets the list of selected markers.

layer :

a ChamplainSelectionLayer

Returns :

the list of selected ChamplainBaseMarker or NULL if none is selected. You shouldn't free that list.

Since 0.4


champlain_selection_layer_count_selected_markers ()

guint               champlain_selection_layer_count_selected_markers
                                                        (ChamplainSelectionLayer *layer);

Gets the number of selected markers.

layer :

a ChamplainSelectionLayer

Returns :

the number of selected ChamplainBaseMarker

Since 0.4

Property Details

The "selection-mode" property

  "selection-mode"           ChamplainSelectionMode  : Read / Write

Determines the type of selection that will be performed.

Default value: CHAMPLAIN_SELECTION_SINGLE

Since 0.4

Signal Details

The "changed" signal

void                user_function                      (ChamplainSelectionLayer *arg0,
                                                        gpointer                 user_data)      : Run Last

The changed signal is emitted when the selected marker(s) change.

user_data :

user data set when the signal handler was connected.

Since 0.4.1