Note: This is an excerpt from center.h. This definition is not necessarily up-to-date. Always use center.h in your widget source code instead of this definition.
    /*
     *@@ XCENTERWIDGETCLASS:
     *      describes one widget class which can be
     *      used in an &xcenter;. Such a class can either
     *      be internal or in a widget plugin DLL.
     */

    typedef struct _XCENTERWIDGETCLASS
    {
        const char      *pcszPMClass;
                // PM window class name of this widget class (can be shared among
                // several widget classes). A plugin DLL is responsible for
                // registering this window class when it's loaded.

        ULONG           ulExtra;
                // additional identifiers the class might need if the
                // same PM window class is used for several widget classes.
                // This is not used by the &xcenter;, but you can access it
                // during WM_CREATE so you can differentiate between several
                // widget classes in the same window proc. You must copy this
                // to your private widget data then.

        const char      *pcszWidgetClass;
                // internal widget class name; this is used to identify
                // the class. This must be unique on the system.

        const char      *pcszClassTitle;
                // widget class title (shown to user in "Add widget" popup
                // menu).

        ULONG           ulClassFlags;
                // WGTF_* flags; any combination of the following:
                // -- WGTF_SIZEABLE: widget window can be resized with
                //    the mouse by the user.
                // -- WGTF_NOUSERCREATE: do not show this class in
                //    the "add widget" menu, and do not allow creating
                //    instances of this in the &xcenter; settings notebook.
                // -- WGTF_UNIQUEPERXCENTER: only one widget of this class
                //    should be created per &xcenter;.
                // -- WGTF_UNIQUEGLOBAL: only one widget of this class
                //    should be created in all &xcenter;s on the system.
                //    This includes WGTF_UNIQUEPERXCENTER.
                // -- WGTF_TOOLTIP: if set, the widget has a tooltip
                //    and will receive WM_CONTROL messages with the
                //    TTN_NEEDTEXT notification code (see helpers\comctl.h).
                //    The window ID of the tooltip control is ID_XCENTER_TOOLTIP.
                // -- WGTF_TOOLTIP_AT_MOUSE: like WGTF_TOOPTIP, but the
                //    tooltip is not centered above the widget, but put
                //    at the mouse position instead.
                //    This includes WGTF_TOOLTIP.

        PWGTSHOWSETTINGSDLG pShowSettingsDlg;
                // if the widget supports a settings dialog,
                // it must set this func pointer to a procedure
                // that will show that dialog. If this is != NULL,
                // the "Properties" menu item and the button in
                // the widgets list of the &xcenter; settings notebook
                // will be enabled. See WIDGETSETTINGSDLGDATA for
                // details about how to implement widget settings dialogs.

    } XCENTERWIDGETCLASS, *PXCENTERWIDGETCLASS;