indexing description: "[ Objects that have a color and need to be updated when it changes ]" author: "" date: "$Date$" revision: "$Revision$" deferred class EM_VIZ_COLORED inherit EM_VIZ_UPDATEABLE feature -- Initialization make_colored (a_color: like color) is -- Initialize require color_exists: a_color /= Void do set_color (a_color) ensure set: color = a_color end feature -- Access color: EM_COLOR -- Color of object feature -- Element change set_color (a_color: like color) is -- Set color to `a_color' and notify require color_exists: a_color /= Void do color := a_color expire ensure set: color = a_color expired: needs_update end invariant color_exists: color /= Void end