From ace7902333b6f61aab5a6035dbcb222763bff186 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 6 Nov 2009 06:59:46 +0000 Subject: Added libXaw-1.0.7 --- libXaw/spec/Sme | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 libXaw/spec/Sme (limited to 'libXaw/spec/Sme') diff --git a/libXaw/spec/Sme b/libXaw/spec/Sme new file mode 100644 index 000000000..48eaa1510 --- /dev/null +++ b/libXaw/spec/Sme @@ -0,0 +1,106 @@ +.\" $Xorg: Sme,v 1.3 2000/08/17 19:42:28 cpqbld Exp $ +.NH 2 +Sme Object +.LP +.XS + Sme Object +.XE +.IN "Sme object" "" "@DEF@" +.sp +.Ds 0 +.TA 2.0i +.ta 2.0i +Application Header file +.IN "Sme.h" "" +Class Header file +.IN "SmeP.h" "" +Class smeObjectClass +.IN "smeObjectClass" "" +Class Name Sme +.IN "Sme object" "class name" +Superclass RectObj +.De +.sp +.LP +The Sme object is the base class for all menu entries. While this +object is mainly intended to be subclassed, it may be used in a menu to +add blank space between menu entries. +.NH 3 +Resources +.IN "SmeLine object" "resources" +.LP +The resources associated with the SmeLine object are defined in this +section, and affect only the single menu entry specified by this object. +There are no new resources added for this class, as it picks up all its +resources from the RectObj class. +.TS H +lw(1.5i) lw(1i) lw(1i) lw(.5i) lw(2i). +_ +.sp 3p +.TB +Name Class Type Notes Default Value +.sp 3p +_ +.TH +.R +.sp 3p +ancestorSensitive AncestorSensitive Boolean True +callback Callback XtCallbackList NULL +destroyCallback Callback XtCallbackList NULL +height Height Dimension 0 +international International Boolean C False +sensitive Sensitive Boolean True +width Width Dimension 1 +.sp 3p +_ +.TE +.As +.Dc +.Hw +Keep in mind that the SimpleMenu widget will force all menu items to +be the width of the widest entry. +.Ix Bold +.Se +.NH 3 +Subclassing the Sme Object +.IN "Sme object" "subclassing" "@DEF" +.LP +.sp +To Create a new Sme object \fIclass\fP you will need to define three class methods. +These methods allow the SimpleMenu to highlight and unhighlight the +menu entry as the pointer cursor moves over it, as well as notify the +entry when the user has selected it. All of +these methods may be inherited from the Sme object, although the default +semantics are not very interesting. +.IP \fBHighlight\fP(\|) 1i +.IN "Sme object" "Highlight method" +Called to put the menu entry into the highlighted state. +.IP \fBUnhighlight\fP(\|) 1i +.IN "Sme object" "Unhighlight method" +Called to return the widget to its normal (unhighlighted) state. +.IP \fBNotify\fP(\|) +.IN "Sme object" "Notify method" +Called when the user selects this menu entry. +.LP +.sp +Other then these methods, creating a new object +is straight forward. Here is some information that may help you +avoid some common mistakes. +.IP 1) 3n +Objects can be zero pixels high. +.IP 2) 3n +Objects draw on their parent's window, therefore the Drawing dimensions +are different from those of widgets. For instance, y locations vary +from \fBy\fP to \fBy + height\fP, not \fB0\fP to \fBheight\fP. +.IP 3) 3n +XtSetValues calls may come from the application while the Sme is highlighted, +and if the SetValues method returns True, will result in an expose event. +The SimpleMenu may later call the menu entry's \fBunhighlight\fP +procedure. However, due to the asynchronous nature of +X, the expose event generated by \fBXtSetValues\fP will come \fIafter\fP +this unhighlight. +.IP 4) 3n +Remember that your subclass of the Sme does not own the +window. Share the space with other menu entries, and refrain +from drawing outside the subclass's own section of the menu. + -- cgit v1.2.3