
    ը	f^                     $   d Z ddlZddlZddlZddlZddlZddlmZ ddlm	Z
 ddlmZ e
ZeZ ej                  ddd	
      Zedk7  r$ej"                  j%                   ed      ez         eZ	eZ	 erej(                  j+                  e      se ej.                  e	      D ]5  \  ZZee	vse	e   ee	e<   ej(                  j5                  ee	e         e	e<   7 	  G d d      Zy# e$ r%Z ej:                   ed      ez         Y dZ[0dZ[ww xY w)aU  
@package icons.icon

@brief Icon metadata

Classes:
 - MetaIcon

(C) 2007-2014 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 Martin Landa <landa.martin gmail.com>
@author Anna Kratochvilova <kratochanna gmail.com>
    N)UserSettings   )iconSet)iconPath
appearance	iconThemetype)groupkeysubkeygrassz/Unknown iconset '%s', using default 'grass'...
z8Unable to load icon theme. Reason: %s. Quitting wxGUI...c                   @    e Zd ZdZd
dZd ZddZd Zd Zd Z	d
d	Z
y)MetaIconz/Handle icon metadata (image path, tooltip, ...)Nc                    t         j                  |t        j                        | _        | j                  sd| _        n-| j                  j                  d      dkD  rd| _        nd| _        || _        |r|| _        y d| _        y )NunknownwxART_wximg )	r   getr   ART_MISSING_IMAGE	imagepathr	   findlabeldescription)selfr   r   descs       +/usr/lib/grass83/gui/wxpython/icons/icon.py__init__zMetaIcon.__init__<   sg     S"*>*>?~~!DI~~""8,r1 	!	
#D!D    c                 T    d| j                   d| j                  d| j                  S )Nzlabel=z, img=z, type=)r   r   r	   r   s    r   __str__zMetaIcon.__str__M   s    .2jj$..$))TTr!   c                 n   d }| j                   dk(  r<t        j                  j                  | j                  t        j
                  |      }|S | j                   dk(  rt        j                  j                  | j                        rt        j                  j                  | j                        r|rXt        |      dk(  rJt        j                  | j                        }|j                  |d   |d          |j                         }|S | j                  r t        j                  | j                        }|S )Nr   )idclientsizer      )namer   r   )r	   r   ArtProvider	GetBitmapr   ART_TOOLBARospathisfilegetsizelenImageRescaleConvertToBitmapBitmap)r   r(   bmpimages       r   r,   zMetaIcon.GetBitmapP   s    99..**>>"..t + C 
 YY%ww~~dnn-"''//$..2QCINHH$..9EMM$q'473//1C 
 ^^))8C
r!   c                     | j                   S N)r   r#   s    r   GetLabelzMetaIcon.GetLabelb   s    zzr!   c                     | j                   S r:   )r   r#   s    r   GetDesczMetaIcon.GetDesce   s    r!   c                 T    t         j                  j                  | j                        S r:   )r.   r/   basenamer   r#   s    r   GetImageNamezMetaIcon.GetImageNameh   s    ww//r!   c                 T    t        j                   |       }|r||_        |r||_        |S )zSet label/description for icon

        :param label: icon label (None for no change)
        :param desc: icon description (None for no change)

        :return: copy of original object
        )copyr   r   )r   r   r   cobjs       r   SetLabelzMetaIcon.SetLabelk   s+     yyDJ#Dr!   )NNr:   )__name__
__module____qualname____doc__r    r$   r,   r;   r=   r@   rD    r!   r   r   r   9   s)    9""U$ 0r!   r   )rH   r.   sysrB   sixr   core.settingsr   grass_iconsr   	g_iconSetr   
g_iconPathiconSetDefaulticonPathDefaultGetr   stderrwrite_r/   existsOSError	iteritemsr   r   join	Exceptioneexitr   rI   r!   r   <module>r]      s'  " 
 
  
 	 & . /L<[P	JJ	
<=K 
Px0!CMM'* <Sg!5GCLww||Hgcl;	<@ @	  PCHHQIJQNOOPs   0A)C% %D*D

D