Домой Классы Статические функции Перечисления (ENUM) Записи (RECORD)

{Paint_tabs|_scrollable}


(включая защищенные члены)

CLASS {Paint_tabs|_scrollable} , UNTESTED :



Класс для отображения и управления пользователем (с помощью мыши или другого указательного устройства) линейкой вкладок.


IMPORT : {Paintbox} , {Form} , {AL4_form} , {Control} .


BASE CLASS {Paintbox} .


 

FUNCTION New_paint_tabs (
     
{Form} Parent|_form ,
     
STR Alias|_paint_lines ) ==> {Paint_tabs} , NEW



----------------------------------------------------------------- 'вкладки'

STR Tabs|_list[] , READ


 

OVERRIDE Count ==> INT


{Object} Data_|for_tabs_[] , READ


BOOL Highlight|_tabs[] , READ


INT Color_highlight|_for_highlighted_tabs


     

METHOD Insert_tab|_at_position (
     
INT At|_position ,
     
STR Tab_name|_to_insert ,
     
{Object} Data|_to_associate_with_tab_inserted )



METHOD Replace_tab (
     
INT At|_position ,
     
STR Tab_name|_to_insert ,
     
{Object} Data|_to_associate_with_tab_inserted )



METHOD Delete_tab ( INT At|_position )



METHOD Move_tab ( INT From|_position , INT To|_position )



METHOD Set_highlight ( INT Index|_to_highlight , BOOL Set|_or_reset )



--------------------------------------------------------- 'текущая вкладка'

INDEXING ({Object},STR)

INT Current_tab|_index , READ


 

METHOD Current|_tab_get ==> INT


BOOL need_move_to_view|_of_current_tab


     

METHOD Select|_tab|_by_index ( INT Index|_tab )



FUN max|imum_value ( REAL A|_parameter , REAL B|_parameter ) ==> REAL



FUN min|imum_value ( REAL A|_parameter , REAL B|_parameter ) ==> REAL



OVERRIDE mouse_down , REPLACE



METHOD calculate_max|imum_width ==> REAL



-------------------------------------------- 'прокрутка левой кнопкой мыши'

BOOL lmb_down|_and_ready_to_scroll_by_mouse


REAL x_down|_position


REAL offset_down|_position


   

OVERRIDE mouse_up , REPLACE



OVERRIDE mouse_move , REPLACE



METHOD correct|_offset ( REAL N|ew_offset ) ==> REAL



------------------------------------------------------- 'отрисовка вкладок'

REAL offset_x|_negative_shifted_left_LOCAL


REAL tabs_coord_x|_LOCAL[]


REAL tabs_widths|_LOCAL[]


  

METHOD Tab_position (
     
INT Index|_of_tab INDEXING REAL ) ==> REAL



METHOD Tab_width (
     
INT Index|_of_tab INDEXING REAL ) ==> REAL


INT Drawing_tab|_index_or_minus_one_when_filling_background


   

OVERRIDE before_paint



METHOD draw_text (
     
REAL X|_coordinate ,
     
REAL Y|_coordinate ,
     
STR Text|_to_out )



FUNCTION clip_from_shape ( {point} v|ertexes [*] ) ==> {rect}


REAL start_offset|_LOCAL


REAL end_offset|_at_end_of_animation_LOCAL


 

OVERRIDE animation


END