diff --git a/programs/develop/libraries/box_lib/trunk/doc/box_lib.htm b/programs/develop/libraries/box_lib/trunk/doc/box_lib.htm index de6c621a54..8cd3e1df51 100644 --- a/programs/develop/libraries/box_lib/trunk/doc/box_lib.htm +++ b/programs/develop/libraries/box_lib/trunk/doc/box_lib.htm @@ -2,51 +2,13 @@ библиотека boxlib - +

Оглавление

Введение

Элементы библиотеки

+

Авторский состав

Введение

Библиотека box_lib.obj содержит разные элементы управления, которые можно @@ -56,7 +18,7 @@ table { font-size: 15px; }

Элементы библиотеки

+

Авторский состав

+

Алексей Теплов aka <Lrz>

+

Марат Закиянов aka Mario79, aka Mario

+

Евтихов Максим aka Maxxxx32

+

Евгений Гречников aka Diamond

+

hidnplayr

+

Игорь Афанасьев aka IgorA

+
-

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

+

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

\ No newline at end of file diff --git a/programs/develop/libraries/box_lib/trunk/doc/checkbox/info_checkbox.htm b/programs/develop/libraries/box_lib/trunk/doc/checkbox/info_checkbox.htm new file mode 100644 index 0000000000..822c35719d --- /dev/null +++ b/programs/develop/libraries/box_lib/trunk/doc/checkbox/info_checkbox.htm @@ -0,0 +1,62 @@ + + +элемент Check Box + + + + +

На главную ↑

+

Оглавление

+

Введение

+

Функции

+ +

Структура checkbox

+

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

+ +

Введение

+

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

+ +

Функции

+ +

check_box_draw

+

Эта функция должна вызыватся при вводе информации с клавиатуры.

+ +

check_box_mouse

+

Эта функция должна вызыватся при вводе информации с мыши.

+ +

version_ch

+

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

+ +

Структура checkbox

+
struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
+{        ;структура параметров для чек бокса
+.left:    dw left    ;+0
+.top:     dw top     ;+2
+.ch_text_margin: dd ch_text_margin ;+4
+.ch_size: dd ch_size ;+8
+.color:   dd color   ;+12
+.border_color: dd border_color ;цвет рамки
+.text_color:   dd text_color   ;цвет надписи
+.text:         dd text         ;адрес в коде программы где расположен текст
+.ch_text_length: dd ch_text_length ;длинна строки с символами
+.flags: dd flags+0   ;флаги
+}
+

left - отступ слева (положение по x).

+

top - отступ сверху (положение по y).

+

ch_text_margin - расстояние от прямоугольника чек бокса до надписи.

+

ch_size - размер квадрата чек бокса, как стандартное значение было принято 12.

+

color - цвет внутри чекбокса.

+ +

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

+ +

ch_flag_en

+

Флажок выбран.

+ +
+

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

+ + \ No newline at end of file diff --git a/programs/develop/libraries/box_lib/trunk/doc/editbox/info_editbox.htm b/programs/develop/libraries/box_lib/trunk/doc/editbox/info_editbox.htm index d47258478d..b2effaee52 100644 --- a/programs/develop/libraries/box_lib/trunk/doc/editbox/info_editbox.htm +++ b/programs/develop/libraries/box_lib/trunk/doc/editbox/info_editbox.htm @@ -2,48 +2,10 @@ элемент Edit Box - + +

На главную ↑

Оглавление

Введение

Функции

@@ -57,6 +19,8 @@ table { font-size: 15px; }

Введение

Текстовое поле, используется при вводе текстовой/числовой информации.

+

+

Рис. 1. Окно программы fasm с 3-мя элементами EditBox

Функции

@@ -94,7 +58,13 @@ table { font-size: 15px; } .shift_old dd 0 }

width - ширина элемента.

-

left - отступ слева.

+

left - отступ слева (положение по x).

+

top - отступ сверху (положение по y).

+

color - цвет фона.

+

shift_color - цвет выделения при удерживании [Shift] или мышкой.

+

focus_border_color - цвет рамки когда поле в фокусе.

+

blur_border_color - цвет рамки когда поле не в фокусе.

+

text_color - цвет текста.

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

@@ -104,6 +74,6 @@ table { font-size: 15px; }

Текстовое поле в фокусе.


-

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

+

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

\ No newline at end of file diff --git a/programs/develop/libraries/box_lib/trunk/doc/editbox/window_fasm.png b/programs/develop/libraries/box_lib/trunk/doc/editbox/window_fasm.png new file mode 100644 index 0000000000..7df06d5ef5 Binary files /dev/null and b/programs/develop/libraries/box_lib/trunk/doc/editbox/window_fasm.png differ diff --git a/programs/develop/libraries/box_lib/trunk/doc/style.css b/programs/develop/libraries/box_lib/trunk/doc/style.css new file mode 100644 index 0000000000..83ea644faf --- /dev/null +++ b/programs/develop/libraries/box_lib/trunk/doc/style.css @@ -0,0 +1,84 @@ +body +{ + font-size: 15px; + font-family: "Bookman Old Style"; + color: black; + text-align: justify; +} +h1 { + color: white; + background-color: 808080; + font-size: 25px; + text-align: center; +} +h2 { color: green; font-size: 21px; } +h3 { color: green; font-size: 19px; } +h4 { color: #803f00; font-size: 17px; } +i { color: #0099cc; } +b { color: #0099cc; } +p { + text-indent: 2em; + margin-top: 3px; + margin-bottom: 2px; + margin-left: 0px; + margin-right: 0px; +} +ol, ul, dl{ + margin-top: 3px; + margin-bottom: 2px; +} +pre{ + font-family: "Courier New"; + font-size: 15px; + padding-left: 10px; + padding-top: 5px; + padding-bottom: 5px; + color: #004000; + background: #ffd0ff; +} +pre font.f0 { color: #ffff00; } +pre font.f1 { color: #ffffff; } +pre font.f2 { color: #00ff00; } +pre font.f3 { color: #00ffff; } +pre font.f4 { color: #808080; } +pre font.f5 { color: #ff40ff; } +pre font.f6 { color: #4080ff; } +pre font.f7 { color: #ff0000; } +pre font.f8 { color: #ffcc00; } +pre font.f9 { color: #00ccff; } + +caption +{ + padding-top: 5px; + padding-bottom: 5px; + text-align: center; + font-weight: bold; + text-align: center; +} +table +{ + font-size: 10px; + border-collapse: collapse; + border: #000000 1px solid; + background-color: #c0e7fb; +} +table td +{ + border: none; + text-align: center; +} +table th +{ + border: none; + padding-right: 10px; + padding-left: 10px; + color: #ffffff; + background-color: #0033ff; +} +table pre +{ + text-align: left; +} +td hr{ + color: black; +} \ No newline at end of file diff --git a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_size.png b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_size.png new file mode 100644 index 0000000000..b765c71383 Binary files /dev/null and b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_size.png differ diff --git a/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm new file mode 100644 index 0000000000..3069a6573b --- /dev/null +++ b/programs/develop/libraries/box_lib/trunk/doc/tree_list/info_treelist.htm @@ -0,0 +1,240 @@ + + +элемент Tree List + + + + +

На главную ↑

+

Оглавление

+

Введение

+

Функции

+ +

Структура tree_list

+

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

+ +

Введение

+

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

+

+

Рис. 1. Окно программы с элементом TreeList

+ +

Функции

+ +

tl_data_init

+

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

+

tl_data_clear

+

Деструктор элемента, чистит память по указателям: data_info, data_nodes, data_img и data_img_sys. Если в программе используется несколько элементов с одинаковыми иконками, то указатели data_img и data_img_sys нужно приравнять к 0 в других элементах, так что-бы при вызове деструкторов не было повторного удаления одних и тех же иконок.

+ +

tl_info_clear

+

Очистка списка от всех узлов. Это действие нельзя отменить функцией tl_info_undo.

+ +

tl_key

+

Функция которую нужно вызывать при нажатии на клавиатуру. + Кнопки, которые не доступны если есть стиль tl_key_no_edit: [Enter], [Delete], [], []. + Всегда доступны: [], [], [Page Up], [Page Dn], [Space]. + Функция проверяет включен ли режим scan кодов, и в случае необходимости сама преобразует коды.

+ +

tl_mouse

+

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

+ +

tl_draw

+

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

+ +

tl_info_undo

+

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

+ +

tl_info_redo

+

Повтор отмененных действий. Обратная функция по отношению к tl_info_undo.

+ +

tl_node_add

+

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

+
  push dword tree1
+  push dword 0x10002
+  push dword data_buffer
+  call dword[tl_node_add]
+

где: tree1 - структура tree_list; + 0x10002 - параметры узла (старшие байты 0x0001 - индекс иконки, отображаемой возле узла; меньший байт 0x02 - уровень вложености узла); data_buffer - указатель на дынные, добавляемые в узел.

+ +

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_move_up

+

Перемещает вверх узел под курсором. Вместе с узлом двигается также и курсор. Пример использования функции:

+
  push dword tree1
+  call dword[tl_node_move_up] ;переместить узел
+

где: tree1 - структура tree_list

+ +

tl_node_move_down

+

Перемещает вниз узел под курсором. Вместе с узлом двигается также и курсор. Пример использования функции:

+
  push dword tree1
+  call dword[tl_node_move_down] ;переместить узел
+

где: tree1 - структура tree_list

+ +

tl_node_poi_get_info

+

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

+

tl_node_poi_get_next_info

+

Берет указатель на следующий элемент в цепи, без учета открытия/закрытия дочерних узлов.

+

tl_node_poi_get_data

+

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

+ +

Функциями tl_node_poi_get_info, tl_node_poi_get_next_info и tl_node_poi_get_data можно считывать информацию о узлах элемента, при этом не меняя текущего положения курсора. Т. е. можно организовать доступ к даным элемента в "фоновом режиме".

+ +

tl_save_mem

+

Сохраняет информацию об узлах элемента в память. Пример использования функции:

+
  MEM_SIZE equ 5000
+  node_data rb MEM_SIZE
+.........
+  push dword tree1
+  push dword 0
+  push dword node_data
+  push dword MEM_SIZE
+  call dword[tl_save_mem]
+  pop eax
+

где: tree1 - структура tree_list; + 0 - опция сохранения в начало блока памяти (если = 1, то добавляет элемент после других сохраненных ранее); + node_data - указатель на блок памяти; + MEM_SIZE - размер блока памяти для сохранения. +В регистр eax пишется значение 0 или записываются коды ошибок сохранения.

+ +

tl_load_mem

+

Загружает информацию об узлах элемента из памяти. Пример использования функции:

+
  MEM_SIZE equ 5000
+  node_data rb MEM_SIZE
+.........
+  push dword tree1
+  push dword 0
+  push dword node_data
+  push dword MEM_SIZE
+  call dword[tl_load_mem]
+  pop eax
+

где: tree1 - структура tree_list; + 0 - индекс считываемого элемента; + node_data - указатель на блок памяти; + MEM_SIZE - размер блока памяти для сохранения. +В регистр eax пишется значение 0 или записываются коды ошибок считывания.

+ +

tl_get_mem_size

+

Вычисляет размер блока памяти (в который были раньше сохранены элементы). + Эту функцию можно использовать перед сохранением на диск, для получения точного + размера сохраняемых данных.

+ +

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,\
+    info_capt_len,el_focus, p_scrol,on_press {
+  .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_left   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 dw info_capt_offs
+  .info_capt_len  dw info_capt_len
+  .el_focus    dd el_focus
+  .p_scrol     dd p_scrol
+  rb 4
+  .on_activate dd 0
+  .on_press    dd on_press
+}
+

info_size - количество байт, которое будет выделено для каждого узла. Часть этой памяти пользователь может использовать для своих целей (регулируется через info_capt_offs и info_capt_len см. рис. 2) а остальная часть будет использована как подпись узла.

+

info_max_count - максимальное количество узлов, которые можно добавить в элемент.

+

style - стили элемента.

+

data_nodes - указатель на внутренние структуры узлов (TreeList).

+

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

+

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

+

capt_cy - высота строки для подписи вверху элемента, если меньше 9 подпись не выводится.

+

info_capt_len - длинна текста для подписи. Если равно 0, то длинна считается так: info_size - info_capt_offs.

+

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

+

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

+ +

+

Рис. 2. Параметры info_size, info_capt_offs и info_capt_len в узле

+ +

Пример создания структуры:

+
tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
+    0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\
+    el_focus, wScr,fun_on_enter
+ +

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

+

tl_key_no_edit

+

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

+

tl_draw_par_line

+

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

+

tl_list_box_mode

+

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

+ +
+

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

+ + \ No newline at end of file diff --git a/programs/develop/libraries/box_lib/trunk/doc/tree_list/window_tree_list.png b/programs/develop/libraries/box_lib/trunk/doc/tree_list/window_tree_list.png new file mode 100644 index 0000000000..7c730fbf98 Binary files /dev/null and b/programs/develop/libraries/box_lib/trunk/doc/tree_list/window_tree_list.png differ