łň
ž2ZFc           @   s    d  Z  d e f d     YZ d S(   s  
This module documents a class that creates a trigger to scroll the 
view up or down or center it.

@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   sV   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 RS(	   s6   
	This class creates triggers for scroll navigation.
	c         C   sl   |  i  |  |  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   activateN(   t   _Trigger__init_attributest   _Trigger__create_triggerst   _Trigger__up_triggert   connectt   _Trigger__up_cbt   _Trigger__signal_id_1t   _Trigger__down_triggert   _Trigger__down_cbt   _Trigger__signal_id_2t   _Trigger__middle_triggert   _Trigger__middle_cbt   _Trigger__signal_id_3(   t   selft   editor(    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyt   __init__%   s
    

c         C   sL   | |  _  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   (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyt   __init_attributes5   s    
								c         C   s   d d k  l } | 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	   scroll_ups	   ctrl - Upt   scroll_downs   ctrl - Downt   centers   alt - mN(   t   SCRIBES.triggerR    R   R   t   add_triggerR   R   (   R   R    (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyt   __create_triggersI   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   (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyt   __up_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   (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyt	   __down_cbp   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   (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyt   __middle_cb   s    
c         C   sş   d d k  l } l } | |  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   t   remove_triggerR   t   destroyR   (   R   R!   R"   (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/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   (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyR%   ¨   s    
(   t   __name__t
   __module__t   __doc__R   R   R   R   R	   R   R'   R%   (    (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pyR        s   							N(   R*   t   objectR    (    (    (    sD   /home/goldenmyst/.gnome2/scribes/plugins/ScrollNavigation/Trigger.pys   <module>   s   