Jump to content

Box lib filebrowser/ru

From KolibriOS wiki

Функции

  • FileBrowser_draw - рисование элемента, параметры перерисовки задаются в переменной fb_all_redraw (доступные значения 0,1,2).
  • FileBrowser_mouse - эта функция должна вызываться при вводе информации с мыши.
  • FileBrowser_key - выполнение действий по нажатию клавиш. Перед вызовом функции в переменной fb_key_action должно передаваться одно из значений от 1 до 12.
  • version_FileBrowser - версия элемента.

Структура file_browser

Описание параметров структуры:

file_browser:
fb_type				equ dword [edi]
fb_size_x			equ [edi+4]		;word
fb_start_x			equ [edi+6]		;word
fb_size_y			equ [edi+8]		;word
fb_start_y			equ [edi+10]		;word
fb_icon_size_y			equ word [edi+12]
fb_icon_size_x			equ word [edi+14]
fb_line_size_x			equ word [edi+16]
fb_line_size_y			equ word [edi+18]
fb_type_size_x			equ word [edi+20]
fb_size_size_x			equ word [edi+22]
fb_date_size_x			equ word [edi+24]
fb_attributes_size_x		equ word [edi+26]
fb_icon_assoc_area		equ dword [edi+28]
fb_icon_raw_area		equ dword [edi+32]
fb_resolution_raw		equ dword [edi+36]
fb_palette_raw			equ dword [edi+40]
fb_directory_path_area		equ dword [edi+44]
fb_file_name_area		equ dword [edi+48]
fb_select_flag			equ dword [edi+52]
fb_background_color		equ dword [edi+56]
fb_select_color			equ dword [edi+60]
fb_seclect_text_color		equ dword [edi+64]
fb_text_color			equ dword [edi+68]
fb_reduct_text_color		equ dword [edi+72]
fb_marked_text_color		equ dword [edi+76]
fb_max_panel_line		equ dword [edi+80]
fb_select_panel_counter		equ dword [edi+84]
fb_folder_block			equ dword [edi+88]
fb_start_draw_line		equ dword [edi+92]
fb_start_draw_cursor_line	equ word [edi+96]
fb_folder_data			equ dword [edi+98]
fb_temp_counter			equ dword [edi+102]
fb_file_name_length		equ dword [edi+106]
fb_marked_file			equ dword [edi+110]
fb_extension_size		equ dword [edi+114]
fb_extension_start		equ dword [edi+118]
fb_type_table			equ dword [edi+122]
fb_ini_file_start		equ dword [edi+126]
fb_ini_file_end			equ dword [edi+130]
fb_draw_scroll_bar		equ dword [edi+134]
fb_font_size_y			equ word [edi+138]
fb_font_size_x			equ word [edi+140]
fb_mouse_keys			equ dword [edi+142]
fb_mouse_keys_old		equ dword [edi+146]
fb_mouse_pos			equ dword [edi+150]
fb_mouse_keys_delta		equ dword [edi+154]
fb_mouse_key_delay		equ dword [edi+158]
fb_mouse_keys_tick		equ dword [edi+162]
fb_start_draw_cursor_line_2	equ word [edi+166]
fb_all_redraw			equ dword [edi+168]
fb_selected_BDVK_adress		equ dword [edi+172]
fb_key_action			equ dword [edi+176]
fb_name_temp_area		equ dword [edi+180]
fb_max_name_temp_size		equ dword [edi+184]
fb_display_name_max_length	equ dword [edi+188]
fb_draw_panel_selection_flag	equ dword [edi+192]
fb_mouse_pos_old		equ dword [edi+196]
fb_marked_counter		equ dword [edi+200]
  • fb_type - тип элемента, если:
    • 0 - открыть,
    • 1 - сохранить,
    • 2 - выбрать директорию
  • fb_size_x - ширина элемента (без скроллинга).
  • fb_start_x - отступ слева (положение по x)
  • fb_size_y - высота элемента.
  • fb_start_y - отступ сверху (положение по y)
  • fb_icon_size_y - высота иконки.
  • fb_icon_size_x - ширина иконки.
  • fb_line_size_y - высота линии.
  • fb_type_size_x - ширина колонки с типом файлов (зарезервировано, пока не используется).
  • fb_size_size_x - ширина колонки с размером файлов (зарезервировано, пока не используется).
  • fb_date_size_x - ширина колонки с датой файлов (зарезервировано, пока не используется).
  • fb_attributes_size_x - ширина колонки с атрибутами файлов (зарезервировано, пока не используется).
  • fb_icon_raw_area - данные для отображения иконок.
  • fb_resolution_raw - колличество бит на пиксель в данных для отображения иконок.
  • fb_background_color - цвет фона.
  • fb_select_color - цвет курсора.
  • fb_select_flag - 0,1.
  • fb_max_panel_line - максимальное число строк в окне.
  • fb_select_panel_counter - 0 - панель не в фокусе, 1 - панель в фокусе.
  • fb_folder_block - количество блоков данных входа каталога (БДВК).
  • fb_start_draw_line - номер первого отображаемого в окне файла или папки (номерация начинается с 0).
  • fb_start_draw_cursor_line - позиция курсора для выбора файла или папки (координата y в пикселях относительно fb_start_y).
  • fb_folder_data - буфер с информацией о файлах.
  • fb_type_table - указатель на память для заполнения строки с типом, размером и датой файла.
  • fb_ini_file_start - начало данных с расширениями и номерами иконок, получаемых из *.ini файла. Пример формата данных:
<dir>=0\n
<up>=1\n
<dic>=3\n
<doc>=3\n
...
src=61\n
vox=74\0
  • fb_ini_file_end - начало данных с расширениями и номерами иконок, получаемых из *.ini файла.
  • fb_draw_scroll_bar - параметр необходимости обновления дочернего скроллинга:
    • 0 - дочерний скроллинг обновлять не нужно,
    • 1 - изменилась позиция fb_start_draw_line и нужно обновить дочерний скроллинг.
  • fb_mouse_keys_delta - 0,1,2,3.
  • fb_all_redraw - параметр для функции FileBrowser_draw, задает параметры перерисовки:
    • 0 - текст,
    • 1 - все окно,
    • 2 - иконки с текстом.

  • fb_key_action - код клавиатурного события для функции FileBrowser_key, возможные значения:
    • 1 - стрелка вниз
    • 2 - стрелка вверх
    • 3 - PageDown
    • 4 - PageUp
    • 5 - Home
    • 6 - End
    • 7 - Enter
    • 8 - Insert (выделение файла)
    • 9 - Ctrl+A выделить все файлы
    • 10 - отменить выделение файлов
    • 11 - обратить выделение файлов
    • 12 - поиск по букве
  • fb_draw_panel_selection_flag - внутренняя переменная, определяет с каким фоном будет рисоваться текст (fb_background_color или fb_select_color).