OnBoard RsrcEdit
OnBoard RsrcEdit is a Palm Pilot resource editor that runs on the Pilot
and allows users to view and change application resources using a forms-based
editing environment tailored for specific resource types.
Users should refer to the Palm SDK (http://palm.3com.com/devzone)
documentation for information regarding the format and use of resources.
In this release, OnBoard RsrcEdit provides templates for editing Forms
(tFRM), Menus (MBAR), Alerts (Talt), String (tSTR), Icon (tAIB) and Bitmap
(Tbmp) resources. Other resources can be edited within a generic hex-editor
for now and further template editors will be made available later.
Throughout OnBoard RsrcEdit, resources may be changed and written back
to the resource database (for non ROM databases) but PLEASE NOTE that if
OnBoard RsrcEdit is terminated by switching to another application (including
the application launcher on Palm III), then pending changes will be lost.
The changes are not committed to the resource database until the 'OK' button
is pressed within the individual resource editors.
1.0 Database List
On the initial form, each database is listed on the left and characteristics
from the selected database are displayed on the right. These values may
be changed (unless the database is in ROM) and those changes take effect
when the 'Apply' button is pressed. Changes may be discarded by pressing
the 'Reset' button which restores the original values. Be careful with
the 'resource database' checkbox - the system will crash when trying to
access resources as records or vice versa.
In this release, the 'Copy Protect' check-box is always read-only.
The database list can be sorted in ascending or descending order (the up
and down arrows on the left) by Name, Type, Creator, Modification Date,
or Index (the order in which the databases are retrieved by the ROM).
The 'Options' menu provides for creating a new database, deleting the
selected database, duplicating the selected database and beaming the database
to another Pilot running OnBoard RsrcEdit (and that has infrared capability.)
If the selected database is a TealPaint ( www.tealpoint.com
) database (type 'Data', creator 'TlPt'), selecting 'Open TealPaint Database'
from the 'Options' menu will display a list of the individual images from
that database and allow the user to copy an image to the resource clipboard
as a Bitmap resource.
Pressing the 'Open' button will open the resource or the record editor
on the selected database, depending on the type of the database. For now
the record editor allows only hex-editing on each record.
2.0 Resource Editor
The resource editor provides a list of the resources in the selected database
by resource type and ID. When selected, the ID and Type of any resource
are displayed on the right and may be changed with the 'Apply' button.
The 'Reset' button restores the original values for the selected resource.
The 'Done' button transfers control back to the database list form.
The 'Edit' menu provides support for Cut/Copy/Paste/Delete for the selected
resource. A resource in the clipboard may be transferred to other resource
databases, but is lost between successive invocations of OnBoard RsrcEdit.
The 'New' menu allows creation of Form, String, Menu bar, Alert and Icon
resources. Other resources (generic) may be constructed (after a fashion)
by specifying the type, ID and size - any data would then have to be entered
in the hex editor.
Pressing the 'Open' button with a resource selected opens either the
hex editor (if the 'Hex edit' checkbox is selected) or the template editor
for that resource. If a template editor does not exist for the selected
resource type, the hex editor opens regardless.
3.0 Form Resource Editor
The Form resource editor displays characteristics of the form, together
with a list of the form objects. Changes to these values and to characteristics
of the form objects themselves do not take effect unless the 'OK' button
is pressed, changes are lost if the 'Cancel' button is pressed or if OnBoard
RsrcEdit is stopped by running another application. This applies to changes
made to form objects from object editors. When form objects are selected
from the list, the name and ID of the object is displayed to the right
(or pertinent details from the object, e.g. button title, label contents
etc.). Once selected, a form object can be edited by pressing the 'Open'
button.
The 'Preview' button displays the form being edited until a button is pressed
(any of the hard buttons, nominally Calendar, Address, To Do or Memo Pad
launch buttons as well as the silk-screen buttons to the sides of the Graffiti
pad).
The 'Edit' menu provides for Cut/Copy/Paste/Delete of the selected
form object. Form objects can be moved via the clipboard to other forms
in the same or other resource databases. The form object clipboard is independent
of the resource clipboard. The 'New' menu provides for creating form objects
- Field, Control (Buttons etc.), List, Table, Bitmap, Label, Title, Popup,
Graffiti, Gadget and Scrollbar. Choosing any of these will construct a
default empty object and bring up the appropriate object editor. Pressing
'Cancel' on the object editor will still leave the empty object in the
object list.
3.1 The Object Editors
Each form object kind has an object editor that allows characteristics
of that object to be set. All of the object editors provide 'OK' and 'Cancel'
buttons to apply or discard the changes made. NOTE that even though changes
are applied from within an object editor, those changes are not written
into the resource until the 'OK' button is pressed on the form resource
editor.
Most of the object editors are simple dialogs allowing for changes to
numeric values and flag settings. More complex are the Control, List and
Table editors.
3.2 Control Editor
Presents the bounds and other attributes of the control object. The type
of control is selected from the 'Style' popup - Button, PushButton, CheckBox,
PopupTrigger, SelectorTrigger or RepeatingButton. The kind of frame to
be used for the control is likewise selected from the 'Frame' popup.
3.3 List Editor
Along with the bounds and other attributes, the list entries are displayed
in a list. Individual list entries can be selected and the text edited
using the 'Reset' and 'Apply' buttons as usual. The edit menu provides
New & Delete for adding and removing list entries.
3.5 Table Editor
Similarly, the table editor presents the table attributes but, for no discernible
reason, adds and deletes columns using buttons instead of a menu. (XXX
i'll get to this later)
4.0 String Resource Editor
The string editor displays the string resource contents. No big mysteries
here.
5.0 MenuBar Resource Editor
The menubar editor provides a list of the menu titles, and displays characteristics
of selected menu titles on the right. The selected menu title may be further
edited by pressing the 'Open' button. The 'Calc Width' provides an estimation
of the width of the selected menu title in the default menu font. The 'Apply'
button commits the menu title changes and 'Reset' restores the original
values. The menubar resource is not changed until the 'OK' button is pressed
- this includes changes to menu items of individual menu titles. All changes
are discarded if the 'Cancel' button is pressed.
The 'edit' menu provides for New/Delete/Cut/Copy/Paste of menu titles.
Menu titles in the clipboard may be transferred to other menubars in the
same or other resource databases.
When a menu title is selected and the 'Open' button pressed, the menu
title editor opens.
5.1 Menu Title Editor
The menu title editor allows editing of the characteristics of the menu
title including the individual menu items.
The 'Calc. Size' button provides an estimation of the size of the menu
by calculating the required width of each menu item, allowing for the shortcut
key as necessary. Individual menu items can be modified by selecting them
from the list. Separator menu items are constructed by specifying a title
of '-'. The menu item changes are committed by pressing the 'Apply' button
and the original values restored with the 'Reset' button. The 'Edit' menu
provides for New/Delete/Cut/Copy/Paste of menu items.
6.0 Alert Resource Editor
The alert editor presents the alert title, message and other characteristics
for editing. The 'Alert Type' popup selects from Information, Confirmation
Warning and Error types. The button list allows for editing of the button
text, the 'Apply' button commits the changes to the button text, the 'Reset'
button discards those changes. Buttons from alerts are not interchangeable
with buttons from forms. The message field presents only two lines of the
message text, but the rest of the text is accessible by dragging the pen
within the field, or by using the forward and backward keystrokes.
The 'Preview' button displays the alert being edited until one of the buttons
on the alert is pressed.
The alert resource changes are written to the database when the 'OK'
button is pressed, discarded otherwise.
7.0 Icon & Bitmap Resource Editor
Provides for simple bit editing of icon resources. The 'size' menu item
allows the icon dimensions to be changed. Reducing the size of the icon
will lose bits beyond the new dimensions. The 'OK' button writes the new
icon bits to the resource database, the 'Cancel' button discards the changes.
The icon is edited by drawing directly on the image space, the pen will
draw black or white pixels - the reverse of the state of the initial
pixel. The 'zoom' button toggles between 1,2 & 4 times magnification.
The scroll buttons scroll the displayed portion of the bitmap
8.0 Hex Editor
The hex editor allows hex and ascii editing of a resource or data record.
The 'ASCII' button toggles between displaying ascii values for each byte
in the record. Due to space constraints, either ascii values or record
offsets can be displayed, not both. Byte values that are not displayable
characters are represented with a period. Either the hex value or the ascii
value may be changed by selecting the byte on the appropriate side of the
display.
The page up and page down buttons scroll the display by a full page each
time.
A new hex offset may be entered in the Goto field, and the 'Goto' button
then switches to display that offset on the top line.
The changed data is written when the 'OK' button is pressed, and discarded
if the 'Cancel' button is pressed.
The 'Disasm' button switches to a disassembly of the data, beginning
at the offset at the top of the current display. Offsets at the right edge
give the target of PC-relative displacements and, if selected, will become
the new value of the 'Goto' field. No editing is possible within the disassmbler,
but changes in the Hex Editor will be reflected here. The disassembly listing
can be written out as a 'QED' file (i.e. in Doc format) by selecting 'Save
to QED file...' from the 'Options' menu. Also on that menu is 'Set Buffer
size...' which controls the amount of code that is disassembled from the
start address. [XXX I'm not sure this is going to stay XXX]
