The four parameters of frame size are left, right, bottom, top–the position of each edge of the frame relative to the gui item’s origin. It should more accurately be called frame extents, I suppose.
enableEdit is used in conjunction with direct-gui-edit. When direct-gui-edit is set to true in your Config.prc, you can use the middle mouse button to move and, when the control key is held down, resize these widgets on the fly. Set enableEdit to 0 on any particular widget to disallow this feature.
borderWidth controls the thickness of the bevel when relief is RAISED, SUNKEN, GROOVE, or RIDGE. It has no effect when relief is FLAT or None.
pgFunc defines the constructor method to create the appropriate underlying Panda object for the gui item. Normally you should not change it, but there may be cases when you have a custom Panda object that you want to create for a widget. You have to know what you’re doing.
suppressKeys and suppressMouse refer to the button events that are generated outside of the DirectGUI system. If you have suppressKeys enabled, then a key pressed while the mouse is over the dialog will not generate the corresponding global Panda event. Similarly for suppressMouse and the mouse buttons and mouse events.
When invertedFrames is true, it reverses the meaning of RAISED vs. SUNKEN.
sortOrder controls the rarely-specified second parameter to all NodePath reparenting operations; this is an advanced NodePath feature to control order among siblings. It is useful for DirectGUI objects because sibling order determines render order, so it may be necessary to specify this if you have overlapping elements.
guiId overrides the unique internal identifier automatically generated for each gui element; this identifier is used to generate internal event names, etc. Normally you would not want to override the default behavior unless you are doing something really advanced and fancy–again, you should know what you are doing.
frameTexture is the texture that is applied to the frame geometry generated when relief is not None. It is unrelated to geom, which is an arbitrary model that is placed behind the widget, although usually the purpose of geom is to replace the frame (so you typically set relief to None when you specify a geom). Any NodePath can serve as a geom; presumably its source is from a model that an artist created and you loaded through the normal channels. Another common geom source is an egg file created via egg-texture-cards from a particular texture image.
David