Home Index classes Index static functions Index enumerations Index structure types

{Paint_tree}


CLASS {Paint_tree} , UNTESTED, RECURSIVE:



IMPORT : {Paint_lines} , {Canvas} , {Geometry} , {Form} , {AL4_form} , {Control} .

BASE CLASS {Paint_lines} .


   

FUNCTION New_paint_tree (
     
{Form} Parent|_form ,
     
STR Alias|_paint_lines ,
     
STR Scrollbars|_and_options|_Vertscrollbar|Horzsbar|Focusable ) ==> {Paint_tree} , NEW



STRUCTURE {tree_node}

      INT Parent|_node_id INDEXING {tree_node}

      STR Text|_of_node

      BOOL Hidden|_node

      INT Icon|_as_turtle_drawing_commands INDEXING STR

      INT State_icon|_as_turtle_draw_cmnds INDEXING STR

      INT Child|_subitems_list[] INDEXING {tree_node}

      INT Color|_foreground_if_not_0

      {Object} Data_|additional_

      BOOL Bold|_text

      BOOL Italic|_text

      BOOL Expanded|_children_list

      BOOL Is_free|_deleted_node

      BOOL Cache_v|isible_only

      BOOL Cache_e|xpanded_only

      INT Cache_count|_children .



METHOD Set_data (
     
INT Node INDEXING {tree_node} ,
     
{Object} Obj|ect_to_assign )


INDEXING {tree_node}

INT Current_node|_currently_drawing , READ


STR Images|_turtle_icons[] , READ


         

OVERRIDE Clear , REPLACE



METHOD Root|_nodes_ids_by_index (
     
INT Index|_on_root_level INDEXING INT ) ==> INT



METHOD Node|s_by_id (
     
INT Id|entifier INDEXING {tree_node} ) ==> {tree_node}



METHOD Update_node|_by_id (
     
INT Id|entifier INDEXING {tree_node} ,
     
{tree_node} Value|_of_node )



METHOD Insert|_node (
     
INT Parent_node INDEXING {tree_node} ,
     
INT Index|_insert_before_on_the_level ,
     
STR Value|_to_insert ) ==> INT



METHOD Delete|_node_together_with_children_if_present (
     
INT Id INDEXING {tree_node} ) , RECURSIVE



METHOD Move|_node_to_another_position (
     
INT Id|_moving INDEXING {tree_node} ,
     
INT New_parent|_id_or_0_if_at_root INDEXING {tree_node} ,
     
INT Position|_in_list_of_childrent_of_new_parent INDEXING {tree_node} )



METHOD Next_sibling ( INT Id INDEXING {tree_node} ) ==> INT



METHOD Prev_sibling || Previous_sibling (
     
INT Id INDEXING {tree_node} ) ==> INT



---------------------------------------------------- 'Images used as icons'

 

METHOD Set_image (
     
INT Index|_of_image INDEXING STR ,
     
STR Value|_turtle_commands )



------------------------------------------------------- 'expand / collapse'

      

METHOD Is_expanded|_node ( INT Id INDEXING {tree_node} ) ==> BOOL



METHOD Collapse|_node ( INT Id INDEXING {tree_node} )



METHOD Expand|_node_with_parents (
     
INT Id INDEXING {tree_node} ) , RECURSIVE



METHOD Expand_all|_nodes



METHOD Collapse_all|_nodes



OVERRIDE Invalidate_all



------------------------------------------------------------------- 'count'

   

METHOD Count_root|_items ==> INT



OVERRIDE Count ==> INT



METHOD Count_children (
     
INT Id|entifier_parent INDEXING {tree_node} ,
     
BOOL Visible_only ,
     
BOOL Expanded_only ) ==> INT , RECURSIVE


INT Cache_line


INDEXING {tree_node}

INT Cache_node|_at_line


   

METHOD Node_at_line ( INT Line|_index ) ==> INT



METHOD Line_of|_node (
     
INT Id|entifier INDEXING {tree_node} ) ==> INT , RECURSIVE



METHOD Level|_of_node ( INT Id INDEXING {tree_node} ) ==> INT



--------------------------------------------------------------- 'selection'

INDEXING {tree_node}

INT Selected|_node , READ


 

METHOD Select|_node ( INT Id|entifier )



------------------------------------------------------------------- 'paint'

BOOL Use_get_info



------------------------------------------------------------------- 'icons'

STR Icons|_array[] , READ


 

METHOD Set_icons ( STR Array|_all_icons_0_not_used [*] )


INT Ink|_color


INT Fill|_color


INT State_ink


INT State_fill


 

METHOD Set_node_icons (
     
INT Node INDEXING {tree_node} ,
     
INT Icon|_to_set_from_1 ,
     
INT State|_icon_from_1_use_0_to_not_draw_icon_or_state_icon )



---------------------------------------------------------------- 'feedback'

BOOL Allow_collapse_expand|_by_mouse


  

OVERRIDE Handle_key ( {Form}.{key_info} Key|_code ) , REPLACE



OVERRIDE Current_line ==> INT


END