The MemberData Editor application allows developers to edit MemberData. The MemberData Editor presents an easy to use front-end so that you can view and edit MemberData associated with your classes.
To run the MemberData Editor, select the MemberData Editor menu item from the Form or Class menu when a Form or Class Designer is active. The member that is selected in the Properties window will be selected in the MemberData Editor. However, you can click on and edit MemberData for other members of the class selected in the designer.
The MemberData that you view and edit is stored with the _MemberData property which you can also edit directly from the Properties Window. Global MemberData is stored in your _FOXCODE table. MemberData is formatted as XML.
Using MemberData Editor
You can view and edit MemberData using the MemberData Editor. The following
- Member List
- Contains a list of all available members (properties, events and methods) for the selected class in the designer. Select a member to add or change its MemberData. A ">>" prefix character indicates that the member has MemberData associated with it. If the member is bold, it has MemberData for the selected Scope.
The Scope setting specifies where the MemberData is stored. The following settings are available:
Object вЂ“ MemberData available at the object level. This option requires the selected object to have a _MemberData property, otherwise this option is disabled.
Container вЂ“ MemberData available at the container level such as a form. If an object does not have its own MemberData, then it can inherit from its container. If multiple containers exist, each with their own _MemberData property, then the container dropdown is enabled.
Global вЂ“ MemberData at the global level (your _FOXCODE table). This setting is not object specific. If an object does not inherit from the object or container MemberData, then it will use the Global setting if available.
- Object вЂ“ MemberData available at the object level. This option requires the selected object to have a _MemberData property, otherwise this option is disabled.
- Has MemberData
- Select this option to add MemberData for the selected member. MemberData XML is only added for the Scope selected.
- Description Pane
Lists the MemberData attributes that are set for the selected member and which Scope currently controls the setting.
Note: The Hierarchy button displays MemberData detail for all scopes of the selected member.
You can filter the list of Members based on following criteria:
All members - all members of selected object are listed.
Custom members only - only custom properties or methods are listed.
Custom members added in this class - only custom properties or methods that were added to current instance of object are listed. Inherited custom members are not shown.
Native members only - displays only intrinsic Visual FoxPro members.
Favorites only - displays members that have a Favorites MemberData attribute assigned.
- All members - all members of selected object are listed.
- View XML
- Displays MemberData XML detail for all members of the selected object at the selected scope.
- Displays MemberData attribute detail for all scopes of the selected member.
- Brings up the Options dialog.
Core MemberData Attributes
Visual FoxPro reserves certain MemberData attributes for the operational use of members in the Visual FoxPro IDE. The following attributes can be set using the MemberData Editor:
- Allows you to control whether a member is displayed in the Propertieswindow Favorites tab. If you check this option, you can specify True or False in the drop-down list box. The check box determines whether the favorites attribute is written out to the MemberData XML, and has implications on inheritance from above.
- Allows you to control whether MemberData attributes not found for that member are searched for up the hierarchy. If you check this option, you can specify True or False in the drop-down list box. The check box determines whether the override attribute is written out to the MemberData XML, and has implications on inheritance from above.
- Display As
- Controls how the member is displayed in the Visual FoxPro IDE such as with the Properties window and IntelliSense. This option is only available for custom (user-defined) members. This setting is represented by the display attribute.
You can enter a script that is invoked when the user clicks the ellipsis (вЂ¦) button next to the Property settings box in the Properties window.
The Script box and button are only enabled for properties. Click the Script button to open the script in a larger edit window. This setting is represented by the script attribute.
Note: Scripts are available for all custom properties and some native properties.
User-Defined MemberData Attributes
The MemberData is an XML formatted structure which allows for extensibility. Visual FoxPro provides certain core MemberData usage such as Favorites. You can also add custom attributes to the MemberData XML for use that you define. Visual FoxPro will store and retain these custom attributes with the core MemberData.
- Custom Attributes List
- Lists all MemberData custom attributes for the selected member.
- Sets a value for the custom attribute selected in the list.
- Adds a new custom attribute to the MemberData. As with all XML attributes, the ones you add are case-sensitive. You cannot add a name which is already reserved, such as favorites.
- Removes a custom attribute from the MemberData.
Options Dialog Box
The Options dialog lets you control various settings of the MemberData Editor user interface as well as options for the generated MemberData.
- Use Hungarian names
- The default property capitalization for the Display as setting (display attribute) sets the first letter in lowercase and rest in proper case.
- Method prefixes
- Contains a comma-delimited list of prefixes to control how capitalization is done for MemberData when a custom method has a prefix that matches one in this list. When one is found, the MemberData Editor capitalizes the prefix based on what is in list, and capitalizes the rest of the name in proper case.
- Line break after each XML element
- Specifies whether a line break is inserted after each XML element in newly generated _MemberData.
- Automatically add _MemberData property to objects
- If this setting is turned on, a record is added to your IntelliSense (_FOXCODE) table that automatically creates a _MemberData property for a form opened in the Form Designer or the outer-most object in the Class Designer.
- Script Font
- Specifies font used in the Script edit box.