Subversion Repositories Kolibri OS

Rev

Rev 1476 | Rev 2086 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. fn_col_option dd def_col_file
  2. fn_syntax_dir db 'info/',0
  3. def_col_file db 'default.syn',0
  4.  
  5. system_dir0 db '/sys/lib/'
  6. boxlib_name db 'box_lib.obj',0
  7.  
  8. fn_icon_tl_sys db 'tl_sys_16.bmp',0
  9. fn_icon_tl_nod db 'tl_nod_16.bmp',0
  10. ;---------------------------------------------------------------------
  11.  
  12. align 4
  13. boxlib_import:
  14. dd alib_init2 ;ЇєэъЎш  чряєёърхЄё  ьръЁюёюь 1 Ёрч яЁш яюфъы■ўхэшш сшсшышюЄхъш, яюЄюьє т яЁюуЁрььх ьхЄър эр эхх эх эєцэр
  15.  
  16. edit_box_draw  dd aEdit_box_draw
  17. edit_box_key   dd aEdit_box_key
  18. edit_box_mouse dd aEdit_box_mouse
  19. version_ed     dd aVersion_ed
  20.  
  21. ;check_box_draw dd aCheck_box_draw
  22. ;check_box_mouse dd aCheck_box_mouse
  23. ;version_ch     dd aVersion_ch
  24.  
  25. ;option_box_draw  dd aOption_box_draw
  26. ;option_box_mouse dd aOption_box_mouse
  27. ;version_op      dd aVersion_op
  28.  
  29. scrollbar_ver_draw  dd aScrollbar_ver_draw
  30. scrollbar_ver_mouse dd aScrollbar_ver_mouse
  31. scrollbar_hor_draw  dd aScrollbar_hor_draw
  32. scrollbar_hor_mouse dd aScrollbar_hor_mouse
  33. version_scrollbar   dd aVersion_scrollbar
  34.  
  35. ;dinamic_button_draw  dd aDbutton_draw
  36. ;dinamic_button_mouse dd aDbutton_mouse
  37. ;version_dbutton      dd aVersion_dbutton
  38.  
  39. tl_data_init dd sz_tl_data_init
  40. tl_data_clear dd sz_tl_data_clear
  41. tl_info_clear dd sz_tl_info_clear
  42. tl_key dd sz_tl_key
  43. tl_mouse dd sz_tl_mouse
  44. tl_draw dd sz_tl_draw
  45. tl_info_undo dd sz_tl_info_undo
  46. tl_info_redo dd sz_tl_info_redo
  47. tl_node_add dd sz_tl_node_add
  48. tl_node_set_data dd sz_tl_node_set_data
  49. tl_node_get_data dd sz_tl_node_get_data
  50. tl_node_delete dd sz_tl_node_delete
  51. tl_cur_beg dd sz_tl_cur_beg
  52. tl_cur_next dd sz_tl_cur_next
  53. tl_cur_perv dd sz_tl_cur_perv
  54. tl_node_close_open dd sz_tl_node_close_open
  55. tl_node_lev_inc dd sz_tl_node_lev_inc
  56. tl_node_lev_dec dd sz_tl_node_lev_dec
  57. tl_node_move_down dd sz_tl_node_move_down
  58. tl_save_mem dd sz_tl_save_mem
  59. tl_load_mem dd sz_tl_load_mem
  60.  
  61. ted_but_save_file dd sz_ted_but_save_file
  62. ted_but_sumb_upper dd sz_ted_but_sumb_upper
  63. ted_but_sumb_lover dd sz_ted_but_sumb_lover
  64. ted_can_save dd sz_ted_can_save
  65. ted_clear dd sz_ted_clear
  66. ted_delete dd sz_ted_delete
  67. ted_draw dd sz_ted_draw
  68. ted_init dd sz_ted_init
  69. ted_init_scroll_bars dd sz_ted_init_scroll_bars
  70. ted_init_syntax_file dd sz_ted_init_syntax_file
  71. ted_is_select dd sz_ted_is_select
  72. ted_key dd sz_ted_key
  73. ted_mouse dd sz_ted_mouse
  74. ted_open_file dd sz_ted_open_file
  75. ted_text_add dd sz_ted_text_add
  76. ted_but_select_word dd sz_ted_but_select_word
  77. ted_but_cut dd sz_ted_but_cut
  78. ted_but_copy dd sz_ted_but_copy
  79. ted_but_paste dd sz_ted_but_paste
  80. ted_but_undo dd sz_ted_but_undo
  81. ted_but_redo dd sz_ted_but_redo
  82. ted_but_reverse dd sz_ted_but_reverse
  83. ted_but_find_next dd sz_ted_but_find_next
  84. ted_text_colored dd sz_ted_text_colored
  85. ;version_text_edit dd sz_ted_version
  86.  
  87. dd 0,0
  88. alib_init2 db 'lib_init',0
  89.  
  90. aEdit_box_draw  db 'edit_box',0
  91. aEdit_box_key   db 'edit_box_key',0
  92. aEdit_box_mouse db 'edit_box_mouse',0
  93. aVersion_ed     db 'version_ed',0
  94.  
  95. ;aCheck_box_draw  db 'check_box_draw',0
  96. ;aCheck_box_mouse db 'check_box_mouse',0
  97. ;aVersion_ch     db 'version_ch',0
  98.  
  99. ;aOption_box_draw  db 'option_box_draw',0
  100. ;aOption_box_mouse db 'option_box_mouse',0
  101. ;aVersion_op      db 'version_op',0
  102.  
  103. aScrollbar_ver_draw  db 'scrollbar_v_draw',0
  104. aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
  105. aScrollbar_hor_draw  db 'scrollbar_h_draw',0
  106. aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
  107. aVersion_scrollbar   db 'version_scrollbar',0
  108.  
  109. ;aDbutton_draw    db 'dbutton_draw',0
  110. ;aDbutton_mouse   db 'dbutton_mouse',0
  111. ;aVersion_dbutton  db 'version_dbutton',0
  112.  
  113. sz_tl_data_init db 'tl_data_init',0
  114. sz_tl_data_clear db 'tl_data_clear',0
  115. sz_tl_info_clear db 'tl_info_clear',0
  116. sz_tl_key db 'tl_key',0
  117. sz_tl_mouse db 'tl_mouse',0
  118. sz_tl_draw db 'tl_draw',0
  119. sz_tl_info_undo db 'tl_info_undo',0
  120. sz_tl_info_redo db 'tl_info_redo',0
  121. sz_tl_node_add db 'tl_node_add',0
  122. sz_tl_node_set_data db 'tl_node_set_data',0
  123. sz_tl_node_get_data db 'tl_node_get_data',0
  124. sz_tl_node_delete db 'tl_node_delete',0
  125. sz_tl_cur_beg db 'tl_cur_beg',0
  126. sz_tl_cur_next db 'tl_cur_next',0
  127. sz_tl_cur_perv db 'tl_cur_perv',0
  128. sz_tl_node_close_open db 'tl_node_close_open',0
  129. sz_tl_node_lev_inc db 'tl_node_lev_inc',0
  130. sz_tl_node_lev_dec db 'tl_node_lev_dec',0
  131. sz_tl_node_move_down db 'tl_node_move_down',0
  132. sz_tl_save_mem db 'tl_save_mem',0
  133. sz_tl_load_mem db 'tl_load_mem',0
  134.  
  135. sz_ted_but_save_file    db 'ted_but_save_file',0
  136. sz_ted_but_sumb_upper   db 'ted_but_sumb_upper',0
  137. sz_ted_but_sumb_lover   db 'ted_but_sumb_lover',0
  138. sz_ted_can_save                 db 'ted_can_save',0
  139. sz_ted_clear                    db 'ted_clear',0
  140. sz_ted_delete                   db 'ted_delete',0
  141. sz_ted_draw                             db 'ted_draw',0
  142. sz_ted_init                             db 'ted_init',0
  143. sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
  144. sz_ted_init_syntax_file db 'ted_init_syntax_file',0
  145. sz_ted_is_select                db 'ted_is_select',0
  146. sz_ted_key                              db 'ted_key',0
  147. sz_ted_mouse                    db 'ted_mouse',0
  148. sz_ted_open_file                db 'ted_open_file',0
  149. sz_ted_text_add                 db 'ted_text_add',0
  150. sz_ted_but_select_word  db 'ted_but_select_word',0
  151. sz_ted_but_cut                  db 'ted_but_cut',0
  152. sz_ted_but_copy                 db 'ted_but_copy',0
  153. sz_ted_but_paste                db 'ted_but_paste',0
  154. sz_ted_but_undo                 db 'ted_but_undo',0
  155. sz_ted_but_redo                 db 'ted_but_redo',0
  156. sz_ted_but_reverse              db 'ted_but_reverse',0
  157. sz_ted_but_find_next    db 'ted_but_find_next',0
  158. sz_ted_text_colored             db 'ted_text_colored',0
  159. ;sz_ted_version db 'version_text_edit',0
  160. ;---------------------------------------------------------------------
  161. align 4
  162. ws_dir_lbox: ;фюўхЁэшщ ёъЁюыышэу фы  ¤ыхьхэЄр ListBox
  163. .x:
  164. .size_x     dw 16 ;+0
  165. .start_x    dw 0 ;+2
  166. .y:
  167. .size_y     dw 30 ;+4
  168. .start_y    dw 70 ;+6
  169. .btn_high   dd 15 ;+8
  170. .type       dd 1  ;+12
  171. .max_area   dd 100  ;+16
  172. .cur_area   dd 30  ;+20
  173. .position   dd 0  ;+24
  174. .bckg_col   dd 0xeeeeee ;+28
  175. .frnt_col   dd 0xbbddff ;+32
  176. .line_col   dd 0  ;+36
  177. .redraw     dd 0  ;+40
  178. .delta      dw 0  ;+44
  179. .delta2     dw 0  ;+46
  180. .run_x:
  181. .r_size_x   dw 0  ;+48
  182. .r_start_x  dw 0  ;+50
  183. .run_y:
  184. .r_size_y   dw 0 ;+52
  185. .r_start_y  dw 0 ;+54
  186. .m_pos      dd 0 ;+56
  187. .m_pos_2    dd 0 ;+60
  188. .m_keys     dd 0 ;+64
  189. .run_size   dd 0 ;+68
  190. .position2  dd 0 ;+72
  191. .work_size  dd 0 ;+76
  192. .all_redraw dd 0 ;+80
  193. .ar_offset  dd 1 ;+84
  194. ;---------------------------------------------------------------------
  195.  
  196. count_of_dir_list_files equ 15
  197.  
  198. el_focus dd 0
  199. mouse_dd dd 0
  200.  
  201. tree1 tree_list 264,count_of_dir_list_files+2, tl_key_no_edit+tl_draw_par_line+tl_list_box_mode,\
  202.     16,16, 0x8080ff,0x0000ff,0xffffff, 5,5,180-17,185, 12,0,0, el_focus,\
  203.     ws_dir_lbox,0
  204.  
  205. ;dir_list memory
  206. tree_file_struct:
  207.   dd 1
  208.   dd 0,0,count_of_dir_list_files
  209.   dd dir_mem
  210.   db 0
  211.   dd file_name ;sys_path
  212.  
  213. dir_mem rb 32+304*count_of_dir_list_files
  214.  
  215. ;------------------------------------------------------------------------------
  216. struct TexSelect
  217.   x0 dd ?
  218.   y0 dd ?
  219.   x1 dd ?
  220.   y1 dd ?
  221. ends
  222. ;------------------------------------------------------------------------------
  223. align 4
  224. tedit0: ;структура текстового редактора
  225.         .wnd BOX 195,5+20,325,260 ;+ 0
  226.         .rec BOX 30,13,7,10   ;+16
  227.         .drag_m db 0 ;+32 выделение от мыши
  228.         .drag_k db 0 ;+33 выделение от клавиатуры
  229.         .sel  TexSelect 0,0,0,0 ;+34 структура выделения
  230.         .seln TexSelect ;+50 дополнительная структура выделения
  231.         .tex      dd 0 ;+66 text memory pointer
  232.         .tex_1    dd 0 ;+70 text first symbol pointer
  233.         .tex_end  dd 0 ;+74 text end memory pointer
  234.         .cur_x    dd 0 ;+78 координата x курсора
  235.         .cur_y    dd 0 ;+82 координата y курсора
  236.         .max_chars dd 25002 ;+86 максимальное число символов в одном документе
  237.         .count_colors_text dd 1 ;+90 колличество цветов текста
  238.         .count_key_words   dd 0 ;+94 колличество ключевых слов
  239.         .color_cursor      dd 0xff0000 ;+98 цвет курсора
  240.         .color_wnd_capt    dd 0x0080c0 ;+102 цвет полей вокруг окна
  241.         .color_wnd_work    dd      0x0 ;+106 цвет фона окна
  242.         .color_wnd_bord    dd 0xffffff ;+110 цвет текста на полях
  243.         .color_select      dd 0x0000ff ;+114 цвет выделения
  244.         .color_cur_text    dd 0xffff00 ;+118 цвет символа под курсором
  245.         .color_wnd_text    dd 0x80ffff ;+122 цвет текста в окне
  246.         .syntax_file       dd 0 ;+126 указатель на начало файла синтаксиса
  247.         .syntax_file_size  dd 500 ;+130 максимальный размер файла синтаксиса
  248.         .text_colors       dd 0 ;+134 указатель на массив цветов текста
  249.         .help_text_f1      dd 0 ;+138 указатель на текст справки (по нажатии F1)
  250.         .help_id           dd -1 ;+142 идентификатор для справки
  251.         .key_words_data    dd 0 ;+146 указатель на структуры ключевых слов TexColViv
  252.         .tim_ch      dd ? ;+150 количество изменений в файле
  253.         .tim_undo    dd ? ;+154 количество отмененных действий
  254.         .tim_ls      dd ? ;+158 время последнего сохранения
  255.         .tim_co      dd ? ;+162 время последней цветовой разметки
  256.         .el_focus    dd el_focus ;+166 указатель на переменную элемента в фокусе
  257.         .err_save    db 0 ;+170 ошибка сохранения файла
  258.         .panel_id    db 0 ;+171 номер открытой панели
  259.         .key_new     db 0 ;+172 символ, который будет добавлятся с клавиатуры
  260.         .symbol_new_line db 20 ;+173 символ завершения строки
  261.         .scr_w       dd scrol_w1 ;+174 вертикальный скроллинг
  262.         .scr_h       dd scrol_h1 ;+178 горизонтальный скроллинг
  263.         .arr_key_pos dd 0 ;+182 указатель на массив позиций ключевых слов
  264.         .buffer      dd buf ;+186 указатель на буфер копирования/вставки
  265.         .buffer_find dd 0 ;+190 указатель на буфер для поиска
  266.         .cur_ins     db 1 ;+194 режим работы курсора (обычный или замена)
  267.         .mode_color  db 1 ;+195 режим выделения слов цветом (0-выкл. 1-вкл.)
  268.         .mode_invis  db 0 ;+196 режим показа непечатаемых символов
  269.         .gp_opt      db 0 ;+197 опции возвращаемые функцией ted_get_pos_by_cursor
  270.         .fun_on_key_ctrl_o dd but_ctrl_o ;+198 указатель на функцию вызываемую при нажатии Ctrl+O (открытие файла)
  271.         .fun_on_key_ctrl_f dd 0 ;+202 ... Ctrl+F (вызова/скрытия панели поиска)
  272.         .fun_on_key_ctrl_n dd but_ctrl_n ;+206 ... Ctrl+N (создание нового документа)
  273.         .fun_on_key_ctrl_s dd 0 ;+210 ... Ctrl+S
  274.         .buffer_size       dd BUF_SIZE ;+214 размер буфера копирования/вставки
  275.         .fun_find_err      dd 0 ;+218 указатель на функцию вызываемую если поиск закончился неудачно
  276.         .fun_init_synt_err dd 0 ;+222 указатель на функцию вызываемую при ошибочном открытии файла синтаксиса
  277.         .fun_draw_panel_buttons dd 0 ;+226 указатель на функцию рисования панели с кнопками
  278.         .fun_draw_panel_find    dd 0 ;+230 указатель на функцию рисования панели поиска
  279.         .fun_draw_panel_syntax  dd 0 ;+234 указатель на функцию рисования панели синтаксиса
  280.         .fun_save_err           dd 0 ;+238 указатель на функцию вызываемую если сохранение файла закончилось неудачно
  281.         .increase_size dd 1000 ;+242 число символов на которые будет увечиваться память при нехватке
  282.         .ptr_free_symb dd ? ;+246 указатель на свободную память, в которую можно добавлять символ (используется внутри элемента для ускорения вставки текста)
  283. ;------------------------------------------------------------------------------
  284. align 4
  285. scrol_w1:
  286. .x:
  287. .size_x   dw 16 ;+0
  288. .start_x  dw 85 ;+2
  289. .y:
  290. .size_y   dw 100 ; +4
  291. .start_y  dw  15 ; +6
  292. .btn_high dd  15 ; +8
  293. .type     dd   1 ;+12
  294. .max_area dd 100 ;+16
  295. .cur_area dd  30 ;+20
  296. .position dd   0 ;+24
  297. .bckg_col dd 0xeeeeee ;+28
  298. .frnt_col dd 0xbbddff ;+32
  299. .line_col dd 0x808080 ;+36
  300. .redraw   dd   0 ;+40
  301. .delta    dw   0 ;+44
  302. .delta2   dw   0 ;+46
  303. .run_x:
  304. .r_size_x  dw 0 ;+48
  305. .r_start_x dw 0 ;+50
  306. .run_y:
  307. .r_size_y   dw 0 ;+52
  308. .r_start_y  dw 0 ;+54
  309. .m_pos      dd 0 ;+56
  310. .m_pos_2    dd 0 ;+60
  311. .m_keys     dd 0 ;+64
  312. .run_size   dd 0 ;+68
  313. .position2  dd 0 ;+72
  314. .work_size  dd 0 ;+76
  315. .all_redraw dd 0 ;+80
  316. .ar_offset  dd 1 ;+84
  317. ;---------------------------------------------------------------------
  318. align 4
  319. scrol_h1:
  320. .x:
  321. .size_x     dw 85 ;+0
  322. .start_x    dw 30 ;+2
  323. .y:
  324. .size_y     dw 16 ;+4
  325. .start_y    dw 100 ;+6
  326. .btn_high   dd 15 ;+8
  327. .type       dd 1  ;+12
  328. .max_area   dd 100 ;+16
  329. .cur_area   dd 30  ;+20
  330. .position   dd 0  ;+24
  331. .bckg_col   dd 0xeeeeee ;+28
  332. .frnt_col   dd 0xbbddff ;+32
  333. .line_col   dd 0x808080 ;+36
  334. .redraw     dd 0  ;+40
  335. .delta      dw 0  ;+44
  336. .delta2     dw 0  ;+46
  337. .run_x:
  338. .r_size_x   dw 0  ;+48
  339. .r_start_x  dw 0  ;+50
  340. .run_y:
  341. .r_size_y   dw 0 ;+52
  342. .r_start_y  dw 0 ;+54
  343. .m_pos      dd 0 ;+56
  344. .m_pos_2    dd 0 ;+60
  345. .m_keys     dd 0 ;+64
  346. .run_size   dd 0 ;+68
  347. .position2  dd 0 ;+72
  348. .work_size  dd 0 ;+76
  349. .all_redraw dd 0 ;+80
  350. .ar_offset  dd 1 ;+84
  351. ;---------------------------------------------------------------------
  352.  
  353. align 4
  354. str_file_70:
  355.   rb (5*4+1+4) ;место под структуру для работы с файлом (ф. 70)
  356.  
  357. text_buffer db 500 dup(0)
  358.  
  359. align 4
  360. ;conv_tabl rb 128 ;таблица для конвертирования scan-кода в ascii-код
  361. buf db BUF_SIZE dup(0) ;буфер для копирования | вставки
  362.  
  363. capt_header db 'macro wo txt,lf1,p1,p2,p3{',13
  364.         db '@@: db txt',13,'rb @b+40-$',13,'dd lf1',13,'db p1,p2+0,p3',13,'}',13
  365.         db 'count_colors_text dd (text-color_wnd_text)/4',13
  366.         db 'count_key_words dd (f1-text)/47',13,0
  367. col_1 db 'color_cursor dd ',0   ;+ 98 цвет курсора
  368. col_2 db 'color_wnd_capt dd ',0 ;+102 цвет полей вокруг окна
  369. col_3 db 'color_wnd_work dd ',0 ;+106 цвет фона окна
  370. col_4 db 'color_wnd_bord dd ',0 ;+110 цвет текста на полях
  371. col_5 db 'color_select dd ',0   ;+114 цвет выделения
  372. col_6 db 'color_cur_text dd ',0 ;+118 цвет символа под курсором
  373. col_7 db 'color_wnd_text:',13,0 ;+122 цвет текста в окне
  374.  
  375. capt_lbl_wo db 'text:',13,0
  376. capt_beg_word db 'wo<',39,0
  377. capt_beg_db db ':db ',39,0
  378. capt_end_word db 39,'>,',0
  379. capt_type_dd db 9,'dd ',0
  380. capt_lbl_f1 db 'f1: db 0',13,0
  381. capt_end_word_f1 db 39,',0',13,0
  382. capt_calc_f1 db 'f1'
  383. capt_point db '.',0
  384. capt_lbl_f1_use db '-f1',0
  385. capt_null db '0',0
  386.  
  387. KM_SHIFT equ 0x00010000
  388. KM_CTRL equ 0x00020000
  389. KM_ALT equ 0x00040000
  390. KM_NUMLOCK equ 0x00080000
  391.  
  392. ; KEY CODES
  393. KEY_F1 equ 0x0000003B
  394. KEY_F2 equ 0x0000003C
  395. KEY_F3 equ 0x0000003D
  396.  
  397.