Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2009-07-16 00:54:44 ЛС | профиль | цитата
   Подумал, как можно сделать сегодня так называемую pointer-ссылку на элемент. Вот что получилось:

  • с точки зрения среды сознание ссылки это операция эквивалентная нынешней команде "Копировать ссылку", но со следующими поправками - все точки элемента-ссылки переходят в состояние "Не видимый" (т.е. переносятся на вкладку Точки в панели свойств)
    - pointer-ссылку возможно создать только в текущем или ниже стоящем по иерархии контейнере

  • с точки зрения кода Пакет Windows
    - для pointer-элемента не создается нового объекта, а присваивается указатель на родительский.

    пакет на базе FTCG
    - в случае простого элемента(Math, For, If_Else и т.д.) ничего в коде не меняется
    - в случае объектного элемента(Buttom, Edit, Label и т.д.) внутренний _id_ меняется на _id_ родителя

    имея такую архитеркуту, работа в схеме с pointer-ссылками будет выглядеть например так:
    - ставим элемент StrList
    - делаем с него голую pointer-ссылку
    - отмечаем в точках doLoad, FileName, onLoad
    - получаем этакий элемент менеджер, который выполняет тольку одну задачу - сохраняет список в указанный файл.

    Соответственно таких pointer-ссылок может быть сколько угодно с любым набором точек, необходимых разработчику в данном куске схемы.

    Теперь о проблемах
    1) Интерфейсная проблема - очевидно, что у pointer-элементов будут такие же иконки, как и у родителей, на которые они ссылылаются. Поэтому при наличии произвольного набора точек понять визуально чего делает каждый конкретный элемент не возможно.
    2) Проблема кода стандартного пакета - если с точками Work и Var вроде все ясно, то Event и Data точки для каждого pointer-элемента сделать своими не возможно. Возможно подключать либо только родительские, либо с наибольшим Z-Order (в FTCG такой проблемы нет, есть только небольшая сложность с event точками, но решаемая)

    Предлагаю высказать свое видение решения вопроса(или возможно его исходной постановки) о pointer-элементах.
  • карма: 27
    0