[Previous] [Contents] [Index] [Next]

About This Manual

Note: For an overview of the changes to the software and docs, see "What's new in Photon 1.14 (as of June 01, 2000)."

The Building Custom Widgets manual accompanies the Photon Developer's Toolkit and is intended for Photon programmers who want to create custom widgets. This manual contains everything you need to know about building your own Photon widgets. Sample code is used throughout this manual to demonstrate new concepts.

When you want to: Go to:
Learn about widget concepts, attributes, and behavior Overview
Initialize a widget class, set up a widget instance structure, or set application resources Life Cycle of a Widget
Define a widget class, its resources, methods, or actions Anatomy of a Widget
Choose a widget superclass to base your custom widget on Using Widget Superclasses
Customize a list widget Creating a List Widget
Customize a tree widget Creating a Tree Widget
Add a custom widget to the PhAB widget palette Binding Widgets into PhAB
Manage widgets using the supplied convenience functions Widget Building Library API
Read widget-building tips Miscellaneous Widget-Building Tips
Look up Photon terms Glossary

What's new in Photon 1.14 (as of June 01, 2000)

The source for the ShadowedBox widget has been updated.
Anatomy of a Widget
The Pt_ARG_IS_STRUCT resource type handles widget members that are of a fixed size, including data of type float or double. See "PtResourceRec_t resource records."

As discussed in "Container widget anatomy," you can enable or disable all the container's child-constraint methods at once by setting or clearing Pt_IGNORE_CONSTRAINTS.

The section on the Defaults method for Compound widgets discusses setting the Pt_ARG_DATA resource. Your custom widget shouldn't set its own Pt_ARG_DATA resource because this resource is used internally by the Photon libraries. It is safe to set it in your widget's subordinate children.

The discussion of the Draw method now includes a section on using the Pg library safely.

Using Widget Superclasses
In the discussion of PtWidget, Pt_ETCHED_HIGHLIGHT is correctly named Pt_ETCH_HIGHLIGHT, and Pt_SET_CHILD_UNREALIZING_F should be Pt_SET_CHILD_UNREALIZED_F.

PtBasic's Pt_ARG_BASIC_FLAGS resource isn't used and has been removed from the discussion of PtBasic.

Creating a List Widget
In the discussion of PtGenList, Pt_GEN_LIST_BALLOONS_IN_COLUMNS should be Pt_LIST_BALLOONS_IN_COLUMNS.

PtGenList's Pt_ARG_SCROLLBAR resource has been deprecated.

The following prototypes have changed:

Creating a Tree Widget
The following prototypes have changed:
Widget Building Library API
The following prototypes have changed:
Miscellaneous Widget-Building Tips
New appendix.

[Previous] [Contents] [Index] [Next]