PEM Editor Version 5
Replacement for the native VFP dialogs to add, edit and maintain properties, events, and methods.Supported in VFP8 and VFP9Released 2009-10-11 A complete replacement for:
- Edit Property/Method
- New Property
- New Method
- Properties Window
- Document View (for SCX and VCX)
Watch the PEM Editor Video Series (Note: These videos were released with version 4, but are still helpful to get started with PEM Editor.) Click here to download the latest release of PEM Editor 5 ( Property View shown in horizontal orientation)
Summary of Version 5 enhancements -
(Note: See file "What's New in PEM Editor 5.doc" in the download area for complete release notes on PEM Editor Version 5 changes and enhancements)
- New Feature: "Change Parent Class" of on object right in the form or class.
- New Feature: ”Document TreeView” can now be opened as a separate form from main PEM Editor form.
- New feature: Copy/Paste function allows copying and pasting properties between objects, and even methods and code between forms and classes.
- New feature: "Compare with Parent Class" displays a grid listing all non-default properties and methods, and compares them with the values / code in the parent class.
- New feature: Access to the native VFP “Edit Property/Method…” dialog.
- New feature: Treeview can now display class name and/or class library of objects in the tree.
- Enhancement: Additions to context menu for “Find” Filter: Starts with uppercase, Uppercase anywhere, Starts with lowercase, Lowercase everywhere
- The combobox context menu now allows you to access the Data Environment for a form.
- Cleanup of the display for "Parent Code" listing, making it more readable and also allowing Document View to be used.
- Document TreeView: Speed up of initial display (60% reduction in time)
- Document TreeView: Objects now displayed in grey if they are members of a parent class
- New options in MemberData Tools: Browsing MemberData as a grid and Display of statistics (used, available, etc)
- Some minor changes have been made to captions and hot keys.
- Installation now creates a backup of _FoxCode (in sub-folder “FoxCode Backup”)
 | Method View | . . . | Document TreeView |
 | |  | (Above images shown in Vertical orientation option)
Features and Functions -
Full Replacement for Property Window
- Grid display of all Properties, Methods, Events, with these columns
- Value (Properties only)
- Origin (Native / Inherited / Custom)
- Type (Property / Method / Event)
- Non-Default
- Has Code (Methods and Events only) - indicates whether there is either custom code or inherited code
- Favorites
- Visibility (Classes Only) - (Public / Protected / Hidden)
- Has _Access method (Properties only)
- Has _Assign method (Properties only)
- Grid may be sorted by any column (invoked by clicking on column header)
- Stable sort if multiple columns are selected.
- Clicking twice on same column header produces alternate sort: case insensitive sort for names, reverse sort for all others
- Native VFP editor for editing methods and events (invoked by double-clicking)
- Property editors: (invoked by double-clicking)
- Familiar editors for native properties
- Toggle Editor for logical-valued properties
- GetColor for colors
- ListBox for properties with enumerated choices
- GetFont for font name, size, etc.
- Options to use additional built-in editors
- Toggle Editor for all non-native logical-values properties
- One of two anchor editors
- Description Oriented Property Editors (DOPEs), which use the property’s description to contain the property editor definition
- Numeric Enumerated Choices, using Listbox:
- Orientation: *** nEnum 0 = Above; 1 = Below; 2 = Left; 3 = Right
- Character Enumerated Choices, using Listbox:
- Direction: *** Enum North;South;East;West
- Colors, using GetColor():
- Expression Builder, using GetExpr():
- Spinner:
- Transparency *** Spinner 0, 255, 1
- Function call (either native or UDF):
- Method call:
- New-style of custom editors (simpler to design and implement)
- Support for old-style custom editors. (Note that there are circumstances where it is inappropriate to use these, as occurs when the object that PEM is displaying does not match the currently selected object display in the Property Window. The new-style custom editors do not have this difficulty.)
- Other attributes that can be edited directly:
- Description (custom items only)
- Has _Access method (Properties only)
- Customizable code for newly created _Access methods
- Distinct code for array properties
- Has _Assign method (Properties only)
- Customizable code for newly created _Assign methods
- Distinct code for array properties
- Visibility (Classes only)
- Favorites -- either local (saved in _MemberData) or global (saved in _FoxCode)
- Provides for editing of properties when multiple controls have been selected
- Allows editing of those properties which are found in ALL the selected controls (like the Property Window) or in ANY of the selected controls, assigning the same value to all the appropriate controls.
- Allows display and editing for a single property for the selected controls, one control at a time. The first column in the grid shows the name of each control being edited.
Full Replacement for "New Property" and "New Method"
- Add property or method directly, without exiting to another form
- Assign the same list of attributes as can be edited (listed above)
- Updates _MemberData (as needed) with name of new item in proper case
- For new methods, a plug-in PRG creates the method header
- Improved handling of _MemberData (see below)
Full Replacement for "Edit Property/Method..."
- Change name of custom properties and methods
- For properties, associated _Access and _Assign methods are re-named appropriately
- Remove custom properties and methods
- Change from property to method, or vice versa
New view, "Method View", specific to methods and events only
- A new perspective on the list of methods and events. Separates methods and events in a more natural way:
- Items that have custom code
- Items that have inherited code
- Inherited methods that have no custom or inherited code (stubs)
- Inherited methods, or native methods or events, that have no custom or inherited code.
- Allows the normal view to display properties only.
- Displays only the appropriate subset of columns; has distinct settings for sorting, column widths and column order.
Filters for the list of properties, methods, and events displayed in the grid:
- Filters specific to the normal view:
- Filter on any combination of properties, methods, or events
- Filter on any combination of native, inherited, or customer items
- Filter on non-default items
- Filters specific to "Method View"
- Items that have custom code
- Items that have inherited code
- Inherited methods that have no custom or inherited code
- Inherited methods, or native methods or events, that have no custom or inherited code.
- Filters available for each view:
- Filter on favorite items
- Filter on text searches:
- Name of item contains (or begins with)
- Value of item contains (or begins with)
- Description of item contains (or begins with)
New management tools for _MemberData
- _MemberData automatically updated for new, changed or removed properties and methods, and for changes in local favorites
- Preference item (see below) can turn off use of _Memberdata entirely
- Size of _MemberData (limited to 8K) reduced by approximately 1/3. For forms or class with many inherited PEMs in _Memberdata, reduced by as much as 80%.
- New tool "Cleanse MemberData" greatly reduces size of MemberData by removing items from parent classes and any "left-over" items that no longer apply, leaving only custom items for the form or class.
- The first new property or method added to a form or class automatically cleanses _MemberData, so that it will only contain custom items for the form or class
Features unique to PEM-Editor
- In-line definitions of custom property editors, using the property’s description
- New-style custom property editors, easier to design and implement
- Editing of properties when multiple controls have been selected:
- Optionally editing of those properties which are in ANY of the selected controls, assigning the same value to all the appropriate controls.
- Allows display and editing for a single property for the selected controls, one control at a time. The first column in the grid shows the name of each control being edited.
- "Method View"
- Four different views, without changing selected object on the form/class being edited:
- Normal view, current objects(s)
- Method view, current objects(s)
- Normal view, form or class being edited
- Method view, form or class being edited
- Drop-down TreeView (instead of ComboBox) for navigating between controls; order of display fully customizable
- Context menu item "Auto-rename controls" will rename controls that have their default names to follow a standard naming convention (e.g., TextBox get renamed to "txt" the name of their controlsource; Labels get renamed to 'lbl' leading portion of their caption) Plug-In PRG allows for over-riding these assignments.
- Special Listings:
- "View Parent Code" -- displays custom code for a method, as well as the code from any parent classes. In some cases, even finds parent code that VFP method editor does not (correcting a minor glitch in VFP)
- "Code for all Methods" -- displays custom code for all methods.
- "Parent code for all methods" -- displays custom code, as well as the code from any parent classes, for all methods.
- "View Parent Values" -- displays current value for a property, as well as values stored in parent classes.
- "View Parentage" -- views full parentage of the current control, thru all classes it is contained in, including where it is a control contained in a parent class.
- "List of PEMs and their descriptions"
Plug-Ins
- A number of plug-ins are available to alter the behavior of PEM Editor. Samples of each of them are provided in the sub-folder "Sample Plug-Ins". To enable any plug-in, it must be copied into the folder where PEM Editor is installed. Each sample PRG is amply commented, describing parameters and results.
- Plug-In PRGs:
- AutoRenameControls.PRG -- invoked when "auto-rename controls" is selected from a context menu, to use a different naming convention for automatically renaming controls.
- CustomPropertyEditor.PRG -- new style of property editor, greatly simplifying the setup needed for property editors. Sample PRG provided shows how the toggle editor for non-native logical properties and editors for anchor property would be implemented.
- GetDefaultValue.PRG -- invoked to determine the default value for a property when it is added. The PEMEditor default bases this default value on the first letter of the new property name. The sample PRG provided uses the second letter of the name.
- GetNewMethodHeader.PRG -- returns the header used for any new methods that are created.
- SetGridHighlighting.PRG -- sets the Dynamic* properties (and, conceivably, other properties) of the grid to allow custom coloring / highlighting beyond the preference provided with PEM-Editor
- SetGridSortOrder.PRG -- allows the creation of very specific grid sorting of the grid beyond what is available by clicking on the column headers in the grid. (If used, clicking on column headers has no effect, having been over-ridden by this PRG)
- Plug-In DBF:
- "Custom Property Values.DBF" -- A list of properties with enumerated choices that are global; that is, that apply to all forms or classes. (see reference above)
Sticky Settings
- Preferences form (from context menus)
- Grid may be placed above or to the left of other controls (above works best for docking on left/right)
- Use abbreviations in grid columns
- Do not create or use _MemberData
- Hide trace window (in debugger) when PEMEditor is active
- Esc key closes PEM Editor
- Assign default values (based on name of PEM) when creating new properties
- Notify when a newly created property or method will not appear in the grid
- Prompt before PEM deletion?
- Use toggle editor for any property that is logical valued
- Type of anchor editor to use:
- None
- VFP Default
- Df Anchor Builder
- Grid highlighting (may be over-ridden using Plug-In PRG)
- Background colors
- Foreground colors
- Font Bold
- Font Italic
- Other settings:
- Form size and position
- Docking
- For each of the grids (normal view and method view):
- Sort Order
- Column Widths
- Column Order
- All filters except the text search
Non-modal, dockable, re-sizable
Layout choice between vertical and horizontal
After installation, may be invoked either from the VFP menu bar (VFP9), or from StartPEMEditor.PRG. StartPEMEditor.PRG is created as part of the installation process and contains a reference to the full path where PEMEditor is installed. It thus can be copied anyplace else, and used to invoke PEM Editor programmically as needed.
Special considerations for VFP8:
- Must be invoked with StartPemEditor.PRG (not from the VFP menu bar)
- It cannot change a PEM's visibility or description.
- The form is not resizable.
- Introduces concept of global favorites (only visible in PEM Editor)
Documentation Included:
- PEM Editor - Installation Notes VFP9.doc
- PEM Editor - Installation Notes VFP8.doc
- PEM Editor - Usage Notes.doc
- PEM Editor 5 – Bug Fixes.doc
- PEM Editor 5 – What’s New.doc
Click here to download the latest release of PEM Editor 5 Release History:Version 5 - Released 2009-10-11 Version 4.10 - Released 2009-08-16 (653 downloads) Version 4 - Released 2009-07-05 (671 dowbloads) Version 3.01 - update released 2009-02-22 Version 3.0 - Released 2009-01-11. By Jim Nelson, with help from Doug Hennig, Matt Slay, and Rick Schummer. (1252 downloads) Version 2.0 - Released 2008-11-10. By Jim Nelson and Doug Hennig. Version 1.0 by Marcia Akins
Last edited Oct 12 at 3:57 PM by mattslay, version 28
|
|
Updating...
|