<s> from atom . api import ( <EOL> Typed , ForwardTyped , Unicode , Enum , Event , observe , set_default <EOL> ) <EOL> from enaml . core . declarative import d_ <EOL> from . control import Control , ProxyControl <EOL> class ProxyLabel ( ProxyControl ) : <EOL> """<STR_LIT>""" <EOL> declaration = ForwardTyped ( lambda : Label ) <EOL> def set_text ( self , text ) : <EOL> raise NotImplementedError <EOL> def set_align ( self , align ) : <EOL> raise NotImplementedError <EOL> def set_vertical_align ( self , align ) : <EOL> raise NotImplementedError <EOL> class Label ( Control ) : <EOL> """<STR_LIT>""" <EOL> text = d_ ( Unicode ( ) ) <EOL> align = d_ ( Enum ( '<STR_LIT:left>' , '<STR_LIT:right>' , '<STR_LIT>' , '<STR_LIT>' ) ) <EOL> vertical_align = d_ ( Enum ( '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ) ) <EOL> link_activated = d_ ( Event ( ) , writable = False ) <EOL> hug_width = set_default ( '<STR_LIT>' ) <EOL> proxy = Typed ( ProxyLabel ) <EOL> @ observe ( ( '<STR_LIT:text>' , '<STR_LIT>' , '<STR_LIT>' ) ) <EOL> def _update_proxy ( self , change ) : <EOL> """<STR_LIT>""" <EOL> super ( Label , self ) . _update_proxy ( change ) </s>
