
    G@d                     N    d Z ddlmZ ddlmZmZ ddlmZ  G d de          ZdS )z*
This module contains the edge line panel
    )Qt)QPainterQColor)Panelc                   6    e Zd ZdZd Zd Zd Zd Zd Zd Z	dS )	EdgeLinez:Source code editor's edge line (default: 79 columns, PEP8)c                 ^    t          j        |            d| _        t          j        | _        d S )N)O   )r   __init__columnsr   darkGraycolorselfs    Elib/python3.11/site-packages/spyder/plugins/editor/panels/edgeline.pyr   zEdgeLine.__init__   s&    t[


    c                    t          |           }|                                 }t          | j                  }|                    d           |                    |           | j        D ]^}| j                                        	                    |dz            dz   }|
                    |d||                                           _dS )zOverride Qt methodg      ?9   r   N)r   sizer   r   	setAlphaFsetPenr   editorfontMetricswidthdrawLineheight)r   eventpainterr   r   columnxs          r   
paintEventzEdgeLine.paintEvent   s    4..yy{{tz""ul 	5 	5F''))//==AAQ1dkkmm4444	5 	5r   c                 *    |                                  S )zOverride Qt method.)r   r   s    r   sizeHintzEdgeLine.sizeHint+   s    yy{{r   c                 >    || _         |                     |           dS )zToggle edge line visibilityN)_enabled
setVisible)r   states     r   set_enabledzEdgeLine.set_enabled2   s!    r   c                     t          |t                    r|| _        nB|r@t          |          }t          d |                    d          D                       | _        |                                  dS )zSet edge line columns values.c              3   4   K   | ]}t          |          V  d S )N)int).0es     r   	<genexpr>z'EdgeLine.set_columns.<locals>.<genexpr>=   s(       D DAQ D D D D D Dr   ,N)
isinstancetupler   strsplitupdate)r   r   s     r   set_columnszEdgeLine.set_columns7   sm    gu%% 	E"DLL 	E'llG  D Ds1C1C D D DDDDLr   c                 N    | j         j                            d          | _        dS )zP
        Set edgeline color using syntax highlighter color for comments
        commentN)r   highlighterget_color_namer   r   s    r   update_colorzEdgeLine.update_colorA   s"     [,;;IFF


r   N)
__name__
__module____qualname____doc__r   r"   r$   r)   r6   r;    r   r   r   r      sy        DD! ! !
5 5 5    
  G G G G Gr   r   N)	r?   qtpy.QtCorer   
qtpy.QtGuir   r   spyder.api.panelr   r   r@   r   r   <module>rD      s    
       ' ' ' ' ' ' ' ' # " " " " "2G 2G 2G 2G 2Gu 2G 2G 2G 2G 2Gr   