
    BPc                         d Z ddlZddlmZmZ ddlmZ dZ G d deej                  Ze	dk    r e            
                                 dS dS )	z1Effect to add key bindings to jessyInk slide show    N)GroupScript)JessyInkMixin)LEFTRIGHTDOWNUPHOMEENDENTERSPACEPAGE_UP	PAGE_DOWNESCAPEc                       e Zd ZdZdZd Zdddddd	d
dddddddi ddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd<d=d>d?d@ZdA ZdB ZdCS )DKeyBindingszAdd key bindings to slide show)slideindexdrawingc                    |                     dd          \  }}t          || di           }t          || di           }|rx|                     d          D ]b}|                                }|t          v r| j        |         |         ||dz   <   9t          |          dk    r| j        |         |         ||<   ct          || d|           t          || d|           dS )z-Sort through all the options and combine them_   KeyCodes	CharCodes,_KEYN)splitgetattrstrip	KEY_CODESactionslensetattr)	self	namespaceopt_strvalueslotactionkeycodes	charcodesvals	            7/usr/share/inkscape/extensions/jessyink_key_bindings.pyset_optionszKeyBindings.set_options,   s	   }}S!,,f9&7&7&7<<I$'9'9'92>>	 	@{{3'' @ @iikk)##-1\$-?-GHS6\**XX]]%)\$%7%?IcN	d,,,h777	d---y99999    zslideUpdateExportLayer();zslideAddSlide(activeSlide);zslideResetTimer();zslideQueryDuration();zdispatchEffects(-1);zdispatchEffects(1);zskipEffects(-1);zskipEffects(1);ztoggleSlideIndex();zslideSwitchToDrawingMode();z#slideToggleProgressBarVisibility();zslideSetActiveSlide(0);z'slideSetActiveSlide(slides.length - 1);)exportaddSlide
resetTimersetDurationbackWithEffectsnextWithEffectsbackWithoutEffectsnextWithoutEffectsswitchToIndexModeswitchToDrawingModetoggleProgressBar
firstSlide	lastSlideundozdrawingUndo();switchToSlideModezdrawingSwitchToSlideMode();pathWidthDefaultzdrawingResetPathWidth();
pathWidth1zdrawingSetPathWidth(1.0);
pathWidth3zdrawingSetPathWidth(3.0);
pathWidth5zdrawingSetPathWidth(5.0);
pathWidth7zdrawingSetPathWidth(7.0);
pathWidth9zdrawingSetPathWidth(9.0);pathColourBluezdrawingSetPathColour("blue");pathColourCyanzdrawingSetPathColour("cyan");pathColourGreenzdrawingSetPathColour("green");pathColourBlackzdrawingSetPathColour("black");pathColourMagentaz drawingSetPathColour("magenta");pathColourOrangezdrawingSetPathColour("orange");pathColourRedzdrawingSetPathColour("red");pathColourWhitezdrawingSetPathColour("white");pathColourYellowzdrawingSetPathColour("yellow");z#indexSetPageSlide(activeSlide - 1);z#indexSetPageSlide(activeSlide + 1);z/indexSetPageSlide(activeSlide - INDEX_COLUMNS);z/indexSetPageSlide(activeSlide + INDEX_COLUMNS);z?indexSetPageSlide(activeSlide - INDEX_COLUMNS * INDEX_COLUMNS);z?indexSetPageSlide(activeSlide + INDEX_COLUMNS * INDEX_COLUMNS);zindexSetPageSlide(0);z%indexSetPageSlide(slides.length - 1);zindexDecreaseNumberOfColumns();zindexIncreaseNumberOfColumns();zindexResetNumberOfColumns();)selectSlideToLeftselectSlideToRightselectSlideAboveselectSlideBelowpreviousPagenextPager;   r<   r>   decreaseNumberOfColumnsincreaseNumberOfColumnssetNumberOfColumnsToDefault)r   r   r   c                     |                     d           | j                                        D ]%\  }}|D ]}|                     d| d|            &d S )Nz--tabz--r   )add_argumentr!   items)r$   parsr(   r!   r)   s        r-   add_argumentszKeyBindings.add_argumentsn   s}    '"""!\//11 	8 	8MD'! 8 8!!"6t"6"6f"6"677778	8 	8r/   c                    |                                   t          | j        j                  D ]?}d|v r9|                     | j        || j        j                            |                     @| j                            d          D ]}|                                 d}| j        j	        
                                D ]\  }}|d| d| dz  }| j        j        
                                D ]\  }}|d| d| dz  }| j        j        
                                D ]\  }}|d| d| dz  }|d	z  }| j        j        
                                D ]\  }}|d
| d| dz  }| j        j        
                                D ]\  }}|d| d| dz  }| j        j        
                                D ]\  }}|d| d| dz  }|dz  }|dz  }| j                            t#                                }|                    t%                                }||_        |                    dd           |                    dd           d S )Nr   z8//svg:g[@jessyink:customKeyBindings='customKeyBindings']zfunction getCustomKeyBindingsSub()
{
    var keyDict = new Object();
    keyDict[SLIDE_MODE] = new Object();
    keyDict[INDEX_MODE] = new Object();
    keyDict[DRAWING_MODE] = new Object();
z    keyDict[SLIDE_MODE][z] = function() { z };
z    keyDict[DRAWING_MODE][z    keyDict[INDEX_MODE][z    return keyDict;
}

function getCustomCharBindingsSub()
{
    var charDict = new Object();
    charDict[SLIDE_MODE] = new Object();
    charDict[INDEX_MODE] = new Object();
    charDict[DRAWING_MODE] = new Object();
z    charDict[SLIDE_MODE]["z"] = function() { z    charDict[DRAWING_MODE]["z    charDict[INDEX_MODE]["z    return charDict;
z}
zjessyink:customKeyBindingscustomKeyBindingsonloadzthis.getCustomCharBindings = function() { return getCustomCharBindingsSub(); }; this.getCustomKeyBindings = function() { return getCustomKeyBindingsSub(); };)is_installedlistoptions__dict__r.   popsvgxpathdeleteslideKeyCodesrY   drawingKeyCodesindexKeyCodesslideCharCodesdrawingCharCodesindexCharCodesaddr   r   textset)r$   namenode	node_textkeyr'   groupscripts           r-   effectzKeyBindings.effectt   s   .// 	V 	VDd{{  tT\5J5N5Nt5T5TUUU HNNF
 
 	 	D KKMMMM	 ,4::<< 	Y 	YJCXCXX5XXXXII,6<<>> 	 	JCQSQQEQQQII ,4::<< 	Y 	YJCXCXX5XXXXII 	 	 			 ,5;;== 	 	JCRSRRURRRII ,7==?? 	 	JCTsTTuTTTII ,5;;== 	 	JCRSRRURRRII 	22	Z	 UWW%%688$$		.0CDDD		\	
 	
 	
 	
 	
r/   N)	__name__
__module____qualname____doc__modesr.   r!   r[   rv    r/   r-   r   r   '   s       (()E: : :" 25.254"4"3!6#@!F3B
 

$
!>
  :
 5	

 5
 5
 5
 5
 =
 =
 ?
 ?
  !C
  A
 ;
  ?!
"  A#
( "G"G Q Q]Y1@!6'H'H+I
 
G1 1Gf8 8 8I
 I
 I
 I
 I
r/   r   __main__)rz   inkexr   r   jessyink_installr   r    EffectExtensionr   rw   runr|   r/   r-   <module>r      s   $ 8 7          * * * * * *	V
 V
 V
 V
 V
-!6 V
 V
 V
r zKMM r/   