ANY CONTAINER NONE
class interface COLUMN_LAYOUT
   -- Puts all the WIDGETs in a column.

creation
   default_create
      -- Default creation method. It is used when no creation
      -- method is specified if allowed. Note it may be renamed.
      ensure
         container = Void

feature(s) from LAYOUT
   default_create
      -- Default creation method. It is used when no creation
      -- method is specified if allowed. Note it may be renamed.
      ensure
         container = Void

feature(s) from LAYOUT
   container: CONTAINER

feature(s) from LAYOUT
   set_container (c: CONTAINER)
      require
         container = Void;
         c /= Void;
         c.layout = Current
      ensure
         container = c

   detach
      require
         container /= Void
      ensure
         container = Void

   redo_layout (x, y: INTEGER)
      require
         container /= Void
      ensure
         container.child.count = position_y.count;
         position_x.count = position_y.count;
         valid_size(container)

   update_requisition
      require
         container /= Void

   expose_paint
      require
         container /= Void

   valid_size (c: CONTAINER): BOOLEAN

feature(s) from COLOR_LIST
   white_color: COLOR

   black_color: COLOR

   dim_grey_color: COLOR

   dark_grey_color: COLOR

   grey_color: COLOR

   light_grey_color: COLOR

   dark_blue_color: COLOR

   medium_blue_color: COLOR

   blue_color: COLOR

   royal_blue_color: COLOR

   deep_sky_blue_color: COLOR

   sky_blue_color: COLOR

   light_sky_blue_color: COLOR

   steel_blue_color: COLOR

   light_steel_blue_color: COLOR

   light_blue_color: COLOR

   pale_turquoise_color: COLOR

   dark_turquoise_color: COLOR

   medium_turquoise_color: COLOR

   turquoise_color: COLOR

   dark_cyan_color: COLOR

   cyan_color: COLOR

   light_cyan_color: COLOR

   dark_green_color: COLOR

   green_color: COLOR

   light_green_color: COLOR

   yellow_green_color: COLOR

   dark_khaki_color: COLOR

   khaki_color: COLOR

   yellow_color: COLOR

   light_yellow_color: COLOR

   gold_color: COLOR

   beige_color: COLOR

   chocolate_color: COLOR

   firebrick_color: COLOR

   brown_color: COLOR

   dark_salmon_color: COLOR

   salmon_color: COLOR

   light_salmon_color: COLOR

   dark_orange_color: COLOR

   orange_color: COLOR

   orange_red_color: COLOR

   dark_red_color: COLOR

   red_color: COLOR

   hot_pink_color: COLOR

   deep_pink_color: COLOR

   pink_color: COLOR

   light_pink_color: COLOR

   pale_violet_red_color: COLOR

   maroon_color: COLOR

   medium_violet_red_color: COLOR

   violet_red_color: COLOR

   violet_color: COLOR

   dark_magenta_color: COLOR

   magenta_color: COLOR

   dark_violet_color: COLOR

   blue_violet_color: COLOR

   medium_purple_color: COLOR

   purple_color: COLOR

feature(s) from STATE_CONSTANTS
   state_normal: INTEGER

   state_active: INTEGER

   state_prelight: INTEGER

   state_selected: INTEGER

   state_insensitive: INTEGER

feature(s) from ALIGNMENT_CONSTANTS
   center_alignment: ALIGNMENT

   left_alignment: ALIGNMENT

   right_alignment: ALIGNMENT

   top_alignment: ALIGNMENT

   down_alignment: ALIGNMENT

   top_left_alignment: ALIGNMENT

   top_right_alignment: ALIGNMENT

   down_right_alignment: ALIGNMENT

   down_left_alignment: ALIGNMENT

feature(s) from GRAPHIC
   vision: VISION

   font_manager: FONT_MANAGER

   default_font: BASIC_FONT

feature(s) from COLUMN_LAYOUT
   position_x: FAST_ARRAY[INTEGER]

   position_y: FAST_ARRAY[INTEGER]

feature(s) from COLUMN_LAYOUT
   border: INTEGER

   spacing: INTEGER

   shrink_allowed_min_height: INTEGER

   expand_allowed_std_height: INTEGER

   shrink_allowed_first: WIDGET

   expand_allowed_first: WIDGET

   set_border (size: INTEGER)
      -- space between the border and objects inside
      require
         size >= 0
      ensure
         border = size

   set_spacing (size: INTEGER)
      -- space between objects in the container
      require
         size >= 0
      ensure
         spacing = size

   insert_button_space
      -- Allow to group buttons before this space and after this space.
      -- Used before the first button or after the last: the button
      -- will not be attached to the border.
      -- NOTE: use only NOT expand_allowed objects.

feature(s) from COLUMN_LAYOUT
   basic_dispatch (x, y: INTEGER)
      -- Display each child with std_width and use standard spacing

   expand_spacing (x, y: INTEGER)
      -- No child may be expanded, so expand spaces between children

   expand_dispatch (x, y: INTEGER)
      -- At least one child have to be expanded to fill the space

   shrink_dispatch (x, y: INTEGER)
      -- At least one child have to be shrinked

   move (diff_x, diff_y: INTEGER)



end of COLUMN_LAYOUT