File: //usr/local/lib/python3.10/idlelib/__pycache__/squeezer.cpython-310.opt-2.pyc
o
�i"2 � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z d dl
mZ ddd �ZG d
d� dej
�ZG dd
� d
�Ze�� edkrSd dlmZ edddd� dS dS )� N)�
messagebox)�idleConf)� view_text)�Hovertip)�macosx�P c C s� d}d}d}d}t �d| �D ]?}|�� | }||7 }||7 }| | dkr8||kr1||d | 7 }|d7 }d}n|||| 7 }||krJ|d7 }|}|d7 }q|t| �| 7 }|dkre||d | 7 }|S |d8 }|S )N� r � z[\t\n]�
)�re�finditer�start�len)�sZ linewidthZtabwidth�posZ linecountZcurrent_column�m�numchars� r �-/usr/local/lib/python3.10/idlelib/squeezer.py�count_lines_with_wrapping s2
�r c @ sH e Zd Z dd� Zdd� Zddd�Zddd �Zdd
d�ZdZd
d� Z dS )�ExpandingButtonc
s� � | _ || _|| _|| _|j | _}|j | _}|jj| _|dkr#dnd}d|� d|� d�}t j
j| ||ddd � d
} t| | dd� | �
d
| j� t�� rU| �
d| j� n| �
d| j� | �� fdd�� d | _| �| j� d S )Nr �lines�linezSqueezed text (� z).z#FFFFC0z#FFFFE0)�textZ
backgroundZactivebackgroundz5Double-click to expand, right-click for more options.r )Zhover_delayz<Double-Button-1>z
<Button-2>z
<Button-3>c s � t | �t | �t |� � S �N)�int)�offset�length�r r r �<lambda>z s z*ExpandingButton.__init__.<locals>.<lambda>)r �tags�
numoflines�squeezer�editwinr �per�bottom� base_text�tk�Button�__init__r �bind�expandr ZisAquaTk�context_menu_eventZselection_handle�is_dangerousZ
after_idle�set_is_dangerous)
�selfr r! r"