#------------------------------------
# Symbol groups
#------------------------------------

item_group,
    name    = 'geo',
    label   = 'Geo shapes',
    desc    = ''
item_group,
    name    = 'fitted_geo',
    label   = 'Fitted geo shapes',
    desc    = ''
item_group,
    name    = 'marker',
    label   = 'Markers and text',
    desc    = ''
item_group,
    name    = 'surf',
    label   = 'Surface analysis',
    desc    = ''
# NOTE: do not change the name of this group! It must be "wmo" since it is
# used internally!
item_group,
    name    = 'wmo',
    label   = 'WMO symbols',
    desc    = ''

#------------------------------------
# Symbol items
#------------------------------------

# surface analysis

item,
    name    = 'cold_front',
    label   = 'Cold',
    desc    = 'Cold front',
    icon    = 'cold_front.svg',
    type    = 'cold_front',
    desc    = '<b>Cold front</b>',
    group   = 'surf'

item,
    name    = 'warm_front',
    label   = 'Warm front',
    icon    = 'warm_front.svg',
    type    = 'warm_front',
    desc    = '<b>Warm front</b>',
    group   = 'surf'


item,
    name    = 'occluded',
    label   = 'Occluded',
    desc    = 'Occluded front',
    icon    = 'occluded_front.svg',
    type    = 'occluded',
    desc    = '<b>Occluded front</b>',
    group   = 'surf'

item,
    name    = 'quasi_stat',
    label   = 'Quasi stationary front',
    label   = 'Quasi stationary front',
    icon    = 'quasi_stationary.svg',
    type    = 'quasi_stat',
    desc    = '<b>Quasi stationary front</b>',
    group   = 'surf'

item,
    name    = 'trough',
    label   = 'Trough',
    icon    = 'trough.svg',
    type    = 'trough',
    desc    = '<b>Trough</b>',
    group   = 'surf'

item,
    name    = 'ridge',
    label   = 'Ridge',
    icon    = 'ridge.svg',
    type    = 'ridge',
    desc    = '<b>Ridge</b>',
    group   = 'surf'

item,
    name    = 'convergence_line',
    label   = 'Convergence line',
    icon    = 'convergence_line.svg',
    type    = 'convergence_line',
    desc    = '<b>Convergence line</b>',
    group   = 'surf'

item,
    name    = 'instability_line',
    label   = 'Instability line',
    icon    = 'instability_line.svg',
    type    = 'instability_line',
    desc    = '<b>Instability line</b>',
    group   = 'surf'

item,
    name    = 'shear_line',
    label   = 'Shear line',
    icon    = 'shear_line.svg',
    type    = 'shear_line',
    desc    = '<b>Shear line</b>',
    group   = 'surf'

item,
    name    = 'itcz',
    label   = 'ITCZ (Intertropical Convergence Zone)',
    icon    = 'itcz.svg',
    type    = 'itcz',
    desc    = '<b>ITCZ</b><br>Intertropical Convergence Zone',
    group   = 'surf'


item,
    name    = 'intertropical_discontinuity',
    label   = 'Intertropical discontinuity',
    icon    = 'intertropical_discontinuity.svg',
    type    = 'intertropical_discontinuity',
    desc    = '<b>Intertropical discontinuity</b>',
    group   = 'surf'

item,
    name    = 'tropical_wave',
    label   = 'Tropical wave',
    icon    = 'tropical_wave.svg',
    type    = 'tropical_wave',
    desc    = '<b>Tropical wave</b>',
    group   = 'surf'

item,
    name    = 'high',
    label   = 'High pressure centre',
    icon    = 'high.svg',
    type    = 'icon',
    template_colour  = '#0000a4',
    desc    = '<b>High pressure centre</b>',
    group   = 'surf'

item,
    name    = 'low',
    label   = 'Low pressure centre',
    icon    = 'low.svg',
    type    = 'icon',
    template_colour  = '#d60000',
    desc    = '<b>Low pressure centre</b>',
    group   = 'surf'

item,
    name    = 'hurricane',
    label   = 'Hurricane',
    icon    = 'hurricane.svg',
    type    = 'icon',
    desc    = '<b>Hurricane</b>',
    group   = 'surf'

item,
    name    = 'tropical_storm',
    label   = 'Tropical strom',
    icon    = 'tropical_storm.svg',
    type    = 'icon',
    desc    = '<b>Tropical strom</b>',
    group   = 'surf'

# shapes with lat-lon vertices

item,
    name    = 'line',
    label   = 'Line',
    icon    = 'line.svg',
    type    = 'line',
    desc    = '<b>Line</b><br>A straight line in all the projections.',
    group   = 'geo'

item,
    name    = 'polyline',
    label   = 'Polyline',
    icon    = 'polyline.svg',
    type    = 'polyline',
    desc    = '<b>Polyline</b><br>Points connected with straight lines in all the projections.',
    group   = 'geo'

item,
    name    = 'curve',
    label   = 'Curve',
    icon    = 'curve.svg',
    type    = 'curve',
    desc    = '<b>Curve</b><br>Points connected with a B-Spline curve.',
    group   = 'geo'

item,
    name    = 'polygon_area',
    label   = 'Polygon area',
    icon    = 'polyline_area.svg',
    type    = 'polygon',
    desc    = '<b>Polygon</b><br>Points forming a closed shape, connected with straight lines in all the projections.',
    group   = 'geo'

item,
    name    = 'curve_area',
    label   = 'Curve area',
    icon    = 'curve_area.svg',
    type    = 'closed_curve',
    desc    = '<b>Closed curve</b><br>Points forming a closed shape, connected with a B-Spline curve.',
    group   = 'geo'

item,
    name    = 'geo_rectangle',
    label   = 'Rectangle area',
    icon    = 'rectangle_geo.svg',
    type    = 'georect',
    desc    = '<b>Geo rectangle</b><br>A rectangle with straight edges. The corner points will be adjusted when the projection changes to preserve the rectangular shape.',
    group   = 'geo'

# shapes with edges sampled in lat-lon

item,
    name    = 'geo_line',
    label   = 'Geo Line',
    icon    = 'line_geo.svg',
    type    = 'geo_line',
    desc    = '<b>Geo line</b><br>A line sampled in lat-lon. The shape changes according to the projection.',
    group   = 'fitted_geo'

item,
    name    = 'geo_polyline',
    label   = 'Geo polyline',
    icon    = 'polyline_geo.svg',
    type    = 'geo_polyline',
    desc    = '<b>Geo polyline</b><br>Points connected with edges sampled in lat-lon. The edge shape changes according to the projection.',
    group   = 'fitted_geo'

item,
    name    = 'geo_polygon',
    label   = 'Geo polygon',
    icon    = 'polyline_area_geo.svg',
    type    = 'geo_polygon',
    desc    = '<b>Geo polygon</b><br>Points forming a closed shape, with edges sampled in lat-lon. The edge shape changes according to the projection.',
    group   = 'fitted_geo'

item,
    name    = 'geo_quad',
    label   = 'Quad area',
    icon    = 'quad.svg',
    type    = 'geo_quad',
    desc    = '<b>Geo quad</b><br>A lat-lon rectangle with edges sampled in lat-lon. The shape changes into various <b>quadrilaterals</b> according to the current projection.',
    group   = 'fitted_geo'

# text

item,
    name    = 'text',
    label   = 'Text box',
    icon    = 'text.svg',
    type    = 'text',
    desc    = '<b>Text box</b>',
    group   = 'marker'

# markers - center is in lat/lon, extent is pin pixels

item,
    name    = 'rectangle',
    label   = 'Rectangle',
    icon    = 'rectangle.svg',
    type    = 'rect',
    desc    = '<b>Rectangle</b>',
    group   = 'marker'

item,
    name    = 'ellipse',
    label   = 'Ellipse',
    icon    = 'circle.svg',
    type    = 'ellipse',
    desc    = '<b>Ellipse</b>',
    group   = 'marker'

item,
    name    = 'triangle',
    label   = 'Triangle',
    icon    = 'triangle.svg',
    type    = 'triangle',
    desc    = '<b>Triangle</b>',
    group   = 'marker'

item,
    name    = 'diamond',
    label   = 'Diamond',
    icon    = 'diamond.svg',
    type    = 'diamond',
    desc    = '<b>Diamond</b>',
    group   = 'marker'

item,
    name    = 'star',
    label   = 'Star',
    icon    = 'star.svg',
    type    = 'star',
    desc    = '<b>Star</b>',
    group   = 'marker'

item,
    name    = 'placemarker',
    label   = 'Placemarker',
    icon    = 'placemarker.svg',
    type    = 'placemarker',
    desc    = '<b>Placemarker</b>',
    group   = 'marker'


# context menu definition

item_menu,
    name    = 'edit',
    shortcut = 'Ctrl+E',
    not_visible_for = 'selector'

item_menu,
    name    = 'flip',
    label   = 'Flip front',
    visible_for   = 'cold_front'/'warm_front'/'occluded'/'quasi_stat'/'ridge'/'convergence_line'

item_menu,
    type    = 'separator'

item_menu,
    name    = 'copy',
    shortcut = 'Ctrl+C'

item_menu,
    name    = 'paste',
    type    = '-',
    shortcut = 'Ctrl+V'

item_menu,
    name    = 'cut',
    shortcut = 'Ctrl+X'

item_menu,
    type    = 'separator'

item_menu,
    name    = 'duplicate',
    shortcut = 'Ctrl+D'

item_menu,
    name    = 'delete',
    shortcut = 'Backspace'

item_menu,
    type    = 'separator'

item_menu,
    name    = 'to_front',
    label   = 'Bring to front',
    type    = 'sub',
    not_visible_for = 'selector'

item_menu,
    name    = 'to_front',
    label   = 'Bring to front',
    parent  = 'to_front',
    not_visible_for = 'selector'

item_menu,
    name    = 'to_forward',
    label   = 'Bring forward',
    parent  = 'to_front',
    not_visible_for = 'selector'

item_menu,
    name    = 'to_back',
    label   = 'Send to back',
    type    = 'sub',
    not_visible_for = 'selector'

item_menu,
    name    = 'to_back',
    label    = 'Send to back',
    parent  = 'to_back',
    not_visible_for = 'selector'

item_menu,
    name    = 'to_backward',
    label    = 'Send backward',
    parent  = 'to_back',
    not_visible_for = 'selector'

item_menu,
    name        = 'front_type',
    label       = 'Front type',
    type        = 'sub',
    visible_for = 'cold_front'/'warm_front'/'occluded'/'quasi_stat'

item_menu,
    name        = 'surface',
    name        = 'Surface',
    parent      = 'front_type',
    visible_for = 'cold_front'/'warm_front'/'occluded'/'quasi_stat'

item_menu,
    name        = 'upper',
    name        = 'Upper',
    parent      = 'front_type',
    visible_for = 'cold_front'/'warm_front'/'occluded'/'quasi_stat'

item_menu,
    name        = 'frontogenesis',
    name        = 'Frontogenesis',
    parent      = 'front_type',
    visible_for = 'cold_front'/'warm_front'/'occluded'/'quasi_stat'

item_menu,
    name        = 'frontolysis',
    name        = 'Frontolysis',
    parent      = 'front_type',
    visible_for = 'cold_front'/'warm_front'/'occluded'/'quasi_stat'

node_menu,
    name    = 'add_before',
    label   = 'Add point before'

node_menu,
    name    = 'add_after',
    label   = 'Add point after'

node_menu,
    name    = 'delete',
    label   = 'Delete point'
