f
��_0 c @ s~ d Z ddlZddlmZmZmZ ddlmZ dd� Z G dd� d�Z
dd � Zd
d� Zdd
� Z
edkrzddlmZ eddd� dS )z'Define SearchEngine for search dialogs.� N)� StringVar�
BooleanVar�TclErrorc C s t | 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)Zhasattr�SearchEnginer )�root� r �-/usr/lib64/python3.10/idlelib/searchengine.py�get s
r c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zd#dd�Zd$dd�Zd%dd �Zd&d!d"�ZdS )'r z<Handles searching a text widget for Find, Replace, and Grep.c C sR || _ t|d�| _t|d�| _t|d�| _t|d�| _t|d�| _t|d�| _dS )z�Initialize Variables that save search state.
The dialogs bind these to the UI elements present in the dialogs.
Z FTN) r r �patvarr �revar�casevar�wordvar�wrapvar�backvar)�selfr r r r �__init__ s zSearchEngine.__init__c C �
| j �� S �N)r
r �r r r r �getpat% � zSearchEngine.getpatc C s | j �|� d S r )r
Zset�r �patr r r �setpat( r zSearchEngine.setpatc C r r )r r r r r r �isre+ r zSearchEngine.isrec C r r )r r r r r r �iscase. r zSearchEngine.iscasec C r r )r
r r r r r �isword1 r zSearchEngine.iswordc C r r )r r r r r r �iswrap4 r zSearchEngine.iswrapc C r r )r r r r r r �isback7 r zSearchEngine.isbackc C s | � � rt�|�}| �|� dS )z!Set pattern after escaping if re.N)r �re�escaper r r r r �setcookedpat<