
    cc'                     F    d dl Z ddlmZ ddlmZ ddlmZ  G d de      Zy)    N   )AbstractOptionsBar)OptionsBarClassicColorPopover)utilities_add_unit_to_spinbtnc                   x     e Zd Zd Z fdZd Zd Zd Zd Zd Z	 fdZ
 fdZd	 Zd
 Zd Zd Zd Zd Z xZS )OptionsBarClassicc                 |   t         |           || _        | j                  d      }|j	                  d      | _        |j	                  d      | _        |j	                  d      | _        | j                  |       |j                  dd| j                         |j                  dd| j                         d| _        |j	                  d	      | _        |j	                  d
      | _        |j	                  d      | _        |j	                  d      | _        |j	                  d      | _        | j%                         j'                  d      }| j"                  j)                  |       t+        | j"                  dd       |j	                  d      | _        |j	                  d      | _        |j	                  d      | _        y )Nzclassic/optionsbar-classic.ui	color_boxcolor_menu_btn_rcolor_menu_btn_lcairo_operatorovercairo_op_mirrorFoptions_labeloptions_long_boxoptions_short_boxthickness_scalebtnthickness_spinbtnz	last-size   pxminimap_btnminimap_labelminimap_arrow)super__init__window	_build_ui
get_objectr
   r   r   _build_color_buttonsadd_action_enum_cairo_op_changed_cairop_mirror_cairo_operator_lockr   r   r   r   r   _get_tool_optionsget_int	set_valuer   r   r   r   )selfr   builder	last_size	__class__s       </usr/lib/python3/dist-packages/drawing/optionsbar_classic.pyr   zOptionsBarClassic.__init__   s   '$+NN:;'%%k2$.!,,-?@$!,,-?@$G$)643I3IJ*FD4G4GH#$))/:$!,,-?@$"--.AB$#../CD$"--.AB$$$&..{;)""9- 6 64@''6$))/:$))/:$    c                 B    | j                   j                  j                  S N)r   options_manager_tools_gsettingsr'   s    r+   r$   z#OptionsBarClassic._get_tool_options)   s    		$	$	5	55r,   c                    | j                   j                  |j                         |j                  r&| j                  j
                  j                  d      }n|j                  }| j                  j                  |j                  |       | j                  j                  |j                  |       | j                  j                  |j                         | j                  j                  |j                         y )Nr   )r
   set_sensitive	use_coloruse_operatorr   r/   	get_value_fallback_operator_color_rset_operators_available_color_lr   use_sizer   )r'   tooloperators      r+   update_for_new_toolz%OptionsBarClassic.update_for_new_tool,   s    ..t~~.	kk))334DE8%%8--''(9(98D--''(9(98D''6&&t}}5r,   c                     | j                   S r.   )r   r1   s    r+   get_minimap_btnz!OptionsBarClassic.get_minimap_btn7   s    			r,   c                 :    | j                   j                  |       y r.   )r   	set_label)r'   labels     r+   set_minimap_labelz#OptionsBarClassic.set_minimap_label:   s    u%r,   c                     || j                   j                  |       n9|| j                   j                  |       n| j                   j                  d        | j                  j	                  |       y r.   )options_btnset_popoverset_menu_modelr   rB   )r'   widgetmodelrC   s       r+   build_options_menuz$OptionsBarClassic.build_options_menu=   s^    '""5)%u%r,   c                 8   t         |           | j                  j                         d   | j                  j                         d   z   | j
                  j                         d   z   | j                  j                         d   z   dz   }| j                  |       y )Nr   2   )r   init_adaptabilityr
   get_preferred_widthr   r   r   _set_limit_size)r'   temp_limit_sizer*   s     r+   rN   z#OptionsBarClassic.init_adaptabilityF   s    'NN668;""668;<""668;< ""668;< ?AA/
 'r,   c                 8   t         |   |       | j                  j                  |        | j                  j                  |       | j
                  j                  |       | j                  j                  |        | j                  j                  |        y r.   )r   set_compactr   set_visibler   r   r   r   )r'   stater*   s     r+   rS   zOptionsBarClassic.set_compactO   sz    'e##I.$$U+%%e,$$Y/  U+r,   c                 $   | j                   j                  j                         }| j                   j                  j                  | j                  j                  j                                | j                  j                  j                  |       y r.   )r:   color_widgetget_rgbaset_rgbar8   )r'   
left_colors     r+   middle_click_actionz%OptionsBarClassic.middle_click_actionZ   s]    }}))224*--%%dmm&@&@&I&I&KL--%%j1r,   c                     | j                   j                  }|j                  d      }t        | j                  |d|      | _        |j                  d      }t        | j                  |d|      | _        y)zZInitialize the 2 color-buttons and popovers with the 2 previously
		memorized RGBA values.r_btn_imageFl_btn_imageTN)r   r/   r   r   r   r8   r   r:   )r'   r(   r/   thumbnail_rthumbnail_ls        r+   r   z&OptionsBarClassic._build_color_buttons_   sm     KK///""=1+/0E0E&15/K$- ""=1+/0E0E'2D/K$-r,   c                 p    | j                   j                  |       | j                  j                  |       y r.   )r8   editor_setting_changedr:   )r'   show_editors     r+   set_palette_settingz%OptionsBarClassic.set_palette_settingl   s&    --&&{3--&&{3r,   c                      | j                   j                  j                  dg| r#| j                  |d   j	                                yy)zCThis action can be used in menus. Is sync'd with `cairo_op_mirror`.r   r   N)r   r/   mirrored_action_callback_update_popovers
get_stringr'   argss     r+   r!   z#OptionsBarClassic._cairo_op_changeds   sC    9T[[  99:KSdSa++-. Tr,   c                      | j                   j                  j                  dg| r#| j                  |d   j	                                yy)zhThis action should NEVER be added to any menu (GtkRadioButtons only).
		Is sync'd with `cairo_operator`.r   r   N)r   r/   mirroring_action_callbackrg   rh   ri   s     r+   r"   z OptionsBarClassic._cairop_mirrorx   sE     ;T[[  ::;KSdSa++-. Tr,   c                 p    | j                   j                  |       | j                  j                  |       y r.   )r8   adapt_to_operatorr:   )r'   op_as_strings     r+   rg   z"OptionsBarClassic._update_popovers~   s&    --!!,/--!!,/r,   )__name__
__module____qualname____gtype_name__r   r$   r>   r@   rD   rK   rN   rS   r[   r   rd   r!   r"   rg   __classcell__)r*   s   @r+   r   r   
   sO    %;86	6&&(,2
K4/
/0r,   r   )cairoabstract_optionsbarr   optionsbar_color_popoverr   utilities_unitsr   r    r,   r+   <module>rz      s"     3 C :v0* v0r,   