RAV_ListFormat — шаблон для сохранения и настройки формата списков

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
Полимат
Сообщения: 1881
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 33 раза
Поблагодарили: 13 раз

RAV_ListFormat — шаблон для сохранения и настройки формата списков

Сообщение gopstop2007 »

RAV_ListFormat — шаблон для сохранения и настройки формата списков

Автономный модуль + шаблон Clarion 10 (ABC), который даёт пользователям вашего приложения возможность настраивать любой список (LIST/BROWSE) под себя — с сохранением настроек отдельно для каждого пользователя и каждого списка — и добавляет разработчику готовый набор инструментов без единой строчки ручного кода в окне.

С огромной благодарностью Игорю Столярову — этот модуль и шаблон созданы на основе его кода и идей.
Дополнил и оформил: Рыбников А.

Что умеет

Для пользователя приложения
Spoiler
  • Перетаскивание колонок мышью — меняется порядок, курсор показывает режим переноса
  • Правый клик по шапке колонки — контекстное меню: скрыть/показать (в т.ч. «показать все скрытые»), переместить влево/вправо, подогнать ширину под текст или под все видимые колонки, прижать текст/заголовок влево или вправо, зафиксировать колонку у левого края, задать формат отображения (числа/даты/деньги) с живым примером, увеличить/уменьшить/сбросить масштаб
  • Полноценное окно-редактор («Настройка таблицы») — одним экраном:
    • список всех колонок с чекбоксами вкл/выкл, иконками статуса, точным вводом ширины (двойной клик по ячейке)
    • поиск колонки по маске * и ?
    • фильтр «Все / Рабочие / Скрытые / Уменьшенные / Увеличенные»
    • визуальная подсветка изменённых колонок — прямо в списке редактора и в самом настраиваемом списке одновременно
    • объединение соседних колонок в группу с собственным названием («Оплата» над «К оплате» + «Оплачено»), переименование группы, разбор группы обратно
    • границы между колонками, цвет и оформление заголовков
    • вкладка «Оформление»: высота строки, размер и семейство шрифта (5 вариантов), цвет сетки, цвет выделения строки, чувствительность колеса мыши
    • вкладки «Описание» и «Клавиши» — встроенная справка для конечного пользователя
    • окно тянется за мышью (resize), кнопка «Сброс настроек по умолчанию» (F5)
  • Масштаб списка одним движением — Ctrl+ / Ctrl- (и NumPad, и основной ряд клавиатуры), кнопки на окне или пункты меню шапки: одновременно меняются шрифт, высота строки и ширина всех колонок. Уровень масштаба хранится отдельно от пользовательских настроек колонок — сброс всегда возвращает точный исходный вид, ничего не портится
  • Два независимых режима раскладки — компактный (максимум строк на экране) и горизонтальный (крупнее, для просмотра большого числа полей), с собственными наборами настроек, переключаются одной кнопкой
Для разработчика
Spoiler
  • Полностью автономный модуль — никакой ABC BrowseClass, никакого словаря приложения, только нативный TopSpeed и ASCII. Вешается на существующий список без переделки процедуры
  • Готовый Clarion Template — перетащить на процедуру, указать объект списка и уникальный ID настроек, галочками включить нужные функции (меню шапки, drag-and-drop, масштаб, режимы раскладки) — весь код генерируется автоматически с чёткими маркерами Start/End
  • Два Control-шаблона-кнопки — «Открыть редактор настроек» и «Кнопки масштаба (+/−/сброс)» — перетаскиваются на окно рядом со списком, сами находят нужный список и привязываются к нему
  • Работает с мульти-DLL — модуль компилируется один раз в data-DLL с Export List, в остальных DLL/EXE — только INCLUDE прототипов
  • Миграция настроек «на лету» — если у пользователей уже есть старый файл настроек другого формата, модуль сам переносит данные при первом запуске, ничего не теряя
  • Устойчивая структура файла настроек — предусмотрен резерв под будущее расширение без пересоздания файлов пользователей
Требования
  • Clarion 10, ABC
  • Никаких сторонних библиотек — только стандартный RTL
Установка

Стандартная структура Clarion10\accessory\ (libsrc\win, template\win, images, doc) — распаковать поверх установки Clarion, подробная инструкция и пример подключения к стандартному или мульти-DLL проекту — в README.txt внутри архива.

Автономный, без зависимостей от словаря и ABC

Замечания в работе и усовершенствования шаблона приветствуются.
Вложения
RAV_ListFormat.zip
(55.44 КБ) 1 скачивание
Последний раз редактировалось gopstop2007 06 Июль 2026, 22:28, всего редактировалось 2 раза.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
Полимат
Сообщения: 1881
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 33 раза
Поблагодарили: 13 раз

RAV_ListFormat — шаблон для сохранения и настройки формата списков

Сообщение gopstop2007 »

Вот еще интерфейсы, чтобы было наглядно и понятно.
Вложения
ListF4.png
ListF6.png
ListF5.png
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
Полимат
Сообщения: 1881
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 33 раза
Поблагодарили: 13 раз

RAV_ListFormat — шаблон для сохранения и настройки формата списков

Сообщение gopstop2007 »

обновил архив, исправил баг с позиционированием записи на списке и подправил драг-дроп, чтобы было видно с подсветкой шапки при перетягивании колонки.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить