B E<‹–X¼2ã@s~dZddlZddlmZmZmZddlmZdd„Z Gdd„dƒZ dd „Z d d „Z d d „Z edkrzddlmZeddddS)z'Define SearchEngine for search dialogs.éN)Ú StringVarÚ BooleanVarÚTclErrorcCst|dƒst|ƒ|_|jS)z¼Return the singleton SearchEngine instance for the process. The single SearchEngine saves settings between dialog instances. If there is not a SearchEngine already, make one. Ú _searchengine)ÚhasattrÚ SearchEnginer)Úroot©r ú9/opt/alt/python37/lib64/python3.7/idlelib/searchengine.pyÚgets  r c@seZdZdZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Z dd„Z dd„Z dd„Z dd„Z dd„Zd#dd„Zd$dd„Zd%dd „Zd&d!d"„ZdS)'rzÚspan)r,rBr.rCÚfoundÚiÚjr r r rEÀs   rEcCsTy| d¡}| d¡}Wntk r4d}}YnX|sD| d¡}|sL|}||fS)zFReturn tuple of 'line.col' indexes from selection or insert mark. z sel.firstzsel.lastNÚinsert)rFr)r6r9r:r r r r2×s  r2cCstt| d¡ƒ\}}||fS)z8Return (line, col) tuple of ints from 'line.col' string.rD)rGrHrI)rFr<r.r r r r3åsr3Ú__main__)Úmainz#idlelib.idle_test.test_searchenginer")Ú verbosity)rNrZtkinterrrrZtkinter.messageboxZ messageboxr1r rrEr2r3rKZunittestrUr r r r Ús  .