Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1277 IgorA 1
2
3
элемент Tree List
4
5
45
46
47

Оглавление

48

Введение

49

Функции

50
    51
  • tl_data_init
  • 52
  • tl_data_clear
  • 53
  • tl_info_clear
  • 54
  • tl_key
  • 55
  • tl_mouse
  • 56
  • tl_draw
  • 57
  • tl_info_undo
  • 58
  • tl_info_redo
  • 59
  • tl_node_add
  • 60
  • tl_node_set_data
  • 61
  • tl_node_get_data
  • 62
  • tl_node_delete
  • 63
  • tl_cur_beg
  • 64
  • tl_cur_next
  • 65
  • tl_cur_perv
  • 66
  • tl_node_close_open
  • 67
  • tl_node_lev_inc
  • 68
  • tl_node_lev_dec
  • 69
  • tl_node_poi_get_info
  • 70
  • tl_node_poi_get_next_info
  • 71
  • tl_node_poi_get_data
  • 72
  • version_tree_list
  • 73
    74

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

    75
     
    76

    Введение

    77

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

    78

    79
     
    80

    Функции

    81
     
    82

    tl_data_init

    83

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

    84

    tl_data_clear

    85

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

    86

    tl_info_clear

    87

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

    88

    tl_key

    89

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

    90

    tl_mouse

    91

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

    92

    tl_draw

    93

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

    94

    tl_info_undo

    95

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

    96

    tl_info_redo

    97

    98

    tl_node_add

    99

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

    100

    tl_node_set_data

    101

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

    102

    tl_node_get_data

    103

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

    104

    tl_node_delete

    105

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

    106

    tl_cur_beg

    107

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

    108

    tl_cur_next

    109

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

    110

    tl_cur_perv

    111

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

    112

    tl_node_close_open

    113

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

    114
     то ничего не делает. Автоматически перерисовывает окно если состояние узла изменилось.

    115

    tl_node_lev_inc

    116

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

    117

    tl_node_lev_dec

    118

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

    119

    tl_node_poi_get_info

    120

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

    121

    tl_node_poi_get_next_info

    122

    123

    tl_node_poi_get_data

    124

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

    125

    version_tree_list

    126

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

    127
     
    128

    Структура tree_list

    129
    struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
    130
        col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
    131
        el_focus, p_scrol,p_sb_draw,fun_enter {
    132
      .data_info  dd 0
    133
      .info_size  dw info_size
    134
      .info_max_count dd info_max_count
    135
      .style      dd style
    136
      .data_nodes dd 0
    137
      .data_img   dd 0
    138
      .img_cx     dw img_cx
    139
      .img_cy     dw img_cy
    140
      .data_img_sys dd 0
    141
      .ch_tim     dd 0
    142
      .ls_tim     dd 0
    143
      .tim_undo   dd 0
    144
      .cur_pos    dd 0
    145
      .col_bkg    dd col_bkg
    146
      .col_zag    dd col_zag
    147
      .col_txt    dd col_txt
    148
      .box_lert   dd box_l
    149
      .box_top    dd box_t
    150
      .box_width  dd box_w
    151
      .box_height dd box_h
    152
      .capt_cy    dw capt_cy
    153
      .info_capt_offs dd info_capt_offs
    154
      .el_focus   dd el_focus
    155
      .p_scrol    dd p_scrol
    156
      .p_sb_draw  dd p_sb_draw
    157
      .on_activate dd 0
    158
      .on_press    dd fun_enter
    159
    }
    160

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

    161

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

    162

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

    163

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

    164

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

    165
     
    166

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

    167

    tl_key_no_edit

    168

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

    169

    tl_draw_par_line

    170

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

    171

    tl_list_box_mode

    172

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

    173
     
    174
    175