libchamplain Reference Manual: ChamplainMarkerLayer

## ChamplainMarkerLayer ChamplainMarkerLayer — A container for ChamplainMarker |

## Functions

ChamplainMarkerLayer * | champlain_marker_layer_new ()
ChamplainMarkerLayer * | champlain_marker_layer_new_full ()
void | champlain_marker_layer_add_marker ()
void | champlain_marker_layer_remove_marker ()
void | champlain_marker_layer_remove_all ()
GList * | champlain_marker_layer_get_markers ()
GList * | champlain_marker_layer_get_selected ()
void | champlain_marker_layer_animate_in_all_markers ()
void | champlain_marker_layer_animate_out_all_markers ()
void | champlain_marker_layer_show_all_markers ()
void | champlain_marker_layer_hide_all_markers ()
void | champlain_marker_layer_set_all_markers_draggable ()
void | champlain_marker_layer_set_all_markers_undraggable ()
void | champlain_marker_layer_select_all_markers ()
void | champlain_marker_layer_unselect_all_markers ()
void | champlain_marker_layer_set_selection_mode ()
ChamplainSelectionMode | champlain_marker_layer_get_selection_mode ()

## Properties

ChamplainSelectionMode | selection-mode | Read / Write

## Types and Values

struct | ChamplainMarkerLayer
enum | ChamplainSelectionMode

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── ClutterActor
                ╰── ChamplainLayer
                    ╰── ChamplainMarkerLayer

## Implemented Interfaces

ChamplainMarkerLayer implements ClutterContainer, ClutterScriptable, ClutterAnimatable, AtkImplementorIface and ChamplainExportable.

## Description

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

## Functions

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

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Parameters

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

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

layer | a ChamplainMarkerLayer |

#### Returns

the selection mode of the layer.

Since 0.10

## Types and Values

### struct ChamplainMarkerLayer

    struct ChamplainMarkerLayer;

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

Since 0.10

### enum ChamplainSelectionMode

Selection mode

#### Members

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

## Property Details

### The `“selection-mode”` property

      “selection-mode”           ChamplainSelectionMode

Determines the type of selection that will be performed.

Flags: Read / Write

Default value: CHAMPLAIN_SELECTION_NONE

Since 0.10