
    %
iQ                        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 d dlm	Z	 ddl
mZ dZej        r^	  ej        ej                            ej                            ej                  d          d                    Zn# ej        $ r Y nw xY we^	  ej        ej                            ej                            ej                  d          d                    Zn# ej        $ r Y nw xY we ej        d          ZdZd	Zd
ZdZdZej        dz   Z G d d          Z G d d          Z G d de          Z G d de          Z G d de	j        e          Z dS )    N)default_scintilla_encoding)window   )scintillaconzScintilla_d.DLLzScintilla.DLL    iK  i6  iO  i>  7   c                       e Zd Zd ZdS )ScintillaNotificationc                 :    | j                             |           d S N)__dict__update)selfargss     C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\pythonwin/pywin/scintilla/control.py__init__zScintillaNotification.__init__5   s    T"""""    N)__name__
__module____qualname__r    r   r   r
   r
   4   s#        # # # # #r   r
   c                      e Zd Zd Zd ZdQdZdRd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dSd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'd) Z(d* Z)d+ Z*d, Z+d- Z,d. Z-d/ Z.dRd0Z/d1 Z0d2 Z1d3 Z2d4 Z3d5 Z4d6 Z5d7 Z6d8 Z7d9 Z8d: Z9dRd;Z:d< Z;d= Z<d> Z=d? Z>dSd@Z?dA Z@dB ZAdC ZBdD ZCdE ZDdF ZEdG ZFdH ZGdI ZHdJ ZIdK ZJdL ZKdM ZLdN ZMdO ZNdP ZOdS )TScintillaControlInterfacec                     d}t          j        |t          j        |                    }t          j        ||          \  }}}}}}	}
}}}}}}}t          ||||||	|
|||||||          S )NiiiiPiiiPPiiii)positionch	modifiersmodificationTypetext_ptrlength
linesAddedmsgwParamlParamlinefoldLevelNowfoldLevelPrevmargin)win32uiGetBytesstructcalcsizeunpackr
   )r   r#   formatbytesr   r   r   r   r    r!   r"   r$   r%   r&   r'   r(   r)   s                    r   SCIUnpackNotifyMessagez0ScintillaControlInterface.SCIUnpackNotifyMessage:   s    ! fof&=&=>>  M&%((	
$-!%'
 
 
 	
r   c                 v    |                      t          j        |                    t                               d S r   )SendMessager   SCI_ADDTEXTencoder   )r   texts     r   
SCIAddTextz$ScintillaControlInterface.SCIAddText^   s9    $dkk2L&M&M	
 	
 	
 	
 	
r   Nc                     |5t          t          |fd|                    }d                    |          }|                     t          j        |                    t                               d S )Nc                 &    | t          |          z   S r   )chr)charstyles     r   <lambda>z<ScintillaControlInterface.SCIAddStyledText.<locals>.<lambda>h   s    dSZZ6G r    )listmapjoinr3   r   SCI_ADDSTYLEDTEXTr5   r   )r   r6   r<   s      r   SCIAddStyledTextz*ScintillaControlInterface.SCIAddStyledTextc   sp     uGGGNNOOD774==D*DKK8R,S,S	
 	
 	
 	
 	
r   c                     t          |t                    r|                    t                    }|                     t
          j        ||t          z              d S r   )
isinstancestrr5   r   SendScintillar   SCI_INSERTTEXT	null_byte)r   r6   poss      r   SCIInsertTextz'ScintillaControlInterface.SCIInsertTextn   sN     dC   	;;;9::D<6TI=MNNNNNr   c                 D    |                      t          j                   d S r   )rH   r   SCI_SETSAVEPOINTr   s    r   SCISetSavePointz)ScintillaControlInterface.SCISetSavePointu   s    <899999r   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETUNDOCOLLECTION)r   collectFlags     r   SCISetUndoCollectionz.ScintillaControlInterface.SCISetUndoCollectionx   s!    <={KKKKKr   c                 D    |                      t          j                   d S r   )rH   r   SCI_BEGINUNDOACTIONrO   s    r   SCIBeginUndoActionz,ScintillaControlInterface.SCIBeginUndoAction{   s    <;<<<<<r   c                 D    |                      t          j                   d S r   )rH   r   SCI_ENDUNDOACTIONrO   s    r   SCIEndUndoActionz*ScintillaControlInterface.SCIEndUndoAction~       <9:::::r   c                 @    |                      t          j                  S r   )rH   r   SCI_GETCURRENTPOSrO   s    r   SCIGetCurrentPosz*ScintillaControlInterface.SCIGetCurrentPos       !!,"@AAAr   c                 b    t          |                     t          j        |          dz            S )N   )r:   rH   r   SCI_GETCHARATr   rK   s     r   SCIGetCharAtz&ScintillaControlInterface.SCIGetCharAt   s(    4%%l&@#FFMNNNr   c                 F    |                      t          j        |           d S r   )rH   r   SCI_GOTOLINEr   r&   s     r   SCIGotoLinez%ScintillaControlInterface.SCIGotoLine   s!    <4d;;;;;r   c                 D    |                      t          j        ||          S r   )rH   r   SCI_BRACEMATCH)r   rK   
maxReStyles      r   SCIBraceMatchz'ScintillaControlInterface.SCIBraceMatch   s    !!,"=sJOOOr   c                 D    |                      t          j        ||          S r   )rH   r   SCI_BRACEHIGHLIGHT)r   rK   posOpposites      r   SCIBraceHighlightz+ScintillaControlInterface.SCIBraceHighlight   s    !!,"A3TTTr   c                 B    |                      t          j        |          S r   )rH   r   SCI_BRACEBADLIGHTrc   s     r   SCIBraceBadHighlightz.ScintillaControlInterface.SCIBraceBadHighlight   s    !!,"@#FFFr   c                 @    |                      t          j                  S r   )rH   r   SCI_GETENDSTYLEDrO   s    r   SCIGetEndStyledz)ScintillaControlInterface.SCIGetEndStyled       !!,"?@@@r   c                 D    |                      t          j        ||          S r   )rH   r   SCI_STYLESETFOREr   numvs      r   SCIStyleSetForez)ScintillaControlInterface.SCIStyleSetFore       !!,"?aHHHr   c                 D    |                      t          j        ||          S r   )rH   r   SCI_STYLESETBACKrz   s      r   SCIStyleSetBackz)ScintillaControlInterface.SCIStyleSetBack   r~   r   c                 D    |                      t          j        ||          S r   )rH   r   SCI_STYLESETEOLFILLEDrz   s      r   SCIStyleSetEOLFilledz.ScintillaControlInterface.SCIStyleSetEOLFilled   s    !!,"Dc1MMMr   r   c                     |dz                        t                    }|                     t          j        ||           |                     t          j        ||           d S N )r5   r   rH   r   SCI_STYLESETFONTSCI_STYLESETCHARACTERSET)r   r{   namecharactersetbuffs        r   SCIStyleSetFontz)ScintillaControlInterface.SCIStyleSetFont   sV    t##$>??<8#tDDD<@#|TTTTTr   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_STYLESETBOLD)r   r{   bBolds      r   SCIStyleSetBoldz)ScintillaControlInterface.SCIStyleSetBold   s#    <8#uEEEEEr   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_STYLESETITALIC)r   r{   bItalics      r   SCIStyleSetItalicz+ScintillaControlInterface.SCIStyleSetItalic   s#    <:CIIIIIr   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_STYLESETSIZE)r   r{   sizes      r   SCIStyleSetSizez)ScintillaControlInterface.SCIStyleSetSize   #    <8#tDDDDDr   c                 @    |                      t          j                  S r   )rH   r   SCI_GETVIEWWSrO   s    r   SCIGetViewWSz&ScintillaControlInterface.SCIGetViewWS       !!,"<===r   c                 x    |                      t          j        |dk                |                                  d S Nr   )rH   r   SCI_SETVIEWWSInvalidateRectr   vals     r   SCISetViewWSz&ScintillaControlInterface.SCISetViewWS   s9    <5C1H~FFFr   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETINDENTATIONGUIDESr   s     r   SCISetIndentationGuidesz1ScintillaControlInterface.SCISetIndentationGuides   s!    <@#FFFFFr   c                 @    |                      t          j                  S r   )rH   r   SCI_GETINDENTATIONGUIDESrO   s    r   SCIGetIndentationGuidesz1ScintillaControlInterface.SCIGetIndentationGuides   s    !!,"GHHHr   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETINDENTr   s     r   SCISetIndentz&ScintillaControlInterface.SCISetIndent   s!    <5s;;;;;r   c                 @    |                      t          j                  S r   )rH   r   SCI_GETINDENTr   s     r   SCIGetIndentz&ScintillaControlInterface.SCIGetIndent   r   r   c                 @    |                      t          j                  S r   )rH   r   SCI_GETVIEWEOLrO   s    r   SCIGetViewEOLz'ScintillaControlInterface.SCIGetViewEOL   s    !!,"=>>>r   c                 x    |                      t          j        |dk                |                                  d S r   )rH   r   SCI_SETVIEWEOLr   r   s     r   SCISetViewEOLz'ScintillaControlInterface.SCISetViewEOL   s9    <6SAXGGGr   c                 H    |                      t          j        |d           d S r   )rH   r   SCI_SETTABWIDTHr   widths     r   SCISetTabWidthz(ScintillaControlInterface.SCISetTabWidth   s#    <7BBBBBr   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_STARTSTYLING)r   rK   masks      r   SCIStartStylingz)ScintillaControlInterface.SCIStartStyling   r   r   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_SETSTYLING)r   rK   attrs      r   SCISetStylingz'ScintillaControlInterface.SCISetStyling   s#    <6TBBBBBr   c                 v    |                                 \  }}|                     t          j        ||           d S r   )buffer_inforH   r   SCI_SETSTYLINGEX)r   rayaddressr!   s       r   SCISetStylingExz)ScintillaControlInterface.SCISetStylingEx   s6    //++<8&'JJJJJr   c                 B    |                      t          j        |          S r   )rH   r   SCI_GETSTYLEATrc   s     r   SCIGetStyleAtz'ScintillaControlInterface.SCIGetStyleAt   s    !!,"=sCCCr   c                 H    |                      t          j        d|           d S )Nr   rH   r   SCI_SETMARGINWIDTHNr   s     r   SCISetMarginWidthz+ScintillaControlInterface.SCISetMarginWidth   #    <;QFFFFFr   c                 H    |                      t          j        ||           d S r   r   )r   nr   s      r   SCISetMarginWidthNz,ScintillaControlInterface.SCISetMarginWidthN   r   r   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETFOLDFLAGS)r   flagss     r   SCISetFoldFlagsz)ScintillaControlInterface.SCISetFoldFlags   !    <8%@@@@@r   c                     |                      ||           |                     ||           |                     ||           d S r   )SCIMarkerDefineSCIMarkerSetForeSCIMarkerSetBack)r   	markerNum
markerTypeforebacks        r   SCIMarkerDefineAllz,ScintillaControlInterface.SCIMarkerDefineAll   sJ    Y
333i...i.....r   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_MARKERDEFINE)r   r   r   s      r   r   z)ScintillaControlInterface.SCIMarkerDefine   s#    <8)ZPPPPPr   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_MARKERSETFORE)r   r   r   s      r   r   z*ScintillaControlInterface.SCIMarkerSetFore   #    <99dKKKKKr   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_MARKERSETBACK)r   r   r   s      r   r   z*ScintillaControlInterface.SCIMarkerSetBack   r   r   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_MARKERADDr   lineNor   s      r   SCIMarkerAddz&ScintillaControlInterface.SCIMarkerAdd   s#    <5vyIIIIIr   c                 H    |                      t          j        ||           d S r   )rH   r   SCI_MARKERDELETEr   s      r   SCIMarkerDeletez)ScintillaControlInterface.SCIMarkerDelete   s#    <8&)LLLLLr   c                 F    |                      t          j        |           d S r   )rH   r   SCI_MARKERDELETEALL)r   r   s     r   SCIMarkerDeleteAllz,ScintillaControlInterface.SCIMarkerDeleteAll   s!    <;YGGGGGr   c                 B    |                      t          j        |          S r   )rH   r   SCI_MARKERGET)r   r   s     r   SCIMarkerGetz&ScintillaControlInterface.SCIMarkerGet   s    !!,"<fEEEr   c                 D    |                      t          j        ||          S r   )rH   r   SCI_MARKERNEXTr   s      r   SCIMarkerNextz'ScintillaControlInterface.SCIMarkerNext   s    !!,"=vyQQQr   c                 D    |                      t          j                   d S r   )rH   r   
SCI_CANCELrO   s    r   	SCICancelz#ScintillaControlInterface.SCICancel  s    <233333r   c                     t          |t          t          f          rd                    |          }|dz                       t
                    }|                     t          j        d|          S )N r   r   )	rF   r?   tuplerA   r5   r   rH   r   SCI_AUTOCSHOW)r   r6   r   s      r   SCIAutoCShowz&ScintillaControlInterface.SCIAutoCShow  sZ    dT5M** 	"88D>>Dt##$>??!!,"<aFFFr   c                 D    |                      t          j                   d S r   )rH   r   SCI_AUTOCCANCELrO   s    r   SCIAutoCCancelz(ScintillaControlInterface.SCIAutoCCancel  s    <788888r   c                 @    |                      t          j                  S r   )rH   r   SCI_AUTOCACTIVErO   s    r   SCIAutoCActivez(ScintillaControlInterface.SCIAutoCActive      !!,">???r   c                 @    |                      t          j                  S r   )rH   r   SCI_AUTOCCOMPLETErO   s    r   SCIAutoCCompletez*ScintillaControlInterface.SCIAutoCComplete  r_   r   c                     |dz                        t                    }|                     t          j        d|           d S Nr   r   )r5   r   rH   r   SCI_AUTOCSTOPS)r   stopsr   s      r   SCIAutoCStopsz'ScintillaControlInterface.SCIAutoCStops  s;    $$%?@@<64@@@@@r   c                 F    |                      t          j        |           d S r   )rH   r   SCI_AUTOCSETAUTOHIDE)r   hides     r   SCIAutoCSetAutoHidez-ScintillaControlInterface.SCIAutoCSetAutoHide  s!    <<dCCCCCr   c                 F    |                      t          j        |           d S r   )rH   r   SCI_AUTOCSETFILLUPS)r   fillupss     r   SCIAutoCSetFillupsz,ScintillaControlInterface.SCIAutoCSetFillups  s!    <;WEEEEEr   c                     |dk    r|                                  d         }|dz                       t                    }|                     t          j        ||           d S )NrD   r   r   )GetSelr5   r   rH   r   SCI_CALLTIPSHOW)r   r6   rK   r   s       r   SCICallTipShowz(ScintillaControlInterface.SCICallTipShow!  sV    "99++--"Ct##$>??<7dCCCCCr   c                 D    |                      t          j                   d S r   )rH   r   SCI_CALLTIPCANCELrO   s    r   SCICallTipCancelz*ScintillaControlInterface.SCICallTipCancel'  r[   r   c                 @    |                      t          j                  S r   )rH   r   SCI_CALLTIPACTIVErO   s    r   SCICallTipActivez*ScintillaControlInterface.SCICallTipActive*  r_   r   c                 @    |                      t          j                  S r   )rH   r   SCI_CALLTIPPOSSTARTrO   s    r   SCICallTipPosStartz,ScintillaControlInterface.SCICallTipPosStart-  s    !!,"BCCCr   c                 D    |                      t          j                   d S r   )rH   r   SCI_NEWLINErO   s    r   
SCINewlinez$ScintillaControlInterface.SCINewline0  s    <344444r   c                     |dz                        t                    }|                     t          j        ||           d S r   )r5   r   rH   r   SCI_SETKEYWORDS)r   keywords
kw_list_nor   s       r   SCISetKeywordsz(ScintillaControlInterface.SCISetKeywords4  s;    4''(BCC<7TJJJJJr   c                    t          j         d|dz                       t                              }t          j         dt          |          dz                       t                              }|                                d         }|                                d         }|                     t          j        ||           d S )Nbr   r   )arrayr5   r   rG   r   rH   r   SCI_SETPROPERTY)r   r   value	name_buffval_buffaddress_name_bufferaddress_val_buffers          r   SCISetPropertyz(ScintillaControlInterface.SCISetProperty8  s    KdTk%9%9:T%U%UVV	;#e**t#++,FGG
 
 (3355a8%1133A6(*=?Q	
 	
 	
 	
 	
r   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETSTYLEBITS)r   nbitss     r   SCISetStyleBitsz)ScintillaControlInterface.SCISetStyleBitsC  r   r   c                 B    |                      t          j        |          S r   )rH   r   SCI_GETFOLDLEVELr   linenos     r   SCIGetFoldLevelz)ScintillaControlInterface.SCIGetFoldLevelG  s    !!,"?HHHr   c                 B    |                      t          j        |          S r   )rH   r   SCI_TOGGLEFOLDr@  s     r   SCIToggleFoldz'ScintillaControlInterface.SCIToggleFoldJ  s    !!,"=vFFFr   c                 F    |                      t          j        |           d S r   )rH   r   SCI_ENSUREVISIBLEr@  s     r   SCIEnsureVisiblez*ScintillaControlInterface.SCIEnsureVisibleM  s!    <96BBBBBr   c                 B    |                      t          j        |          S r   )rH   r   SCI_GETFOLDEXPANDEDr@  s     r   SCIGetFoldExpandedz,ScintillaControlInterface.SCIGetFoldExpandedP  s    !!,"BFKKKr   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETEDGECOLUMN)r   edges     r   SCISetEdgeColumnz*ScintillaControlInterface.SCISetEdgeColumnT  s!    <94@@@@@r   c                 @    |                      t          j                  S r   )rH   r   SCI_GETEDGECOLUMNrO   s    r   SCIGetEdgeColumnz*ScintillaControlInterface.SCIGetEdgeColumnW  r_   r   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETEDGEMODEr   modes     r   SCISetEdgeModez(ScintillaControlInterface.SCISetEdgeModeZ  s!    <7>>>>>r   c                 @    |                      t          j                  S r   )rH   r   SCI_GETEDGEMODErO   s    r   SCIGetEdgeModez(ScintillaControlInterface.SCIGetEdgeMode]  r
  r   c                 F    |                      t          j        |           d S r   )rH   r   SCI_SETEDGECOLOUR)r   colors     r   SCISetEdgeColorz)ScintillaControlInterface.SCISetEdgeColor`  s!    <95AAAAAr   c                 @    |                      t          j                  S r   )rH   r   SCI_GETEDGECOLORrO   s    r   SCIGetEdgeColorz)ScintillaControlInterface.SCIGetEdgeColorc  rw   r   c                 @    |                      t          j                  S r   )rH   r   SCI_GETDOCPOINTERrO   s    r   SCIGetDocPointerz*ScintillaControlInterface.SCIGetDocPointerg  r_   r   c                 D    |                      t          j        d|          S r   )rH   r   SCI_SETDOCPOINTER)r   ps     r   SCISetDocPointerz*ScintillaControlInterface.SCISetDocPointerj  s    !!,"@!QGGGr   c                 B    |                      t          j        |          S r   )rH   r   SCI_SETWRAPMODErU  s     r   SCISetWrapModez(ScintillaControlInterface.SCISetWrapModem  s    !!,">EEEr   c                 @    |                      t          j                  S r   )rH   r   SCI_GETWRAPMODErO   s    r   SCIGetWrapModez(ScintillaControlInterface.SCIGetWrapModep  r
  r   r   rD   r   )Pr   r   r   r1   r7   rC   rL   rP   rT   rW   rZ   r^   rd   rh   rl   rp   rs   rv   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   r   r   r   r   r  r  r	  r  r  r  r  r  r!  r$  r'  r*  r/  r9  r=  rB  rE  rH  rK  rO  rR  rW  rZ  r^  ra  rd  rh  rk  rn  r   r   r   r   r   9   sh       "
 "
 "
H
 
 

	
 	
 	
 	
O O O O: : :L L L= = =; ; ;B B BO O O< < <P P PU U UG G GA A AI I II I IN N NU U U U
F F FJ J JE E E> > >  G G GI I I< < <> > >? ? ?  C C CE E EC C CK K KD D DG G GG G GA A A/ / /
Q Q QL L LL L LJ J JM M MH H H HF F FR R R4 4 4G G G9 9 9@ @ @B B BA A AD D DF F FD D D D; ; ;B B BD D D5 5 5K K K K	
 	
 	
A A AI I IG G GC C CL L LA A AB B B? ? ?@ @ @B B BA A AB B BH H HF F F@ @ @ @ @r   r   c                       e Zd Zd Zd Zd Zd Zd ZddZd	 Z	ddZ
d Zd Zd Zd ZddZd ZddZddZddZd Zd ZdS )CScintillaEditInterfacec                     d | _         d S r   )	colorizerrO   s    r   closezCScintillaEditInterface.closeu  s    r   c                 D    |                      t          j                   d S r   )rH   win32conWM_CLEARrO   s    r   ClearzCScintillaEditInterface.Clearx  s    8,-----r   c                    d}|dz                        t                    }t          j        d|          }t          j        ||d         |d         |                                d         dd          }t          j        d|          }|                     t          ||                                d                   }	t          j        ||          }
|	|
d         |
d         ffS )a+  LPARAM for EM_FINDTEXTEX:
                typedef struct _findtextex {
                CHARRANGE chrg;
                LPCTSTR lpstrText;
                CHARRANGE chrgText;} FINDTEXTEX;
        typedef struct _charrange {
                LONG cpMin;
                LONG cpMax;} CHARRANGE;
        llPllr   r1  r   r         )	r5   r   r2  r,   packr   rH   EM_FINDTEXTEXr.   )r   r   rangefindTextfindtextex_fmttxt_buff	txt_arrayft_buffft_arrayrc
ftUnpackeds              r   FindTextz CScintillaEditInterface.FindText{  s     !tO++,FGGKX..	+E!HeAh	0E0E0G0G0JAq
 
 ;sG,,uh6J6J6L6LQ6OPP]>8<<
JqM:a=111r   c                     |                      t          j                  }|                      t          j                  }||k     r||fS ||fS r   )rH   r   r]   SCI_GETANCHOR)r   
currentPos	anchorPoss      r   r  zCScintillaEditInterface.GetSel  sO    ''(FGG
&&|'ABB		!!	**z**r   c                 J   |                                  \  }}t          j        dt          ||z
  dz   z            }|                                d         }|                     t
          d|           |                                d d                             t                    S )Nr1  r   r   rD   )	r  r2  rJ   r   rH   EM_GETSELTEXTtobytesdecoder   )r   startendtxtBufaddressTxtBufs        r   
GetSelTextz"CScintillaEditInterface.GetSelText  s    [[]]
sS)sU{Q"?@@**,,Q/ 	=!];;;~~$++,FGGGr   r   Nc                 j   t          |t                    r|
J d            |\  }}n||}|dk     r|                                 }|dk     r|                                 }||                                 k    s!J d||                                 fz              ||                                 k    s!J d||                                 fz              t          j        d||          }t          j        d|          }|                                d         }|                     t          d|          }d S )Nz?If you pass a point in the first param, the second must be Noner   z$The start postion is invalid (%d/%d)z"The end postion is invalid (%d/%d)llr1  )	rF   r  GetTextLengthr,   r~  r2  r   rH   EM_EXSETSEL)r   r  r  crcrBuffaddressCrBuffr  s          r   SetSelzCScintillaEditInterface.SetSel  sQ   eU## 	;;Q ;; JE33[C199&&((E77$$&&C**,,,,,.T  X
 /
,,, d((*****,P  T
 -
*** [uc**S"%%**,,Q/Q>>r   c                 @    |                      t          j                  S r   )rH   rw  EM_GETLINECOUNTrO   s    r   GetLineCountz$CScintillaEditInterface.GetLineCount  s    !!(":;;;r   rD   c                     |dk    r|                                  d         }|dk    r||                                 k    s#J d| d|                                  d            |                     t          d|          S )NrD   r   zThe charPos postion (z) is invalid (max=))r  r  rH   EM_EXLINEFROMCHAR)r   charPoss     r   LineFromCharz$CScintillaEditInterface.LineFromChar  s    b==kkmmA&G!||4+=+=+?+? ? ? ?VGVVt?Q?Q?S?SVVV !@ ??
 !!"3Q@@@r   c                 B    |                      t          j        |          S r   )rH   rw  EM_LINEINDEXrg   s     r   	LineIndexz!CScintillaEditInterface.LineIndex  s    !!("7>>>r   c                 @    |                      t          j                  S r   )rH   rw  EM_SCROLLCARETrO   s    r   ScrollCaretz#CScintillaEditInterface.ScrollCaret  s    !!("9:::r   c                 P    |                      |                                           S r   )r  r^   rO   s    r   GetCurLineNumberz(CScintillaEditInterface.GetCurLineNumber  s"      !6!6!8!8999r   c                 @    |                      t          j                  S r   )rH   r   SCI_GETTEXTLENGTHrO   s    r   r  z%CScintillaEditInterface.GetTextLength  r_   r   Tc                    |dk    r|                      t          j                  }||k    sJ d||fz              |dk    r||                                 k    s
J d            |dk    r||                                 k    s
J d            t          ||z
  dz   z  }t          j        d|          }|                                d         }t          j        d|||          }t          j        d|          }|                                d         }	|                      t          d|	          }
|
                                d |
         }|r|                    t                    }|S )	NrD   z Negative index requested (%d/%d)r   zThe start postion is invalidzThe end postion is invalidr   r1  llP)rH   r   r  r  rJ   r2  r   r,   r~  EM_GETTEXTRANGEr  r  r   )r   r  r  r  initerr   addressBuffertrtrBuffaddressTrBuff	num_bytesrets               r   GetTextRangez$CScintillaEditInterface.GetTextRange  s_   "99$$\%CDDCe|||?5#,N|||zzet'9'9';';;;;* <;; axxC4#5#5#7#77779U777cEkAo.{3''((**1-[sM::S"%%**,,Q/&&=II	llnnZiZ( 	9**788C
r   c                     |dz                        t                    }|                     t          j        d|           d S r  )r5   r   rH   r   SCI_REPLACESEL)r   rG   r   s      r   
ReplaceSelz"CScintillaEditInterface.ReplaceSel  s;    d
""#=>><64@@@@@r   c                     |dk    r|                                  }|                     |          }|                     |dz             }|                     ||          S )NrD   r   )r  r  r  )r   r&   r  r  s       r   GetLinezCScintillaEditInterface.GetLine  sX    2::((**Dt$$nnTAX&&  ,,,r   r   c                 B    |                      t          j        |          S r   )rH   rw  EM_SETREADONLY)r   flags     r   SetReadOnlyz#CScintillaEditInterface.SetReadOnly  s    !!("94@@@r   c                 D    |                      t          j        ||          S r   )rH   rw  EM_LINESCROLL)r   linescolss      r   
LineScrollz"CScintillaEditInterface.LineScroll  s    !!("8$FFFr   c                 @    |                      t          j                  S r   )rH   rw  EM_GETFIRSTVISIBLELINErO   s    r   GetFirstVisibleLinez+CScintillaEditInterface.GetFirstVisibleLine   s    !!("ABBBr   c                 D    |t           j        k    rt          d          d S )Nz-We don't support word-wrap (I don't think :-))r*   CRichEditView_WrapNone
ValueErrorrU  s     r   SetWordWrapz#CScintillaEditInterface.SetWordWrap  s'    7111LMMM 21r   )r   Nro  )r   rD   Tr   rp  )r   r   r   ru  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   rr  rr  t  sl         . . .2 2 2,  H H H? ? ? ?2< < <A A A A? ? ?; ; ;: : :B B B   (A A A- - - -A A A AG G G GC C CN N N N Nr   rr  c                   2    e Zd Zd Zd Zd
dZddZdd	ZdS )CScintillaColorEditInterfacec                 b    t          | d          s|                                 | _        | j        S )Nrt  )hasattr_MakeColorizerrt  rO   s    r   _GetColorizerz*CScintillaColorEditInterface._GetColorizer  s/    t[)) 	3!0022DN~r   c                     t          |                                 dd           }|
 |            S ddlm} |                    |           S )Nr  r   )	formatter)getattrGetParentFramer>   r  BuiltinPythonSourceFormatter)r   parent_funcr  s      r   r  z+CScintillaColorEditInterface._MakeColorizer  sZ    d11335EtLL";==  55d;;;r   r   rD   c                 b    |                                  }||                    ||           d S d S r   )r  Colorize)r   r  r  cs       r   r  z%CScintillaColorEditInterface.Colorize  s9      =JJuc""""" =r   r   c                 `    |                                  }||                    |           d S d S r   )r  ApplyFormattingStyles)r   bReloadr  s      r   r  z2CScintillaColorEditInterface.ApplyFormattingStyles  s9      =##G,,,,, =r   Nc                 `    |                                  }||                    |           d S d S r   )r  HookFormatter)r   parentr  s      r   r  z*CScintillaColorEditInterface.HookFormatter%  s7      =OOF##### =r   )r   rD   r  r   )r   r   r   r  r  r  r  r  r   r   r   r  r    sn          
< < <# # # #
- - - -$ $ $ $ $ $r   r  c                   $    e Zd ZddZddZd ZdS )CScintillaEditNc                 p    |t          j                    }t          j                            | |           d S r   )r*   	CreateWndr   Wndr   )r   wnds     r   r   zCScintillaEdit.__init__,  s3    ;#%%C
D#&&&&&r   r   c                 0    |                      |||          S r   )r3   )r   r#   wls       r   rH   zCScintillaEdit.SendScintilla1  s    Q***r   c           	      F    | j                             dd||||d            d S )N	Scintilla)_obj_CreateWindow)r   r<   rectr  ids        r   r  zCScintillaEdit.CreateWindow4  s+    
[%vrSWXXXXXr   r   )r   r   )r   r   r   r   rH   r  r   r   r   r  r  +  sP        ' ' ' '
+ + + +Y Y Y Y Yr   r  )!r2  osr,   win32apirw  r*   pywinr   	pywin.mfcr   r>   r   dlliddebugLoadLibrarypathrA   split__file__errorrJ   r  r  r  r  WM_USERr  r
   r   rr  r  r  r  r   r   r   <module>r     s    				     , , , , , ,             	
= $$GLLw'788;=NOO
 
 	   	 	=$$GLLw'788;_MM
 
 >   = H 11E	  ## # # # # # # #
x@ x@ x@ x@ x@ x@ x@ x@v	QN QN QN QN QN7 QN QN QNh $  $  $  $  $#:  $  $  $F
Y 
Y 
Y 
Y 
YVZ!= 
Y 
Y 
Y 
Y 
Ys%   AB 
BBAC" "
C/.C/