MemberData Editor

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.

  • 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.

    You should understand the inheritance rules with MemberData since this impacts the Scope setting. The MemberData Editor, when invoked, is brought up for the currently selected object and property. For example, if a Textbox control on a form is selected, and the Textbox control does not contain a _MemberData property, then you cannot specify MemberData at the Textbox Object Level. You can only specify at the container (form) or global level.

  • 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.

  • Filter
    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.

  • View XML
    Displays MemberData XML detail for all members of the selected object at the selected scope.
  • Hierarchy
    Displays MemberData attribute detail for all scopes of the selected member.
  • Options
    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:

  • Favorites
    Allows you to control whether a member is displayed in the Properties window 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.
  • Override
    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.
  • Script
    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.
  • Value
    Sets a value for the custom attribute selected in the list.
  • Add
    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.
  • Remove
    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.

See Also

Reference

Task Pane Manager
_MemberData Property

Concepts

MemberData Extensibility
Report XML MemberData Extensions