McZag пишет:Может я туплю, но я не понимаю зачем TDMSAttribute такое свойство. Как оно должно называться и работать? Когда инициализироваться?
Просто нужно иметь возможность ограничить выбор из классификатора в зависимости от состояния конкретного объекта. Сейчас, при нажатии на кнопку выбора классификатора, вываливается диалог выбора классификатора с корнем, соответствующим заданному в TDMSAttributeDef.Classifier. Однако, хотелось бы иметь в TDMSAttribute свойство, скажем, RootClassifier, которое сожержит ссылку на корневой классификатор для конкретного атрибута конкретного объекта. Инициализироватся это свойство должно при создании объекта (и, ссотв, этого атрибута) значением из TDMSAttributeDef.Classifier. В дальнейшей "жизни" этого атрибута надо позволять устанавливать значение свойства RootClassifier на любой классификатор, расположенный в дереве ниже классификатора TDMSAttributeDef.Classifier. При попытке установить иной классификатор (не лежащий под классификатором TDMSAttributeDef.Classifier) оставлять свойство RootClassifier прежним. Соотв, при нажатии на кнопку выбора классификатора должен вываливаться диалог выбора классификатора с корнем, взятым именно из свойства RootClassifier. Как-то так.
McZag пишет:Возможно имеет смысл подумать над реализицией идеи аналогичной той, что реализована при работе с элементом управления атрибута типа ссылка на объект. По умолчанию - открывается диалог выбора классифкатора с корневой нодой, указанной в TDMSAttributeDef. Но элементу управления можно прикрепить выборку(? :o ?), которая даст иной набор узлов (или хотя бы даст другой корень. Только не забывайте, что это все только для того, чтобы на форме была одна кнопка, а не две. Имхо, пока не интересно получается.)
Выборку не надо. Тут задача проще, нежели при задании ссылки на объект. Это должно быть свойство, доступное исключительно из скрипта, иначе это теряет практический смысл или становится сложным в использовании.
Вам может и не интересно, а у нас в 2-ке все формы утыканы дополнительными кнопками для выбора объектов или классификаторов при том, что соответствующие им "штатные" поля для выбора значений атрибутов стоят в ReadOnly :) Некрасиво получается :) Выходит, что программисты зря старались и писали особые элементы управления для выбора классификаторов и ссылок на объекты, потому как они используются в 10-20% случаев (самых простых).
В тройке проблем с выбором объектов практически никаких, а вот с выбором классификаторов все осталось по-прежнему.