Оглавление

Введение

Функции

Стили элемента

Введение

Внешний вид элемента управления TreeList:

Функции

tl_data_init

Конструктор элемента, нужно вызывать перед использованием элемента для выделения памяти и других настроек.

tl_data_clear

Деструктор элемента.

tl_info_clear

Очистка списка от всех узлов.

tl_key

Функция которую нужно вызывать при нажатии на клавиатуру.

tl_mouse

Функция для событий от мыши.

tl_draw

Полная перерисовка окна элемента.

tl_info_undo

Отменяет добавление узлов. Действует только на весь узел целиком, не учитывая изменения внутри узлов. Т. е. нельзя отменить действия выполненные например функциями: tl_node_set_data, tl_node_lev_inc и им подобным.

tl_info_redo

tl_node_add

Добавляет узел, в позицию указанную курсором.

tl_node_set_data

Устанавливает новые данные (пользовательские и подпись) в узел под курсором.

tl_node_get_data

Берет указатель на данные (пользовательские и подпись) из узла под курсором.

tl_node_delete

Удаляет узел, но не окончательно, при необходимости узел можно вернуть функцией tl_info_undo.

tl_cur_beg

Ставит курсор в начало списка, перематывает скроллинг если нужно.

tl_cur_next

Переносит курсор ниже.

tl_cur_perv

Переносит курсор выше.

tl_node_close_open

Открывает или закрывает родительский узел. Если у узла нет дочерних элементов, то ничего не делает. Автоматически перерисовывает окно если состояние узла изменилось.

tl_node_lev_inc

Добавить уровень узла под курсором. Делает узел дочерним.

tl_node_lev_dec

Уменьшает уровень узла под курсором. Делает узел родительским.

tl_node_poi_get_info

Берет внутренний указатель на структуру описывающую узел.

tl_node_poi_get_next_info

tl_node_poi_get_data

Берет указатель на данные (пользовательские и подпись) из узла указанного в указателе.

version_tree_list

Версия элемента

Структура tree_list

struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
    col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
    el_focus, p_scrol,p_sb_draw,fun_enter {
  .data_info  dd 0
  .info_size  dw info_size
  .info_max_count dd info_max_count
  .style      dd style
  .data_nodes dd 0
  .data_img   dd 0
  .img_cx     dw img_cx
  .img_cy     dw img_cy
  .data_img_sys dd 0
  .ch_tim     dd 0
  .ls_tim     dd 0
  .tim_undo   dd 0
  .cur_pos    dd 0
  .col_bkg    dd col_bkg
  .col_zag    dd col_zag
  .col_txt    dd col_txt
  .box_lert   dd box_l
  .box_top    dd box_t
  .box_width  dd box_w
  .box_height dd box_h
  .capt_cy    dw capt_cy
  .info_capt_offs dd info_capt_offs
  .el_focus   dd el_focus
  .p_scrol    dd p_scrol
  .p_sb_draw  dd p_sb_draw
  .on_activate dd 0
  .on_press    dd fun_enter
}

data_img - указатель на изображения с иконками узлов.

data_img_sys - указатель на системные изображения (курсор, плюсики, линии, ... все кроме иконок узлов).

p_scrol - указатель на структуру скроллинга, связанного с данным элементом.

p_sb_draw - указатель на функцию перерисовки вертикального скроллинга (scrollbar_ver_draw).

fun_enter - указатель на функцию, которая будет вызвана при нажитии [Enter]. Если указатель равен 0 то ничего не будет вызыватся.

Стили элемента

tl_key_no_edit

Элемент нельзя редактировать на клавиатуре (изменять уровни, удалять). Ставьте этот стиль если нужно создать элемент только для просмотра данных.

tl_draw_par_line

Рисовать линии к родительскому узлу.

tl_list_box_mode

Стиль не отображает уровни (как в ListBox все узлы одного уровня).