Цитата |
---|
Irregular Expression написал: и уже в main'е (или где у Вас точка входа) вызывать их с нужным параметром. И всё. |
Ага, вопрос только в том, где у меня точка входа?
1. Сначала отрабатывает selection_change , которая есть в любом из 10 доступных пользователю окон (называю их контекстами) для работы с данными. Все эти окна-контексты однотипны\универсальны и могут отображать что угодно - что собственно загрузит в них обработчик действий пользователя. Название и назначение колонок до загрузки в контекст данных не определено. Поведенческая реакция в каждой колонке тоже не предопределена. Она меняестся в зависимости от того, какая таблица загружена в оно.
2 selection_change любого листа контекста содержит одну единственную строку - вызов обработчика ah. Тот определяет, что хотел пользователь тем или иным перемещением по листу контекста. Меню команд нет. Действия пользователя обработчик угадывает по смещениям между ячейками и их частоте, двойному клику, нажатию tab или правой кнопки мыши. В общем, ah производит интерпретацию перемещений по листу контекста. Анализирует, в какой графе они происходили. Обращается к списку, описывающему поведенческую структуру колонок загруженного в контекст типа информации, интерпретирует, какую из доступных команд возможно запросил пользователь своими перемещениями по листу, просит подтверждение выполнения команды и вызывает процедуру, обработчик, которая должна сделать нужное пользователю действие. (таких процедур сотни)
3. Запускается процедура обработчик, которая запрашивает у пользователя детали. Например, пользователь смотрит прайс и в некоторой ячейке таблицы видит название товара по накладным(которое отличается от прайсового). Он хочет видеть строки накладных, в которых этот товар поступал. Это уже совершенно другая таблица. Ее нужно сгенерировать в новом контексте. Процедура обработчик запрашивает детали операции. Например, показать только эти строки или вообще все строки накладных одной таблицей, в которой выделить данные. Иногда запрос сложный. Он требует вывода промежуточной таблицы и отметить в ней некоторые...
Не, ребята, это можно писать бесконечно. Мне проще попытаться сделать видео и показать Вам, как это все на экране выглядит, чтобы стало понятно, что это все очень не тривиально и нет тут как такового основного кода, вызывающего процедуры. Уровень вложенности - процедур 6-9. Все они друг с другом тесно взаимодействуют. Это гибридный монстр. Попробую сделать видео и выложить ссылку. Не могу я такие вещи сложные на словах описать.