Приложение Редактор MemberData позволяет разработчикам редактировать MemberData. Редактор MemberData представляет собой легкий в использовании интерфейс, который позволяет просматривать и редактировать MemberData, ассоиированные с вашими классами.
Для запуска Редактора MemberDataTo выберите пункт MemberData Editor из меню Form или Class при открытом и активном дизайнере форм или дизайнере классов. Член класса, например, введенное вами свойство "ClassDocumentation", который выбран в окне Properties появится выбранным в списке Редактора MemberData. Однако, в списке редактора вы можете щелкнуть по любому интересующему вас члену класса и редактировать его MemberData.
MemberData, которое вы видете и редактируете, хранится в свойстве _MemberData, которое вы можете редактировать непосредственно в окне Properties или воспользовавшись опцией Zoom из контекстного меню, вызываемого щелчком по правой клавише мыши на свойстве _MemberData, выбранном в окне Properties. Глобальные MemberData хранятся в вашей таблице _FOXCODE. MemberData форматирован в виде XML строки.
Использование Редактора "MemberData Editor"
Вы можете видеть и редактировать MemberData с помощью редактора. Ниже описаны основные части интерфейса редактора.
- Member List
-
Содержит список всех достпуных членов (свойства, события и методы) для выбранного класса в дизайнере. Выберите интересующего вас члена для дополнения или изменения его MemberData.
Символы префикса ">>" означают, что член имеет ассоциированное с ним MemberData. Если член класса появляется выведенным жирным шрифтом, то это означает, что он имеет его MemberData для выбранной области Scope.
- Scope
-
Установка Scope определяет - где хранится MemberData. Возможны приведенные ниже значения этой установки :
-
Object – MemberData доступен на уровне объекта. Эта опция требует, чтобы выбранный объект имел свойство _MemberData, в противном случае она недоступна.
-
Container – MemberData доступен на уровне контейнера, такого как форма. Если объект не имеет своего собственного MemberData, тогда он наследует его из контейнера, в котором он размещается. Если существует множество контейнеров, каждый со своим собственным свойством _MemberData, тогда возможен выбор контейнера из выпадающего списка.
-
Global – MemberData доступен на глобальном уровне (ваша таблица _FOXCODE). Эта установка не является характерной для объекта. Если объект не наследует MemberData из другого объекта или контейнера, тогда он будет использовать при возможности глобальную установку.
Вы должны понимать правила наследования с MemberData, так как это оказывает влияние на установку Scope. При вызове редактора MemberData, он первоочередно выбирает текущий выбранный в окне Properties объект или свойство. Например, если на форме выбран элемент управления Textbox, а он, Textbox, не содержит свойства _MemberDat, тогда вы не можете указать MemberData на уровне объекта Textbox. Вы можете указать только уровень контейнера или глобальный.
-
- Has MemberData
-
Отметьте этот чек-бокс для ввода MemberData для выбранного члена. MemberData XML вводится только для выбранного Scope.
- Описание панели
-
Перечисляет аттрибуты MemberData, которые установлены для выбранного члена и к какому уровню Scope относятся установки для текущих элементов.
Замечание
Командная кнопка Hierarchy отображает подробные установки MemberData для всех уровней выбранного члена.
- Filter
-
Вы можете отфильтровать список членов, на основе приведенных ниже критериев:
-
All members - перечисляются все члены выбранного объекта.
-
Custom members only - перечисляются только пользовательские свойства или методы.
-
Custom members added in this class - перечисляются только пользовательские свойства или методы, которые были добавлены в текущий экземпдяр объекта. Наследуемые пользовательские члены не отображаются в списке.
-
Native members only - отображаются только внутренние члены Visual FoxPro.
-
Favorites only - отображаюьтся члены, которым в MemberData присвоен атррибут "Favorites".
-
- View XML
-
Отображает подробный MemberData XML для всех членов выбранного объекта на выбранном уровне.
- Hierarchy
-
Отображает подробные аттрибуты MemberData для всех уровней выбранного члена.
- Options
-
Выводит диалоговое окно Options.
Базовые аттрибуты MemberData
Visual FoxPro резервирует определенные аттрибуты MemberData для оперативного использования в интегрированной среде разработки Visual FoxPro (IDE). С помощью редактора MemberData могут быть установлены приведенные ниже аттрибуты:
- Favorites
-
Позволяет вам управлять - будет ли член отображен в окне Properties на закладке Favorites. Если вы установите метку в этот чек-бокс, вы можете выбрать между True или False в выпадающем списке. Кроме того, состояние чек-бокса определяет - будет ли аттрибут favorites записан в MemberData XML, и имеет ли вовлеченность в наследование.
- Override
-
Позволяет вам управлять - будут ли аттрибуты MemberData, не найденные для этого члена, искаться вверх по иерархии. Если вы отметите этот чек-бокс, вы можете выбрать между True или False в выпадающем списке. Кроме того, состояние чек-бокса определяет - будет ли аттрибут override записан в MemberData XML, и имеет ли вовлеченность в наследование.
- Display As
-
Управляет тем, как член будет отображаться в интегрированной среде разработки Visual FoxPro (IDE), такой как окно Properties или IntelliSense. Эта опция доступна только для пользоавтельских (определенных пользователем)членов. Эта установка представлена в аттрибуте display.
- Script
-
Вы можете ввести скрипт, который будет вызван, когда пользователь щелкнет по командной кнопке (…) рядом с блоком ввода текста свойства в окне Properties.
Бокс Script и командная кнопка разблокируются только при выборе членов - свойств. Щелчок по командной кнопке Script открывает скрипт в большем по размеру окне редактирования. Эта установка представлена аттрибутом script.
Замечание
Скрипты можно использовать со всеми пользовательскими свойствами и некоторыми родными свойствами.
Определенные пользователем аттрибуты MemberData
MemberData представляет собой форматированную в виде XML структуру, которая позволяет расширяться. Visual FoxPro предоставляет определенное базовое использование MemberData, например, такое, как указание Favorites. Вы можете ввести свои собственные аттрибуты в XML MemberData для использования, которые вы же и должны определить. Visual FoxPro будет хранить и накапливать эти пользоавтельские аттрибуты вместе с базовым MemberData.
- Custom Attributes List
-
Перечисляет все пользовательские аттрибуты MemberData для выбранного члена.
- Value
-
Устанавливает значение для пользовательских аттрибут, выбранных в списке.
- Add
-
Добавляет новый пользовательский аттрибуть в MemberData. Как и все прочие XML аттрибуты, добавляемые аттрибуты являются регистро-чувствительными. Вы не можете добавить имя, которое уже разервировано, такое как favorites.
- Remove
-
Удаляет пользоваельский аттрибут из MemberData.
Диалоговое окно Options
Диалог Options позволяет вас управлять разными установками интерфейса пользователя редактора MemberData, наравне с опциями, генерируемыми MemberData.
- Use Hungarian names
-
Дефолтное свойство "capitalization" для установки Display as (аттрибут display) устанавливает первую букву в нижнем регистре и остаток в надлежащем виде.
- Method prefixes
-
Содержит разделенный запятыми список префиксов для управления, как капитализация слова выполняется для MemberData, когда пользовательский метод имеет префикс, который имеет соответствие в этом списке. Когда соответствие найдено, MemberData Editor капитализирует префикс на основе того, что имеется в списке и капитализирует остаток имени в надлежащем виде.
- Line break after each XML element
-
Определяет - будет ли вставляться разбивка линии после каждого элемента XML во вновь сгенерированном _MemberData.
- Automatically add _MemberData property to objects
-
Если эта установка включена, то есть установлена в on, запись добавляется в вашу таблицу IntelliSense (_FOXCODE), которая автоматически создает свойство _MemberData для формы, открытой в дизайнере форм или для самого внешнего объекта в дизайнере классов.
- Script Font
-
Определяет шрифт, используемый в блоке редактирования текста скрипта - Script.
Замечания переводчика.
Несмотря на всю прелесть использования свойства _MemberData, должен предупредить о некоей нестабильности, которая имеет место быть при использовании этого свойства. Структура XML с завидным постоянством разрушается без каких-либо видимых или объяснимых причин. Можно было бы допустить, что это связано с превышением длины строки свойства в окне Properties, так как, например, приведенная ниже ошибочная строка XML имеет длину в 538 символов. В случае, если нарушение структуры XML произошло, то увидеть сбои вы сможете сразу же при вызове описанного редактора.
Что можно предпринять. В окне Properties выберите свойство _MemberData редактируемого класса или формы, вызовите щелчком по правой клавише мыши контекстное меню и далее выберите опцию Zoom... . Откроется окно редактирования значения свойства:
Взгляните на выбранный текст. Ошибка начинается с точки "fa<VFPData>". Однако, дело поправимое, хотя в большинстве случаев такое разрушение структуры XML приводит к потере ряда аттрибутов, и, что встречается достаточно часто, значений MemberData для некоторых свойтсв. Для приведенного примера, корректным завершением XML строки будет:
display="cor_ParentContainer_Assign" favorites="True"/></VFPData>
После исправления строки XML, MemberData редактируемого класса вновь станет доступным для приложения редактора MemberData. Удачи!
Смотрите также
Справочное руководство
Task Pane ManagerСвойство _MemberData
Концепции
Расширяемость MemberDataРасширяемость XML MemberData отчета