note description: "Eiffel Vision button. Implementation interface." legal: "See notice at end of class." status: "See notice at end of class." keywords: "press, push, label, pixmap" date: "$Date$" revision: "$Revision$" deferred class EV_BUTTON_I inherit EV_PRIMITIVE_I redefine interface end EV_TEXT_ALIGNABLE_I redefine interface end EV_PIXMAPABLE_I redefine interface end EV_FONTABLE_I redefine interface end EV_BUTTON_ACTION_SEQUENCES_I feature -- Access is_default_push_button: BOOLEAN -- Is this button currently a default push button -- for a particular container? deferred end feature -- Status Setting enable_default_push_button -- Set the style of the button corresponding -- to the default push button. deferred ensure is_default_push_button: is_default_push_button end disable_default_push_button -- Remove the style of the button corresponding -- to the default push button. deferred ensure is_not_default_push_button: not is_default_push_button end enable_can_default -- Allow the style of the button to be changed to the -- default push button if tabbed to by the user -- (GTK implementation needed only) require is_not_default_push_button: not is_default_push_button deferred end feature {EV_ANY, EV_ANY_I} -- Implementation interface: detachable EV_BUTTON note option: stable attribute end; -- Provides a common user interface to possibly dependent -- functionality implemented by `Current'. note copyright: "Copyright (c) 1984-2006, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 356 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class EV_BUTTON_I