
    ը	f*                     J    d Z ddlZddlZddlmZmZ ddlmZ  G d de      Zy)aD  
@package psmap.toolbars

@brief wxPsMap toolbars classes

Classes:
 - toolbars::PsMapToolbar

(C) 2007-2011 by the GRASS Development Team

This program is free software under the GNU General Public License
(>=v2). Read the file COPYING that comes with GRASS for details.

@author Anna Kratochvilova <kratochanna gmail.com>
    N)BaseToolbar	BaseIcons)MetaIconc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)PsMapToolbarc                 .   t        j                  | ||       t        j                  dk(  r|j	                  |        | j                  | j                                | j                  | _        | j                  | j                  | j                  | j                  | j                  | j                  fD ]   }| j                  j                  d| |       " | j!                  t#        d            | _        | j'                  d| j$                        | _        | j$                  j+                  t,        j.                  | j0                         d| _        | j5                  d       | j7                          d	d
lm} |s| j=                  | j>                  d       yy)zWToolbar Cartographic Composer (psmap.py)

        :param parent: parent window
        darwinmouseUse)grouptoolbartoolzSelect graphics tool)tooltip   N)eventr   )havePILImageF) r   __init__sysplatform
SetToolBarInitToolbar_toolbarDatapointer_defaultpanzoominzoomoutdrawGraphicsaddMaptoolSwitcherAddToolToGroupCreateSelectionButton_arrowButtonInsertControlarrowButtonIdBindwx
EVT_BUTTONOnDrawGraphicsMenudrawGraphicsAction
OnAddPointRealizepsmap.framer   
EnableToolpreview)selfparentr   r   r   s        //usr/lib/grass83/gui/wxpython/psmap/toolbars.pyr   zPsMapToolbar.__init__   sH   
 	T6<8 <<8#d#**,- LLHHKKLLKK
 	XD ,,:tRV,W	X  55a@V>W5X!//D4D4DEbmmT-D-DE"&d#,OODLL%0     c                    i dt        dt        d            dt        dt        d            dt        d	t        d
            dt        dt        d            dt        dt        d      t        d            dt        dt        d      t        d            dt        dt        d      t        d            dt        dt        d            dt        dt        d             d!t        d"t        d#            d$t        d%t        d&            d't        d(t        d)            d*t        d+t        d,            d-t        d.t        d/            d0t        d1t        d2            d3t        d4t        d5            d6t        d7t        d8            t        d9t        d:            t        d;t        d<            t        d=t        d>            d?}|| _        | j                  d@|d   j                  f|d   | j
                  j                  fdA|d   j                  f|d   | j
                  j                  fdBdC|d   j                  f|d   | j
                  j                  fdBdDt        dD   j                  ft        dD   | j
                  j                  t        j                  fdEt        dE   j                  ft        dE   | j
                  j                  t        j                  fdFt        dG   j                  ft        dG   | j
                  j                  t        j                  fdHt        dI   j                  ft        dI   | j
                  j                  t        j                  fdJ|d   j                  f|d   | j
                  j                   fdBd|d   j                  f|d   | j
                  j"                  t        j                  fdKt        dL   j                  ft        dL   | j
                  j$                  fdMt        dN   j                  ft        dN   | j
                  j&                  fdO|dO   j                  f|dO   | j(                  fdP|d   j                  f|d   | j
                  j*                  fdQt        dR   j                  ft        dR   | j,                  fdS|d3   j                  f|d3   | j.                  t        j                  fdBd|d   j                  f|d   | j
                  j0                  fdT|d   j                  f|d   | j
                  j2                  fdU|d   j                  f|d   | j
                  j4                  fdBdVt        dV   j                  ft        dV   | j
                  j6                  fdWt        dW   j                  ft        dW   | j
                  j8                  ff      S )XzToolbar data
scriptSavezscript-savez,Generate text file with mapping instructions)imglabel
scriptLoadzscript-loadz(Load text file with mapping instructionspsExportz	ps-exportzGenerate PostScript output	pdfExportz
pdf-exportzGenerate PDF output	pageSetupzpage-settingsz
Page setupz+Specify paper size, margins and orientation)r6   r7   desc
fullExtentzzoom-extentzFull extentzZoom to full extentr   z	layer-addz	Map framez!Click and drag to place map frame	deleteObjzlayer-removezDelete selected objectr/   executezShow previewaddTextztext-addText
addMapinfozmap-infozMap info	addLegendz
legend-addLegendaddScalebarzscalebar-addz	Scale baraddImagez	image-addImageaddNorthArrowznorth-arrow-addzNorth ArrowpointAddz	point-addPointlineAddzline-addLinezrectangle-add	Rectanglez
layer-morezAdd overlayszlayer-label-addz
Add labels)rectangleAddoverlaysAdd	labelsAddloadFileinstructionFile)N	pagesetupr   r   r   zoomInr   zoomOutzoomAll	addRasteraddRast	addVectoraddVectrO   deletedecoverlayr   
generatePSgeneratePDFhelpquit)r   r"   icons_getToolbarDatar7   r1   
OnLoadFileOnInstructionFileOnPageSetupr   	OnPointerr'   
ITEM_CHECKOnPanOnZoomIn	OnZoomOut	OnZoomAllOnAddMapOnAddRaster	OnAddVectOnAddOverlaysOnDeleteOnDecorationOnDrawGraphics	OnPreviewOnPSFile	OnPDFFileOnHelpOnCloseWindow)r0   rb   s     r2   r   zPsMapToolbar._toolbarDataB   s
   (
(!FG(

 (!+U)V(
 q)E'F(
 l!<Q:RS(
 #oDE(
" (!=)9BW@X#(
( hn:;)(
2 "!,D*E3(
8 xIQ~5FG9(
: xJai@;(
< (z:G=(
> l!H+F?(
@ 8anMA(
B ['
CC(
D X*;1]CSTE(
F ['
CG(
H xJai@I(
J %+O#An<MN!&7qOO(
R 
##  |!4!:!:;,'KK** 'l(;(A(AB,'KK11
  %"4":":;+&KK++
 	) 4 : :;i(KK))MM	 Ie,223e$KK%%MM	 y2889h'KK((MM	 	) 4 : :;i(KK))MM	 l 3 9 9:,'KK))
 uX445(OKK((MM	 !)I"6"<"<=i(KK++ !)I"6"<"<=i(KK)) #E-$8$>$>?-(&& u[1778+&KK(( Ii0667i(%% $U:%6%<%<=*%''MM	 i 0 6 67)$KK)) "5#4#:#:;*%KK(( #E+$6$<$<=+&KK))
 Yv.445f%KK&& Yv.445f%KK--Wpr
 r	
r3   c           	         | j                  | j                  d   | j                  j                  f| j                  d   | j                  j                  f| j                  d   | j                  j
                  f| j                  d   | j                  j                  f| j                  d   | j                  j                  f| j                  d   | j                  j                  ff       y)zDecorations overlay menurC   rB   rE   r@   rF   rH   N)	_onMenurb   r1   OnAddLegendOnAddMapinfoOnAddScalebar	OnAddText
OnAddImageOnAddNorthArrowr0   r   s     r2   rr   zPsMapToolbar.OnDecoration   s    K($++*A*ABL)4;;+C+CDM*DKK,E,EFI&(=(=>J')?)?@O,dkk.I.IJ		
r3   c                 n    | j                  | j                  d   | j                  j                  ff       y )NrP   )rz   rb   r1   OnAddLabelsr   s     r2   rp   zPsMapToolbar.OnAddOverlays   s)    tzz+.0G0GHJKr3   c                    | j                   dk(  r| j                  j                  |       y| j                   dk(  r| j                  j                  |       y| j                   dk(  r| j                  j	                  |       yy)zGraphics tool activated.rI   rK   rN   N)r*   r1   r+   	OnAddLineOnAddRectangler   s     r2   rs   zPsMapToolbar.OnDrawGraphics   si     ""j0KK""5)$$	1KK!!%($$6KK&&u- 7r3   c                     | j                  | j                  d   | j                  f| j                  d   | j                  f| j                  d   | j                  ff       y)z>Simple geometry features (point, line, rectangle) overlay menurI   rK   rN   N)rz   rb   r+   r   r   r   s     r2   r)   zPsMapToolbar.OnDrawGraphicsMenu   sT    J'9I&7N+T-@-@A	
r3   c                 >   | j                  | j                  | j                  d   j                                | j	                  | j                  t        d             d| _        |r8| j                  | j                  d       | j                  j                  |       yy)z[Point mode selected.

        Graphics drawing tool is activated. Tooltip changed.
        rI   zAdd simple graphics: pointsTN)
SetToolNormalBitmapr   rb   	GetBitmapSetToolShortHelpr"   r*   
ToggleToolr1   r+   r   s     r2   r+   zPsMapToolbar.OnAddPoint  s~    
 	  !2!2DJJz4J4T4T4VWd//3P1QR",OOD--t4KK""5) r3   c                 >   | j                  | j                  | j                  d   j                                | j	                  | j                  t        d             | j                  | j                  d       |r#d| _        | j                  j                  |       yy)zZLine mode selected.

        Graphics drawing tool is activated. Tooltip changed.
        rK   zAdd simple graphics: linesTN)
r   r   rb   r   r   r"   r   r*   r1   r   r   s     r2   r   zPsMapToolbar.OnAddLine  s~    
 	  !2!2DJJy4I4S4S4UVd//3O1PQ))40&/D#KK!!%( r3   c                 >   | j                  | j                  | j                  d   j                                | j	                  | j                  t        d             | j                  | j                  d       |r#d| _        | j                  j                  |       yy)z_Rectangle mode selected.

        Graphics drawing tool is activated. Tooltip changed.
        rN   zAdd simple graphics: rectanglesTN)
r   r   rb   r   r   r"   r   r*   r1   r   r   s     r2   r   zPsMapToolbar.OnAddRectangle  s    
 	  tzz.9CCE	
 	d//3T1UV))40&4D#KK&&u- r3   N)__name__
__module____qualname__r   r   rr   rp   rs   r)   r+   r   r    r3   r2   r   r      s3    &1P_
B
L.

*
).r3   r   )	__doc__r   r'   gui_core.toolbarsr   r   
icons.iconr   r   r   r3   r2   <module>r      s&      	 4 R.; R.r3   