LINUX.ORG.RU

Tcl/tk, text, подгрузка содержимого по частям

 ,


0

1

Доброго времени суток!

Есть задача редактора некоторых текстовых данных большого объема. Порядка десятков миллионов строк. Делаю редактор на Tcl/tk, пока на базе виджета text. Грузить все данные - слишком медленно и не нужно, редактирование локальное, навигация - либо локальная, в окрестности текущей позиции, либо переходом в какую-то заданную позицию. Глобальная непрерывная навигация не нужна.

Правильнее всего грузить небольшими кусочками, то есть редактор представляет небольшое перемещаемое окно в основной массив данных. Данные берутся с сервера, но это не суть важно.

Вопрос - есть ли готовые виджеты или модификации text, которые бы уже реализовывали эту идею? Хочется простого API, позволяющего задать обработчики событий «подгрузить кусочек X», осуществлять переход по нужному индексу, задавать сами индексы. В моей задаче индексами могут быть номера строк, соответственно, виджет должен сам уметь определять нужный размер окна и запрашивать соответствующие диапазоны индексов для подгрузки. И нужно сохранить основной функционал text (я использую стили, теги, возможности редактирования, событии и т.д.).

Я сделал прототип на базовом text, но получилось слегка кучеряво и неуклюже. Задача вроде достаточно общая, возможно решение уже есть?


Мне не попадалось, хотя я новичёк в tcl. Локальное редактирование - это не так быстро - ведь нужно подвинуть следующий текст.

den73 ★★★★★
()

есть ли готовые виджеты или модификации text, которые бы уже реализовывали эту идею?

нет. виджет text вообще не в курсе про файлы, индексы и прочую лабудень. Вы ему сказали - редактировать строчки пережающиесе тегами, он это делает. Всё прочее - сугубо ваша епархия.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Ну с самим text - понятно. Была надежда, что есть уже готовая надстройка или совместимый виджет. Тут ведь не нужно сразу тащить какую-то специфику, достаточно реализовать общую логику подгрузки данных при навигации.

По крайней мере, задача реализации небольшого окна-отображения в большой массив данных - очень частая. С редактированием все несколько менее универсально, конечно.

moroz
() автор топика
Ответ на: комментарий от den73

Не всегда вставка/замена - дорогая операция. Не обязательно речь о файле ведь идет.

Но подробности представления данных тут не очень важны, интересна именно реализация перемещаемого окна в большой массив данных.

moroz
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.