łň
ť`Fc           @   s    d  Z  d e f d     YZ d S(   s   
This module documents a class that creates a trigger to perform paragraph
operations.

@author: Lateef Alabi-Oki
@organization: The Scribes Project
@copyright: Copyright ÂŠ 2007 Lateef Alabi-Oki
@license: GNU GPLv2 or Later
@contact: mystilleef@gmail.com
t   Triggerc           B   sh   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z RS(   sś   
	This class creates triggers for paragraph operations.
	Operations:
		- select paragraph
		- move cursor to next paragraph
		- move cursor to previous paragraph
		- paragraph fill
	c         C   s˘   |  i  |  |  i   |  i i d |  i  |  _ |  i i d |  i  |  _ |  i	 i d |  i
  |  _ |  i i d |  i  |  _ | i i d |  i  |  _ d S(   sÂ   
		Initialize the trigger.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.

		@param editor: Reference to the text editor.
		@type editor: An Editor object.
		t   activates   populate-popupN(   t   _Trigger__init_attributest   _Trigger__create_triggerst"   _Trigger__select_paragraph_triggert   connectt   _Trigger__select_cbt   _Trigger__signal_id_1t    _Trigger__next_paragraph_triggert   _Trigger__next_cbt   _Trigger__signal_id_2t$   _Trigger__previous_paragraph_triggert   _Trigger__previous_cbt   _Trigger__signal_id_3t"   _Trigger__reflow_paragraph_triggert   _Trigger__reflow_cbt   _Trigger__signal_id_4t   textviewt   connect_aftert   _Trigger__popup_cbt   _Trigger__signal_id_5(   t   selft   editor(    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt   __init__*   s    

c         C   sg   | |  _  d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _	 d |  _
 d |  _ d S(   sĎ   
		Initialize the trigger's attributes.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.

		@param editor: Reference to the text editor.
		@type editor: An Editor object.
		N(   t   _Trigger__editort   Nonet   _Trigger__managerR   R   R   R   R
   R   R   R   R   (   R   R   (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt   __init_attributes<   s    
											c         C   s¨   d d k  l } | d  |  _ |  i i |  i d  | d  |  _ |  i i |  i d  | d  |  _ |  i i |  i d  | d	  |  _ |  i i |  i d
  d S(   sl   
		Create the trigger.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.
		i˙˙˙˙(   R    t   select_paragraphs   alt - pt   next_paragraphs
   alt - Downt   previous_paragraphs   alt - Upt   reflow_paragraphs   alt - qN(   t   SCRIBES.triggerR    R   R   t   add_triggerR   R   R   (   R   R    (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt   __create_triggersS   s    c         C   sZ   y |  i  i   WnB t j
 o6 d d k l } | |  i  |  _  |  i  i   n Xd S(   sî   
		Handles callback when the "activate" signal is emitted.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.

		@param trigger: An object to show the document browser.
		@type trigger: A Trigger object.
		i˙˙˙˙(   t   ManagerN(   R   R   t   AttributeErrorR#   R   (   R   t   triggerR#   (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt   __select_cbl   s    
c         C   sZ   y |  i  i   WnB t j
 o6 d d k l } | |  i  |  _  |  i  i   n Xd S(   sî   
		Handles callback when the "activate" signal is emitted.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.

		@param trigger: An object to show the document browser.
		@type trigger: A Trigger object.
		i˙˙˙˙(   R#   N(   R   R   R$   R#   R   (   R   R%   R#   (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt   __previous_cb~   s    
c         C   sZ   y |  i  i   WnB t j
 o6 d d k l } | |  i  |  _  |  i  i   n Xd S(   sî   
		Handles callback when the "activate" signal is emitted.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.

		@param trigger: An object to show the document browser.
		@type trigger: A Trigger object.
		i˙˙˙˙(   R#   N(   R   R   R$   R#   R   (   R   R%   R#   (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt	   __next_cb   s    
c         C   sZ   y |  i  i   WnB t j
 o6 d d k l } | |  i  |  _  |  i  i   n Xd S(   sî   
		Handles callback when the "activate" signal is emitted.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.

		@param trigger: An object to show the document browser.
		@type trigger: A Trigger object.
		i˙˙˙˙(   R#   N(   R   R   R$   R#   R   (   R   R%   R#   (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt   __reflow_cb˘   s    
c         C   s  d d k  l } l } |  i |  i |  i |  i g } | |  i |  i  | |  i |  i  | |  i	 |  i  | |  i
 |  i  | |  i |  i i  |  i i |  i  |  i i |  i  |  i i |  i  |  i i |  i  |  i o |  i i   n | |   ~  d }  d S(   si   
		Destroy trigger.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.
		i˙˙˙˙(   t   disconnect_signalt   delete_attributesN(   t   SCRIBES.utilsR*   R+   R   R   R   R   R   R
   R   R   R   R   R   t   remove_triggerR   t   destroyR   (   R   R*   R+   t   triggers(    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt	   __destroy´   s"    
c         C   s   |  i    d S(   si   
		Destroy trigger.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.
		N(   t   _Trigger__destroy(   R   (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyR.   Í   s    
c         C   s4   d d k  l  } | i | |  i   | i   t S(   s   
		Handles callback when the "populate-popup" signal is emitted.

		@param self: Reference to the Trigger instance.
		@type self: A Trigger object.
		i˙˙˙˙(   t   PopupMenuItem(   R2   t   prependR   t   show_allt   False(   R   R   t   menuR2   (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyt
   __popup_cb×   s    
(   t   __name__t
   __module__t   __doc__R   R   R   R   R   R	   R   R1   R.   R   (    (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pyR        s   									
N(   R:   t   objectR    (    (    (    s=   /home/goldenmyst/.gnome2/scribes/plugins/Paragraph/Trigger.pys   <module>   s   