## ChamplainMarkerLayer ChamplainMarkerLayer — A container for ChamplainMarker |

## Synopsis

    struct              ChamplainMarkerLayer;
    enum                ChamplainSelectionMode;
    ChamplainMarkerLayer * champlain_marker_layer_new       (void);
    ChamplainMarkerLayer * champlain_marker_layer_new_full  (ChamplainSelectionMode mode);
    void                champlain_marker_layer_add_marker   (ChamplainMarkerLayer *layer,
                                                             ChamplainMarker *marker);
    void                champlain_marker_layer_remove_marker
                                                            (ChamplainMarkerLayer *layer,
                                                             ChamplainMarker *marker);
    void                champlain_marker_layer_remove_all   (ChamplainMarkerLayer *layer);
    GList *             champlain_marker_layer_get_markers  (ChamplainMarkerLayer *layer);
    GList *             champlain_marker_layer_get_selected (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_animate_in_all_markers
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_animate_out_all_markers
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_show_all_markers
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_hide_all_markers
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_set_all_markers_draggable
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_set_all_markers_undraggable
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_select_all_markers
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_unselect_all_markers
                                                            (ChamplainMarkerLayer *layer);
    void                champlain_marker_layer_set_selection_mode
                                                            (ChamplainMarkerLayer *layer,
                                                             ChamplainSelectionMode mode);
    ChamplainSelectionMode champlain_marker_layer_get_selection_mode
                                                            (ChamplainMarkerLayer *layer);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----ClutterActor
                   +----ChamplainLayer
                         +----ChamplainMarkerLayer

## Implemented Interfaces

ChamplainMarkerLayer implements ClutterContainer, ClutterScriptable, ClutterAnimatable and AtkImplementorIface.

## Properties

      "selection-mode"           ChamplainSelectionMode  : Read / Write

## Description

A ChamplainMarkerLayer displays markers on the map. It is responsible for positioning markers correctly, marker selections and group marker operations.

## Details

### struct ChamplainMarkerLayer

    struct ChamplainMarkerLayer;

The ChamplainMarkerLayer structure contains only private data and should be accessed using the provided API

Since 0.10

### 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.

### champlain_marker_layer_new ()

    ChamplainMarkerLayer * champlain_marker_layer_new       (void);

Creates a new instance of ChamplainMarkerLayer.

Returns : | a new ChamplainMarkerLayer ready to be used as a container for the markers.

Since 0.10

### champlain_marker_layer_new_full ()

    ChamplainMarkerLayer * champlain_marker_layer_new_full  (ChamplainSelectionMode mode);

Creates a new instance of ChamplainMarkerLayer with the specified selection mode.

`mode` : | Selection mode
Returns : | a new ChamplainMarkerLayer ready to be used as a container for the markers.

Since 0.10

### champlain_marker_layer_add_marker ()

    void                champlain_marker_layer_add_marker   (ChamplainMarkerLayer *layer,
                                                             ChamplainMarker *marker);

Adds the marker to the layer.

`layer` : | a ChamplainMarkerLayer
`marker` : | a ChamplainMarker

Since 0.10

### champlain_marker_layer_remove_marker ()

    void                champlain_marker_layer_remove_marker
                                                            (ChamplainMarkerLayer *layer,
                                                             ChamplainMarker *marker);

Removes the marker from the layer.

`layer` : | a ChamplainMarkerLayer
`marker` : | a ChamplainMarker

Since 0.10

### champlain_marker_layer_remove_all ()

    void                champlain_marker_layer_remove_all   (ChamplainMarkerLayer *layer);

Removes all markers from the layer.

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_get_markers ()

    GList *             champlain_marker_layer_get_markers  (ChamplainMarkerLayer *layer);

Gets a copy of the list of all markers inserted into the layer. You should free the list but not its contents.

`layer` : | a ChamplainMarkerLayer
Returns : | the list. [transfer container][element-type ChamplainMarker]

Since 0.10

### champlain_marker_layer_get_selected ()

    GList *             champlain_marker_layer_get_selected (ChamplainMarkerLayer *layer);

Gets a list of selected markers in the layer.

`layer` : | a ChamplainMarkerLayer
Returns : | the list. [transfer container][element-type ChamplainMarker]

Since 0.10

### champlain_marker_layer_animate_in_all_markers ()

    void                champlain_marker_layer_animate_in_all_markers
                                                            (ChamplainMarkerLayer *layer);

Fade in all markers in the layer with an animation

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_animate_out_all_markers ()

    void                champlain_marker_layer_animate_out_all_markers
                                                            (ChamplainMarkerLayer *layer);

Fade out all markers in the layer with an animation

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_show_all_markers ()

    void                champlain_marker_layer_show_all_markers
                                                            (ChamplainMarkerLayer *layer);

Shows all markers in the layer

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_hide_all_markers ()

    void                champlain_marker_layer_hide_all_markers
                                                            (ChamplainMarkerLayer *layer);

Hides all the markers in the layer

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_set_all_markers_draggable ()

    void                champlain_marker_layer_set_all_markers_draggable
                                                            (ChamplainMarkerLayer *layer);

Sets all markers draggable in the layer

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_set_all_markers_undraggable ()

    void                champlain_marker_layer_set_all_markers_undraggable
                                                            (ChamplainMarkerLayer *layer);

Sets all markers undraggable in the layer

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_select_all_markers ()

    void                champlain_marker_layer_select_all_markers
                                                            (ChamplainMarkerLayer *layer);

Selects all markers in the layer.

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_unselect_all_markers ()

    void                champlain_marker_layer_unselect_all_markers
                                                            (ChamplainMarkerLayer *layer);

Unselects all markers in the layer.

`layer` : | a ChamplainMarkerLayer

Since 0.10

### champlain_marker_layer_set_selection_mode ()

    void                champlain_marker_layer_set_selection_mode
                                                            (ChamplainMarkerLayer *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 ChamplainMarkerLayer
`mode` : | a ChamplainSelectionMode value

Since 0.10

### champlain_marker_layer_get_selection_mode ()

    ChamplainSelectionMode champlain_marker_layer_get_selection_mode
                                                            (ChamplainMarkerLayer *layer);

Gets the selection mode of the layer.

`layer` : | a ChamplainMarkerLayer
Returns : | the selection mode of the layer.

Since 0.10

## Property Details

### The `"selection-mode"` property

      "selection-mode"           ChamplainSelectionMode  : Read / Write

Determines the type of selection that will be performed.

Default value: CHAMPLAIN_SELECTION_NONE

Since 0.10