Многооконный текстовый редактор с менюшками и прибамбасами, построен на базе
класса TEXTEDIT.
Атрибуты/свойства
Название атрибута
Значение атрибута
className
"MEDIT"
nTop
координата окна: левый верхний угол - строка
nLeft
координата окна: левый верхний угол - колонка
nBottom
координата окна: правый нижний угол - строка
nRight
координата окна: правый нижний угол - колонка
Методы/функции
Функция medit(par, ntop, nleft, nbot, nright, user_func, tab_size, bline, bpos, wline, wpos)
- создает новый объект класса MEDIT
par - string, список имен файлов, которые предназначены для редактирования
ntop - кордината окна редактирования: левый верхний угол - строка
nleft - кордината окна редактирования: левый верхний угол - колонка
nbot - кордината окна редактирования: правый нижний угол - строка
nright - кордината окна редактирования: правый нижний угол - колонка
user_func - пользовательская функция
tab_size - шаг табуляции
bline - строка текста
bpos - позиция в строке
wline - позиция курсора в окне: строка
wpos - позиция курсора в окне: колонка
Возможности редактора
Работа с окнами
- открыть
- открыть share-окно
- закрыть
- посмотреть список открытых окон
Работа с блоками
- блоки строчные/прямоугольные
- копирование
- перемещение
- копрование в буфер
- вставка блока из буфера
- загрузка из файла
- запись в файл
Работа с текстом
- всяческие перемещения и стандартное редактирование текста
- форматирование строки/абзаца
- рисование таблиц (псевдографика)
- откат (настраиваемый размер буфера отката)
- вставка по шаблону - настраивается пользователем (см. класс TEXTEDIT)
- макроподстановки - настраивается пользователем (см. класс TEXTEDIT)
Операции поиска
- поиск(поиск с заменой) по шаблону, по регулярному выражению - ищет в тексте,
в блоке, во всех окнах
- поиск парных символов (), {}, [], <>
- поиск структур по правилам CLIPPER:
DO WHILE - LOOP - EXIT - ENDDO
DO CASE - CASE - OTHERWISE - EXIT - ENDCASE
FOR - EXIT - LOOP - NEXT
IF - ELSE - ELSEIF - ENDIF
BEGIN SEQUENCE - BREAK - RECOVER - END SEQUENCE
Настройка "горячих" клавиш по желанию пользователя.
"Пользовательские кнопки" при старте загружаются из файла keymaps.po. Он
хранится в домашнем каталоге в директории ./clip и компилируется из файла
keymaps.prg
Пример файла keymaps.prg
/* User key_maps */
#include "inkey.ch"
function init_user_key(key_maps)
local k
/* for debugger */
k:=key_maps:debug
/* Код клавиши Команда */
k[ K_ESC ] :=HASH_CallMenu
k[ K_F1 ] :=HASH_Help
.........
/* for text editor */
k:=key_maps:edit
/* Код клавиши Команда */
k[ K_ESC ] :=HASH_CallMenu // call Menu
// k[ ] :=HASH_ExitSave // exit from editor witch save
// k[ ] :=HASH_ExitNoSave //exit from editor witchout save
/* file/window function */
k[ K_F2 ] :=HASH_SaveFile // save File
k[ K_F3 ] :=HASH_OpenFile // open file
k[ K_SH_F3 ] :=HASH_CreateNewFile // create new file
k[ K_CTRL_N ] :=HASH_NextWindow // open next window
// k[ ] :=HASH_PrevWindow // open previous window
// k[ ] :=HASH_ReadOnly // on/off read only options
// k[ ] :=HASH_ListFiles // listing opening files
// k[ ] :=HASH_CloseWindow // close current window
// k[ ] :=HASH_Reload // reload file
.............
return key_maps