
    %
i|                        d dl Z d dlZd dl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	m
Z
 ddlmZmZmZmZ dZdZej        dz   Zdej        z   ej        z   ej        z   Z ej        d	          Zg d
Zde	j        fdej        fdej        fdej        fdej        fdej         fdej!        fdej"        fdej#        fdej$        fg
Z%g Z&d Z' e'             [[%ej(        ej)        fej*        ej+        fej,        ej-        fej.        ej/        fej0        ej1        fej        ej2        fej3        ej4        fgZ5d Z6d Z7 G d de
j8        ej9                  Z:d Z;da< e;             dS )    N)afxresdocview   )IDLEenvironmentbindingscontrolscintillaconi  i  9   z._zimport (?P<name>.*))zwin32ui.ID_FILE_LOCATEzwin32ui.ID_FILE_CHECKzafxres.ID_FILE_CLOSEzafxres.ID_FILE_NEWzafxres.ID_FILE_OPENzafxres.ID_FILE_SAVEzafxres.ID_FILE_SAVE_ASzwin32ui.ID_FILE_SAVE_ALLzafxres.ID_EDIT_UNDOzafxres.ID_EDIT_REDOzafxres.ID_EDIT_CUTzafxres.ID_EDIT_COPYzafxres.ID_EDIT_PASTEzafxres.ID_EDIT_SELECT_ALLzafxres.ID_EDIT_FINDzafxres.ID_EDIT_REPEATzafxres.ID_EDIT_REPLACEzwin32ui.ID_VIEW_WHITESPACEzwin32ui.ID_VIEW_FIXED_FONTzwin32ui.ID_VIEW_BROWSEzwin32ui.ID_VIEW_INTERACTIVEzafxres.ID_WINDOW_ARRANGEzafxres.ID_WINDOW_CASCADEzafxres.ID_WINDOW_NEWzafxres.ID_WINDOW_SPLITzafxres.ID_WINDOW_TILE_HORZzafxres.ID_WINDOW_TILE_VERTzafxres.ID_APP_EXITzafxres.ID_APP_ABOUT
EditDeleteLocateModuleGotoLineDbgBreakpointToggleDbgGoDbgStepOverDbgStep
DbgStepOutDbgBreakpointClearAllDbgClosec                  >   t           D ]k} t          |           }|                     d          dd          }d |D             }d                    |          }t                              ||f           lt          D ]!\  } }t                              | |f           "d S )N_r   c                 6    g | ]}|                                 S  )
capitalize).0ps     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\pythonwin/pywin/scintilla/view.py
<listcomp>z!_CreateEvents.<locals>.<listcomp>V   s     999allnn999     )_event_commandsevalsplitjoinevent_commandsappend_extra_event_commands)nameval
name_partseventids        r   _CreateEventsr,   R   s     , ,4jjZZ__QRR(
99j999

##ucl++++) * *btRj))))* *r   c                 0    | j                     }d}|r | j        |dz
            } | j        |          }dx}}|dv r|dz
  }|dk    r|dv r|}|dk    r | j        |d          }|dk    r|dk    r | j        |           d S  | j        ||           d S )N r   z[](){}r   )SCIGetCurrentPosSCIGetCharAtSCIBraceMatchSCIBraceBadHighlightSCIBraceHighlight)r   curPos
charBeforecharAt
braceAtPosbraceOpposites         r   DoBraceMatchr:   l   s    %W%''FJ 6)W)&1*55
!W!&))F!##JXaZ
RXJR--j!<<RMR//$$Z00000 	"!*m<<<<<r   c                     g }	 |                     t          |                      | j        D ]-}t          |          D ]}||vr|                    |           .n# t
          $ r Y nw xY w|S N)extenddir	__bases___get_class_attributesr%   AttributeError)obitemsiitems       r   r@   r@      s    ESWW 	' 	'A-a00 ' 'u$$LL&&&'	'    Ls   AA 
A)(A)c                   F    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d5d	Z
d
 Zd Zd Zd Zd Zd5dZd6dZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd  Zd! Z d" Z!d# Z"d$ Z#d5d%Z$d& Z%d' Z& fd(Z'd7d*Z(d8d+Z)d8d,Z*d- Z+d. Z,d/ Z-d0 Z.d1 Z/d2 Z0d3 Z1d4 Z2 xZ3S )9CScintillaViewc                    t           j                            | |dt          j        t          j        z  t          j        z  t          j        z  t          j        z             d| _	        d| _
        d| _        d| _        t          j        |           | _        t          j        |           | _        | j                            d           | j        j        | _        d S )N	Scintilla   r   r   
AutoExpand)r   CtrlView__init__win32conWS_CHILD
WS_VSCROLL
WS_HSCROLLWS_CLIPCHILDREN
WS_VISIBLE	_tabWidthbAutoCompleteAttributesbShowCallTipsbMatchBracesr   BindingsManagerr   IDLEEditorWindowidleIDLEExtension_obj_SendMessageSendScintillaselfdocs     r   rM   zCScintillaView.__init__   s    !!!"!" &' !	"			
 		
 		
  	 ()$ 066#4T::		---!Z3r   c                     t           j                            |                                                                           d         }ddlm} |                    | |          S )Nr   )	formatter)ospathsplitextGetDocumentGetPathNamer   rc   BuiltinPythonSourceFormatter)r`   extrc   s      r   _MakeColorizerzCScintillaView._MakeColorizer   s\    gt//11==??@@C55dC@@@r   c                 T    || _         t          j                            | |           d S r<   )rT   r   CScintillaEditInterfaceSCISetTabWidth)r`   widths     r   rn   zCScintillaView.SCISetTabWidth   s(    '66tUCCCCCr   c                     | j         S r<   )rT   r`   s    r   GetTabWidthzCScintillaView.GetTabWidth   s
    ~r   c                    t           D ]"\  }}| j                            |d |           #t          D ]&\  }}| j        |fd}|                     ||           '|                     | j        t          j                   | 	                    | j
        t          j                   |                     | j        t          j                   | 	                    | j        t          j                   |                     | j        t          j                   | 	                    | j        t          j                   |                     | j        t          j                   | 	                    | j        t          j                   |                     | j        t          j                   | 	                    | j        t          j                   |                     | j        t          j                   |                     | j        t          j                   |                     | j        t          j                   |                     | j        t          j                   |                     | j        t          j                    |                     | j!        tD          j#                   |                     | j!        tD          j$                   |                     | j%        t          j&                   | '                    | j(        tR          j*                   | '                    | j(        tR          j+                   | ,                                 d S )N)cidc                      ||          odS Nr   r   )r+   codesstosends       r   <lambda>z-CScintillaView.HookHandlers.<locals>.<lambda>   s    22f:: L r   )-r$   r   bindcommand_reflectorsr^   HookCommandOnCmdViewWSwin32uiID_VIEW_WHITESPACEHookCommandUpdateOnUpdateViewWSOnCmdViewIndentationGuidesID_VIEW_INDENTATIONGUIDESOnUpdateViewIndentationGuidesOnCmdViewRightEdgeID_VIEW_RIGHT_EDGEOnUpdateViewRightEdgeOnCmdViewEOLID_VIEW_EOLOnUpdateViewEOLOnCmdViewFixedFontID_VIEW_FIXED_FONTOnUpdateViewFixedFontOnCmdFileLocateID_FILE_LOCATEOnCmdEditFindID_EDIT_FINDOnCmdEditRepeatID_EDIT_REPEATOnCmdEditReplaceID_EDIT_REPLACEOnCmdGotoLineID_EDIT_GOTO_LINEOnFilePrintr   ID_FILE_PRINTID_FILE_PRINT_DIRECTOnFilePrintPreviewID_FILE_PRINT_PREVIEWHookMessage	OnKeyDownrN   
WM_KEYDOWNWM_SYSKEYDOWNHookFormatter)r`   r'   r(   command
reflectionhandlers         r   HookHandlerszCScintillaView.HookHandlers   s   ' 	4 	4ID#MtTs3333 $6 	/ 	/GZ$($6z     Wg....)7+EFFFt2G4NOOO+W-N	
 	
 	
 	.0Q	
 	
 	
 	0'2LMMMt97;UVVV*G,?@@@t3W5HIII0'2LMMMt97;UVVV-w/EFFF+W-ABBB-w/EFFF.0GHHH+W-FGGG)6+?@@@)6+FGGG0'2OPPP)<===)?@@@ 	r   c                 b   |                                  }|                     t          j        t          j        d           |                     t          j        dd           |                     t          j        dt          j                   |                     t          j        dd           |                     t          j        dt          j                   |                     t          j        dt          j	                   |                     t          j
        dd           |                                                      |            |                                  |                     d            |                                  |                                                      |            d S )Nr   r         )rg   r^   r	   SCI_SETCODEPAGE
SC_CP_UTF8SCI_SETKEYSUNICODESCI_SETMARGINTYPENSC_MARGIN_SYMBOLSCI_SETMARGINMASKNSC_MASK_FOLDERSSCI_SETMARGINSENSITIVENHookViewNotificationsr   OnWinIniChangeSetSelFinalizeViewCreationr_   s     r   OnInitialUpdatezCScintillaView.OnInitialUpdate   s      	<79PRSTTT<:AqAAA 	+Q0M	
 	
 	
 	<:AsCCC+Q0M	
 	
 	
 	+Q0L	
 	
 	
 	<?AFFF00	
 	
 	
 	 	D!!!//	
 	
 	
 	
 	
r   c                     d S r<   r   rq   s    r   _GetSubConfigNamesz!CScintillaView._GetSubConfigNames  s    tr   Nc                     | j                                          	 |                                  | j                                          d S # | j                                          w xY wr<   )r   prepare_configureDoConfigChangecomplete_configure)r`   sections     r   r   zCScintillaView.OnWinIniChange  sa    '')))	/!!!M,,.....DM,,....s   A
 
A%c                 R   ddl m}  |dd          | _         |dd          | _        t                              | |                                            t          j        rt          j	        t          j        d            |dd          | _
        |                     d           d S )Nr   )GetEditorOptionzAutocomplete Attributesr   zShow Call TipszConfiguration ErrorzMatch Braces)pywin.framework.editorr   rU   rV   configManager	configurer   
last_errorr   
MessageBoxrW   ApplyFormattingStyles)r`   r   s     r   r   zCScintillaView.DoConfigChange  s    ::::::'67PRS'T'T$,_-=qAAd&=&=&?&?@@@# 	P}79NOOO+ONA>>""1%%%%%r   c                     | j                                          d | _         | j                                         d | _        t          j                            |            t
          j                            | |          S r<   )r   closerZ   r   CScintillaColorEditInterfacer   rL   	OnDestroyr`   msgs     r   r   zCScintillaView.OnDestroy  sf    		,224888))$444r   c                    |d         dz	  }|                      t          j                  }||dz  z  }|                     t          j        |           |                     t          j        |dz  t          j        z  d           d S )Nr      (   r   )GetScrollPosrN   SB_VERTSetScrollPosr^   
WM_VSCROLLSB_THUMBPOSITION)r`   r   zDeltavposs       r   OnMouseWheelzCScintillaView.OnMouseWheel'  s    Q2  !122(*D111$"*0I!I1	
 	
 	
 	
 	
r   c                 6    | j         sd S t          |            d S r<   )rW   r:   )r`   stdextras      r   OnBraceMatchzCScintillaView.OnBraceMatch0  s&      	FTr   c                 d    |                      |          }|                     |j                   d S r<   )SCIUnpackNotifyMessageEnsureCharsVisibleposition)r`   r   r   notifys       r   OnNeedShownzCScintillaView.OnNeedShown5  s3    ,,U33 	00000r   c                     ||}|                      t          ||                    }|                      t          ||                    }||k    r"|                     |           |dz  }||k     d S d S Nr   )LineFromCharminmaxSCIEnsureVisible)r`   startend	lineStartlineEnds        r   r   z!CScintillaView.EnsureCharsVisible>  s    ;C%%c%oo66	##CsOO447""!!),,,NI 7""""""r   r   r   c                    ||
J d            d}nx| j                             |          }|%t          d                    ||                     d S t                              ||                                           }||d|z   z  }|t          j        t          j	        z  }|r|t          j
        z  }|                    |||           d S )NzNo event or custom flags!r   zLView.AppendMenu(): Unknown event "{}" specified for menu text "{}" - ignored	)r   get_command_idprintformatr   get_key_bindingr   rN   	MF_STRING
MF_ENABLED
MF_CHECKED
AppendMenu)r`   menutextr*   flagscheckedcmdidkeynames           r   r   zCScintillaView.AppendMenuH  s    =$$&A$$$EEM0077E}biit   
 #33E4;R;R;T;TUUG"w&=&)<<E 	)X((Eud+++++r   c                 6    | j                             |          S r<   )r   fire_key_eventr   s     r   r   zCScintillaView.OnKeyDown_  s    }++C000r   c                 0    |                      d           d S )Nr/   )r   )r`   r*   s     r   GotoEndOfFileEventz!CScintillaView.GotoEndOfFileEventb  s    Br   c                     |                                  \  }}||k    rdS |                     d           | j        r|                                  d S d S )Nr   .)GetSel
SCIAddTextrU   _AutoComplete)r`   r*   ses       r   KeyDotEventzCScintillaView.KeyDotEvente  s`    {{}}1661' 	!     	! 	!r   c                 Z    |                                  }|                     |            d S r<   )SCIGetViewWSSCISetViewWS)r`   cmdrw   viewWSs       r   r~   zCScintillaView.OnCmdViewWSp  s/    ""$$f*%%%%%r   c                 |    |                     |                                            |                                 d S r<   )SetCheckr  Enabler`   cmduis     r   r   zCScintillaView.OnUpdateViewWSt  s1    t((**+++r   c                 Z    |                                  }|                     |            d S r<   )SCIGetIndentationGuidesSCISetIndentationGuides)r`   r
  rw   viewIGs       r   r   z)CScintillaView.OnCmdViewIndentationGuidesx  s/    --//$$Z00000r   c                 |    |                     |                                            |                                 d S r<   )r  r  r  r  s     r   r   z,CScintillaView.OnUpdateViewIndentationGuides|  s1    t3355666r   c                     |                                  t          j        k    rt          j        }nt          j        }|                     |           d S r<   )SCIGetEdgeModer	   	EDGE_NONEEDGE_BACKGROUNDSCISetEdgeMode)r`   r
  rw   modes       r   r   z!CScintillaView.OnCmdViewRightEdge  sH      L$:::/DD)DD!!!!!r   c                     |                     |                                 t          j        k               |                                 d S r<   )r  r  r	   r  r  r  s     r   r   z$CScintillaView.OnUpdateViewRightEdge  s9    t**,,0FFGGGr   c                 Z    |                                  }|                     |            d S r<   )SCIGetViewEOLSCISetViewEOL)r`   r
  rw   viewEOLs       r   r   zCScintillaView.OnCmdViewEOL  s/    $$&&w;'''''r   c                 |    |                     |                                            |                                 d S r<   )r  r  r  r  s     r   r   zCScintillaView.OnUpdateViewEOL  s1    t))++,,,r   c                     |                                  j         |                                  _        |                     d           |                                  d S rv   )_GetColorizer	bUseFixedr   ScrollCaret)r`   r
  rw   s      r   r   z!CScintillaView.OnCmdViewFixedFont  sT    -1-?-?-A-A-K)K&""1%%%r   c                     |                                  }||                    |j                   |                    |d u           d S r<   )r#  r  r$  r  )r`   r  cs      r   r   z$CScintillaView.OnUpdateViewFixedFont  sH      =NN1;'''Qd]#####r   c                 :    ddl m} |                                 d S Nr   )find)r   r*  ShowFindDialogr`   r
  rw   r*  s       r   r   zCScintillaView.OnCmdEditFind  s,    r   c                 :    ddl m} |                                 d S r)  )r   r*  FindNextr,  s       r   r   zCScintillaView.OnCmdEditRepeat  s%    r   c                 :    ddl m} |                                 d S r)  )r   r*  ShowReplaceDialogr,  s       r   r   zCScintillaView.OnCmdEditReplace  s,         r   c                    |                                                                  }dd l}t                              |          }|rv|                    d          }|j        j                            |          }|t          j
        d|z             dS t          j                                        |           ndS dS )Nr   r'   zCan't locate module %sr   )GetLinestrippywin.framework.scriptutils	patImportmatchgroup	frameworkscriptutilsLocatePythonFiler   SetStatusTextGetAppOpenDocumentFile)r`   r
  r+   linepywinmmodNamefileNames           r   r   zCScintillaView.OnCmdFileLocate  s    ||~~##%%****OOD!! 	ggfooG2CCGLLH%&>&HIIIq  11(;;;; 1qr   c                     	 t          t          d                    dz
  }n# t          t          f$ r Y dS w xY w|                     |           |                     |           dS )NzEnter Line Numberr   r   )intinput
ValueErrorKeyboardInterruptr   SCIGotoLine)r`   r
  r+   lineNos       r   r   zCScintillaView.OnCmdGotoLine  sy    	23344q8FF-. 	 	 	11	f%%%   qs   " 77c                     |                                  }|                    | ||           |                    d           dS )N)encodingr   r   )rg   _SaveTextToFileSetModifiedFlag)r`   filenamerK  ra   s       r   SaveTextFilezCScintillaView.SaveTextFile  sG      D(X>>>Aqr   c                    |                                   |                     d          }||                     d          }i }|	 t          |d          rQ	 |                    t                              t          |j                                       n# t          $ r Y nw xY w	 |                    t                              t          |                               n# t          $ r Y nw xY wt          |d          r?|                    t                              t          |j
                                       	 |                    |j
        j                   |                    |j
        j                   n# t          $ r Y nw xY wt          |d          rc	 t          d|j                                                  D ]2}|j                            |          }|                     ||           3n#  Y nxY wn5#  t%          j        dt)          j                    d                    Y nxY wd t-          t.          |          D             }|s(|                                 \  }}|d	k    rd S |                                 \  }}	}
|                     |	          }|                     |                     |          |          }	 t9          j        d
|z   dz   |          }n# t8          j        $ r g }Y nw xY wt?          |          dz   }i }|D ]}d|||d          <   |
r|dk    r|                      ||
           d |D             }	 |!                    |dd                     n# tD          $ r Y nw xY w|r@|#                                 | $                    d           | %                    |           d S d S )Nr   )bAllowCallsr   r\   	__class___oleobj_z,Error attempting to get object attributes - c                 <    g | ]}|                     d           |S )r   )
startswith)r   ks     r   r   z0CScintillaView._AutoComplete.<locals>.<listcomp>  s<     
 
 
 <<$$

 
 
r   r   z\bz\.\w+r`   c                 J    g | ] }|d d         dk    s|dd          dk    |!S )Nr   __r   )r   words     r   r   z0CScintillaView._AutoComplete.<locals>.<listcomp>'  s=    VVVdRaRD0@0@DIQUDUDUTDUDUDUr   )&SCIAutoCCancel_GetObjectAtPoshasattrupdatedictfromkeysr>   r\   rA   r@   rR  _prop_map_get__prop_map_put_rangerS  GetTypeInfoCountGetTypeInfo_UpdateWithITypeInfor   r;  sysexc_infomapstr_GetWordSplit_GetClassInfoFromBrowser	LineIndexGetTextRangerefindallerrorlen_UpdateWithClassMethodsremoverF  sortSCIAutoCSetAutoHideSCIAutoCShow)r`   rB   
items_dictiTItypeInforC   leftrightminlinemaxlinecurclassendposr   lprefixuniquelis                    r   r  zCScintillaView._AutoComplete  sX   !!a!00:%%!%44B
>'2w'' "))$--BH*F*FGGGG)   %%dmmCGG&<&<====%   D2{++ %%&;BL&I&IJJ  
%%bl&ABBB %%bl&ABBBB%   D 2z** #(BK,H,H,J,J#K#K L LC'){'>'>s'C'CH 55j(KKKKL%X3<>>RSCTXX    
 
 Z  	
 
 
  !	 ,,..KD%rzzt *.)F)F)H)H&GWh^^G,,F$$T^^G%<%<fEEDJut|h6==8     YY]FF ( (&'r&''{## ?DFNN,,VX>>>VVfVVVEU122Y''''    	%JJLLL$$Q'''e$$$$$	% 	%s   	H	 ?B H	 
B'$H	 &B''H	 +:C& %H	 &
C30H	 2C33AH	 >F H	 
FH	 FH	 &AH  H	 HH	 	0H;K2 2LLM8 8
NNc                 F   dd l }|g}|j        d i}t          |          dk    r|                                }|                                }|j        |vrd ||j        <   t          d|j                  D ]@}|                    |          }|	                    |j
                  d         }	|	|vrd ||	<   At          d|j                  D ]A}
|                    |
          }|                    |          }|                    |           Bt          |          dk    d S d S rv   )	pythoncomIID_IDispatchrr  popGetTypeAttriidrc  cFuncsGetFuncDescGetNamesmemid
cImplTypesGetRefTypeOfImplTypeGetRefTypeInfor%   )r`   rx  rz  r  	typeInfosinspectedIIDstypeAttriFunfunDescfunName	iImplTypeiRefTyperefTypeInfos                r   rf  z#CScintillaView._UpdateWithITypeInfo2  sB   J	"0$7)nnq   }}H++--H|=00.2hl+!!X_55 3 3D&22488G&//>>qAGj00.2
7+ "'q(*=!>!> 2 2I'<<YGGH"*"9"9("C"CK$$[1111# )nnq      r   c                     t          |d          sd S |                    |j                   |j        D ](}t          |d          r|                     ||           )d S )Nmethods)r]  r^  r  superrs  )r`   r_  	classinfor  rR  s       r   rs  z&CScintillaView._UpdateWithClassMethodsO  ss    y),, 	FI%&&&_ 	: 	:Eui(( :,,T5999	: 	:r   r/   c                    d}|                                  dz
  }|                                                                 }d }	 ||                                d         }n# t          $ r Y nw xY w|||d fS |j        s||d fS |                                                                 }|s||d fS dd l}|j	        j
                            |          \  }}	 |j        j        j        }	n# t          $ r ||d fcY S w xY w|                     |          }
d }|	                                D ]=}|j        |k    r0|j        dz
  }||cxk     r|
k    rn n|}|}|
|cxk     r|k     rn ;|}>|||fS )Nr   r   )GetLineCountGetParentFrameGetActiveDocumentGetAllViews
IndexErrorlistrg   rh   r4  r8  r9  GetPackageModuleNamerootclbrdatarA   r   valuesmodulelineno)r`   posr}  r~  ra   browserre   r?  	curmoduler  curliner  rE   item_linenos                 r   rl  z'CScintillaView._GetClassInfoFromBrowser[  s   ##%%)!!##5577	//++A. 	 	 	D	?Wd++| 	,Wd++!!--// 	,Wd++****/5JJ4PP	4	,|(1HH 	, 	, 	,Wd++++	,##C((OO%% 		* 		*D{i''K!O  [3333G33333)G#H[2222722222)G(++s$   A   
A-,A-C) )C;:C;c                    |                      ||          \  }}|rt          j                                        }|                    t
          j                   	 ddlm} |j	        c|j	        j
        W|j	        j
                                        d d         \  }}|r|                    |           |r|                    |           n# t          $ r Y nw xY w	 t          ||          S #  Y nxY wd S )Nr   )interactr   )rk  rg  modulescopyr^  __main____dict__pywin.frameworkr  editcurrentView
GetContextImportErrorr!   )	r`   r  rQ  r{  r|  	namespacer  globslocss	            r   r\  zCScintillaView._GetObjectAtPos  s   ((k::e 	((**IX.///
444444=,1J1V"*-";"F"F"H"H!"LKE4 0!((/// /!((...   D),,,ts   A0C 
CCC, ,C0c                    |dk    r|                                  d         dz
  }|                                 }g }g }|dz
  }t          }|r|dz  }|dk    r;|                     |          }||vrn!|                    d|           |dz  }|dk    ;|}||k    r:|                     |          }||vrn |                    |           |dz  }||k    :d                    |          d                    |          fS )Nr/   r   r   z()[]r   )r  GetTextLength
wordbreaksr1   insertr%   r#   )	r`   r  rQ  limitbeforeafterindexwordbreaks_usechars	            r   rk  zCScintillaView._GetWordSplit  s'   "99++--"Q&C""$$a# 	%f$Nqjj$$U++D>))MM!T"""QJE qjj unn$$U++D>))LLQJE unn wwv..r   c                 T   |                                 r|                                s^| j        W|                                dz
  }|dk    r:| j        |         |                                 k    r|                    d           d S |                    t          j                   d S d S )Nr   r   )	
IsPrinting
GetPreviewstarts
GetCurPager  SetContinuePrinting
SetMapModerN   MM_TEXT)r`   dcpInfoprevPages       r   OnPrepareDCzCScintillaView.OnPrepareDC  s     ==?? 		, ##%% $+*A ++--1a<<DK$9T=O=O=Q=Q$Q$Q--a000FMM(*+++++		, 		,r   c                     t           j        t           j        z  t           j        z  }|                    d           |                    d           |                    d           |                     |          }|S r   )r   PD_USEDEVMODECOPIESPD_ALLPAGESPD_NOSELECTION
SetMinPageSetFromPage	SetToPageDoPreparePrinting)r`   r  r   rets       r   OnPreparePrintingz CScintillaView.OnPreparePrinting  sq    ''*==@VV 	 	!$$U++
r   c                 F    d | _         | j                            ||          S r<   )r  r\   OnBeginPrinting)r`   r  r  s      r   r  zCScintillaView.OnBeginPrinting  s!    z))"e444r   c                    ddi| _         |                                }|                                \  }}}}||t          d|d         z  dz            z   ||f}d}	d}
|                                 }|	|k     r.|                     ||	||d          }	|
dz  }
|	| j         |
<   |	|k     .|| j         |
dz   <   |                    |
           d S )Nr   	   tmHeightr   r   )r  GetTextMetricsGetDrawrD  r  FormatRange
SetMaxPage)r`   r  r  metricsr{  topr|  bottomrc	pageStartmaxPagetextLens               r   CalculatePageRangesz"CScintillaView.CalculatePageRanges  s    !f##%%#(==?? c5&C#q7:#66!;<<<eVL	$$&&'!!((YQGGIqLG#,DK  '!!
 $+GaK  	!!!!!r   c                 8    | j                                          d S r<   )r\   r   r`   args     r   r   z!CScintillaView.OnFilePrintPreview  s    
%%'''''r   c                 8    | j                                          d S r<   )r\   r   r  s     r   r   zCScintillaView.OnFilePrint  s    
     r   c                 2   d}|                                 }|                                }t          j        ||||d         |d         |d         |d         |d         |d         |d         |d         ||          }	|                     t
          ||	          }
|
S )z
        typedef struct _formatrange {
                HDC hdc;
                HDC hdcTarget;
                RECT rc;
                RECT rcPage;
                CHARRANGE chrg;} FORMATRANGE;
        PPIIIIIIIIllr   r   r      )GetHandleOutputGetHandleAttribstructpackr^   EM_FORMATRANGE)r`   r  r  	lengthDocr  drawfmt	hdcRender	hdcFormatfrnextPageStarts              r   r  zCScintillaView.FormatRange  s     &&((	&&((	[qEqEqEqEqEqEqEqE
 
 **>4DDr   c                 d   |                                 }| j        |                     ||           |                                dz
  }|                                 }|d         }|d         }|                                \  }}	}
}|                    dd|z  |                                           t          j	        t          j                  |dz   fz  }|                    t          j                   |                    |
d|z  |           |                    t          j                   |	t!          d|z  dz            z  }	|                    ||	           |                    |
|	           |	|z  }	||	|
|f}|                     || j        |         | j        |dz            |d          }d S )Nr   tmAveCharWidthr  r   r      )r  r  r  r  rg   r  TextOutGetTitler   
LoadStringr   AFX_IDS_PRINTPAGENUMSetTextAlignrN   TA_RIGHTTA_LEFTrD  MoveToLineTor  )r`   r  r  r  pageNumra   cxCharcyCharr{  r  r|  r  pagenum_strr  r  s                  r   OnPrintzCScintillaView.OnPrint  s   ##%%;$$R///""$$q(  )*$#(==?? c5&


1a&j#,,..111()DEESTV
)***


5!f*k222
()))s1v:>"""
		$
		%vC'((G$dk'A+&>A
 
r   r<   )r   NNr   )r/   )r/   r   )4__name__
__module____qualname__rM   rk   rn   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rO  r  rf  rs  rl  r\  rk  r  r  r  r  r   r   r  r  __classcell__)rR  s   @r   rG   rG      s)       4 4 40A A AD D D
  ) ) )V 
  
  
D  / / / /& & &5 5 5
 
 
  
1 1 1   , , , ,.1 1 1  ! ! !& & &  1 1 1  " " "  ( ( (    $ $ $  
  
! ! !
  &     `% `% `%D2 2 2:: : : : :&, &, &, &,P   0/ / / /2, , ,,  5 5 5" " "(( ( (! ! !  <
 
 
 
 
 
 
r   rG   c                  v   ddl m}  t          j        ddd          x}} | |          at          j        rd}d                    |t          j                  }|dk    r|dz  }d}t          j        |           |r< | d          at          j        r't          j        d	t          j        z             d S d S d S d S )
Nr   )ConfigManagerEditorzKeyboard Configdefaultr   z$Error loading configuration '{}'

{}z+

The default configuration will be loaded.z)Error loading configuration 'default'

%s)configr  r   GetProfileValr   r   r   r   )r  
configNamer  bTryDefaultr   s        r   LoadConfigurationr   .  s    &%%%%%+H6GSSSJ!M*--M 6==$
 
 ""BBCK3 	)M)44M' "A$/1     	 	 r   )=rd   ro  stringr  rg  r  rN   r   	pywin.mfcr   r   r   r   r   r   r	   PRINTDLGORDIDC_PRINT_MAG_EDITWM_USERr  ascii_uppercaseascii_lowercasedigitsr  compiler5  r    ID_EDIT_CLEARr   r   IDC_DBG_ADD
IDC_DBG_GOIDC_DBG_STEPOVERIDC_DBG_STEPIDC_DBG_STEPOUTIDC_DBG_CLEARIDC_DBG_CLOSEr&   r$   r,   ID_EDIT_UNDOWM_UNDOID_EDIT_REDOSCI_REDOID_EDIT_CUTWM_CUTID_EDIT_COPYWM_COPYID_EDIT_PASTEWM_PASTEWM_CLEARID_EDIT_SELECT_ALLSCI_SELECTALLr|   r:   r@   rL   r   rG   r   r   r   r   r   <module>r?     s   
			 				   



    % % % % % % % %             !B&F**V-CCfmS
BJ-..	# # #L 6'(W+,*+G/0g !G,-$%7*+g34&'  * * *  8+,<01(/*8+,H-.H-.!;< = = =*   Z

 Z

 Z

 Z

 Z

W%w'K Z

 Z

 Z

z  4        r   