{-----------  Table layout defaults ---------------------------}
LET Text_slot_height_db (Text_slot_height + 1)
{ LET Headline_height_db (Headline_height + 1) }
{ Workaround for BUG in tables code : Headline height = 1 pixel too small }
LET Headline_height_db (Headline_height + 2)

LET Table_distance 5
LET Table_border_distance 0
DEFINE Table_display_color WHITE END_DEFINE
DEFINE Table_background_color BLACK END_DEFINE
LET Table_position Graphic_area_low_left
LET Table_frame_width 2
DEFINE Table_horizontal_line_color WHITE END_DEFINE
DEFINE Table_horizontal_line_type SOLID  END_DEFINE
DEFINE Table_results_horizontal_line_type DOTTED END_DEFINE
DEFINE Table_vertical_line_color WHITE END_DEFINE
DEFINE Table_vertical_line_type SOLID  END_DEFINE
LET Table_title_height_1 (INT (Font_height  *1.5))
LET Table_title_height_2 (INT (Font_height  * 2 ))
DEFINE Tbl_fg_col_blk_1 BLACK END_DEFINE
DEFINE Tbl_bg_col_yel YELLOW END_DEFINE
DEFINE Tbl_fg_col_wht WHITE END_DEFINE
DEFINE Tbl_fg_col_wht_1 WHITE END_DEFINE
DEFINE Tbl_bg_col_red RED    END_DEFINE
DEFINE Tbl_fg_col_blk_2 BLACK END_DEFINE
DEFINE Tbl_bg_col_cyn CYAN   END_DEFINE
DEFINE Tbl_fg_col_grn GREEN END_DEFINE
DEFINE Tbl_bg_col_blk BLACK  END_DEFINE
DEFINE Tbl_bg_col_blu BLUE   END_DEFINE
DEFINE Tbl_fg_col_blk_3 BLACK END_DEFINE
DEFINE Tbl_bg_col_cyn_1 CYAN END_DEFINE
DEFINE Tbl_bg_col_grn GREEN END_DEFINE
LET Table_column_height ( Font_height + Table_border_distance )
DEFINE Table_scroll_bar_display_color WHITE END_DEFINE
DEFINE Table_scroll_bar_background_color BLUE END_DEFINE
LET Table_scroll_bar_width (Font_height *2)
DEFINE Max_table_columns
  (( (Window_x_size - Menu_width - Table_scroll_bar_width -1 - Table_distance)
     DIV Font_width) -1)
END_DEFINE

{-----------  Table utilities --------------------------------}

DEFINE Table_position_correct
	PARAMETER  Tab_x
	PARAMETER  Tab_y
	PARAMETER  Tab_h

	IF ((Tab_h + Tab_y) > (Y_OF Graphic_area_up_right))
	  (PNT_XY Tab_x (Y_OF Graphic_area_up_right - Tab_h))
	ELSE
	  (PNT_XY Tab_x Tab_y)
        END_IF

END_DEFINE

{-----------  Table 'query results' defaults -----------------}

LET Table_query_results_title_headline_rows 1
LET Table_query_results_title_default_rows 0
LET Table_query_results_title_1_pix_rows 1
LET Table_query_results_title_text_slot_height_rows 1
LET Table_query_results_rows 15
LET Table_query_results_columns Max_table_columns

DEFINE Table_query_results_height
 ( Table_query_results_title_headline_rows * Headline_height_db +
   Table_query_results_title_default_rows * (Font_height +1) +
   Table_query_results_title_1_pix_rows  +
   Table_query_results_title_text_slot_height_rows * Text_slot_height_db +
   Table_query_results_rows * (Font_height+1) +
   Table_frame_width*2-2 )
END_DEFINE

DEFINE Table_query_results_width
 ( ((Table_query_results_columns +1)* Font_width) + Table_scroll_bar_width
  + 1 + Table_frame_width * 2)
END_DEFINE

DEFINE Table_query_results_position
   Table_position
END_DEFINE

DEFINE Table_query_result_defaults
  Table_display_color
  Table_background_color
  Table_query_results_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_query_results_rows
  HORIZONTAL Table_horizontal_line_color Table_results_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'history' defaults ----------------------}

LET Table_history_title_headline_rows 1
LET Table_history_title_default_rows 0
LET Table_history_title_1_pix_rows 1
LET Table_history_title_text_slot_height_rows 1
LET Table_history_rows 5
LET Table_history_default_columns 79
DEFINE Table_history_columns
   IF (Max_table_columns < Table_history_default_columns)
      Max_table_columns
   ELSE
      Table_history_default_columns
   END_IF
END_DEFINE

DEFINE Table_history_height
 ( Table_history_title_headline_rows * Headline_height_db +
   Table_history_title_default_rows * (Font_height +1) +
   Table_history_title_1_pix_rows  +
   Table_history_title_text_slot_height_rows * Text_slot_height_db +
   Table_history_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_history_width
 (( (Table_history_columns +1)* Font_width) + Table_scroll_bar_width
  + 1 + Table_frame_width * 2)
END_DEFINE

DEFINE Table_history_position 

	 Table_position_correct
	    ( X_OF Table_query_results_position )
            ( Y_OF Table_query_results_position + 
		   Table_query_results_height +
		   Table_distance )
	    Table_history_height
	 
END_DEFINE

DEFINE Table_history_defaults
  Table_display_color
  Table_background_color
  Table_history_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_history_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'upd record' defaults ------------------}

LET Table_upd_record_title_headline_rows 1
LET Table_upd_record_title_default_rows 0
LET Table_upd_record_title_1_pix_rows 1
LET Table_upd_record_title_text_slot_height_rows 1
LET Table_upd_record_rows 10
LET Table_upd_record_columns Max_table_columns

DEFINE Table_upd_record_height
 ( Table_upd_record_title_headline_rows * Headline_height_db +
   Table_upd_record_title_default_rows * (Font_height +1) +
   Table_upd_record_title_1_pix_rows +
   Table_upd_record_title_text_slot_height_rows * Text_slot_height_db +
   Table_upd_record_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_upd_record_width
 (( (Table_upd_record_columns +1)* Font_width) + Table_scroll_bar_width
  + 1 + Table_frame_width * 2)
END_DEFINE

DEFINE Table_upd_record_position 

    (PNT_XY
     ( X_OF Table_history_position )
     ( Y_OF Graphic_area_up_right - Table_upd_record_height))
END_DEFINE

DEFINE Table_upd_record_defaults
  Table_display_color
  Table_background_color
  Table_upd_record_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_upd_record_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'classes' defaults ---------------------}

LET Table_classes_title_headline_rows 1
LET Table_classes_title_default_rows 0
LET Table_classes_title_1_pix_rows 1
LET Table_classes_title_text_slot_height_rows 1
LET Table_classes_rows 10
LET Table_classes_columns 20

DEFINE Table_classes_height
 ( Table_classes_title_headline_rows * Headline_height_db +
   Table_classes_title_default_rows * (Font_height +1) +
   Table_classes_title_1_pix_rows +
   Table_classes_title_text_slot_height_rows * Text_slot_height_db +
   Table_classes_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_classes_width
 (( (Table_classes_columns +1)* Font_width) + Table_scroll_bar_width + 1
  + Table_frame_width * 2)
END_DEFINE

DEFINE Table_classes_position
       (PNT_XY
         (X_OF Table_attributes_position  - Table_distance - Table_classes_width)
         (Y_OF Graphic_area_up_right - Table_classes_height))
END_DEFINE

DEFINE Table_classes_defaults
  Table_display_color
  Table_background_color
  Table_classes_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_classes_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'attributes' defaults ------------------}

LET Table_attributes_title_headline_rows 1
LET Table_attributes_title_default_rows 5
LET Table_attributes_title_1_pix_rows 3
LET Table_attributes_title_text_slot_height_rows 3
DEFINE Calculate_attributes_rows
  LET Table_attributes_rows
    (( Window_y_size -
     ( Table_attributes_title_headline_rows * (Headline_height_db) +
     Table_attributes_title_default_rows * (Font_height +1) +
     Table_attributes_title_1_pix_rows  +
     Table_attributes_title_text_slot_height_rows * Text_slot_height_db +
     Table_frame_width + Table_distance + Table_query_results_height))
     DIV (Font_height+1) )
  IF (Table_attributes_rows < 4 )
    LET Table_attributes_rows 4
  END_IF
END_DEFINE

Calculate_attributes_rows
LET Table_attributes_columns 20

DEFINE Table_attributes_height
 ( Table_attributes_title_headline_rows * (Headline_height_db) +
   Table_attributes_title_default_rows * (Font_height +1) +
   Table_attributes_title_1_pix_rows  +
   Table_attributes_title_text_slot_height_rows * Text_slot_height_db +
   Table_attributes_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_attributes_width
 (( (Table_attributes_columns +1)* Font_width) + Table_scroll_bar_width
  + 1 + Table_frame_width * 2 )
END_DEFINE

DEFINE Table_attributes_position ( PNT_XY
   ( Window_x_size - Menu_width - Table_distance - Table_attributes_width)
   (Y_OF Graphic_area_up_right - Table_attributes_height))
END_DEFINE

DEFINE Table_attributes_defaults
  Table_display_color
  Table_background_color
  Table_attributes_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_attributes_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'attributes_query' defaults ------------------}

LET Table_attributes_query_title_headline_rows 1
LET Table_attributes_query_title_default_rows 5
LET Table_attributes_query_title_1_pix_rows 3
LET Table_attributes_query_title_text_slot_height_rows 3
LET Table_attributes_query_rows Table_attributes_rows
LET Table_attributes_query_columns 20

DEFINE Table_attributes_query_height
 ( Table_attributes_query_title_headline_rows * (Headline_height_db) +
   Table_attributes_query_title_default_rows * (Font_height +1) +
   Table_attributes_query_title_1_pix_rows  +
   Table_attributes_query_title_text_slot_height_rows * Text_slot_height_db +
   Table_attributes_query_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_attributes_query_width
 (( (Table_attributes_query_columns +1)* Font_width) + Table_scroll_bar_width
  + 1 + Table_frame_width * 2 )
END_DEFINE

DEFINE Table_attributes_query_position ( PNT_XY
   ( Window_x_size - Menu_width - Table_distance - Table_attributes_query_width)
   (Y_OF Graphic_area_up_right - Table_attributes_query_height))
END_DEFINE

DEFINE Table_attributes_query_defaults
  Table_display_color
  Table_background_color
  Table_attributes_query_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_attributes_query_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'select_attributes_confirm' defaults ------------------}

LET Table_select_attributes_confirm_title_headline_rows 1
LET Table_select_attributes_confirm_title_default_rows 5
LET Table_select_attributes_confirm_title_1_pix_rows 3
LET Table_select_attributes_confirm_title_text_slot_height_rows 4
LET Table_select_attributes_confirm_rows (Table_attributes_rows - 1)
LET Table_select_attributes_confirm_columns 20

DEFINE Table_select_attributes_confirm_height
 ( Table_select_attributes_confirm_title_headline_rows * Headline_height_db +
   Table_select_attributes_confirm_title_default_rows * (Font_height +1) +
   Table_select_attributes_confirm_title_1_pix_rows +
   Table_select_attributes_confirm_title_text_slot_height_rows *
   Text_slot_height_db + Table_select_attributes_confirm_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_select_attributes_confirm_width
 (( (Table_select_attributes_confirm_columns +1)* Font_width) + Table_scroll_bar_width
  +1 + Table_frame_width * 2)
END_DEFINE

DEFINE Table_select_attributes_confirm_position
  ( PNT_XY
  ( Window_x_size - Menu_width - Table_distance -
    Table_select_attributes_confirm_width)
  (Y_OF Graphic_area_up_right - Table_select_attributes_confirm_height))
END_DEFINE

DEFINE Table_select_attributes_confirm_defaults
  Table_display_color
  Table_background_color
  Table_select_attributes_confirm_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_select_attributes_confirm_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'select_attributes_query' defaults ------------------}

LET Table_select_attributes_query_title_headline_rows 1
LET Table_select_attributes_query_title_default_rows 5
LET Table_select_attributes_query_title_1_pix_rows 3
LET Table_select_attributes_query_title_text_slot_height_rows 3
LET Table_select_attributes_query_rows Table_attributes_rows
LET Table_select_attributes_query_columns 20

DEFINE Table_select_attributes_query_height
 ( Table_select_attributes_query_title_headline_rows * Headline_height_db +
   Table_select_attributes_query_title_default_rows * (Font_height +1) +
   Table_select_attributes_query_title_1_pix_rows +
   Table_select_attributes_query_title_text_slot_height_rows *
   Text_slot_height_db + Table_select_attributes_query_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_select_attributes_query_width
 (( (Table_select_attributes_query_columns +1)* Font_width) + Table_scroll_bar_width
  +1 + Table_frame_width * 2)
END_DEFINE

DEFINE Table_select_attributes_query_position
  IF (((X_OF Table_attributes_query_position) - Table_distance -
	Table_select_attributes_query_width) > 0 )
    ( PNT_XY
    ((X_OF Table_attributes_query_position) - Table_distance -
     Table_select_attributes_query_width)
    (Y_OF Graphic_area_up_right - Table_select_attributes_query_height))
  ELSE
    ( PNT_XY
    ((X_OF Table_attributes_query_position) - Headline_height_db )
    ((Y_OF Table_attributes_query_position) - Headline_height_db ))
  END_IF
END_DEFINE

DEFINE Table_select_attributes_query_defaults
  Table_display_color
  Table_background_color
  Table_select_attributes_query_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_select_attributes_query_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

{------------  Table 'sort_attributes_query' defaults ------------------}

LET Table_sort_attributes_query_title_headline_rows 1
LET Table_sort_attributes_query_title_default_rows 5
LET Table_sort_attributes_query_title_1_pix_rows 3
LET Table_sort_attributes_query_title_text_slot_height_rows 3
LET Table_sort_attributes_query_rows Table_attributes_rows
LET Table_sort_attributes_query_columns 20

DEFINE Table_sort_attributes_query_height
 ( Table_sort_attributes_query_title_headline_rows * (Headline_height_db) +
   Table_sort_attributes_query_title_default_rows * (Font_height +1) +
   Table_sort_attributes_query_title_1_pix_rows  +
   Table_sort_attributes_query_title_text_slot_height_rows * Text_slot_height_db +
   Table_sort_attributes_query_rows * (Font_height+1) +
   Table_frame_width*2-2)
END_DEFINE

DEFINE Table_sort_attributes_query_width
 (( (Table_sort_attributes_query_columns +1)* Font_width) + Table_scroll_bar_width
  + 1 + Table_frame_width * 2 )
END_DEFINE

DEFINE Table_sort_attributes_query_position
  IF (((X_OF Table_select_attributes_query_position) - Table_distance -
	Table_sort_attributes_query_width) > 0 )
    ( PNT_XY
    ((X_OF Table_select_attributes_query_position) - Table_distance -
      Table_sort_attributes_query_width)
     (Y_OF Graphic_area_up_right - Table_sort_attributes_query_height))
  ELSE
    ( PNT_XY
    ((X_OF Table_select_attributes_query_position) - Headline_height_db )
    ((Y_OF Table_select_attributes_query_position) - Headline_height_db ))
  END_IF
END_DEFINE

DEFINE Table_sort_attributes_query_defaults
  Table_display_color
  Table_background_color
  Table_sort_attributes_query_position
  FRAME_WIDTH Table_frame_width
  ROWS Table_sort_attributes_query_rows
  HORIZONTAL Table_horizontal_line_color Table_horizontal_line_type
  VERTICAL Table_vertical_line_color Table_vertical_line_type
  SCROLL_BAR Table_scroll_bar_display_color Table_scroll_bar_background_color
	     Table_scroll_bar_width
END_DEFINE

