OSDN Git Service

touched all sources to ease next import
authorkseitz <kseitz>
Tue, 24 Sep 2002 18:35:31 +0000 (18:35 +0000)
committerkseitz <kseitz>
Tue, 24 Sep 2002 18:35:31 +0000 (18:35 +0000)
187 files changed:
itcl/config/install-sh
itcl/itcl/doc/find.n
itcl/itcl/doc/itcl_info.n
itcl/itcl/doc/scope.n
itcl/itcl/generic/itcl.h
itcl/itcl/generic/itclInt.h
itcl/itcl/generic/itcl_bicmds.c
itcl/itcl/generic/itcl_class.c
itcl/itcl/generic/itcl_cmds.c
itcl/itcl/generic/itcl_ensemble.c
itcl/itcl/generic/itcl_methods.c
itcl/itcl/generic/itcl_obsolete.c
itcl/itcl/generic/itcl_parse.c
itcl/itcl/generic/itcl_util.c
itcl/itcl/mac/itclMacLibrary.r
itcl/itcl/mac/pkgIndex.tcl
itcl/itcl/tests/all
itcl/itcl/tests/basic.test
itcl/itcl/tests/body.test
itcl/itcl/tests/chain.test
itcl/itcl/tests/defs
itcl/itcl/tests/delete.test
itcl/itcl/tests/ensemble.test
itcl/itcl/tests/info.test
itcl/itcl/tests/inherit.test
itcl/itcl/tests/interp.test
itcl/itcl/tests/local.test
itcl/itcl/tests/methods.test
itcl/itcl/tests/mkindex.itcl
itcl/itcl/tests/mkindex.test
itcl/itcl/tests/namespace.test
itcl/itcl/tests/protection.test
itcl/itcl/tests/scope.test
itcl/itcl/win/dllEntryPoint.c
itcl/itcl/win/itcl.rc
itcl/itcl/win/itclsh.rc
itcl/itcl/win/makefile.vc
itcl/itcl/win/pkgIndex.tcl
itcl/itk/generic/itk.h
itcl/itk/generic/itk_cmds.c
itcl/itk/itkConfig.sh.in
itcl/itk/mac/itkMacLibrary.r
itcl/itk/mac/pkgIndex.tcl
itcl/itk/tests/all
itcl/itk/tests/defs
itcl/itk/tests/interp.test
itcl/itk/tests/option.test
itcl/itk/tests/privacy.test
itcl/itk/tests/public.test
itcl/itk/win/dllEntryPoint.c
itcl/itk/win/makefile.bc
itcl/itk/win/makefile.vc
itcl/itk/win/pkgIndex.tcl
itcl/itk/win/rc/itk.rc
itcl/itk/win/rc/itkwish.rc
itcl/itk/win/winMain.c
itcl/iwidgets3.0.0/CHANGES
itcl/iwidgets3.0.0/README
itcl/iwidgets3.0.0/demos/feedback
itcl/iwidgets3.0.0/demos/html/buttonbox.n.html
itcl/iwidgets3.0.0/demos/html/canvasprintbox.n.html
itcl/iwidgets3.0.0/demos/html/canvasprintdialog.n.html
itcl/iwidgets3.0.0/demos/html/combobox.n.html
itcl/iwidgets3.0.0/demos/html/dialog.n.html
itcl/iwidgets3.0.0/demos/html/dialogshell.n.html
itcl/iwidgets3.0.0/demos/html/entryfield.n.html
itcl/iwidgets3.0.0/demos/html/feedback.n.html
itcl/iwidgets3.0.0/demos/html/fileselectionbox.n.html
itcl/iwidgets3.0.0/demos/html/fileselectiondialog.n.html
itcl/iwidgets3.0.0/demos/html/hyperhelp.n.html
itcl/iwidgets3.0.0/demos/html/labeledwidget.n.html
itcl/iwidgets3.0.0/demos/html/menubar.n.html
itcl/iwidgets3.0.0/demos/html/messagedialog.n.html
itcl/iwidgets3.0.0/demos/html/notebook.n.html
itcl/iwidgets3.0.0/demos/html/optionmenu.n.html
itcl/iwidgets3.0.0/demos/html/panedwindow.n.html
itcl/iwidgets3.0.0/demos/html/promptdialog.n.html
itcl/iwidgets3.0.0/demos/html/pushbutton.n.html
itcl/iwidgets3.0.0/demos/html/radiobox.n.html
itcl/iwidgets3.0.0/demos/html/scrolledcanvas.n.html
itcl/iwidgets3.0.0/demos/html/scrolledframe.n.html
itcl/iwidgets3.0.0/demos/html/scrolledhtml.n.html
itcl/iwidgets3.0.0/demos/html/scrolledlistbox.n.html
itcl/iwidgets3.0.0/demos/html/scrolledtext.n.html
itcl/iwidgets3.0.0/demos/html/selectionbox.n.html
itcl/iwidgets3.0.0/demos/html/selectiondialog.n.html
itcl/iwidgets3.0.0/demos/html/shell.n.html
itcl/iwidgets3.0.0/demos/html/spindate.n.html
itcl/iwidgets3.0.0/demos/html/spinint.n.html
itcl/iwidgets3.0.0/demos/html/spinner.n.html
itcl/iwidgets3.0.0/demos/html/spintime.n.html
itcl/iwidgets3.0.0/demos/html/tabnotebook.n.html
itcl/iwidgets3.0.0/demos/html/tabset.n.html
itcl/iwidgets3.0.0/demos/html/toolbar.n.html
itcl/iwidgets3.0.0/demos/mainwindow
itcl/iwidgets3.0.0/demos/watch
itcl/iwidgets3.0.0/doc/checkbox.n
itcl/iwidgets3.0.0/doc/entryfield.n
itcl/iwidgets3.0.0/doc/hierarchy.n
itcl/iwidgets3.0.0/doc/radiobox.n
itcl/iwidgets3.0.0/doc/scrolledlistbox.n
itcl/iwidgets3.0.0/doc/scrolledtext.n
itcl/iwidgets3.0.0/doc/toolbar.n
itcl/iwidgets3.0.0/generic/calendar.itk
itcl/iwidgets3.0.0/generic/canvasprintbox.itk
itcl/iwidgets3.0.0/generic/checkbox.itk
itcl/iwidgets3.0.0/generic/combobox.itk
itcl/iwidgets3.0.0/generic/dateentry.itk
itcl/iwidgets3.0.0/generic/disjointlistbox.itk
itcl/iwidgets3.0.0/generic/entryfield.itk
itcl/iwidgets3.0.0/generic/extfileselectionbox.itk
itcl/iwidgets3.0.0/generic/fileselectionbox.itk
itcl/iwidgets3.0.0/generic/finddialog.itk
itcl/iwidgets3.0.0/generic/hierarchy.itk
itcl/iwidgets3.0.0/generic/hyperhelp.itk
itcl/iwidgets3.0.0/generic/labeledframe.itk
itcl/iwidgets3.0.0/generic/menubar.itk
itcl/iwidgets3.0.0/generic/messagedialog.itk
itcl/iwidgets3.0.0/generic/notebook.itk
itcl/iwidgets3.0.0/generic/optionmenu.itk
itcl/iwidgets3.0.0/generic/pane.itk
itcl/iwidgets3.0.0/generic/panedwindow.itk
itcl/iwidgets3.0.0/generic/radiobox.itk
itcl/iwidgets3.0.0/generic/scrolledlistbox.itk
itcl/iwidgets3.0.0/generic/scrolledtext.itk
itcl/iwidgets3.0.0/generic/shell.itk
itcl/iwidgets3.0.0/generic/spindate.itk
itcl/iwidgets3.0.0/generic/spinint.itk
itcl/iwidgets3.0.0/generic/timeentry.itk
itcl/iwidgets3.0.0/generic/timefield.itk
itcl/iwidgets3.0.0/generic/toolbar.itk
itcl/iwidgets3.0.0/generic/watch.itk
itcl/iwidgets3.0.0/tests/all
itcl/iwidgets3.0.0/tests/buttonbox.test
itcl/iwidgets3.0.0/tests/calendar.test
itcl/iwidgets3.0.0/tests/canvasprintbox.test
itcl/iwidgets3.0.0/tests/canvasprintdialog.test
itcl/iwidgets3.0.0/tests/checkbox.test
itcl/iwidgets3.0.0/tests/combobox.test
itcl/iwidgets3.0.0/tests/dateentry.test
itcl/iwidgets3.0.0/tests/datefield.test
itcl/iwidgets3.0.0/tests/defs
itcl/iwidgets3.0.0/tests/dialog.test
itcl/iwidgets3.0.0/tests/dialogshell.test
itcl/iwidgets3.0.0/tests/disjointlistbox.test
itcl/iwidgets3.0.0/tests/entryfield.test
itcl/iwidgets3.0.0/tests/extfileselectionbox.test
itcl/iwidgets3.0.0/tests/extfileselectiondialog.test
itcl/iwidgets3.0.0/tests/feedback.test
itcl/iwidgets3.0.0/tests/fileselectionbox.test
itcl/iwidgets3.0.0/tests/fileselectiondialog.test
itcl/iwidgets3.0.0/tests/finddialog.test
itcl/iwidgets3.0.0/tests/hierarchy.test
itcl/iwidgets3.0.0/tests/hyperhelp.test
itcl/iwidgets3.0.0/tests/labeledframe.test
itcl/iwidgets3.0.0/tests/labeledwidget.test
itcl/iwidgets3.0.0/tests/menubar.test
itcl/iwidgets3.0.0/tests/messagebox.test
itcl/iwidgets3.0.0/tests/messagedialog.test
itcl/iwidgets3.0.0/tests/notebook.test
itcl/iwidgets3.0.0/tests/optionmenu.test
itcl/iwidgets3.0.0/tests/panedwindow.test
itcl/iwidgets3.0.0/tests/promptdialog.test
itcl/iwidgets3.0.0/tests/pushbutton.test
itcl/iwidgets3.0.0/tests/radiobox.test
itcl/iwidgets3.0.0/tests/regexpfield.test
itcl/iwidgets3.0.0/tests/scrolledcanvas.test
itcl/iwidgets3.0.0/tests/scrolledframe.test
itcl/iwidgets3.0.0/tests/scrolledhtml.test
itcl/iwidgets3.0.0/tests/scrolledlistbox.test
itcl/iwidgets3.0.0/tests/scrolledtext.test
itcl/iwidgets3.0.0/tests/selectionbox.test
itcl/iwidgets3.0.0/tests/selectiondialog.test
itcl/iwidgets3.0.0/tests/shell.test
itcl/iwidgets3.0.0/tests/spindate.test
itcl/iwidgets3.0.0/tests/spinint.test
itcl/iwidgets3.0.0/tests/spinner.test
itcl/iwidgets3.0.0/tests/spintime.test
itcl/iwidgets3.0.0/tests/tabnotebook.test
itcl/iwidgets3.0.0/tests/tabset.test
itcl/iwidgets3.0.0/tests/timeentry.test
itcl/iwidgets3.0.0/tests/timefield.test
itcl/iwidgets3.0.0/tests/toolbar.test
itcl/iwidgets3.0.0/tests/usual.test
itcl/iwidgets3.0.0/tests/watch.test
itcl/license.terms
itcl/makefile.vc

index 0ff4b6a..95d784d 100755 (executable)
@@ -33,7 +33,7 @@ chowncmd=""
 chgrpcmd=""
 stripcmd=""
 rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+mvcmd="$mvprog -f"
 src=""
 dst=""
 
index 154cfbb..5dfbeda 100644 (file)
@@ -19,34 +19,39 @@ find \- search for classes and objects
 .SH DESCRIPTION
 .PP
 The \fBfind\fR command is used to find classes and objects
-that are available in the current context.  A class or object is
-"available" if its access command can be found in the current
-namespace context or in the global namespace.  Therefore,
-classes and objects created in the global namespace are
-available to all other namespaces in a program.  Classes and
-objects created in one namespace can also be imported into
-another using the \fBnamespace import\fR command.
+that are available in the current interpreter.  Classes and objects
+are reported first in the active namespace, then in all other
+namespaces in the interpreter.
 .PP
 The \fIoption\fR argument determines what action is carried out
 by the command.  The legal \fIoptions\fR (which may be abbreviated)
 are:
 .TP
 \fBfind classes ?\fIpattern\fR?
-Returns a list of classes found in the current namespace context.
-If the optional \fIpattern\fR is specified, then the reported names
-are compared using the rules of the "\fBstring match\fR" command,
-and only matching names are reported.
+Returns a list of [incr Tcl] classes.  Classes in the current
+namespace are listed first, followed by classes in all other
+namespaces in the interpreter.  If the optional \fIpattern\fR
+is specified, then the reported names are compared using the rules
+of the "\fBstring match\fR" command, and only matching names are
+reported.
 .sp
 If a class resides in the current namespace context, this command
 reports its simple name--without any qualifiers.  However, if the
 \fIpattern\fR contains \fB::\fR qualifiers, or if the class resides
 in another context, this command reports its fully-qualified name.
+Therefore, you can use the following command to obtain a list where
+all names are fully-qualified:
+.CS
+find classes ::*
+.CE
 .TP
 \fBfind objects ?\fIpattern\fR? ?\fB-class \fIclassName\fR? ?\fB-isa \fIclassName\fR?
-Returns a list of objects found in the current namespace context.
-If the optional \fIpattern\fR is specified, then the reported names
-are compared using the rules of the "\fBstring match\fR" command,
-and only matching names are reported.
+Returns a list of [incr Tcl] objects.  Objects in the current
+namespace are listed first, followed by objects in all other
+namespaces in the interpreter.  If the optional \fIpattern\fR is
+specified, then the reported names are compared using the rules
+of the "\fBstring match\fR" command, and only matching names are
+reported.
 If the optional "\fB-class\fR" parameter is specified, this list is
 restricted to objects whose most-specific class is \fIclassName\fR.
 If the optional "\fB-isa\fR" parameter is specified, this list is
@@ -57,6 +62,11 @@ If an object resides in the current namespace context, this command
 reports its simple name--without any qualifiers.  However, if the
 \fIpattern\fR contains \fB::\fR qualifiers, or if the object resides
 in another context, this command reports its fully-qualified name.
+Therefore, you can use the following command to obtain a list where
+all names are fully-qualified:
+.CS
+find objects ::*
+.CE
 
 .SH KEYWORDS
 class, object, search, import
index 083616a..454da93 100644 (file)
@@ -22,7 +22,7 @@ itcl_info \- query info regarding classes and objects (obsolete)
 .PP
 This command is considered obsolete, but is retained for
 backward-compatibility with earlier versions of \fB[incr\ Tcl]\fR.
-It has been replaced by the "\fBinfo classes\fR" and "\fBinfo objects\fR"
+It has been replaced by the "\fBfind classes\fR" and "\fBfind objects\fR"
 commands, which should be used for any new development.
 
 .PP
index 690a99e..f49591e 100644 (file)
@@ -7,7 +7,7 @@
 '\" RCS: $Id$
 '\"
 .so man.macros
-.TH scope n "" Tcl "[incr\ Tcl]"
+.TH scope n "" itcl "[incr\ Tcl]"
 .BS
 '\" Note:  do not modify the .SH NAME line immediately below!
 .SH NAME
index fa4c2d3..4e0ad39 100644 (file)
@@ -39,6 +39,9 @@
  *           mmclennan@lucent.com
  *           http://www.tcltk.com/itcl
  *
+ *       modified for Stubs 5/20/1999 by 
+ *           David Gravereaux <davygrvy@bigfoot.com>
+ *
  *     RCS:  $Id$
  * ========================================================================
  *           Copyright (c) 1993-1998  Lucent Technologies, Inc.
 
 #include "tcl.h"
 
-#define ITCL_VERSION "3.0"
-#define ITCL_PATCH_LEVEL "3.0"
+#undef TCL_STORAGE_CLASS
+#ifdef BUILD_itcl
+# define TCL_STORAGE_CLASS DLLEXPORT
+#else
+# ifdef USE_ITCL_STUBS
+#  define TCL_STORAGE_CLASS
+# else
+#  define TCL_STORAGE_CLASS DLLIMPORT
+# endif
+#endif
+
+#define ITCL_VERSION "3.2"
+#define ITCL_PATCH_LEVEL "3.2.0"
 #define ITCL_MAJOR_VERSION 3
-#define ITCL_MINOR_VERSION 0
+#define ITCL_MINOR_VERSION 2
 #define ITCL_RELEASE_LEVEL 0
 
 /* 
 
 #ifndef RESOURCE_INCLUDED
 
-#include "tclInt.h"
-
-#ifdef BUILD_itcl
-# undef TCL_STORAGE_CLASS
-# define TCL_STORAGE_CLASS DLLEXPORT
-#endif
-
 /*
  * Protection levels:
  *
@@ -130,55 +137,32 @@ typedef struct Itcl_InterpState_ *Itcl_InterpState;
 
 
 /*
- *  Exported functions
+ * Include the public function declarations that are accessible via
+ * the stubs table.
  */
-EXTERN int Itcl_Init _ANSI_ARGS_((Tcl_Interp *interp));
-EXTERN int Itcl_SafeInit _ANSI_ARGS_((Tcl_Interp *interp));
-
-EXTERN int Itcl_RegisterC _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, Tcl_CmdProc *proc, ClientData clientData,
-    Tcl_CmdDeleteProc *deleteProc));
-EXTERN int Itcl_RegisterObjC _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, Tcl_ObjCmdProc *proc, ClientData clientData,
-    Tcl_CmdDeleteProc *deleteProc));
-EXTERN int Itcl_FindC _ANSI_ARGS_((Tcl_Interp *interp, char *name,
-    Tcl_CmdProc **argProcPtr, Tcl_ObjCmdProc **objProcPtr,
-    ClientData *cDataPtr));
-
-EXTERN void Itcl_InitStack _ANSI_ARGS_((Itcl_Stack *stack));
-EXTERN void Itcl_DeleteStack _ANSI_ARGS_((Itcl_Stack *stack));
-EXTERN void Itcl_PushStack _ANSI_ARGS_((ClientData cdata,
-    Itcl_Stack *stack));
-EXTERN ClientData Itcl_PopStack _ANSI_ARGS_((Itcl_Stack *stack));
-EXTERN ClientData Itcl_PeekStack _ANSI_ARGS_((Itcl_Stack *stack));
-EXTERN ClientData Itcl_GetStackValue _ANSI_ARGS_((Itcl_Stack *stack,
-    int pos));
-
-EXTERN void Itcl_InitList _ANSI_ARGS_((Itcl_List *listPtr));
-EXTERN void Itcl_DeleteList _ANSI_ARGS_((Itcl_List *listPtr));
-EXTERN Itcl_ListElem* Itcl_CreateListElem _ANSI_ARGS_((Itcl_List *listPtr));
-EXTERN Itcl_ListElem* Itcl_DeleteListElem _ANSI_ARGS_((Itcl_ListElem *elemPtr));
-EXTERN Itcl_ListElem* Itcl_InsertList _ANSI_ARGS_((Itcl_List *listPtr,
-    ClientData val));
-EXTERN Itcl_ListElem* Itcl_InsertListElem _ANSI_ARGS_((Itcl_ListElem *pos,
-    ClientData val));
-EXTERN Itcl_ListElem* Itcl_AppendList _ANSI_ARGS_((Itcl_List *listPtr,
-    ClientData val));
-EXTERN Itcl_ListElem* Itcl_AppendListElem _ANSI_ARGS_((Itcl_ListElem *pos,
-    ClientData val));
-EXTERN void Itcl_SetListValue _ANSI_ARGS_((Itcl_ListElem *elemPtr,
-    ClientData val));
-
-EXTERN void Itcl_EventuallyFree _ANSI_ARGS_((ClientData cdata,
-    Tcl_FreeProc *fproc));
-EXTERN void Itcl_PreserveData _ANSI_ARGS_((ClientData cdata));
-EXTERN void Itcl_ReleaseData _ANSI_ARGS_((ClientData cdata));
-
-EXTERN Itcl_InterpState Itcl_SaveInterpState _ANSI_ARGS_((Tcl_Interp* interp,
-    int status));
-EXTERN int Itcl_RestoreInterpState _ANSI_ARGS_((Tcl_Interp* interp,
-    Itcl_InterpState state));
-EXTERN void Itcl_DiscardInterpState _ANSI_ARGS_((Itcl_InterpState state));
+
+#include "itclDecls.h"
+
+
+/*
+ * Itcl_InitStubs is used by extensions like Itk that can be linked
+ * against the itcl stubs library.  If we are not using stubs
+ * then this reduces to package require.
+ */
+
+#ifdef USE_ITCL_STUBS
+
+char * Itcl_InitStubs _ANSI_ARGS_((Tcl_Interp *interp,
+                           char *version, int exact));
+#else
+#define Itcl_InitStubs(interp, version, exact) \
+      Tcl_PkgRequire(interp, "Itcl", version, exact)
+#endif
+
+/*
+ * Public functions that are not accessible via the stubs table.
+ */
+
 
 #endif /* RESOURCE_INCLUDED */
 
index 9ca1323..a3bb712 100644 (file)
 # define TCL_STORAGE_CLASS DLLEXPORT
 #endif
 
-/*
- * Since the Tcl/Tk distribution doesn't perform any asserts,
- * dynamic loading can fail to find the __assert function.
- * As a workaround, we'll include our own.
- */
-#undef  assert
-#ifdef  NDEBUG
-#define assert(EX) ((void)0)
-#else
-EXTERN void Itcl_Assert _ANSI_ARGS_((char *testExpr, char *fileName, int lineNum)
-);
-#if defined(__STDC__)
-#define assert(EX) (void)((EX) || (Itcl_Assert(#EX, __FILE__, __LINE__), 0))
-#else
-#define assert(EX) (void)((EX) || (Itcl_Assert("EX", __FILE__, __LINE__), 0))
-#endif  /* __STDC__ */
-#endif  /* NDEBUG */
-
 
 /*
  *  Common info for managing all known objects.
@@ -257,277 +239,24 @@ typedef struct ItclContext {
 } ItclContext;
 
 
-/*
- *  Functions used within the package, but not considered "public"
- */
-
-EXTERN int Itcl_IsClassNamespace _ANSI_ARGS_((Tcl_Namespace *namesp));
-EXTERN int Itcl_IsClass _ANSI_ARGS_((Tcl_Command cmd));
-EXTERN ItclClass* Itcl_FindClass _ANSI_ARGS_((Tcl_Interp* interp,
-    char* path, int autoload));
-
-EXTERN int Itcl_FindObject _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, ItclObject **roPtr));
-EXTERN int Itcl_IsObject _ANSI_ARGS_((Tcl_Command cmd));
-EXTERN int Itcl_ObjectIsa _ANSI_ARGS_((ItclObject *contextObj,
-    ItclClass *cdefn));
-
-
-EXTERN int Itcl_Protection _ANSI_ARGS_((Tcl_Interp *interp,
-    int newLevel));
-EXTERN char* Itcl_ProtectionStr _ANSI_ARGS_((int pLevel));
-EXTERN int Itcl_CanAccess _ANSI_ARGS_((ItclMember* memberPtr,
-    Tcl_Namespace* fromNsPtr));
-EXTERN int Itcl_CanAccessFunc _ANSI_ARGS_((ItclMemberFunc* mfunc,
-    Tcl_Namespace* fromNsPtr));
-EXTERN Tcl_Namespace* Itcl_GetTrueNamespace _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclObjectInfo *info));
-
-EXTERN void Itcl_ParseNamespPath _ANSI_ARGS_((char *name,
-    Tcl_DString *buffer, char **head, char **tail));
-EXTERN int Itcl_DecodeScopedCommand _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, Tcl_Namespace **rNsPtr, char **rCmdPtr));
-EXTERN int Itcl_EvalArgs _ANSI_ARGS_((Tcl_Interp *interp, int objc,
-    Tcl_Obj *CONST objv[]));
-EXTERN Tcl_Obj* Itcl_CreateArgs _ANSI_ARGS_((Tcl_Interp *interp,
-    char *string, int objc, Tcl_Obj *CONST objv[]));
-
-EXTERN int Itcl_PushContext _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclMember *member, ItclClass *contextClass, ItclObject *contextObj,
-    ItclContext *contextPtr));
-EXTERN void Itcl_PopContext _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclContext *contextPtr));
-EXTERN int Itcl_GetContext _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclClass **cdefnPtr, ItclObject **odefnPtr));
-
-EXTERN void Itcl_InitHierIter _ANSI_ARGS_((ItclHierIter *iter,
-    ItclClass *cdefn));
-EXTERN void Itcl_DeleteHierIter _ANSI_ARGS_((ItclHierIter *iter));
-EXTERN ItclClass* Itcl_AdvanceHierIter _ANSI_ARGS_((ItclHierIter *iter));
-
-EXTERN int Itcl_FindClassesCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_FindObjectsCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ProtectionCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_DelClassCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_DelObjectCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ScopeCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_CodeCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_StubCreateCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_StubExistsCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_IsStub _ANSI_ARGS_((Tcl_Command cmd));
-
-
-/*
- *  Functions for manipulating classes
- */
-EXTERN int Itcl_CreateClass _ANSI_ARGS_((Tcl_Interp* interp, char* path,
-    ItclObjectInfo *info, ItclClass **rPtr));
-EXTERN int Itcl_DeleteClass _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclClass *cdefnPtr));
-EXTERN Tcl_Namespace* Itcl_FindClassNamespace _ANSI_ARGS_((Tcl_Interp* interp,
-    char* path));
-EXTERN int Itcl_HandleClass _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassCmdResolver _ANSI_ARGS_((Tcl_Interp *interp,
-    char* name, Tcl_Namespace *context, int flags, Tcl_Command *rPtr));
-EXTERN int Itcl_ClassVarResolver _ANSI_ARGS_((Tcl_Interp *interp,
-    char* name, Tcl_Namespace *context, int flags, Tcl_Var *rPtr));
-EXTERN int Itcl_ClassCompiledVarResolver _ANSI_ARGS_((Tcl_Interp *interp,
-    char* name, int length, Tcl_Namespace *context, Tcl_ResolvedVarInfo **rPtr));
-EXTERN void Itcl_BuildVirtualTables _ANSI_ARGS_((ItclClass* cdefnPtr));
-EXTERN int Itcl_CreateVarDefn _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclClass* cdefn, char* name, char* init, char* config,
-    ItclVarDefn** vdefnPtr));
-EXTERN void Itcl_DeleteVarDefn _ANSI_ARGS_((ItclVarDefn *vdefn));
-EXTERN char* Itcl_GetCommonVar _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, ItclClass *contextClass));
-EXTERN ItclMember* Itcl_CreateMember _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclClass *cdefn, char* name));
-EXTERN void Itcl_DeleteMember _ANSI_ARGS_((ItclMember *memPtr));
-
+#include "itclIntDecls.h"
 
 /*
- *  Functions for manipulating objects
- */
-EXTERN int Itcl_CreateObject _ANSI_ARGS_((Tcl_Interp *interp,
-    char* name, ItclClass *cdefn, int objc, Tcl_Obj *CONST objv[],
-    ItclObject **roPtr));
-EXTERN int Itcl_DeleteObject _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclObject *contextObj));
-EXTERN int Itcl_DestructObject _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclObject *contextObj, int flags));
-EXTERN int Itcl_HandleInstance _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN char* Itcl_GetInstanceVar _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, ItclObject *contextObj, ItclClass *contextClass));
-EXTERN int Itcl_ScopedVarResolver _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, Tcl_Namespace *contextNs, int flags, Tcl_Var *rPtr));
-
-
-/*
- *  Functions for manipulating methods and procs
- */
-EXTERN int Itcl_BodyCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ConfigBodyCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_CreateMethod _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclClass *cdefn, char* name, char* arglist, char* body));
-EXTERN int Itcl_CreateProc _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclClass *cdefn, char* name, char* arglist, char* body));
-EXTERN int Itcl_CreateMemberFunc _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclClass *cdefn, char* name, char* arglist, char* body,
-    ItclMemberFunc** mfuncPtr));
-EXTERN int Itcl_ChangeMemberFunc _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclMemberFunc* mfunc, char* arglist, char* body));
-EXTERN void Itcl_DeleteMemberFunc _ANSI_ARGS_((char* cdata));
-EXTERN int Itcl_CreateMemberCode _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclClass *cdefn, char* arglist, char* body, ItclMemberCode** mcodePtr));
-EXTERN void Itcl_DeleteMemberCode _ANSI_ARGS_((char* cdata));
-EXTERN int Itcl_GetMemberCode _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclMember* member));
-EXTERN int Itcl_CompileMemberCodeBody _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclMember *member, char *desc, Tcl_Obj *bodyPtr));
-EXTERN int Itcl_EvalMemberCode _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclMemberFunc *mfunc, ItclMember *member, ItclObject *contextObj,
-    int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_CreateArgList _ANSI_ARGS_((Tcl_Interp* interp,
-    char* decl, int* argcPtr, CompiledLocal** argPtr));
-EXTERN CompiledLocal* Itcl_CreateArg _ANSI_ARGS_((char* name,
-    char* init));
-EXTERN void Itcl_DeleteArgList _ANSI_ARGS_((CompiledLocal *arglist));
-EXTERN Tcl_Obj* Itcl_ArgList _ANSI_ARGS_((int argc, CompiledLocal* arglist));
-EXTERN int Itcl_EquivArgLists _ANSI_ARGS_((CompiledLocal* arg1, int arg1c,
-    CompiledLocal* arg2, int arg2c));
-EXTERN void Itcl_GetMemberFuncUsage _ANSI_ARGS_((ItclMemberFunc *mfunc,
-    ItclObject *contextObj, Tcl_Obj *objPtr));
-EXTERN int Itcl_ExecMethod _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ExecProc _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_AssignArgs _ANSI_ARGS_((Tcl_Interp *interp,
-    int objc, Tcl_Obj *CONST objv[], ItclMemberFunc *mfunc));
-EXTERN int Itcl_ConstructBase _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclObject *contextObj, ItclClass *contextClass));
-EXTERN int Itcl_InvokeMethodIfExists _ANSI_ARGS_((Tcl_Interp *interp,
-    char *name, ItclClass *contextClass, ItclObject *contextObj,
-    int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_EvalBody _ANSI_ARGS_((Tcl_Interp *interp,
-    Tcl_Obj *bodyPtr));
-EXTERN int Itcl_ReportFuncErrors _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclMemberFunc *mfunc, ItclObject *contextObj, int result));
-
-
-/*
- *  Commands for parsing class definitions
- */
-EXTERN int Itcl_ParseInit _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclObjectInfo *info));
-EXTERN int Itcl_ClassCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassInheritCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassProtectionCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassConstructorCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassDestructorCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassMethodCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassProcCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassVariableCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ClassCommonCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_ParseVarResolver _ANSI_ARGS_((Tcl_Interp *interp,
-    char* name, Tcl_Namespace *contextNs, int flags, Tcl_Var* rPtr));
-
-
-/*
- *  Commands in the "builtin" namespace
- */
-EXTERN int Itcl_BiInit _ANSI_ARGS_((Tcl_Interp *interp));
-EXTERN int Itcl_InstallBiMethods _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclClass *cdefn));
-EXTERN int Itcl_BiIsaCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiConfigureCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiCgetCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiChainCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiInfoClassCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiInfoInheritCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiInfoHeritageCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiInfoFunctionCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiInfoVariableCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiInfoBodyCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_BiInfoArgsCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_DefaultInfoCmd _ANSI_ARGS_((ClientData dummy,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-
-
-/*
- *  Ensembles
- */
-EXTERN int Itcl_EnsembleInit _ANSI_ARGS_((Tcl_Interp *interp));
-EXTERN int Itcl_CreateEnsemble _ANSI_ARGS_((Tcl_Interp *interp,
-    char* ensName));
-EXTERN int Itcl_AddEnsemblePart _ANSI_ARGS_((Tcl_Interp *interp,
-    char* ensName, char* partName, char* usageInfo,
-    Tcl_ObjCmdProc *objProc, ClientData clientData,
-    Tcl_CmdDeleteProc *deleteProc));
-EXTERN int Itcl_GetEnsemblePart _ANSI_ARGS_((Tcl_Interp *interp,
-    char *ensName, char *partName, Tcl_CmdInfo *infoPtr));
-EXTERN int Itcl_IsEnsemble _ANSI_ARGS_((Tcl_CmdInfo* infoPtr));
-EXTERN int Itcl_GetEnsembleUsage _ANSI_ARGS_((Tcl_Interp *interp,
-    char *ensName, Tcl_Obj *objPtr));
-EXTERN int Itcl_GetEnsembleUsageForObj _ANSI_ARGS_((Tcl_Interp *interp,
-    Tcl_Obj *ensObjPtr, Tcl_Obj *objPtr));
-EXTERN int Itcl_EnsembleCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_EnsPartCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itcl_EnsembleErrorCmd _ANSI_ARGS_((ClientData clientData,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-
-
-/*
- *  Commands provided for backward compatibility
+ * Since the Tcl/Tk distribution doesn't perform any asserts,
+ * dynamic loading can fail to find the __assert function.
+ * As a workaround, we'll include our own.
  */
-EXTERN int Itcl_OldInit _ANSI_ARGS_((Tcl_Interp* interp,
-    ItclObjectInfo* info));
-EXTERN int Itcl_InstallOldBiMethods _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclClass *cdefn));
-
 
-/*
- *  Things that should be in the Tcl core.
- */
-EXTERN Tcl_CallFrame* _Tcl_GetCallFrame _ANSI_ARGS_((Tcl_Interp *interp,
-    int level));
-EXTERN Tcl_CallFrame* _Tcl_ActivateCallFrame _ANSI_ARGS_((Tcl_Interp *interp,
-    Tcl_CallFrame *framePtr));
-EXTERN Var* _TclNewVar _ANSI_ARGS_((void));
+#undef  assert
+#ifdef  NDEBUG
+#define assert(EX) ((void)0)
+#else
+#if defined(__STDC__)
+#define assert(EX) (void)((EX) || (Itcl_Assert(#EX, __FILE__, __LINE__), 0))
+#else
+#define assert(EX) (void)((EX) || (Itcl_Assert("EX", __FILE__, __LINE__), 0))
+#endif  /* __STDC__ */
+#endif  /* NDEBUG */
 
 #undef TCL_STORAGE_CLASS
 #define TCL_STORAGE_CLASS DLLIMPORT
index d9319a4..0340dc8 100644 (file)
@@ -841,6 +841,10 @@ Itcl_BiInfoClassCmd(dummy, interp, objc, objv)
      */
     if (contextObj) {
         contextNs = contextObj->classDefn->namesp;
+    } else {
+      assert(contextClass != NULL);
+      assert(contextClass->namesp != NULL);
+      contextNs = contextClass->namesp;
     }
 
     if (contextNs->parentPtr == activeNs) {
index 9ef772a..5661ad3 100644 (file)
@@ -1004,6 +1004,9 @@ Itcl_ClassVarResolver(interp, name, context, flags, rPtr)
                                *   in interp if anything goes wrong */
     Tcl_Var *rPtr;            /* returns: resolved variable */
 {
+    Interp *iPtr = (Interp *) interp;
+    CallFrame *varFramePtr = iPtr->varFramePtr;
+
     ItclClass *cdefn = (ItclClass*)context->clientData;
     ItclObject *contextObj;
     Tcl_CallFrame *framePtr;
@@ -1021,6 +1024,57 @@ Itcl_ClassVarResolver(interp, name, context, flags, rPtr)
     }
 
     /*
+     *  See if this is a formal parameter in the current proc scope.
+     *  If so, that variable has precedence.  Look it up and return
+     *  it here.  This duplicates some of the functionality of
+     *  TclLookupVar, but we return it here (instead of returning
+     *  TCL_CONTINUE) to avoid looking it up again later.
+     */
+    if (varFramePtr && varFramePtr->isProcCallFrame
+        && strstr(name,"::") == NULL) {
+
+        Proc *procPtr = varFramePtr->procPtr;
+
+        /*
+         *  Search through compiled locals first...
+         */
+        if (procPtr) {
+            int localCt = procPtr->numCompiledLocals;
+            CompiledLocal *localPtr = procPtr->firstLocalPtr;
+            Var *localVarPtr = varFramePtr->compiledLocals;
+            int nameLen = strlen(name);
+            int i;
+
+            for (i=0; i < localCt; i++) {
+                if (!TclIsVarTemporary(localPtr)) {
+                    register char *localName = localVarPtr->name;
+                    if ((name[0] == localName[0])
+                            && (nameLen == localPtr->nameLength)
+                            && (strcmp(name, localName) == 0)) {
+                        *rPtr = (Tcl_Var)localVarPtr;
+                        return TCL_OK;
+                    }
+                }
+                localVarPtr++;
+                localPtr = localPtr->nextPtr;
+            }
+        }
+
+        /*
+         *  If it's not a compiled local, then look in the frame's
+         *  var hash table next.  This variable may have been
+         *  created on the fly.
+         */
+        if (varFramePtr->varTablePtr != NULL) {
+            entry = Tcl_FindHashEntry(varFramePtr->varTablePtr, name);
+            if (entry != NULL) {
+                *rPtr = (Tcl_Var)Tcl_GetHashValue(entry);
+                return TCL_OK;
+            }
+        }
+    }
+
+    /*
      *  See if the variable is a known data member and accessible.
      */
     entry = Tcl_FindHashEntry(&cdefn->resolveVars, name);
index bd06331..773e309 100644 (file)
@@ -52,11 +52,39 @@ namespace eval ::itcl {\n\
         variable library\n\
         variable version\n\
         rename _find_init {}\n\
-        if {[catch {uplevel #0 source -rsrc itcl}] == 0} {\n\
-            return\n\
+        if {[info exists library]} {\n\
+            lappend dirs $library\n\
+        } else {\n\
+            if {[catch {uplevel #0 source -rsrc itcl}] == 0} {\n\
+                return\n\
+            }\n\
+            set dirs {}\n\
+            if {[info exists env(ITCL_LIBRARY)]} {\n\
+                lappend dirs $env(ITCL_LIBRARY)\n\
+            }\n\
+            lappend dirs [file join [file dirname $tcl_library] itcl$version]\n\
+            set bindir [file dirname [info nameofexecutable]]\n\
+            lappend dirs [file join $bindir .. lib itcl$version]\n\
+            lappend dirs [file join $bindir .. library]\n\
+            lappend dirs [file join $bindir .. .. library]\n\
+            lappend dirs [file join $bindir .. .. itcl library]\n\
+            lappend dirs [file join $bindir .. .. .. itcl library]\n\
         }\n\
-        tcl_findLibrary itcl 3.0 {} itcl.tcl ITCL_LIBRARY ::itcl::library {} {} itcl\n\
-   }\n\
+        foreach i $dirs {\n\
+            set library $i\n\
+            set itclfile [file join $i itcl.tcl]\n\
+            if {![catch {uplevel #0 [list source $itclfile]} msg]} {\n\
+                return\n\
+            }\n\
+        }\n\
+        set msg \"Can't find a usable itcl.tcl in the following directories:\n\"\n\
+        append msg \"    $dirs\n\"\n\
+        append msg \"This probably means that Itcl/Tcl weren't installed properly.\n\"\n\
+        append msg \"If you know where the Itcl library directory was installed,\n\"\n\
+        append msg \"you can set the environment variable ITCL_LIBRARY to point\n\"\n\
+        append msg \"to the library directory.\n\"\n\
+        error $msg\n\
+    }\n\
     _find_init\n\
 }";
 \f
@@ -66,13 +94,15 @@ namespace eval ::itcl {\n\
 
 static char safeInitScript[] =
 "proc ::itcl::local {class name args} {\n\
-    set ptr [uplevel eval [list $class $name] $args]\n\
+    set ptr [uplevel [list $class $name] $args]\n\
     uplevel [list set itcl-local-$ptr $ptr]\n\
     set cmd [uplevel namespace which -command $ptr]\n\
     uplevel [list trace variable itcl-local-$ptr u \"::itcl::delete object $cmd; list\"]\n\
     return $ptr\n\
 }";
 
+extern ItclStubs itclStubs;
+
 \f
 /*
  * ------------------------------------------------------------------------
@@ -97,9 +127,9 @@ Initialize(interp)
     Tcl_Namespace *itclNs;
     ItclObjectInfo *info;
 
-    if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 1) == NULL) {
+    if (Tcl_InitStubs(interp, "8.1", 0) == NULL) {
        return TCL_ERROR;
-    }
+    };
 
     /*
      *  See if [incr Tcl] is already installed.
@@ -276,7 +306,8 @@ Initialize(interp)
     /*
      *  Package is now loaded.
      */
-    if (Tcl_PkgProvide(interp, "Itcl", ITCL_VERSION) != TCL_OK) {
+    if (Tcl_PkgProvideEx(interp, "Itcl", ITCL_VERSION,
+            (ClientData) &itclStubs) != TCL_OK) {
        return TCL_ERROR;
     }
     return TCL_OK;
@@ -385,11 +416,11 @@ ItclDelObjectInfo(cdata)
  * ------------------------------------------------------------------------
  *  Itcl_FindClassesCmd()
  *
- *  Part of the "::info" ensemble.  Invoked by Tcl whenever the user
- *  issues an "info classes" command to query the list of classes
- *  in the current namespace.  Handles the following syntax:
+ *  Invoked by Tcl whenever the user issues an "itcl::find classes"
+ *  command to query the list of known classes.  Handles the following
+ *  syntax:
  *
- *    info classes ?<pattern>?
+ *    find classes ?<pattern>?
  *
  *  Returns TCL_OK/TCL_ERROR to indicate success/failure.
  * ------------------------------------------------------------------------
@@ -408,11 +439,11 @@ Itcl_FindClassesCmd(clientData, interp, objc, objv)
 
     char *pattern;
     char *name;
-    int i, nsearch, newEntry;
+    int i, newEntry, handledActiveNs;
     Tcl_HashTable unique;
     Tcl_HashEntry *entry;
     Tcl_HashSearch place;
-    Tcl_Namespace *search[2];
+    Itcl_Stack search;
     Tcl_Command cmd, originalCmd;
     Namespace *nsPtr;
     Tcl_Obj *listPtr, *objPtr;
@@ -430,22 +461,25 @@ Itcl_FindClassesCmd(clientData, interp, objc, objv)
     }
 
     /*
-     *  Search through all commands in the current namespace and
-     *  in the global namespace.  If we find any commands that
+     *  Search through all commands in the current namespace first,
+     *  in the global namespace next, then in all child namespaces
+     *  in this interpreter.  If we find any commands that
      *  represent classes, report them.
      */
     listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL);
 
-    nsearch = 0;
-    search[nsearch++] = activeNs;
-    if (activeNs != globalNs) {
-        search[nsearch++] = globalNs;
-    }
+    Itcl_InitStack(&search);
+    Itcl_PushStack((ClientData)globalNs, &search);
+    Itcl_PushStack((ClientData)activeNs, &search);  /* last in, first out! */
 
     Tcl_InitHashTable(&unique, TCL_ONE_WORD_KEYS);
 
-    for (i=0; i < nsearch; i++) {
-        nsPtr = (Namespace*)search[i];
+    handledActiveNs = 0;
+    while (Itcl_GetStackSize(&search) > 0) {
+        nsPtr = (Namespace*)Itcl_PopStack(&search);
+        if (nsPtr == (Namespace*)activeNs && handledActiveNs) {
+            continue;
+        }
 
         entry = Tcl_FirstHashEntry(&nsPtr->cmdTable, &place);
         while (entry) {
@@ -485,8 +519,20 @@ Itcl_FindClassesCmd(clientData, interp, objc, objv)
             }
             entry = Tcl_NextHashEntry(&place);
         }
+        handledActiveNs = 1;  /* don't process the active namespace twice */
+
+        /*
+         *  Push any child namespaces onto the stack and continue
+         *  the search in those namespaces.
+         */
+        entry = Tcl_FirstHashEntry(&nsPtr->childTable, &place);
+        while (entry != NULL) {
+            Itcl_PushStack(Tcl_GetHashValue(entry), &search);
+            entry = Tcl_NextHashEntry(&place);
+        }
     }
     Tcl_DeleteHashTable(&unique);
+    Itcl_DeleteStack(&search);
 
     Tcl_SetObjResult(interp, listPtr);
     return TCL_OK;
@@ -497,11 +543,11 @@ Itcl_FindClassesCmd(clientData, interp, objc, objv)
  * ------------------------------------------------------------------------
  *  Itcl_FindObjectsCmd()
  *
- *  Part of the "::info" ensemble.  Invoked by Tcl whenever the user
- *  issues an "info objects" command to query the list of known objects.
- *  Handles the following syntax:
+ *  Invoked by Tcl whenever the user issues an "itcl::find objects"
+ *  command to query the list of known objects.  Handles the following
+ *  syntax:
  *
- *    info objects ?-class <className>? ?-isa <className>? ?<pattern>?
+ *    find objects ?-class <className>? ?-isa <className>? ?<pattern>?
  *
  *  Returns TCL_OK/TCL_ERROR to indicate success/failure.
  * ------------------------------------------------------------------------
@@ -522,12 +568,12 @@ Itcl_FindObjectsCmd(clientData, interp, objc, objv)
     ItclClass *isaDefn = NULL;
 
     char *name, *token;
-    int i, pos, nsearch, newEntry, match;
+    int i, pos, newEntry, match, handledActiveNs;
     ItclObject *contextObj;
     Tcl_HashTable unique;
     Tcl_HashEntry *entry;
     Tcl_HashSearch place;
-    Tcl_Namespace *search[2];
+    Itcl_Stack search;
     Tcl_Command cmd, originalCmd;
     Namespace *nsPtr;
     Command *cmdPtr;
@@ -564,6 +610,16 @@ Itcl_FindObjectsCmd(clientData, interp, objc, objv)
             }
             pos++;
         }
+
+        /*
+         * Last token? Take it as the pattern, even if it starts
+         * with a "-".  This allows us to match object names that
+         * start with "-".
+         */
+        else if (pos == objc-1 && !pattern) {
+            pattern = token;
+            forceFullNames = (strstr(pattern, "::") != NULL);
+        }
         else {
             break;
         }
@@ -576,22 +632,25 @@ Itcl_FindObjectsCmd(clientData, interp, objc, objv)
     }
 
     /*
-     *  Search through all commands in the current namespace and
-     *  in the global namespace.  If we find any commands that
+     *  Search through all commands in the current namespace first,
+     *  in the global namespace next, then in all child namespaces
+     *  in this interpreter.  If we find any commands that
      *  represent objects, report them.
      */
     listPtr = Tcl_NewListObj(0, (Tcl_Obj* CONST*)NULL);
 
-    nsearch = 0;
-    search[nsearch++] = activeNs;
-    if (activeNs != globalNs) {
-        search[nsearch++] = globalNs;
-    }
+    Itcl_InitStack(&search);
+    Itcl_PushStack((ClientData)globalNs, &search);
+    Itcl_PushStack((ClientData)activeNs, &search);  /* last in, first out! */
 
     Tcl_InitHashTable(&unique, TCL_ONE_WORD_KEYS);
 
-    for (i=0; i < nsearch; i++) {
-        nsPtr = (Namespace*)search[i];
+    handledActiveNs = 0;
+    while (Itcl_GetStackSize(&search) > 0) {
+        nsPtr = (Namespace*)Itcl_PopStack(&search);
+        if (nsPtr == (Namespace*)activeNs && handledActiveNs) {
+            continue;
+        }
 
         entry = Tcl_FirstHashEntry(&nsPtr->cmdTable, &place);
         while (entry) {
@@ -653,8 +712,20 @@ Itcl_FindObjectsCmd(clientData, interp, objc, objv)
             }
             entry = Tcl_NextHashEntry(&place);
         }
+        handledActiveNs = 1;  /* don't process the active namespace twice */
+
+        /*
+         *  Push any child namespaces onto the stack and continue
+         *  the search in those namespaces.
+         */
+        entry = Tcl_FirstHashEntry(&nsPtr->childTable, &place);
+        while (entry != NULL) {
+            Itcl_PushStack(Tcl_GetHashValue(entry), &search);
+            entry = Tcl_NextHashEntry(&place);
+        }
     }
     Tcl_DeleteHashTable(&unique);
+    Itcl_DeleteStack(&search);
 
     Tcl_SetObjResult(interp, listPtr);
     return TCL_OK;
@@ -702,10 +773,10 @@ Itcl_ProtectionCmd(clientData, interp, objc, objv)
 
     if (objc == 2) {
       /* CYGNUS LOCAL - Fix for 8.1 */
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-        result = Tcl_EvalObj(interp, objv[1]);
-#else
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
         result = Tcl_EvalObj(interp, objv[1], 0);
+#else
+        result = Tcl_EvalObj(interp, objv[1]);
 #endif
        /* END CYGNUS LOCAL */
     } else {
index 60ba06e..fb5f802 100644 (file)
@@ -1690,19 +1690,19 @@ Itcl_EnsembleCmd(clientData, interp, objc, objv)
 
     if (objc == 3) {
       /* CYGNUS LOCAL - fix for Tcl8.1 */
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-        status = Tcl_EvalObj(ensInfo->parser, objv[2]);
-#else
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
         status = Tcl_EvalObj(ensInfo->parser, objv[2], 0);
+#else
+        status = Tcl_EvalObj(ensInfo->parser, objv[2]);
 #endif
     }
     else if (objc > 3) {
         objPtr = Tcl_NewListObj(objc-2, objv+2);
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-        status = Tcl_EvalObj(ensInfo->parser, objPtr);
-#else
-       Tcl_IncrRefCount(objPtr);
+        Tcl_IncrRefCount(objPtr);  /* stop Eval trashing it */
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
         status = Tcl_EvalObj(ensInfo->parser, objPtr, 0);
+#else
+        status = Tcl_EvalObj(ensInfo->parser, objPtr);
 #endif
        /* END CYGNUS LOCAL */
         Tcl_DecrRefCount(objPtr);  /* we're done with the object */
@@ -2114,6 +2114,7 @@ DupEnsInvocInternalRep(srcPtr, copyPtr)
 
     if (prevArgObj) {
         objPtr = Tcl_DuplicateObj(prevArgObj);
+        Tcl_IncrRefCount(objPtr);
         copyPtr->internalRep.twoPtrValue.ptr2 = (VOID *) objPtr;
     }
 }
@@ -2165,7 +2166,7 @@ SetEnsInvocFromAny(interp, objPtr)
      *  keep the string around as if it were the command line
      *  invocation.
      */
-    argObj = Tcl_NewStringObj(name, -1);
+    argObj = Tcl_NewStringObj(name, length);
 
     /*
      *  Free the old representation and install a new one.
index 06e6e65..2ea4110 100644 (file)
 #include "itclInt.h"
 #include "tclCompile.h"
 
-/* CYGNUS LOCAL */
-/* FIXME - it looks like Michael removed the dependance on these... */
-#if 0
-#ifdef __CYGWIN32__
-
-/* On cygwin32, this is how we import these variables from the Tcl DLL.  */
-
-extern int             *_imp__tclTraceCompile;
-
-#define tclTraceCompile (*_imp__tclTraceCompile)
-
-extern int             *_imp__tclTraceExec;
-
-#define tclTraceExec (*_imp__tclTraceExec)
-
-extern Tcl_ObjType     *_imp__tclByteCodeType;
-
-#define tclByteCodeType (*_imp__tclByteCodeType)
-
-#endif
-#endif
-/* END CYGNUS LOCAL */
-
 /*
  *  FORWARD DECLARATIONS
  */
@@ -1025,10 +1002,10 @@ Itcl_EvalMemberCode(interp, mfunc, member, contextObj, objc, objv)
     }
     else if ((mcode->flags & ITCL_IMPLEMENT_TCL) != 0) {
       /* CYGNUS LOCAL - Fix for Tcl8.1 */
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-      result = Tcl_EvalObj(interp, mcode->procPtr->bodyPtr);
-#else
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
       result = Tcl_EvalObj(interp, mcode->procPtr->bodyPtr, 0);
+#else
+      result = Tcl_EvalObj(interp, mcode->procPtr->bodyPtr);
 #endif
       /* END CYGNUS LOCAL */
     }
@@ -2326,10 +2303,10 @@ Itcl_ConstructBase(interp, contextObj, contextClass)
      */
     if (contextClass->initCode) {
       /* CYGNUS LOCAL - Fix for Tcl8.1 */
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-      if (Tcl_EvalObj(interp, contextClass->initCode) != TCL_OK) {
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
+      if (Tcl_EvalObj(interp, contextClass->initCode, 0) != TCL_OK) {
 #else
-       if (Tcl_EvalObj(interp, contextClass->initCode, 0) != TCL_OK) {
+       if (Tcl_EvalObj(interp, contextClass->initCode) != TCL_OK) {
 #endif
          /* END CYGNUS LOCAL */
          return TCL_ERROR;
index 37c9336..6d7b2dc 100644 (file)
@@ -480,10 +480,10 @@ ItclOldClassCmd(clientData, interp, objc, objv)
 
     if (result == TCL_OK) {
       /* CYGNUS LOCAL - Fix for Tcl8.1 */
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-      result = Tcl_EvalObj(interp, objv[2]);
-#else
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
       result = Tcl_EvalObj(interp, objv[2], 0);
+#else
+      result = Tcl_EvalObj(interp, objv[2]);
 #endif
       /* END CYGNUS LOCAL */
       Tcl_PopCallFrame(interp);
index dac966f..23d4510 100644 (file)
@@ -256,10 +256,10 @@ Itcl_ClassCmd(clientData, interp, objc, objv)
 
     if (result == TCL_OK) {
       /* CYGNUS LOCAL - Fix for Tcl8.1 */
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-      result = Tcl_EvalObj(interp, objv[2]);
-#else
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
       result = Tcl_EvalObj(interp, objv[2], 0);
+#else
+      result = Tcl_EvalObj(interp, objv[2]);
 #endif
       /* END CYGNUS LOCAL */
       Tcl_PopCallFrame(interp);
@@ -581,10 +581,10 @@ Itcl_ClassProtectionCmd(clientData, interp, objc, objv)
 
     if (objc == 2) {
       /* CYGNUS LOCAL - Fix for Tcl8.1 */
-#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 0
-      result = Tcl_EvalObj(interp, objv[1]);
-#else
+#if TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION == 1
       result = Tcl_EvalObj(interp, objv[1], 0);
+#else
+      result = Tcl_EvalObj(interp, objv[1]);
 #endif
       /* END CYGNUS LOCAL */
     } else {
@@ -1067,6 +1067,8 @@ Itcl_ParseVarResolver(interp, name, contextNs, flags, rPtr)
      */
     return TCL_CONTINUE;
 }
+
+
 \f
 /*
  * ------------------------------------------------------------------------
index e33823b..e6eed63 100644 (file)
@@ -80,7 +80,6 @@ typedef struct InterpState {
  *  message and abruptly exits.
  * ------------------------------------------------------------------------
  */
-#ifndef NDEBUG
 
 void
 Itcl_Assert(testExpr, fileName, lineNumber)
@@ -88,12 +87,13 @@ Itcl_Assert(testExpr, fileName, lineNumber)
     char *fileName;   /* file name containing this call */
     int lineNumber;   /* line number containing this call */
 {
+#ifndef NDEBUG
     fprintf(stderr, "Assertion failed: \"%s\" (line %d of %s)",
         testExpr, lineNumber, fileName);
     abort();
+#endif
 }
 
-#endif
 
 \f
 /*
index 44b38d2..d9076d4 100644 (file)
@@ -148,7 +148,7 @@ resource 'STR ' (-16397, purgeable) {
 
 data 'TEXT' (ITCL_LIBRARY_RESOURCES+1,"pkgIndex",purgeable, preload) {
        "# Tcl package index file, version 1.0\n"
-       "package ifneeded Itcl 3.0 [list load [file join $dir itcl30[info sharedlibextension]] Itcl]\n"
+       "package ifneeded Itcl 3.1 [list load [file join $dir itcl31[info sharedlibextension]] Itcl]\n"
 };
 
 
index 921b9b4..97a59db 100644 (file)
@@ -1,3 +1,3 @@
 # Tcl package index file, version 1.0
 
-package ifneeded Itcl 3.0 [list load [file join $dir itcl30[info sharedlibextension]] Itcl]
+package ifneeded Itcl 3.1 [list load [file join $dir itcl31[info sharedlibextension]] Itcl]
index b50794c..b8b15b0 100644 (file)
@@ -3,6 +3,11 @@
 # in this directory.
 #
 # SCCS: @(#) all 1.7 96/02/16 08:55:38
+# ------------------------------------------------------------------
+# THIS SCRIPT IS NOW DEPRECATED!  It is kept for older Tcl
+# installations that don't have the "tcltest" package.
+# Instead, use the "all.tcl" script to run the test suite.
+# ------------------------------------------------------------------
 
 foreach i [lsort [glob *.test]] {
     if [string match l.*.test $i] {
index 5aba6bb..c600546 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Simple class definition
 # ----------------------------------------------------------------------
@@ -41,7 +46,7 @@ test basic-1.1 {define a simple class} {
 } ""
 
 test basic-1.2 {class is now defined} {
-    find classes Counter
+    itcl::find classes Counter
 } {Counter}
 
 test basic-1.3 {access command exists with class name} {
@@ -65,15 +70,15 @@ test basic-1.6 {objects have an access command} {
 } {::x}
 
 test basic-1.7a {objects are added to the master list} {
-    find objects x
+    itcl::find objects x
 } {x}
 
 test basic-1.7b {objects are added to the master list} {
-    find objects -class Counter x
+    itcl::find objects -class Counter x
 } {x}
 
 test basic-1.8 {objects can be deleted} {
-    list [delete object x] [namespace which -command x]
+    list [itcl::delete object x] [namespace which -command x]
 } {{} {}}
 
 test basic-1.9 {objects can be recreated with the same name} {
@@ -82,9 +87,14 @@ test basic-1.9 {objects can be recreated with the same name} {
 
 test basic-1.10 {objects can be destroyed by deleting their access command} {
     rename ::x ""
-    find objects x
+    itcl::find objects x
 } {}
 
+test basic-1.11 {find command supports object names starting with -} {
+    Counter -foo
+    itcl::find objects -class Counter -foo
+} {-foo}
+
 # ----------------------------------------------------------------------
 #  #auto names
 # ----------------------------------------------------------------------
@@ -139,7 +149,7 @@ test basic-3.6 {configure actually changes public variable} {
 
 test basic-3.7 {class procs can be accessed} {
     Counter::num
-} {6}
+} {7}
 
 test basic-3.8 {obsolete syntax is no longer allowed} {
     list [catch "Counter :: num" msg] $msg
@@ -152,8 +162,8 @@ Instead, remove the spaces from your procedure invocations:
 #  Classes can be destroyed and redefined
 # ----------------------------------------------------------------------
 test basic-4.1 {classes can be destroyed} {
-    list [delete class Counter] \
-         [find classes Counter] \
+    list [itcl::delete class Counter] \
+         [itcl::find classes Counter] \
          [namespace children :: Counter] \
          [namespace which -command Counter]
 } {{} {} {} {}}
@@ -177,9 +187,9 @@ test basic-4.4 {objects can be created from the new class} {
 } {counter0 counter1}
 
 test basic-4.5 {when a class is destroyed, its objects are deleted} {
-    list [lsort [find objects counter*]] \
-         [delete class Counter] \
-         [lsort [find objects counter*]]
+    list [lsort [itcl::find objects counter*]] \
+         [itcl::delete class Counter] \
+         [lsort [itcl::find objects counter*]]
 } {{counter0 counter1} {} {}}
 
 # ----------------------------------------------------------------------
@@ -317,3 +327,6 @@ test basic-6.7 {common variables can be unset} {
 test basic-6.8 {common variables can be redefined} {
     test_arrays0 do set undefined "scalar"
 } {scalar}
+
+::tcltest::cleanupTests
+return
index fbd4e65..079a69c 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Test "body" command
 # ----------------------------------------------------------------------
 test body-1.1 {define a class with missing bodies and arg lists} {
-    class test_body {
+    itcl::class test_body {
         constructor {args} {}
         destructor {}
 
@@ -42,42 +47,42 @@ test body-1.2 {cannot use methods without a body} {
 } {1 {member function "::test_body::any" is not defined and cannot be autoloaded}}
 
 test body-1.3 {check syntax of "body" command} {
-    list [catch "body test_body::any" msg] $msg
-} {1 {wrong # args: should be "body class::func arglist body"}}
+    list [catch "itcl::body test_body::any" msg] $msg
+} {1 {wrong # args: should be "itcl::body class::func arglist body"}}
 
 test body-1.4 {make sure members are found correctly} {
-    list [catch "body test_body::xyzzyxyzzyxyzzy {} {}" msg] $msg
+    list [catch "itcl::body test_body::xyzzyxyzzyxyzzy {} {}" msg] $msg
 } {1 {function "xyzzyxyzzyxyzzy" is not defined in class "::test_body"}}
 
 test body-1.5a {members without an argument list can have any args} {
-    body test_body::any {} {return "any"}
+    itcl::body test_body::any {} {return "any"}
     list [catch "test_body0 any" msg] $msg
 } {0 any}
 
 test body-1.5b {members without an argument list can have any args} {
-    body test_body::any {x} {return "any: $x"}
+    itcl::body test_body::any {x} {return "any: $x"}
     list [catch "test_body0 any 1" msg] $msg
 } {0 {any: 1}}
 
 test body-1.5c {members without an argument list can have any args} {
-    body test_body::any {x {y 2}} {return "any: $x $y"}
+    itcl::body test_body::any {x {y 2}} {return "any: $x $y"}
     list [catch "test_body0 any 1" msg] $msg
 } {0 {any: 1 2}}
 
 test body-1.6a {an empty argument list must stay empty} {
-    list [catch {body test_body::zero {x y} {return "zero: $x $y"}} msg] $msg
+    list [catch {itcl::body test_body::zero {x y} {return "zero: $x $y"}} msg] $msg
 } {1 {argument list changed for function "::test_body::zero": should be ""}}
 
 test body-1.6b {an empty argument list must stay empty} {
-    list [catch {body test_body::zero {} {return "zero"}} msg] $msg
+    list [catch {itcl::body test_body::zero {} {return "zero"}} msg] $msg
 } {0 {}}
 
 test body-1.7a {preserve argument list:  fixed arguments} {
-    list [catch {body test_body::one {x y} {return "one: $x $y"}} msg] $msg
+    list [catch {itcl::body test_body::one {x y} {return "one: $x $y"}} msg] $msg
 } {1 {argument list changed for function "::test_body::one": should be "x"}}
 
 test body-1.7b {preserve argument list:  fixed arguments} {
-    list [catch {body test_body::one {a} {return "one: $a"}} msg] $msg
+    list [catch {itcl::body test_body::one {a} {return "one: $a"}} msg] $msg
 } {0 {}}
 
 test body-1.7c {preserve argument list:  fixed arguments} {
@@ -85,11 +90,11 @@ test body-1.7c {preserve argument list:  fixed arguments} {
 } {0 {one: 1.0}}
 
 test body-1.8a {preserve argument list:  fixed arguments} {
-    list [catch {body test_body::two {x} {return "two: $x"}} msg] $msg
+    list [catch {itcl::body test_body::two {x} {return "two: $x"}} msg] $msg
 } {1 {argument list changed for function "::test_body::two": should be "x y"}}
 
 test body-1.8b {preserve argument list:  fixed arguments} {
-    list [catch {body test_body::two {a b} {return "two: $a $b"}} msg] $msg
+    list [catch {itcl::body test_body::two {a b} {return "two: $a $b"}} msg] $msg
 } {0 {}}
 
 test body-1.8c {preserve argument list:  fixed arguments} {
@@ -97,32 +102,32 @@ test body-1.8c {preserve argument list:  fixed arguments} {
 } {0 {two: 2.0 3.0}}
 
 test body-1.9a {preserve argument list:  default arguments} {
-    list [catch {body test_body::defvals {x} {}} msg] $msg
+    list [catch {itcl::body test_body::defvals {x} {}} msg] $msg
 } {1 {argument list changed for function "::test_body::defvals": should be "x {y 0} {z 1}"}}
 
 test body-1.9b {preserve argument list:  default arguments} {
-    list [catch {body test_body::defvals {a {b 0} {c 2}} {}} msg] $msg
+    list [catch {itcl::body test_body::defvals {a {b 0} {c 2}} {}} msg] $msg
 } {1 {argument list changed for function "::test_body::defvals": should be "x {y 0} {z 1}"}}
 
 test body-1.9c {preserve argument list:  default arguments} {
-    list [catch {body test_body::defvals {a {b 0} {c 1}} {}} msg] $msg
+    list [catch {itcl::body test_body::defvals {a {b 0} {c 1}} {}} msg] $msg
 } {0 {}}
 
 test body-1.10a {preserve argument list:  variable arguments} {
-    list [catch {body test_body::varargs {} {}} msg] $msg
+    list [catch {itcl::body test_body::varargs {} {}} msg] $msg
 } {1 {argument list changed for function "::test_body::varargs": should be "x args"}}
 
 test body-1.10b {preserve argument list:  variable arguments} {
-    list [catch {body test_body::varargs {a} {}} msg] $msg
+    list [catch {itcl::body test_body::varargs {a} {}} msg] $msg
 } {0 {}}
 
 test body-1.10c {preserve argument list:  variable arguments} {
-    list [catch {body test_body::varargs {a b c} {}} msg] $msg
+    list [catch {itcl::body test_body::varargs {a b c} {}} msg] $msg
 } {0 {}}
 
 test body-1.11 {redefined body really does change} {
     list [test_body0 override "test #1"] \
-         [body test_body::override {text} {return "new: $text"}] \
+         [itcl::body test_body::override {text} {return "new: $text"}] \
          [test_body0 override "test #2"]
 } {{override: test #1} {} {new: test #2}}
 
@@ -130,7 +135,7 @@ test body-1.11 {redefined body really does change} {
 #  Test "body" command with inheritance
 # ----------------------------------------------------------------------
 test body-2.1 {inherit from a class with missing bodies} {
-    class test_ibody {
+    itcl::class test_ibody {
         inherit test_body
         method zero {}
     }
@@ -138,20 +143,20 @@ test body-2.1 {inherit from a class with missing bodies} {
 } {test_ibody0}
 
 test body-2.2 {redefine a method in a derived class} {
-    body test_ibody::zero {} {return "ibody zero"}
+    itcl::body test_ibody::zero {} {return "ibody zero"}
     list [test_ibody0 info function zero] \
          [test_ibody0 info function test_body::zero]
 } {{public method ::test_ibody::zero {} {return "ibody zero"}} {public method ::test_body::zero {} {return "zero"}}}
 
 test body-2.3 {try to redefine a method that was not declared} {
-    list [catch {body test_ibody::one {x} {return "new"}} msg] $msg
+    list [catch {itcl::body test_ibody::one {x} {return "new"}} msg] $msg
 } {1 {function "one" is not defined in class "::test_ibody"}}
 
 # ----------------------------------------------------------------------
 #  Test "configbody" command
 # ----------------------------------------------------------------------
 test body-3.1 {define a class with public variables} {
-    class test_cbody {
+    itcl::class test_cbody {
         private variable priv
         protected variable prot
 
@@ -164,19 +169,19 @@ test body-3.1 {define a class with public variables} {
 } ""
 
 test body-3.2 {check syntax of "configbody" command} {
-    list [catch "configbody test_cbody::option" msg] $msg
-} {1 {wrong # args: should be "configbody class::option body"}}
+    list [catch "itcl::configbody test_cbody::option" msg] $msg
+} {1 {wrong # args: should be "itcl::configbody class::option body"}}
 
 test body-3.3 {make sure that members are found correctly} {
-    list [catch "configbody test_cbody::xyzzy {}" msg] $msg
+    list [catch "itcl::configbody test_cbody::xyzzy {}" msg] $msg
 } {1 {option "xyzzy" is not defined in class "::test_cbody"}}
 
 test body-3.4 {private variables have no config code} {
-    list [catch "configbody test_cbody::priv {bogus}" msg] $msg
+    list [catch "itcl::configbody test_cbody::priv {bogus}" msg] $msg
 } {1 {option "::test_cbody::priv" is not a public configuration option}}
 
 test body-3.5 {protected variables have no config code} {
-    list [catch "configbody test_cbody::prot {bogus}" msg] $msg
+    list [catch "itcl::configbody test_cbody::prot {bogus}" msg] $msg
 } {1 {option "::test_cbody::prot" is not a public configuration option}}
 
 test body-3.6 {can use public variables without a body} {
@@ -186,7 +191,7 @@ test body-3.6 {can use public variables without a body} {
 
 test body-3.7 {redefined body really does change} {
     list [test_cbody0 configure -option "hello"] \
-         [configbody test_cbody::option {lappend messages "new: $option"}] \
+         [itcl::configbody test_cbody::option {lappend messages "new: $option"}] \
          [test_cbody0 configure -option "goodbye"] \
          [set test_cbody::messages] \
 } {{} {} {} {{option: hello} {new: goodbye}}}
@@ -195,7 +200,7 @@ test body-3.7 {redefined body really does change} {
 #  Test "configbody" command with inheritance
 # ----------------------------------------------------------------------
 test body-4.1 {inherit from a class with missing config bodies} {
-    class test_icbody {
+    itcl::class test_icbody {
         inherit test_cbody
         public variable option "icbody"
     }
@@ -203,16 +208,19 @@ test body-4.1 {inherit from a class with missing config bodies} {
 } {test_icbody0}
 
 test body-4.2 {redefine a body in a derived class} {
-    configbody test_icbody::option {lappend messages "test_icbody: $option"}
+    itcl::configbody test_icbody::option {lappend messages "test_icbody: $option"}
     list [test_icbody0 info variable option] \
          [test_icbody0 info variable test_cbody::option]
 } {{public variable ::test_icbody::option icbody {lappend messages "test_icbody: $option"} icbody} {public variable ::test_cbody::option {} {lappend messages "new: $option"} {}}}
 
 test body-4.3 {try to redefine a body for a variable that was not declared} {
-    list [catch {configbody test_icbody::nocode {return "new"}} msg] $msg
+    list [catch {itcl::configbody test_icbody::nocode {return "new"}} msg] $msg
 } {1 {option "nocode" is not defined in class "::test_icbody"}}
 
 # ----------------------------------------------------------------------
 #  Clean up
 # ----------------------------------------------------------------------
-delete class test_body test_cbody
+itcl::delete class test_body test_cbody
+
+::tcltest::cleanupTests
+return
index c78d5f3..12cd266 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Chaining methods and procs
 # ----------------------------------------------------------------------
@@ -145,4 +150,7 @@ test chain-3.0 {invoke "chain" outside of a class} {
 # ----------------------------------------------------------------------
 #  Clean up
 # ----------------------------------------------------------------------
-delete class test_chain_d test_chain_c test_chain_b test_chain_a
+itcl::delete class test_chain_d test_chain_c test_chain_b test_chain_a
+
+::tcltest::cleanupTests
+return
index 4be66bc..68a3779 100644 (file)
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 #
 # SCCS: @(#) defs 1.44 96/10/08 17:26:58
+# ------------------------------------------------------------------
+# THIS SCRIPT IS NOW DEPRECATED!  It is kept for older Tcl
+# installations that don't have the "tcltest" package.
+# Instead, use "package require tcltest" in the test suite.
+# ------------------------------------------------------------------
 
 if ![info exists VERBOSE] {
     set VERBOSE 0
@@ -81,6 +86,9 @@ if {[info commands memory] == ""} {
 #                      'echo' etc available.
 
 catch {unset testConfig}
+
+package require Itcl
+
 if {$tcl_platform(platform) == "unix"} {
     set testConfig(unixOnly) 1
     set testConfig(tempNotPc) 1
index bf4ce5b..dc32082 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Deleting classes and objects
 # ----------------------------------------------------------------------
@@ -31,15 +36,15 @@ test delete-1.2 {create some base class objects} {
     for {set i 0} {$i < 5} {incr i} {
         test_delete_base #auto
     }
-    lsort [find objects -class test_delete_base]
+    lsort [itcl::find objects -class test_delete_base]
 } {test_delete_base0 test_delete_base1 test_delete_base2 test_delete_base3 test_delete_base4}
 
 test delete-1.3 {delete the base class--class and all objects go away} {
-    list [delete class test_delete_base] \
-         [find classes test_delete_base] \
+    list [itcl::delete class test_delete_base] \
+         [itcl::find classes test_delete_base] \
          [namespace children :: test_delete_base] \
          [namespace which -command test_delete_base] \
-         [find objects test_delete_base*]
+         [itcl::find objects test_delete_base*]
 } {{} {} {} {} {}}
 
 # ----------------------------------------------------------------------
@@ -72,16 +77,16 @@ test delete-2.2 {create some base and derived class objects} {
     for {set i 0} {$i < 3} {incr i} {
         test_delete #auto
     }
-    lsort [find objects -isa test_delete_base]
+    lsort [itcl::find objects -isa test_delete_base]
 } {test_delete0 test_delete1 test_delete2 test_delete_base0 test_delete_base1 test_delete_base2}
 
 test delete-2.3 {delete the base class--class and all objects go away} {
-    list [delete class test_delete_base] \
-         [find classes test_delete*] \
+    list [itcl::delete class test_delete_base] \
+         [itcl::find classes test_delete*] \
          [namespace children :: test_delete*] \
          [namespace which -command test_delete_base] \
          [namespace which -command test_delete] \
-         [find objects test_delete*]
+         [itcl::find objects test_delete*]
 } {{} {} {} {} {} {}}
 
 test delete-2.4 {object destructors get invoked properly} {
@@ -118,16 +123,16 @@ test delete-3.2 {create some base and derived class objects} {
     for {set i 0} {$i < 3} {incr i} {
         test_delete #auto
     }
-    lsort [find objects -isa test_delete_base]
+    lsort [itcl::find objects -isa test_delete_base]
 } {test_delete0 test_delete1 test_delete2 test_delete_base0 test_delete_base1 test_delete_base2}
 
 test delete-3.3 {deleting a class namespace is like deleting a class} {
     list [namespace delete test_delete_base] \
-         [find classes test_delete*] \
+         [itcl::find classes test_delete*] \
          [namespace children :: test_delete*] \
          [namespace which -command test_delete_base] \
          [namespace which -command test_delete] \
-         [find objects test_delete*]
+         [itcl::find objects test_delete*]
 } {{} {} {} {} {} {}}
 
 test delete-3.4 {object destructors get invoked, even during catastrophe} {
@@ -148,7 +153,7 @@ test basic-4.1 {define a class where objects destroy themselves} {
             eval $deletecommand
         }
         method killme {code} {
-            delete object $this
+            itcl::delete object $this
             eval $code
         }
     }
@@ -156,17 +161,17 @@ test basic-4.1 {define a class where objects destroy themselves} {
 
 test basic-4.2 {an object can delete itself} {
     set obj [test_delete #auto -x "data stays"]
-    list [$obj killme {return $x}] [find objects -isa test_delete]
+    list [$obj killme {return $x}] [itcl::find objects -isa test_delete]
 } {{data stays} {}}
 
 test basic-4.3 {the "this" variable becomes null after delete} {
     set obj [test_delete #auto]
-    list [$obj killme {return $this}] [find objects -isa test_delete]
+    list [$obj killme {return $this}] [itcl::find objects -isa test_delete]
 } {{} {}}
 
 test basic-4.4 {an object being destructed can't be deleted} {
-    set obj [test_delete #auto -deletecommand {delete object $this}]
-    list [catch {delete object $obj} msg] $msg
+    set obj [test_delete #auto -deletecommand {itcl::delete object $this}]
+    list [catch {itcl::delete object $obj} msg] $msg
 } {1 {can't delete an object while it is being destructed}}
 
 namespace delete test_delete
@@ -185,20 +190,23 @@ test basic-5.1 {define a simple class} {
 
 test basic-5.2 {delete using a qualified name} {
     namespace eval test_delete2 {test_delete_name #auto}
-    set cmd {delete object test_delete2::test_delete_name0}
-    list [catch $cmd msg] $msg [find objects -isa test_delete_name]
+    set cmd {itcl::delete object test_delete2::test_delete_name0}
+    list [catch $cmd msg] $msg [itcl::find objects -isa test_delete_name]
 } {0 {} {}}
 
 test basic-5.3 {delete using a scoped value} {
-    set obj [namespace eval test_delete2 {code [test_delete_name #auto]}]
-    set cmd [list delete object $obj]
-    list [catch $cmd msg] $msg [find objects -isa test_delete_name]
+    set obj [namespace eval test_delete2 {itcl::code [test_delete_name #auto]}]
+    set cmd [list itcl::delete object $obj]
+    list [catch $cmd msg] $msg [itcl::find objects -isa test_delete_name]
 } {0 {} {}}
 
 test basic-5.4 {scoped command names are decoded properly} {
-    list [catch {delete object {namespace inscope ::xyzzy xxx}} msg] $msg \
-         [catch {delete object {namespace inscope :: xxx yyy}} msg] $msg \
-         [catch {delete object {namespace inscope :: xyzzy}} msg] $msg
+    list [catch {itcl::delete object {namespace inscope ::xyzzy xxx}} msg] $msg \
+         [catch {itcl::delete object {namespace inscope :: xxx yyy}} msg] $msg \
+         [catch {itcl::delete object {namespace inscope :: xyzzy}} msg] $msg
 } {1 {unknown namespace "::xyzzy"} 1 {malformed command "namespace inscope :: xxx yyy": should be "namespace inscope namesp command"} 1 {object "namespace inscope :: xyzzy" not found}}
 
 namespace delete test_delete_name test_delete2
+
+::tcltest::cleanupTests
+return
index 21892a9..e818e12 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 test ensemble-1.1 {ensemble name must be specified} {
-    list [catch {ensemble} msg] $msg
-} {1 {wrong # args: should be "ensemble name ?command arg arg...?"}}
+    list [catch {itcl::ensemble} msg] $msg
+} {1 {wrong # args: should be "itcl::ensemble name ?command arg arg...?"}}
 
 test ensemble-1.2 {creating a new ensemble} {
-    ensemble test_numbers {
+    itcl::ensemble test_numbers {
         part one {x} {
             return "one: $x"
         }
@@ -30,7 +35,7 @@ test ensemble-1.2 {creating a new ensemble} {
     }
 } ""
 test ensemble-1.3 {adding to an existing ensemble} {
-    ensemble test_numbers part three {x y z} {
+    itcl::ensemble test_numbers part three {x y z} {
         return "three: $x $y $z"
     }
 } ""
@@ -52,7 +57,7 @@ test ensemble-1.6 {errors trigger a usage summary} {
 
 test ensemble-1.7 {one part can't overwrite another} {
     set cmd {
-        ensemble test_numbers part three {} {
+        itcl::ensemble test_numbers part three {} {
             return "three: new version"
         }
     }
@@ -61,7 +66,7 @@ test ensemble-1.7 {one part can't overwrite another} {
 
 test ensemble-1.8 {an ensemble can't overwrite another part} {
     set cmd {
-        ensemble test_numbers ensemble three part new {} {
+        itcl::ensemble test_numbers ensemble three part new {} {
             return "three: new version"
         }
     }
@@ -69,34 +74,34 @@ test ensemble-1.8 {an ensemble can't overwrite another part} {
 } {1 {part "three" is not an ensemble}}
 
 test ensemble-1.9 {body errors are handled gracefully} {
-    list [catch "ensemble test_numbers {foo bar baz}" msg] $msg $errorInfo
+    list [catch "itcl::ensemble test_numbers {foo bar baz}" msg] $msg $errorInfo
 } {1 {invalid command name "foo"} {invalid command name "foo"
     while executing
 "foo bar baz"
     ("ensemble" body line 1)
     invoked from within
-"ensemble test_numbers {foo bar baz}"}}
+"itcl::ensemble test_numbers {foo bar baz}"}}
 
 test ensemble-1.10 {part errors are handled gracefully} {
-    list [catch "ensemble test_numbers {part foo}" msg] $msg $errorInfo
+    list [catch "itcl::ensemble test_numbers {part foo}" msg] $msg $errorInfo
 } {1 {wrong # args: should be "part name args body"} {wrong # args: should be "part name args body"
     while executing
 "part foo"
     ("ensemble" body line 1)
     invoked from within
-"ensemble test_numbers {part foo}"}}
+"itcl::ensemble test_numbers {part foo}"}}
 
 test ensemble-1.11 {part argument errors are handled gracefully} {
-    list [catch "ensemble test_numbers {part foo {{}} {}}" msg] $msg $errorInfo
+    list [catch "itcl::ensemble test_numbers {part foo {{}} {}}" msg] $msg $errorInfo
 } {1 {procedure "foo" has argument with no name} {procedure "foo" has argument with no name
     while executing
 "part foo {{}} {}"
     ("ensemble" body line 1)
     invoked from within
-"ensemble test_numbers {part foo {{}} {}}"}}
+"itcl::ensemble test_numbers {part foo {{}} {}}"}}
 
 test ensemble-2.0 {defining subensembles} {
-    ensemble test_numbers {
+    itcl::ensemble test_numbers {
         ensemble hex {
             part base {} {
                 return 16
@@ -158,7 +163,7 @@ test ensemble-2.6 {errors from sub-ensembles} {
 
 test ensemble-2.7 {sub-ensembles can't be accidentally redefined} {
     set cmd {
-        ensemble test_numbers part octal {args} {
+        itcl::ensemble test_numbers part octal {args} {
             return "octal: $args"
         }
     }
@@ -166,7 +171,7 @@ test ensemble-2.7 {sub-ensembles can't be accidentally redefined} {
 } {1 {part "octal" already exists in ensemble}}
 
 test ensemble-3.0 {an error handler part can be used to handle errors} {
-    ensemble test_numbers {
+    itcl::ensemble test_numbers {
         part @error {args} {
             return "error: $args"
         }
@@ -183,3 +188,6 @@ test ensemble-3.1 {the error handler part shows up as generic "...and"} {
   test_numbers three x y z
   test_numbers two x y
 ...and others described on the man page}}
+
+::tcltest::cleanupTests
+return
index 34d49da..628d890 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Class definition with one of everything
 # ----------------------------------------------------------------------
 test info-1.1 {define a simple class} {
-    class test_info_base {
+    itcl::class test_info_base {
         method base {} {return "default"}
         variable base {}
 
         method do {args} {eval $args}
     }
-    class test_info {
+    itcl::class test_info {
         inherit test_info_base
 
         constructor {args} {
@@ -89,6 +94,10 @@ test basic-1.3 {info: errors trigger usage info} {
   info variable ?name? ?-protection? ?-type? ?-name? ?-init? ?-value? ?-config?
 ...and others described on the man page}}
 
+test info-1.4 {info: info class works on class itself} {
+    namespace eval test_info { info class }
+} {::test_info}
+
 # ----------------------------------------------------------------------
 #  Data members
 # ----------------------------------------------------------------------
@@ -381,4 +390,7 @@ test info-5.2 {info exists} {
 # ----------------------------------------------------------------------
 #  Clean up
 # ----------------------------------------------------------------------
-delete class test_info test_info_base
+itcl::delete class test_info test_info_base
+
+::tcltest::cleanupTests
+return
index d391573..e20d506 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Test construction/destruction with inheritance
 # ----------------------------------------------------------------------
@@ -99,7 +104,7 @@ test inherit-1.2 {constructors should be invoked in the proper order} {
 
 test inherit-1.3 {destructors should be invoked in the proper order} {
     set ::test_cd_watch ""
-    list [delete object test_cd_mongrel0] [set ::test_cd_watch]
+    list [itcl::delete object test_cd_mongrel0] [set ::test_cd_watch]
 } {{} {{mongrel destruct} {foobar destruct} {foo destruct} {bar destruct} {geek destruct}}}
 
 test inherit-1.4 {constructors are optional} {
@@ -109,7 +114,7 @@ test inherit-1.4 {constructors are optional} {
 
 test inherit-1.5 {destructors are optional} {
     set ::test_cd_watch ""
-    list [delete object test_cd_none0] [set ::test_cd_watch]
+    list [itcl::delete object test_cd_none0] [set ::test_cd_watch]
 } {{} {{bar destruct} {geek destruct}}}
 
 test inherit-1.6 {construction ok if constructors are missing} {
@@ -119,13 +124,13 @@ test inherit-1.6 {construction ok if constructors are missing} {
 
 test inherit-1.7 {destruction ok if destructors are missing} {
     set ::test_cd_watch ""
-    list [delete object test_cd_skip0] [set ::test_cd_watch]
+    list [itcl::delete object test_cd_skip0] [set ::test_cd_watch]
 } {{} {{skip destruct} {bar destruct} {geek destruct}}}
 
 test inherit-1.8 {errors during construction are cleaned up and reported} {
     global errorInfo test_cd_watch
     set test_cd_watch ""
-    body test_cd_bar::constructor {args} {error "bar: failed"}
+    itcl::body test_cd_bar::constructor {args} {error "bar: failed"}
     list [catch {test_cd_mongrel #auto bob} msg] $msg \
         $errorInfo $test_cd_watch
 } {1 {bar: failed} {bar: failed
@@ -144,24 +149,24 @@ test inherit-1.8 {errors during construction are cleaned up and reported} {
 
 test inherit-1.9 {errors during destruction prevent object delete} {
     global errorInfo test_cd_watch
-    body test_cd_bar::constructor {args} {return "bar: $args"}
-    body test_cd_bar::destructor {} {error "bar: failed"}
+    itcl::body test_cd_bar::constructor {args} {return "bar: $args"}
+    itcl::body test_cd_bar::destructor {} {error "bar: failed"}
     test_cd_mongrel mongrel1 ted
     set test_cd_watch ""
-    list [catch {delete object mongrel1} msg] $msg \
-        $errorInfo $test_cd_watch [find objects mongrel*]
+    list [catch {itcl::delete object mongrel1} msg] $msg \
+        $errorInfo $test_cd_watch [itcl::find objects mongrel*]
 } {1 {bar: failed} {bar: failed
     while executing
 "error "bar: failed""
     while deleting object "::mongrel1" in ::test_cd_bar::destructor (body line 1)
     invoked from within
-"delete object mongrel1"} {{mongrel destruct} {foobar destruct} {foo destruct}} mongrel1}
+"itcl::delete object mongrel1"} {{mongrel destruct} {foobar destruct} {foo destruct}} mongrel1}
 
 test inherit-1.10 {errors during destruction prevent class delete} {
-    list [catch {delete class test_cd_foo} msg] $msg
+    list [catch {itcl::delete class test_cd_foo} msg] $msg
 } {1 {bar: failed}}
 
-eval namespace delete [find classes test_cd_*]
+eval namespace delete [itcl::find classes test_cd_*]
 
 # ----------------------------------------------------------------------
 #  Test data member access and scoping
@@ -213,7 +218,7 @@ test inherit-2.4 {methods have access to shadowed data members} {
          [test_cd_mongrel0 test_cd_mongrel::do set test_cd_bar::x]
 } {foo-x foo-x bar-x foo-x bar-x}
 
-eval namespace delete [find classes test_cd_*]
+eval namespace delete [itcl::find classes test_cd_*]
 
 # ----------------------------------------------------------------------
 #  Test public variables and "configure" method
@@ -291,7 +296,7 @@ test inherit-3.8 {"cget" does proper name resolution} {
          [test_cd_mongrel0 cget -test_cd_mongrel::x]
 } {one two three one}
 
-eval namespace delete [find classes test_cd_*]
+eval namespace delete [itcl::find classes test_cd_*]
 
 # ----------------------------------------------------------------------
 #  Test inheritance info
@@ -355,7 +360,7 @@ test inherit-4.7 {built-in "isa" method works within methods} {
 } {1 1 1 1 1}
 
 test inherit-4.8 {built-in "isa" method recognizes bad classes} {
-    class test_cd_other {}
+    itcl::class test_cd_other {}
     test_cd_mongrel0 isa test_cd_other
 } {0}
 
@@ -363,7 +368,7 @@ test inherit-4.9 {built-in "isa" method recognizes bad classes} {
     list [catch {test_cd_mongrel0 isa test_cd_bogus} msg] $msg
 } {1 {class "test_cd_bogus" not found in context "::test_cd_foo"}}
 
-eval namespace delete [find classes test_cd_*]
+eval namespace delete [itcl::find classes test_cd_*]
 
 # ----------------------------------------------------------------------
 #  Test "find objects"
@@ -391,38 +396,38 @@ test inherit-5.2 {create objects for info tests} {
 } {test_cd_foo0 test_cd_foo1 test_cd_foobar0 test_cd_geek0 test_cd_mongrel0}
 
 test inherit-5.3 {find objects: -class qualifier} {
-    lsort [find objects -class test_cd_foo]
+    lsort [itcl::find objects -class test_cd_foo]
 } {test_cd_foo0 test_cd_foo1}
 
 test inherit-5.4 {find objects: -class qualifier} {
-    lsort [find objects -class test_cd_mongrel]
+    lsort [itcl::find objects -class test_cd_mongrel]
 } {test_cd_mongrel0}
 
 test inherit-5.5 {find objects: -isa qualifier} {
-    lsort [find objects -isa test_cd_foo]
+    lsort [itcl::find objects -isa test_cd_foo]
 } {test_cd_foo0 test_cd_foo1 test_cd_foobar0 test_cd_mongrel0}
 
 test inherit-5.6 {find objects: -isa qualifier} {
-    lsort [find objects -isa test_cd_mongrel]
+    lsort [itcl::find objects -isa test_cd_mongrel]
 } {test_cd_mongrel0}
 
 test inherit-5.7 {find objects: name qualifier} {
-    lsort [find objects test_cd_foo*]
+    lsort [itcl::find objects test_cd_foo*]
 } {test_cd_foo0 test_cd_foo1 test_cd_foobar0}
 
 test inherit-5.8 {find objects: -class and -isa qualifiers} {
-    lsort [find objects -isa test_cd_foo -class test_cd_foobar]
+    lsort [itcl::find objects -isa test_cd_foo -class test_cd_foobar]
 } {test_cd_foobar0}
 
 test inherit-5.9 {find objects: -isa and name qualifiers} {
-    lsort [find objects -isa test_cd_foo *0]
+    lsort [itcl::find objects -isa test_cd_foo *0]
 } {test_cd_foo0 test_cd_foobar0 test_cd_mongrel0}
 
 test inherit-5.10 {find objects: usage errors} {
-    list [catch {find objects -xyzzy} msg] $msg
-} {1 {wrong # args: should be "find objects ?-class className? ?-isa className? ?pattern?"}}
+    list [catch {itcl::find objects -xyzzy value} msg] $msg
+} {1 {wrong # args: should be "itcl::find objects ?-class className? ?-isa className? ?pattern?"}}
 
-eval namespace delete [find classes test_cd_*]
+eval namespace delete [itcl::find classes test_cd_*]
 
 # ----------------------------------------------------------------------
 #  Test method scoping and execution
@@ -487,13 +492,16 @@ test inherit-6.8 {"previous" command no longer exists} {
 } {1 {invalid command name "previous"}}
 
 test inherit-6.9 {errors are detected and reported across class boundaries} {
+    #
+    # NOTE: For tcl8.2.3 and earlier the stack trace will have
+    #       'invoked from within "eval $args"' for the first eval
+    #       statement.  For later versions, it does not.  Use
+    #       string match to reduce the sensitivity to that.
+    #
     list [catch {
         test_cd_mongrel0 do test_cd_foobar0 do error "test" "some error"
-    } msg] $msg [set ::errorInfo]
-} {1 test {some error
-    ("eval" body line 1)
-    invoked from within
-"eval $args"
+    } msg] $msg [string match {some error
+    ("eval" body line 1)*
     (object "::test_cd_foobar0" method "::test_cd_foobar::do" body line 1)
     invoked from within
 "test_cd_foobar0 do error test {some error}"
@@ -502,7 +510,8 @@ test inherit-6.9 {errors are detected and reported across class boundaries} {
 "eval $args"
     (object "::test_cd_mongrel0" method "::test_cd_mongrel::do" body line 1)
     invoked from within
-"test_cd_mongrel0 do test_cd_foobar0 do error "test" "some error""}}
+"test_cd_mongrel0 do test_cd_foobar0 do error "test" "some error""} [set ::errorInfo]]
+} {1 test 1}
 
 test inherit-6.10 {errors codes are preserved across class boundaries} {
     list [catch {
@@ -516,7 +525,7 @@ test inherit-6.11 {multi-value error codes are preserved across class boundaries
     } msg] $msg [set ::errorCode]
 } {1 test {CODE BLUE 123}}
 
-eval namespace delete [find classes test_cd_*]
+eval namespace delete [itcl::find classes test_cd_*]
 
 # ----------------------------------------------------------------------
 #  Test inheritance errors
@@ -563,14 +572,17 @@ test inherit-7.4 {cannot have more than one inherit statement} {
 #  Multiple base class error detection
 # ----------------------------------------------------------------------
 test inherit-8.1 {cannot inherit from the same base class more than once} {
-    class test_mi_base {}
-    class test_mi_foo {inherit test_mi_base}
-    class test_mi_bar {inherit test_mi_base}
+    itcl::class test_mi_base {}
+    itcl::class test_mi_foo {inherit test_mi_base}
+    itcl::class test_mi_bar {inherit test_mi_base}
     list [catch {
-        class test_mi_foobar {inherit test_mi_foo test_mi_bar}
+        itcl::class test_mi_foobar {inherit test_mi_foo test_mi_bar}
     } msg] $msg
 } {1 {class "::test_mi_foobar" inherits base class "::test_mi_base" more than once:
   test_mi_foobar->test_mi_foo->test_mi_base
   test_mi_foobar->test_mi_bar->test_mi_base}}
 
-delete class test_mi_base
+itcl::delete class test_mi_base
+
+::tcltest::cleanupTests
+return
index e25c680..e6c6479 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Make sure that slave interpreters can be created and loaded
 #  with [incr Tcl]...
@@ -66,3 +71,6 @@ test interp-1.4 {one namespace can cause another to be destroyed} {
     }
     interp delete slave
 } {}
+
+::tcltest::cleanupTests
+return
index 5f288a0..4943002 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Test "local" to create objects that only exist within a proc
 # ----------------------------------------------------------------------
 test local-1.1 {define a class to use for testing} {
-    class test_local {
+    itcl::class test_local {
         common status ""
         constructor {} {
             lappend status "created $this"
@@ -34,11 +39,11 @@ test local-1.1 {define a class to use for testing} {
             return $status
         }
         proc test {} {
-            local test_local #auto
+            itcl::local test_local #auto
             lappend status "processing"
         }
         proc test2 {} {
-            local test_local #auto
+            itcl::local test_local #auto
             lappend status "call test..."
             test
             lappend status "...back"
@@ -60,7 +65,10 @@ test local-1.3 {} {
 } {{created ::test_local::test_local2} {call test...} {created ::test_local::test_local3} processing {deleted ::test_local::test_local3} ...back {deleted ::test_local::test_local2}}
 
 test local-1.4 {} {
-    find objects -isa test_local
+    itcl::find objects -isa test_local
 } {test_local0}
 
-delete class test_local
+itcl::delete class test_local
+
+::tcltest::cleanupTests
+return
index edb1ea8..9906e88 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Methods with various argument lists
 # ----------------------------------------------------------------------
@@ -38,9 +43,17 @@ test methods-1.1 {define a class with lots of methods and arg lists} {
         method clash {x bang boom} {
             return "clash: $x $bang $boom"
         }
+        method clash_time {x bang boom} {
+            time {set result "clash_time: $x $bang $boom"} 1
+            return $result
+        }
         proc crash {x bang boom} {
             return "crash: $x $bang $boom"
         }
+        proc crash_time {x bang boom} {
+            time {set result "crash_time: $x $bang $boom"} 1
+            return $result
+        }
         variable bang "ok"
         common boom "no-problem"
     }
@@ -122,7 +135,22 @@ test methods-1.10 {formal args don't clobber class members} {
          [ta info variable boom -value]
 } {0 {crash: 4 5 6} ok no-problem}
 
+test methods-1.11 {formal args don't clobber class members, even in "time"} {
+    list [catch {ta clash_time 7 8 9} msg] $msg \
+         [ta info variable bang -value] \
+         [ta info variable boom -value]
+} {0 {clash_time: 7 8 9} ok no-problem}
+
+test methods-1.12 {formal args don't clobber class members, even in "time"} {
+    list [catch {test_args::crash_time a b c} msg] $msg \
+         [ta info variable bang -value] \
+         [ta info variable boom -value]
+} {0 {crash_time: a b c} ok no-problem}
+
 # ----------------------------------------------------------------------
 #  Clean up
 # ----------------------------------------------------------------------
-delete class test_args
+itcl::delete class test_args
+
+::tcltest::cleanupTests
+return
index fb293b6..bef0fb5 100644 (file)
@@ -22,6 +22,7 @@
 # Should be able to handle simple class definitions, even if
 # they are prefaced with white space.
 #
+namespace import itcl::*
 namespace import blt::*
 
 class Simple1 {
@@ -49,7 +50,7 @@ itcl::ensemble ens {
 # Should be able to handle "body" and "configbody" declarations.
 #
 body Simple2::bump {} {incr x $by}
-configbody Simple2::by {if {$by <= 0} {error "bad increment}}
+configbody Simple2::by {if {$by <= 0} {error "bad increment"}}
 
 #
 # Should be able to handle class declarations within namespaces,
@@ -64,7 +65,7 @@ namespace eval buried {
         proc find {args} {}
     }
     body inside::bump {} {incr x $by}
-    configbody inside::by {if {$by <= 0} {error "bad increment}}
+    configbody inside::by {if {$by <= 0} {error "bad increment"}}
 
     class ::top {
         method skip {x y z} {}
index 47a98b4..bc20a24 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Test "auto_mkindex" in the presence of class definitions
 # ----------------------------------------------------------------------
@@ -42,3 +47,6 @@ test mkindex-1.3 {examine tclIndex} {
         set result
     }
 } "{::Simple2::bump $element} {::Simple2::by $element} {::buried::deep::within $element} {::buried::ens $element} {::buried::inside $element} {::buried::inside::bump $element} {::buried::inside::by $element} {::buried::inside::find $element} {::buried::under::neath $element} {::top::find $element} {::top::notice $element} {OldStyle $element} {Simple1 $element} {Simple2 $element} {ens $element} {top $element}"
+
+::tcltest::cleanupTests
+return
index 35a1e9c..31150f0 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Classes within namespaces
 # ----------------------------------------------------------------------
 test namespace-1.1 {same class name can be used in different namespaces} {
     namespace eval test_ns_1 {
-        class Counter {
+        itcl::class Counter {
             variable num 0
             method ++ {{by 1}} {
                 incr num $by
@@ -30,9 +35,10 @@ test namespace-1.1 {same class name can be used in different namespaces} {
             }
             common tag 1
         }
+        proc exists {} { return "don't clobber me!" }
     }
     namespace eval test_ns_2 {
-        class Counter {
+        itcl::class Counter {
             variable num 0
             method ++ {{by 2}} {
                 if {$num == 0} {
@@ -67,8 +73,21 @@ test namespace-1.4 {create an object in another namespace} {
 } {c 1 2 4 8}
 
 test namespace-1.5 {can find classes wrapped in a namespace} {
-    list [catch {test_ns_1::c do find objects -isa Counter} msg] $msg \
-         [catch {test_ns_1::c do find objects -class Counter} msg] $msg
-} {0 {} 0 {}}
+    list [catch {test_ns_1::c do itcl::find objects -isa Counter} msg] $msg \
+         [catch {test_ns_1::c do itcl::find objects -class Counter} msg] $msg
+} {0 ::test_ns_1::c 0 ::test_ns_1::c}
+
+test namespace-1.6 {can't create an object that clobbers a command in this namespace} {
+    list [catch {namespace eval test_ns_1 {Counter exists}} msg] $msg
+} {1 {command "exists" already exists in namespace "::test_ns_1"}}
+
+test namespace-1.7 {can create an object that shadows a command in the global namespace} {
+    list [catch {namespace eval test_ns_1 {Counter lreplace}} msg] $msg \
+         [catch {itcl::find objects *lreplace} msg] $msg \
+         [namespace eval test_ns_1 {namespace which lreplace}]
+} {0 lreplace 0 ::test_ns_1::lreplace ::test_ns_1::lreplace}
 
 namespace delete test_ns_1 test_ns_2
+
+::tcltest::cleanupTests
+return
index acf5ee6..180e113 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Class members are protected by access restrictions
 # ----------------------------------------------------------------------
@@ -294,7 +299,7 @@ test protect-2.23 {*cannot* access non-overloaded private method from base class
   test_pr_derived0 prom
   test_pr_derived0 pubm}}
 
-eval namespace delete [find classes test_pr*]
+eval namespace delete [itcl::find classes test_pr*]
 
 # ----------------------------------------------------------------------
 #  Access restrictions don't mess up "info"
@@ -367,4 +372,7 @@ test protect-3.13 {private base class commons can be accessed from class} {
     } msg] $msg
 } {0 {private common ::test_info_base::pribc pribc-value pribc-value}}
 
-eval namespace delete [find classes test_info*]
+eval namespace delete [itcl::find classes test_info*]
+
+::tcltest::cleanupTests
+return
index 8ce1e05..345790f 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itcl
+
 # ----------------------------------------------------------------------
 #  Syntax of the "scope" command
 # ----------------------------------------------------------------------
@@ -177,10 +182,10 @@ test scope-3.7 {code command provides access to methods} {
 test scope-3.8 {scope command allows access to slots in an array} {
     test_scope0 mcontext set varray(0) "defined"
     test_scope::pcontext set carray(0) "defined"
-    list [catch {test_scope0 mcontext scope varray(0)} msg] $msg \
-         [catch {test_scope0 mcontext scope varray(1)} msg] $msg \
-         [catch {test_scope::pcontext scope carray(0)} msg] $msg \
-         [catch {test_scope::pcontext scope carray(1)} msg] $msg
+    list [catch {test_scope0 mcontext itcl::scope varray(0)} msg] $msg \
+         [catch {test_scope0 mcontext itcl::scope varray(1)} msg] $msg \
+         [catch {test_scope::pcontext itcl::scope carray(0)} msg] $msg \
+         [catch {test_scope::pcontext itcl::scope carray(1)} msg] $msg
 } {0 {@itcl ::test_scope0 ::test_scope::varray(0)} 0 {@itcl ::test_scope0 ::test_scope::varray(1)} 0 ::test_scope::carray(0) 0 ::test_scope::carray(1)}
 
 itcl::delete class test_scope
@@ -200,8 +205,11 @@ test scope-4.1 {define simple namespace with things to export} {
 
 test scope-4.2 {scope command allows access to slots in an array} {
     test_scope_ns::pcontext set array(0) "defined"
-    list [catch {test_scope_ns::pcontext scope array(0)} msg] $msg \
-         [catch {test_scope_ns::pcontext scope array(1)} msg] $msg
+    list [catch {test_scope_ns::pcontext itcl::scope array(0)} msg] $msg \
+         [catch {test_scope_ns::pcontext itcl::scope array(1)} msg] $msg
 } {0 ::test_scope_ns::array(0) 0 ::test_scope_ns::array(1)}
 
 namespace delete test_scope_ns
+
+::tcltest::cleanupTests
+return
index a988c08..43c25c1 100644 (file)
@@ -6,9 +6,10 @@
 
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
-#include <tcl.h>
 
 /* CYGNUS LOCAL */
+#include <tcl.h>
+
 #ifdef __CYGWIN32__
 /*
  * The following declaration is for the VC++ DLL entry point.
index 305d254..d9cc97e 100644 (file)
@@ -3,13 +3,14 @@
 // Version
 //
 
+#define VS_VERSION_INFO 1
 #define RESOURCE_INCLUDED
 #include <itcl.h>
 
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION ITCL_MAJOR_VERSION ,ITCL_MINOR_VERSION ,ITCL_RELEASE_LEVEL,0
- PRODUCTVERSION ITCL_MAJOR_VERSION ,ITCL_MINOR_VERSION ,ITCL_RELEASE_LEVEL,0
+ FILEVERSION ITCL_MAJOR_VERSION ,ITCL_MINOR_VERSION ,ITCL_RELEASE_LEVEL
+ PRODUCTVERSION ITCL_MAJOR_VERSION ,ITCL_MINOR_VERSION ,ITCL_RELEASE_LEVEL
  FILEFLAGSMASK 0x3fL
  FILEFLAGS 0x0L
  FILEOS 0x4L
@@ -20,13 +21,13 @@ BEGIN
        BEGIN
                BLOCK "040904b0"
                BEGIN
-                       VALUE "FileDescription", "Itcl DLL\0"
+                       VALUE "FileDescription", "Itcl language extension for Tcl\0"
                        VALUE "Authors", "Michael McLennan\0"
-                       VALUE "OriginalFilename", "itcl30.dll\0"
+                       VALUE "OriginalFilename", "itcl" STRINGIFY(ITCL_MAJOR_VERSION) STRINGIFY(ITCL_MINOR_VERSION) ".dll\0"
                        VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0"
                        VALUE "FileVersion", ITCL_PATCH_LEVEL
                        VALUE "LegalCopyright", "Copyright \251 1993-1998\0"
-                        VALUE "ProductName", "[incr Tcl] 3.0 for Windows\0"
+                       VALUE "ProductName", "[incr Tcl] " STRINGIFY(ITCL_MAJOR_VERSION) "." STRINGIFY(ITCL_MINOR_VERSION) " for Windows\0"
                        VALUE "ProductVersion", ITCL_PATCH_LEVEL
                END
        END
index 217df6c..6921c1d 100644 (file)
@@ -1,37 +1,37 @@
-// SCCS: @(#) tclsh.rc 1.14 96/09/12 14:59:29
-//
-// Version
-//
-
-#define RESOURCE_INCLUDED
-#include <itcl.h>
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION   ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,0
- PRODUCTVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,0
- FILEFLAGSMASK         0x3fL
- FILEFLAGS     0x0L
- FILEOS        0x4L
- FILETYPE      0x1L
- FILESUBTYPE   0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "FileDescription", "[incr Tcl] Object-Oriented Tcl Application\0"
-            VALUE "Authors", "Michael McLennan\0"
-            VALUE "OriginalFilename", "itclsh.exe\0"
-            VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0"
-            VALUE "FileVersion", ITCL_PATCH_LEVEL
-            VALUE "LegalCopyright", "Copyright \251 1993-1998\0"
-            VALUE "ProductName", "[incr Tcl] "STRINGIFY(ITCL_MAJOR_VERSION)"."STRINGIFY(ITCL_MINOR_VERSION)" for Windows\0"
-            VALUE "ProductVersion", ITCL_PATCH_LEVEL
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
+// SCCS: @(#) tclsh.rc 1.14 96/09/12 14:59:29\r
+//\r
+// Version\r
+//\r
+\r
+#define RESOURCE_INCLUDED\r
+#include <itcl.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+ FILEVERSION   ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL\r
+ PRODUCTVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL\r
+ FILEFLAGSMASK         0x3fL\r
+ FILEFLAGS     0x0L\r
+ FILEOS        0x4L\r
+ FILETYPE      0x1L\r
+ FILESUBTYPE   0x0L\r
+BEGIN\r
+    BLOCK "StringFileInfo"\r
+    BEGIN\r
+        BLOCK "040904b0"\r
+        BEGIN\r
+            VALUE "FileDescription", "[incr Tcl] Object-Oriented Tcl Application\0"\r
+            VALUE "Authors", "Michael McLennan\0"\r
+            VALUE "OriginalFilename", "itclsh.exe\0"\r
+            VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0"\r
+            VALUE "FileVersion", ITCL_PATCH_LEVEL\r
+            VALUE "LegalCopyright", "Copyright \251 1993-1998\0"\r
+            VALUE "ProductName", "[incr Tcl] "STRINGIFY(ITCL_MAJOR_VERSION)"."STRINGIFY(ITCL_MINOR_VERSION)" for Windows\0"\r
+            VALUE "ProductVersion", ITCL_PATCH_LEVEL\r
+        END\r
+    END\r
+    BLOCK "VarFileInfo"\r
+    BEGIN\r
+        VALUE "Translation", 0x409, 1200\r
+    END\r
+END\r
+\r
index dd97faa..92a0827 100644 (file)
-# Visual C++ 4.0 makefile
-#
-# Copyright (c) 1993-1996 Lucent Technologies
+# Visual C++ 2.x and 4.0 makefile
 #
 # See the file "license.terms" for information on usage and redistribution
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+# 
+# Copyright (c) 1993-1998 Lucent Technologies, Inc.
+# RCS: $Id$
 
+# Does not depend on the presence of any environment variables in
+# order to compile itcl; all needed information is derived from 
+# location of the compiler directories.
 #
-# Project directories
-#
+# NOTE: Be sure to modify the "makefile.vc" file in the toplevel directory
+#   for the itcl distribution.  Include the location of your VC++ development
+#   tools and the installation directory.
+
+!include "..\..\makefile.vc"
+
+
 # ROOT    = top of source tree
-#
 # TMPDIR  = location where .obj files should be stored during build
-#
 
-!include "..\..\Makefile.vc"
+ROOT        = ..
 
-ROOT           = ..
-TMPDIR         = .
-TARGET_LIB_ITCL = $(TARGET_LIB)\Itcl2.2
-TARGET_DOC_ITCL        = $(TARGET_DOC)\Itcl
+######################################################################
+# Do not modify below this line
+######################################################################
 
-# Comment the following line to compile with symbols
-NODEBUG=1
+NAMEPREFIX = itcl
+DOTVERSION = 3.1
+VERSION = 31
+STUBPREFIX = $(NAMEPREFIX)stub
 
-# uncomment the following two lines to compile with TCL_MEM_DEBUG
-#DEBUGDEFINES  = -DTCL_MEM_DEBUG
+BINROOT        = .
+!IF "$(NODEBUG)" == "1"
+TMPNAME       = Release
+DBGX        =
+!ELSE
+TMPNAME       = Debug
+DBGX        = d
+!ENDIF
+TMPDIR        = $(BINROOT)\$(TMPNAME)
+OUTDIR        = $(TMPDIR)
 
-WINDIR                 = $(ROOT)\win
-GENERICDIR     = $(ROOT)\generic
+PKGINDEX       = $(TMPDIR)\pkgIndex.tcl
 
-TCL_INCLUDES   = -I$(WINDIR) -I$(GENERICDIR) -I$(TCLDIR)\generic
+ITCLLIB        = $(OUTDIR)\$(NAMEPREFIX)$(VERSION)$(DBGX).lib
+ITCLDLLNAME    = $(NAMEPREFIX)$(VERSION)$(DBGX).dll
+ITCLDLL        = $(OUTDIR)\$(ITCLDLLNAME)
+ITCLSH        = $(OUTDIR)\$(NAMEPREFIX)sh$(VERSION)$(DBGX).exe
+DUMPEXTS     = $(TMPDIR)\dumpexts.exe
 
-TCL_DEFINES    = -D__WIN32__ -DUSE_TCLALLOC=0 $(DEBUGDEFINES) -Dtry=__try \
-       -Dexcept=__except
+TCLLIB        = $(TCLDIR)\win\$(OUTDIR)\tcl81$(DBGX).lib
+TCLSTUBLIB    = $(TCLDIR)\win\$(OUTDIR)\tclstub81$(DBGX).lib
+TCLDLL        = $(TCLDIR)\win\$(OUTDIR)\tcl81$(DBGX).dll
+
+ITCLSTUBLIBNAME = $(STUBPREFIX)$(VERSION)$(DBGX).lib
+ITCLSTUBLIB     = $(OUTDIR)\$(ITCLSTUBLIBNAME)
+
+LIB_INSTALL_DIR    = $(INSTALLDIR)\lib
+BIN_INSTALL_DIR    = $(INSTALLDIR)\bin
+SCRIPT_INSTALL_DIR    = $(INSTALLDIR)\lib\itcl$(DOTVERSION)
+INCLUDE_INSTALL_DIR    = $(INSTALLDIR)\include
 
 ITCLSHOBJS = \
-       $(TMPDIR)\tclAppInit.obj
+    $(TMPDIR)\tclAppInit.obj
 
 ITCLOBJS = \
-       $(TMPDIR)\itcl_bicmds.obj \
-       $(TMPDIR)\itcl_class.obj \
-       $(TMPDIR)\itcl_cmds.obj \
-       $(TMPDIR)\itcl_linkage.obj \
-       $(TMPDIR)\itcl_methods.obj \
-       $(TMPDIR)\itcl_objects.obj \
-       $(TMPDIR)\itcl_obsolete.obj \
-       $(TMPDIR)\itcl_parse.obj \
-       $(TMPDIR)\itcl_util.obj \
-       $(TMPDIR)\dllEntryPoint.obj
-
-DUMPEXTS = $(TCLLIBDIR)\dumpexts.exe
-ITCLSH = itclsh.exe
-ITCLTEST = itcltest.exe
-
-CPU               = i386
-INCLUDE                = $(TOOLS32)\include
-!include <ntwin32.mak>
-
-TCL_CFLAGS             = $(cdebug) $(cflags) $(cvarsdll) $(include32) $(TCL_INCLUDES) $(TCL_DEFINES)
-CON_CFLAGS             = $(cdebug) $(cflags) $(cvars) $(include32) -DCONSOLE
-DOS_CFLAGS             = $(cdebug) $(cflags) $(include16) -AL
-DLL16_CFLAGS   = $(cdebug) $(cflags) $(include16) -ALw
+    $(TMPDIR)\itclStubInit.obj \
+    $(TMPDIR)\itcl_bicmds.obj \
+    $(TMPDIR)\itcl_class.obj \
+    $(TMPDIR)\itcl_cmds.obj \
+    $(TMPDIR)\itcl_ensemble.obj \
+    $(TMPDIR)\itcl_linkage.obj \
+    $(TMPDIR)\itcl_migrate.obj \
+    $(TMPDIR)\itcl_methods.obj \
+    $(TMPDIR)\itcl_objects.obj \
+    $(TMPDIR)\itcl_obsolete.obj \
+    $(TMPDIR)\itcl_parse.obj \
+    $(TMPDIR)\itcl_util.obj \
+    $(TMPDIR)\dllEntryPoint.obj
 
-#
-# Targets
-#
+ITCLSTUBOBJS = \
+    $(TMPDIR)\itclStubLib.obj
+
+cc32        = $(TOOLS32)\bin\cl.exe
+link32      = $(TOOLS32)\bin\link.exe
+rc32        = $(TOOLS32_rc)\bin\rc.exe
+include32   = -I$(TOOLS32)\include
+lib32       = "$(TOOLS32)\bin\lib.exe"
+
+WINDIR          = $(ROOT)\win
+GENERICDIR    = $(ROOT)\generic
+
+ITCL_INCLUDES    = -I$(WINDIR) -I$(GENERICDIR) -I$(TCLDIR)\generic
+ITCL_DEFINES    = -D__WIN32__ -DBUILD_itcl $(DEBUGDEFINES)
+
+ITCL_EXE_CFLAGS    = $(cdebug) $(cflags) $(cvarsdll) $(include32) \
+            $(ITCL_INCLUDES) $(ITCL_DEFINES)
+
+ITCL_CFLAGS    = $(ITCL_EXE_CFLAGS) -DUSE_TCL_STUBS
+
+######################################################################
+# Link flags
+######################################################################
+
+!IF "$(NODEBUG)" == "1"
+ldebug = /RELEASE
+!ELSE
+ldebug = -debug:full -debugtype:cv
+!ENDIF
+
+# declarations common to all linker options
+lcommon = /NODEFAULTLIB /RELEASE /NOLOGO
+
+# declarations for use on Intel i386, i486, and Pentium systems
+!IF "$(MACHINE)" == "IX86"
+DLLENTRY = @12
+lflags   = $(lcommon) /MACHINE:$(MACHINE)
+!ELSE
+lflags   = $(lcommon) /MACHINE:$(MACHINE)
+!ENDIF
+
+conlflags = $(lflags) -subsystem:console -entry:mainCRTStartup
+guilflags = $(lflags) -subsystem:windows -entry:WinMainCRTStartup
+dlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll
+
+!IF "$(MACHINE)" == "PPC"
+libc = libc.lib
+libcdll = crtdll.lib
+!ELSE
+libc = libc.lib oldnames.lib
+libcdll = msvcrt.lib oldnames.lib
+!ENDIF
+
+baselibs   = kernel32.lib $(optlibs) advapi32.lib user32.lib
+winlibs    = $(baselibs) gdi32.lib comdlg32.lib winspool.lib
+
+guilibs       = $(libc) $(winlibs)
+conlibs       = $(libc) $(baselibs)
+guilibsdll = $(libcdll) $(winlibs)
+conlibsdll = $(libcdll) $(baselibs)
+
+######################################################################
+# Compile flags
+######################################################################
 
-release:  $(ITCLDLL) $(ITCLSH)
-all:       $(ITCLDLL) $(ITCLSH)
-test:      $(ITCLSH)
-       $(CP) $(TCLLIBDIR)\*.dll
-       $(ITCLSH) <<
-               cd ../tests
-               source all
+!IF "$(NODEBUG)" == "1"
+!IF "$(MACHINE)" == "ALPHA"
+# MSVC on Alpha doesn't understand -Ot
+cdebug = -O2i -Gs -GD
+!ELSE
+cdebug = -Oti -Gs -GD
+!ENDIF
+!ELSE
+cdebug = -Z7 -Od -WX
+!ENDIF
+
+# declarations common to all compiler options
+ccommon = -c -W3 -nologo -YX -Fp$(TMPDIR)\ -Dtry=__try -Dexcept=__except
+
+!IF "$(MACHINE)" == "IX86"
+cflags = $(ccommon) -D_X86_=1
+!ELSE
+!IF "$(MACHINE)" == "MIPS"
+cflags = $(ccommon) -D_MIPS_=1
+!ELSE
+!IF "$(MACHINE)" == "PPC"
+cflags = $(ccommon) -D_PPC_=1
+!ELSE
+!IF "$(MACHINE)" == "ALPHA"
+cflags = $(ccommon) -D_ALPHA_=1
+!ENDIF
+!ENDIF
+!ENDIF
+!ENDIF
+
+cvars      = -DWIN32 -D_WIN32
+cvarsmt    = $(cvars) -D_MT
+cvarsdll   = $(cvarsmt) -D_DLL
+
+!IF "$(NODEBUG)" == "1"
+cvarsdll   = $(cvars) -MD
+!ELSE
+cvarsdll   = $(cvars) -MDd
+!ENDIF
+
+CON_CFLAGS    = $(cdebug) $(cflags) $(cvars) $(include32) -DCONSOLE
+
+######################################################################
+# Project specific targets
+######################################################################
+
+release:    setup $(ITCLDLL) $(ITCLSTUBLIB) $(ITCLSH)
+all:        setup $(ITCLDLL) $(ITCLSTUBLIB) $(ITCLSH)
+test:        setup $(ITCLDLL) $(ITCLSTUBLIB) $(PKGINDEX)
+    -@copy $(TCLDLL) $(TMPDIR)
+    $(TCLSH) <<
+        cd ../tests
+       lappend auto_path ../win/$(TMPNAME)
+       set env(ITCL_LIBRARY) ../library
+        source all
 <<
 
-install: all
-       $(MKDIR) "$(TARGET_ROOT)"
-       $(MKDIR) "$(TARGET_BIN)"
-       $(MKDIR) "$(TARGET_LIB_ROOT)"
-       $(MKDIR) "$(TARGET_LIB)"
-       $(MKDIR) "$(TARGET_LIB_ITCL)"
-       $(MKDIR) "$(TARGET_INCLUDE_ROOT)"
-       $(MKDIR) "$(TARGET_INCLUDE)"
-       $(MKDIR) "$(TARGET_DOC)"
-       $(MKDIR) "$(TARGET_DOC_ITCL)"
-       $(CP) $(TMPDIR)\$(ITCLSH) "$(TARGET_BIN)"
-       $(CP) $(TMPDIR)\$(ITCLDLL) "$(TARGET_BIN)"
-       $(CP) $(ROOT)\generic\itcl.h "$(TARGET_INCLUDE)"
-       $(CP) $(ROOT)\library\*.* "$(TARGET_LIB_ITCL)"
-       $(CP) $(ROOT)\win\*.tcl "$(TARGET_LIB_ITCL)"
-       $(CP) $(ROOT)\..\html\Itcl\*.* "$(TARGET_DOC_ITCL)"
-
-$(ITCLDLL): $(ITCLOBJS) $(TCLLIBDIR)\$(TCLLIB) $(TMPDIR)\itclvc.def $(TMPDIR)\itcl.res
-       set LIB=$(TOOLS32)\lib
-       $(link32) $(linkdebug) $(dlllflags) -def:$(TMPDIR)\itclvc.def \
-               -out:$@ $(TMPDIR)\itcl.res $(guilibsdll) @<<
-$(ITCLOBJS) $(TCLLIBDIR)\$(TCLLIB)
+$(PKGINDEX):
+    -@copy pkgIndex.tcl $@
+
+setup:
+    if not exist $(TMPDIR) mkdir $(TMPDIR)
+    if not exist $(OUTDIR) mkdir $(OUTDIR)
+
+$(ITCLLIB): $(ITCLDLL)
+
+$(ITCLDLL): $(ITCLOBJS) $(TMPDIR)\itclvc.def $(TMPDIR)\itcl.res
+    set LIB=$(TOOLS32)\lib
+    $(link32) $(ldebug) $(dlllflags) -def:$(TMPDIR)\itclvc.def \
+        -out:$@ $(TMPDIR)\itcl.res $(guilibsdll) $(TCLSTUBLIB) @<<
+               $(ITCLOBJS)
 <<
 
-$(ITCLSH): $(ITCLSHOBJS) $(ITCLLIB) $(TCLLIBDIR)\$(TCLLIB) $(TMPDIR)\itclsh.res
-       set LIB=$(TOOLS32)\lib
-       $(link32) $(linkdebug) $(conlflags) $(TMPDIR)\itclsh.res \
-               -out:$@ $(conlibsdll) $(ITCLLIB) $(TCLLIBDIR)\$(TCLLIB) $(ITCLSHOBJS)
+$(ITCLSTUBLIB): $(ITCLSTUBOBJS)
+    $(lib32) -nologo -out:$@ $(ITCLSTUBOBJS)
 
-$(ITCLTEST): $(ITCLTESTOBJS) $(ITCLLIB) $(TCLLIBDIR)\$(TCLLIB) $(TMPDIR)\itclsh.res
-       set LIB=$(TOOLS32)\lib
-       $(link32) $(linkdebug) $(conlflags) $(TMPDIR)\itclsh.res \
-                -out:$@ $(conlibsdll) $(ITCLLIB) $(TCLLIBDIR)\$(TCLLIB) $(ITCLTESTOBJS)
+$(ITCLSH): $(ITCLSHOBJS) $(ITCLSTUBLIB) $(TCLSTUBLIB) $(TMPDIR)\itclsh.res
+    set LIB=$(TOOLS32)\lib
+    $(link32) $(ldebug) $(conlflags) $(TMPDIR)\itclsh.res -stack:2300000 \
+        -out:$@ $(conlibsdll) $(ITCLLIB) $(TCLLIB) $(ITCLSHOBJS)
+
+$(TMPDIR)\itclvc.def: $(DUMPEXTS) $(ITCLOBJS)
+    $(DUMPEXTS) -o $@ $(ITCLDLLNAME) @<<
+$(ITCLOBJS)
+<<
+
+$(DUMPEXTS): $(TCLDIR)\win\winDumpExts.c
+    $(cc32) $(CON_CFLAGS) -Fo$(TMPDIR)\ $?
+    set LIB=$(TOOLS32)\lib
+    $(link32) $(ldebug) $(conlflags) $(guilibs) -out:$@ \
+        $(TMPDIR)\winDumpExts.obj 
+
+install: all
+    if not exist $(INSTALLDIR) mkdir $(INSTALLDIR)
+    if not exist $(BIN_INSTALL_DIR) mkdir $(BIN_INSTALL_DIR)
+    if not exist $(LIB_INSTALL_DIR) mkdir $(LIB_INSTALL_DIR)
+    if not exist $(SCRIPT_INSTALL_DIR) mkdir $(SCRIPT_INSTALL_DIR)
+    if not exist $(INCLUDE_INSTALL_DIR) mkdir $(INCLUDE_INSTALL_DIR)
+    copy $(ITCLSH) "$(BIN_INSTALL_DIR)"
+    copy $(ITCLDLL) "$(BIN_INSTALL_DIR)"
+    copy $(ROOT)\generic\itcl.h "$(INCLUDE_INSTALL_DIR)"
+    copy $(ROOT)\library\*.* "$(SCRIPT_INSTALL_DIR)"
+    copy $(ROOT)\win\*.tcl "$(SCRIPT_INSTALL_DIR)"
+
+#
+# Regenerate the stubs files.
+#
+genstubs:
+    $(TCLSH) $(TCLDIR)\tools\genStubs.tcl $(GENERICDIR) \
+        $(GENERICDIR)\itcl.decls $(GENERICDIR)\itclInt.decls
 
 #
 # Special case object file targets
 #
 
-$(TMPDIR)\itclvc.def: $(DUMPEXTS) $(ITCLOBJS)
-       $(DUMPEXTS) -o $@ $(ITCLDLL) @<<
-$(ITCLOBJS)
-<<
+$(TMPDIR)\tclAppInit.obj : $(WINDIR)\tclAppInit.c
+    $(cc32) $(ITCL_EXE_CFLAGS) -Fo$@ $?
+
+# The following object is part of the stub library and should not
+# be built as DLL objects but none of the symbols should be exported
 
-$(TMPDIR)\testMain.obj: $(WINDIR)\tclAppInit.c
-       $(cc32) $(TCL_CFLAGS) -DTCL_TEST -Fo$(TMPDIR)\testMain.obj $?
+$(TMPDIR)\itclStubLib.obj : $(GENERICDIR)\itclStubLib.c
+    $(cc32) -DSTATIC_BUILD $(ITCL_CFLAGS) -Fo$@ $?
 
 #
 # Implicit rules
 #
 
 {$(WINDIR)}.c{$(TMPDIR)}.obj:
-    $(cc32) $(TCL_CFLAGS) -Fo$(TMPDIR)\ $<
+    $(cc32) -DDLL_BUILD $(ITCL_CFLAGS) -Fo$(TMPDIR)\ $<
 
 {$(GENERICDIR)}.c{$(TMPDIR)}.obj:
-    $(cc32) $(TCL_CFLAGS) -Fo$(TMPDIR)\ $<
+    $(cc32) -DDLL_BUILD $(ITCL_CFLAGS) -Fo$(TMPDIR)\ $<
 
 {$(ROOT)\compat}.c{$(TMPDIR)}.obj:
-    $(cc32) $(TCL_CFLAGS) -Fo$(TMPDIR)\ $<
+    $(cc32) -DDLL_BUILD $(ITCL_CFLAGS) -Fo$(TMPDIR)\ $<
 
 {$(WINDIR)}.rc{$(TMPDIR)}.res:
-       $(rc32) -fo $@ -r -i $(GENERICDIR) -i $(WINDIR) -i $(TCLDIR)\generic $(TCL_DEFINES) $<
+    $(rc32) -fo $@ -r -i $(GENERICDIR) -i $(WINDIR) -i $(TCLDIR)\generic -D__WIN32__ \
+        $(ITCL_DEFINES) $<
 
 clean:
-       -@$(RM) *.exe
-       -@$(RM) *.lib
-       -@$(RM) *.dll
-       -@$(RM) *.res
-       -@$(RM) itclvc.def
-       -@$(RM) $(TMPDIR)\*.obj
-       -@$(RM) *.exp
+    -@del $(OUTDIR)\*.exp
+    -@del $(OUTDIR)\*.lib
+    -@del $(OUTDIR)\*.dll
+    -@del $(OUTDIR)\*.exe
+    -@del $(OUTDIR)\*.pdb
+    -@del $(TMPDIR)\*.pch
+    -@del $(TMPDIR)\*.obj
+    -@del $(TMPDIR)\*.res
+    -@del $(TMPDIR)\*.def
+    -@del $(TMPDIR)\*.exe
+    -@rmdir $(OUTDIR)
+    -@rmdir $(TMPDIR)
index b09e5d7..28f0467 100644 (file)
@@ -1,3 +1,3 @@
 # Tcl package index file, version 1.0
 
-package ifneeded Itcl 3.0 [list load itcl30.dll Itcl]
+package ifneeded Itcl 3.1 [list load [file join $dir itcl31.dll] Itcl]
index c754ba4..6bfa73c 100644 (file)
@@ -93,62 +93,21 @@ typedef struct ItkClassOption {
     char *init;                   /* initial value for option */
 } ItkClassOption;
 
+#include "itkDecls.h"
 
 /*
- *  Exported functions:
+ *  This function is contained in the itkstub static library
  */
-EXTERN int Itk_Init _ANSI_ARGS_((Tcl_Interp *interp));
-EXTERN int Itk_SafeInit _ANSI_ARGS_((Tcl_Interp *interp));
 
-/*
- *  Functions used internally by this package:
- */
-EXTERN int Itk_ConfigBodyCmd _ANSI_ARGS_((ClientData cdata,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itk_UsualCmd _ANSI_ARGS_((ClientData cdata,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-
-/*
- *  Functions for managing options included in class definitions:
- */
-EXTERN int Itk_ClassOptionDefineCmd _ANSI_ARGS_((ClientData cdata,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-EXTERN int Itk_ClassOptionIllegalCmd _ANSI_ARGS_((ClientData cdata,
-    Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]));
-
-EXTERN int Itk_ConfigClassOption _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclObject *contextObj, ClientData cdata, char* newVal));
+#ifdef USE_ITK_STUBS
 
-EXTERN ItkClassOptTable* Itk_CreateClassOptTable _ANSI_ARGS_((
-    Tcl_Interp *interp, ItclClass *cdefn));
-EXTERN ItkClassOptTable* Itk_FindClassOptTable _ANSI_ARGS_((
-    ItclClass *cdefn));
-EXTERN void Itk_DeleteClassOptTable _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclClass *cdefn));
-
-EXTERN int Itk_CreateClassOption _ANSI_ARGS_((Tcl_Interp *interp,
-    ItclClass *cdefn, char *switchName, char *resName, char *resClass,
-    char *defVal, char *config, ItkClassOption **optPtr));
-EXTERN ItkClassOption* Itk_FindClassOption _ANSI_ARGS_((
-    ItclClass *cdefn, char *switchName));
-EXTERN void Itk_DelClassOption _ANSI_ARGS_((ItkClassOption *opt));
-
-/*
- *  Functions needed for the Archetype base class:
- */
-EXTERN int Itk_ArchetypeInit _ANSI_ARGS_((Tcl_Interp* interp));
+char *         Itk_InitStubs _ANSI_ARGS_((Tcl_Interp *interp,
+                           char *version, int exact));
+#endif
 
 /*
- *  Functions for maintaining the ordered option list:
+ * Public functions that are not accessible via the stubs table.
  */
-EXTERN void Itk_OptListInit _ANSI_ARGS_((ItkOptList* olist,
-    Tcl_HashTable *options));
-EXTERN void Itk_OptListFree _ANSI_ARGS_((ItkOptList* olist));
-
-EXTERN void Itk_OptListAdd _ANSI_ARGS_((ItkOptList* olist,
-    Tcl_HashEntry *entry));
-EXTERN void Itk_OptListRemove _ANSI_ARGS_((ItkOptList* olist,
-    Tcl_HashEntry *entry));
 
 # undef TCL_STORAGE_CLASS
 # define TCL_STORAGE_CLASS DLLIMPORT
index 0a78970..1e2fde7 100644 (file)
@@ -45,11 +45,43 @@ namespace eval ::itk {\n\
         variable library\n\
         variable version\n\
         rename _find_init {}\n\
-        tcl_findLibrary itk 3.0 {} itk.tcl ITK_LIBRARY ::itk::library {} {} itcl\n\
-   }\n\
+        if {[info exists library]} {\n\
+            lappend dirs $library\n\
+        } else {\n\
+            if {[catch {uplevel #0 source -rsrc itk}] == 0} {\n\
+                return\n\
+            }\n\
+            set dirs {}\n\
+            if {[info exists env(ITK_LIBRARY)]} {\n\
+                lappend dirs $env(ITK_LIBRARY)\n\
+            }\n\
+            lappend dirs [file join [file dirname $tcl_library] itk$version]\n\
+            set bindir [file dirname [info nameofexecutable]]\n\
+            lappend dirs [file join $bindir .. lib itk$version]\n\
+            lappend dirs [file join $bindir .. library]\n\
+            lappend dirs [file join $bindir .. .. library]\n\
+            lappend dirs [file join $bindir .. .. itk library]\n\
+        }\n\
+        foreach i $dirs {\n\
+            set library $i\n\
+            set itkfile [file join $i itk.tcl]\n\
+            if {![catch {uplevel #0 [list source $itkfile]} msg]} {\n\
+                return\n\
+            }\n\
+        }\n\
+        set msg \"Can't find a usable itk.tcl in the following directories:\n\"\n\
+        append msg \"    $dirs\n\"\n\
+        append msg \"This probably means that Itcl/Itk weren't installed properly.\n\"\n\
+        append msg \"If you know where the Itk library directory was installed,\n\"\n\
+        append msg \"you can set the environment variable ITK_LIBRARY to point\n\"\n\
+        append msg \"to the library directory.\n\"\n\
+        error $msg\n\
+    }\n\
     _find_init\n\
 }";
 
+extern ItkStubs itkStubs;
+
 \f
 /*
  * ------------------------------------------------------------------------
@@ -71,23 +103,16 @@ Initialize(interp)
     Tcl_Namespace *itkNs, *parserNs;
     ClientData parserInfo;
 
-    if (Tcl_PkgRequire(interp, "Tk", TK_VERSION, 0) == NULL) {
+    if (Tcl_InitStubs(interp, "8.1", 0) == NULL) {
        return TCL_ERROR;
-    }
-    if (Tcl_PkgRequire(interp, "Itcl", ITCL_VERSION, 0) == NULL) {
+    };
+    if (Tk_InitStubs(interp, "8.1", 0) == NULL) {
+       return TCL_ERROR;
+    };
+    if (Itcl_InitStubs(interp, ITCL_VERSION, 0) == NULL) {
        return TCL_ERROR;
     }
 
-    /*
-     *  Install [incr Tk] facilities if not already installed.
-     */
-    itkNs = Tcl_FindNamespace(interp, "::itk", (Tcl_Namespace*)NULL,
-        /* flags */ 0);
-
-    if (itkNs) {
-        Tcl_SetResult(interp, "already installed: [incr Tk]", TCL_STATIC);
-        return TCL_ERROR;
-    }
 
     /*
      *  Add the "itk_option" ensemble to the itcl class definition parser.
@@ -130,12 +155,20 @@ Initialize(interp)
     }
 
     /*
-     *  Create the "itk" namespace.  Export all the commands in
-     *  the namespace so that they can be imported by a command
-     *  such as "namespace import itk::*"
+     *  Install [incr Tk] facilities if not already installed.
      */
-    itkNs = Tcl_CreateNamespace(interp, "::itk",
-        (ClientData)NULL, (Tcl_NamespaceDeleteProc*)NULL);
+    itkNs = Tcl_FindNamespace(interp, "::itk", (Tcl_Namespace*)NULL,
+        /* flags */ 0);
+
+    if (itkNs == NULL) {
+       /*
+        *  Create the "itk" namespace.  Export all the commands in
+        *  the namespace so that they can be imported by a command
+        *  such as "namespace import itk::*"
+        */
+       itkNs = Tcl_CreateNamespace(interp, "::itk",
+           (ClientData)NULL, (Tcl_NamespaceDeleteProc*)NULL);
+    }
 
     if (!itkNs ||
         Tcl_Export(interp, itkNs, "*", /* resetListFirst */ 1) != TCL_OK) {
@@ -162,7 +195,8 @@ Initialize(interp)
     /*
      *  Signal that the package has been loaded.
      */
-    if (Tcl_PkgProvide(interp, "Itk", ITCL_VERSION) != TCL_OK) {
+    if (Tcl_PkgProvideEx(interp, "Itk", ITCL_VERSION,
+            (ClientData) &itkStubs) != TCL_OK) {
        return TCL_ERROR;
     }
     return TCL_OK;
index daad0d2..c0b21a9 100644 (file)
@@ -27,6 +27,23 @@ ITK_BUILD_LIB_SPEC='@ITK_BUILD_LIB_SPEC@'
 # installed directory.
 ITK_LIB_SPEC='@ITK_LIB_SPEC@'
 
+# Path to the library name. Used for dependencies.
+ITK_LIB_FULL_PATH='@ITK_LIB_FULL_PATH@'
+
+# The name of the Itk stub library
+ITK_STUB_LIB_FILE=@ITK_STUB_LIB_FILE@
+
+# String to pass to linker to pick up the Itcl stub library from its
+# build directory.
+ITK_BUILD_STUB_LIB_SPEC='@ITK_BUILD_STUB_LIB_SPEC@'
+
+# String to pass to linker to pick up the Itcl stub library from its
+# installed directory.
+ITK_STUB_LIB_SPEC='@ITK_STUB_LIB_SPEC@'
+
+# Full path to itcl library for dependency checking.
+ITK_STUB_LIB_FULL_PATH='@ITK_STUB_LIB_FULL_PATH@'
+
 # Location of the top-level source directories from which [incr Tk]
 # was built.  This is the directory that contains a README file as well
 # as subdirectories such as generic, unix, etc.  If [incr Tk] was
@@ -34,6 +51,3 @@ ITK_LIB_SPEC='@ITK_LIB_SPEC@'
 # files, this points to the location of the sources, not the location
 # where [incr Tk] was compiled.
 ITK_SRC_DIR='@ITK_SRC_DIR@'
-
-# Path to the library name. Used for dependencies.
-ITK_LIB_FULL_PATH='@ITK_LIB_FULL_PATH@'
index 5b82cf8..9b63ef2 100644 (file)
@@ -89,6 +89,6 @@ read 'TEXT' (ITK_LIBRARY_RESOURCES+12, "itk:tclIndex", purgeable)
        "::mac:tclIndex";
 data 'TEXT' (ITK_LIBRARY_RESOURCES+13,"pkgIndex",purgeable, preload) {
        "# Tcl package index file, version 1.0\n"
-       "package ifneeded Itk 3.0 [list package require Itcl 3.0 \; load [file join $dir itk30[info sharedlibextension]] Itk \; source -rsrc itk:tclIndex]\n"
+       "package ifneeded Itk 3.1 [list package require Itcl 3.1 \; load [file join $dir itk31[info sharedlibextension]] Itk \; source -rsrc itk:tclIndex]\n"
 };
 
index 8b8cad8..04ada33 100644 (file)
@@ -1,3 +1,3 @@
 # Tcl package index file, version 1.0
 
-package ifneeded Itk 3.0 [list load [file join $dir itk30[info sharedlibextension]] Itk]
+package ifneeded Itk 3.1 [list load [file join $dir itk31[info sharedlibextension]] Itk]
index b50794c..b8b15b0 100644 (file)
@@ -3,6 +3,11 @@
 # in this directory.
 #
 # SCCS: @(#) all 1.7 96/02/16 08:55:38
+# ------------------------------------------------------------------
+# THIS SCRIPT IS NOW DEPRECATED!  It is kept for older Tcl
+# installations that don't have the "tcltest" package.
+# Instead, use the "all.tcl" script to run the test suite.
+# ------------------------------------------------------------------
 
 foreach i [lsort [glob *.test]] {
     if [string match l.*.test $i] {
index 4be66bc..6b6660f 100644 (file)
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 #
 # SCCS: @(#) defs 1.44 96/10/08 17:26:58
+# ------------------------------------------------------------------
+# THIS SCRIPT IS NOW DEPRECATED!  It is kept for older Tcl
+# installations that don't have the "tcltest" package.
+# Instead, use "package require tcltest" in the test suite.
+# ------------------------------------------------------------------
 
 if ![info exists VERBOSE] {
     set VERBOSE 0
@@ -80,6 +85,8 @@ if {[info commands memory] == ""} {
 #      unixExecs     - 1 means this machine has commands such as 'cat',
 #                      'echo' etc available.
 
+package require Itk
+
 catch {unset testConfig}
 if {$tcl_platform(platform) == "unix"} {
     set testConfig(unixOnly) 1
index 894b3c6..8697983 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itk
+
 # ----------------------------------------------------------------------
 #  Make sure that slave interpreters can be created and loaded
 #  with [incr Tcl] / [incr Tk]...
@@ -46,3 +51,6 @@ test interp-1.3 {errors are okay when slave interp is deleted} {
     }
     interp delete slave
 } {}
+
+::tcltest::cleanupTests
+exit
index 857525c..d99a401 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itk
+
 # ----------------------------------------------------------------------
 #  Component option processing
 # ----------------------------------------------------------------------
@@ -115,15 +120,15 @@ test option-2.1 {create a widget for the following tests} {
 } {.testUsual}
 
 test option-2.2 {register some "usual" code} {
-    usual TestOptComp-test {keep -cursor -foreground}
+    itk::usual TestOptComp-test {keep -cursor -foreground}
 } {}
 
 test option-2.3 {query back "usual" code} {
-    usual TestOptComp-test
+    itk::usual TestOptComp-test
 } {keep -cursor -foreground}
 
 test option-2.4 {query back unknown "usual" code} {
-    usual xyzzyxyzzy
+    itk::usual xyzzyxyzzy
 } {}
 
 test option-2.5 {add a component using "usual" code} {
@@ -177,3 +182,6 @@ foreach widget {button canvas checkbutton entry frame label listbox
 #  Clean up
 # ----------------------------------------------------------------------
 itcl::delete class TestOptComp TestOptWidget
+
+::tcltest::cleanupTests
+exit
index 19ce700..a3cfe53 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itk
+
 # ----------------------------------------------------------------------
 #  Define a base class with public variables and a simple mega-widget
 # ----------------------------------------------------------------------
@@ -92,3 +97,6 @@ test privacy-1.7 {components are visible depending on namespace context} {
 #  Clean up
 # ----------------------------------------------------------------------
 itcl::delete class TestPrivacy TestMorePrivacy
+
+::tcltest::cleanupTests
+exit
index 03f54ac..d83006d 100644 (file)
 # See the file "license.terms" for information on usage and
 # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 if {[string compare test [info procs test]] == 1} then {source defs}
 
+package require Itk
+
 # ----------------------------------------------------------------------
 #  Define a base class with public variables and a simple mega-widget
 # ----------------------------------------------------------------------
@@ -73,3 +78,6 @@ test public-1.4 {config code gets fired off} {
 #  Clean up
 # ----------------------------------------------------------------------
 itcl::delete class TestPublic test_public_base
+
+::tcltest::cleanupTests
+exit
index d7b2f9e..8b8c55e 100644 (file)
@@ -4,14 +4,9 @@
  *     This file implements the Dll entry point as needed by Windows.
  */
 
-/* 
- * dllEntryPoint.c --
- *
- *     This file implements the Dll entry point as needed by Windows.
- */
-
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
+/* CYGNUS LOCAL */
 #include <tcl.h>
 
 /*
 
 BOOL APIENTRY          DllMain _ANSI_ARGS_((HINSTANCE hInst,
                            DWORD reason, LPVOID reserved));
+/* END CYGNUS LOCAL */
+
+/*
+#if defined(_MSC_VER)
+#   define DllEntryPoint DllMain
+#endif
+*/
 
-/* CYGNUS LOCAL */
 #ifdef __CYGWIN32__
 
 /* cygwin32 requires an impure pointer variable, which must be
    explicitly initialized when the DLL starts up.  */
 struct _reent *_impure_ptr;
 extern struct _reent *_imp__reent_data;
-#endif
+#endif /* __CYGWIN32__ */
 
 /*
  *----------------------------------------------------------------------
index 27fd4e7..0d56d4d 100644 (file)
@@ -66,7 +66,6 @@ LNLIBS_dll =  $(ITCLLIBDIR)\$(ITCLLIB) $(TKLIBDIR)\$(TKLIB) $(TCLLIBDIR)\$(TCLLIB
 .path.obj=$(TMPDIR)
 
 ITKWISHOBJS = \
-       $(TKLIBDIR)\tkConsole.obj \
        $(TMPDIR)\winMain.obj
 
 ITKOBJS = \
index b0653f3..5d26cf4 100644 (file)
@@ -30,8 +30,9 @@ ITCLDIR     = ..\..\itcl
 
 ITKNAMEPREFIX  = itk
 WISHNAMEPREFIX = itkwish
-VERSION               = 30
-DOTVERSION     = 3.0
+VERSION               = 31
+DOTVERSION     = 3.1
+STUBPREFIX = $(ITKNAMEPREFIX)stub
 
 BINROOT                = .
 !IF "$(NODEBUG)" == "1"
@@ -50,47 +51,66 @@ ITKLIB              = $(OUTDIR)\$(ITKNAMEPREFIX)$(VERSION)$(DBGX).lib
 ITKWISH        = $(OUTDIR)\$(WISHNAMEPREFIX)$(VERSION)$(DBGX).exe
 DUMPEXTS       = $(TMPDIR)\dumpexts.exe
 
+ITKSTUBLIBNAME = $(STUBPREFIX)$(VERSION)$(DBGX).lib
+ITKSTUBLIB     = $(OUTDIR)\$(ITKSTUBLIBNAME)
+
+
 LIB_INSTALL_DIR        = $(INSTALLDIR)\lib
 BIN_INSTALL_DIR        = $(INSTALLDIR)\bin
 SCRIPT_INSTALL_DIR     = $(INSTALLDIR)\lib\itk$(DOTVERSION)
 INCLUDE_INSTALL_DIR    = $(INSTALLDIR)\include
 
 ITKWISHOBJS = \
-       $(TMPDIR)\winMain.obj \
-       $(TMPDIR)\tkConsole.obj
+       $(TMPDIR)\winMain.obj
 
 ITKOBJS = \
+       $(TMPDIR)\itkStubInit.obj \
        $(TMPDIR)\itk_archetype.obj \
        $(TMPDIR)\itk_cmds.obj \
        $(TMPDIR)\itk_option.obj \
        $(TMPDIR)\itk_util.obj \
        $(TMPDIR)\dllEntryPoint.obj
 
+ITKSTUBOBJS = \
+    $(TMPDIR)\itkStubLib.obj
+
 cc32           = $(TOOLS32)\bin\cl.exe
 link32         = $(TOOLS32)\bin\link.exe
 rc32           = $(TOOLS32_rc)\bin\rc.exe
 include32      = -I$(TOOLS32)\include
+lib32       = "$(TOOLS32)\bin\lib.exe"
 
 WINDIR      = $(ROOT)\win
 GENERICDIR     = $(ROOT)\generic
 RCDIR       = $(WINDIR)\rc
 
 TCLBUILDDIR    = $(TCLDIR)\win\$(OUTDIR)
-TCLLIB      = $(TCLBUILDDIR)\tcl80$(DBGX).lib
-TCLDLL      = $(TCLBUILDDIR)\tcl80$(DBGX).dll
+TCLLIB      = $(TCLBUILDDIR)\tcl81$(DBGX).lib
+TCLSTUBLIB      = $(TCLBUILDDIR)\tclstub81$(DBGX).lib
+TCLDLL      = $(TCLBUILDDIR)\tcl81$(DBGX).dll
 TKBUILDDIR     = $(TKDIR)\win\$(OUTDIR)
-TKLIB       = $(TKBUILDDIR)\tk80$(DBGX).lib
-TKDLL       = $(TKBUILDDIR)\tk80$(DBGX).dll
+TKLIB       = $(TKBUILDDIR)\tk81$(DBGX).lib
+TKSTUBLIB       = $(TKBUILDDIR)\tkstub81$(DBGX).lib
+TKDLL       = $(TKBUILDDIR)\tk81$(DBGX).dll
 ITCLBUILDDIR = $(ITCLDIR)\win\$(OUTDIR)
 ITCLLIB      = $(ITCLBUILDDIR)\itcl$(VERSION)$(DBGX).lib
 ITCLDLL      = $(ITCLBUILDDIR)\itcl$(VERSION)$(DBGX).dll
 
+ITCLSTUBLIBNAME = itclstub$(VERSION)$(DBGX).lib
+ITCLSTUBLIB     = $(ITCLBUILDDIR)\$(ITCLSTUBLIBNAME)
+
 ITK_INCLUDES   = -I$(WINDIR) -I$(GENERICDIR) \
-                       -I$(TCLDIR)\generic -I$(TKDIR)\generic -I$(TKDIR)\xlib -I$(ITCLDIR)\generic
-ITK_DEFINES    = -DBUILD_itk $(DEBUGDEFINES)
+                       -I$(TCLDIR)\generic -I$(TKDIR)\generic \
+                       -I$(TCLDIR)\win -I$(TKDIR)\win \
+                       -I$(TKDIR)\xlib -I$(ITCLDIR)\generic
 
-ITK_CFLAGS     = $(cdebug) $(cflags) $(cvarsdll) $(include32) \
-                       $(ITK_INCLUDES) $(ITK_DEFINES) 
+ITK_EXE_DEFINES        = -DBUILD_itk $(DEBUGDEFINES)
+
+ITK_EXE_CFLAGS = $(cdebug) $(cflags) $(cvarsdll) $(include32) \
+                       $(ITK_INCLUDES) $(ITK_EXE_DEFINES) 
+
+ITK_CFLAGS     = $(ITK_EXE_CFLAGS) -DUSE_TK_STUBS -DUSE_TCL_STUBS \
+                        -DUSE_ITCL_STUBS
 
 ######################################################################
 # Link flags
@@ -108,7 +128,7 @@ lcommon = /NODEFAULTLIB /RELEASE /NOLOGO
 # declarations for use on Intel i386, i486, and Pentium systems
 !IF "$(MACHINE)" == "IX86"
 DLLENTRY = @12
-lflags   = $(lcommon) -align:0x1000 /MACHINE:$(MACHINE)
+lflags   = $(lcommon) /MACHINE:$(MACHINE)
 !ELSE
 lflags   = $(lcommon) /MACHINE:$(MACHINE)
 !ENDIF
@@ -138,12 +158,12 @@ guilibsdll = $(libcdll) $(winlibs)
 !IF "$(NODEBUG)" == "1"
 !IF "$(MACHINE)" == "ALPHA"
 # MSVC on Alpha doesn't understand -Ot
-cdebug = -O2i -Gs -GD
+cdebug = -O2i -Gs -GD -DNDEBUG
 !ELSE
-cdebug = -Oti -Gs -GD
+cdebug = -Oti -Gs -GD -DNDEBUG
 !ENDIF
 !ELSE
-cdebug = -Z7 -Od -WX
+cdebug = -Z7 -Od -WX -DDEBUG
 !ENDIF
 
 # declarations common to all compiler options
@@ -181,31 +201,35 @@ CON_CFLAGS        = $(cdebug) $(cflags) $(cvars) $(include32) -DCONSOLE
 # Project specific targets
 ######################################################################
 
-all:    setup $(ITKWISH)
-test:  setup $(ITKWISH)
+all:    setup $(ITKWISH) $(ITKDLL) $(ITKSTUBLIB)
+test:  setup $(ITKDLL) $(ITKSTUBLIB) $(ITKWISH)
        -@copy $(TCLDLL) $(TMPDIR)
        -@copy $(TKDLL) $(TMPDIR)
        -@copy $(ITCLDLL) $(TMPDIR)
-       $(ITKWISH)
+#      $(ITKWISH)
 
 setup:
        if not exist $(TMPDIR) mkdir $(TMPDIR)
        if not exist $(OUTDIR) mkdir $(OUTDIR)
 
-$(ITKLIB): $(ITKDLL)
-
-$(ITKDLL): $(ITKOBJS) $(TMPDIR)\itk.res $(TMPDIR)\itkvc.def
+$(ITKLIB) : $(ITKDLL) $(ITKSTUBLIB)
+$(ITKDLL) : $(ITKOBJS) $(TMPDIR)\itk.res $(TMPDIR)\itkvc.def
        set LIB=$(TOOLS32)\lib
        $(link32) $(ldebug) $(dlllflags) -def:$(TMPDIR)\itkvc.def \
-               -out:$@ $(TMPDIR)\itk.res $(TCLLIB) $(TKLIB) $(ITCLLIB) \
-               $(guilibsdll) @<<
+               -out:$@ $(TMPDIR)\itk.res $(TCLSTUBLIB)  \
+                $(TKSTUBLIB) $(guilibsdll) @<<
                        $(ITKOBJS)
 <<
 
+
+$(ITKSTUBLIB): $(ITKSTUBOBJS)
+    $(lib32) -nologo -out:$@ $(ITKSTUBOBJS)
+
 $(ITKWISH): $(ITKWISHOBJS) $(ITKLIB) $(TMPDIR)\itkwish.res
        set LIB=$(TOOLS32)\lib
        $(link32) $(ldebug) $(guilflags) $(TMPDIR)\itkwish.res -out:$@ \
-               $(guilibsdll) $(TCLLIB) $(TKLIB) $(ITCLLIB) $(ITKLIB) $(ITKWISHOBJS) 
+               $(guilibsdll) $(TCLLIB) $(TKLIB) $(ITCLLIB) $(ITKLIB) \
+               $(ITKWISHOBJS) 
 
 $(TMPDIR)\itkvc.def: $(DUMPEXTS) $(ITKOBJS)
        $(DUMPEXTS) -o $@ $(ITKDLLNAME) @<<
@@ -231,14 +255,24 @@ install: all
        copy $(ROOT)\win\*.tcl "$(SCRIPT_INSTALL_DIR)"
 
 #
+# Regenerate the stubs files.
+#
+genstubs:
+    $(TCLSH) $(TCLDIR)\tools\genStubs.tcl $(GENERICDIR) \
+        $(GENERICDIR)\itk.decls
+
+#
 # Special case object file targets
 #
 
 $(TMPDIR)\winMain.obj: $(ROOT)\win\winMain.c
-       $(cc32) -DBUILD_tcl -DBUILD_tk $(ITK_CFLAGS) -Fo$@ $?
+       $(cc32) $(ITK_EXE_CFLAGS) -Fo$@ $?
+
+# The following object is part of the stub library and should not
+# be built as DLL objects but none of the symbols should be exported
 
-$(TMPDIR)\tkConsole.obj: $(TKDIR)\generic\tkConsole.c
-       $(cc32) -DBUILD_tcl -DBUILD_tk $(ITK_CFLAGS) -Fo$@ $?
+$(TMPDIR)\itkStubLib.obj : $(GENERICDIR)\itkStubLib.c
+    $(cc32) -DSTATIC_BUILD $(ITK_CFLAGS) -Fo$@ $?
 
 #
 # Implicit rules
index e9eac59..381ad6c 100644 (file)
@@ -1,3 +1,3 @@
 # Tcl package index file, version 1.0
 
-package ifneeded Itk 3.0 [list load itk30.dll Itk]
+package ifneeded Itk 3.1 [list load [file join $dir itk31.dll] Itk]
index 65cb79b..f63bf01 100644 (file)
-// SCCS: @(#) tk.rc 1.17 96/09/12 16:22:08\r\r
-//\r\r
-// Version\r\r
-//\r\r
-\r\r
-#define RESOURCE_INCLUDED\r\r
-#include <itcl.h>\r\r
-#include <itk.h>\r\r
-\r\r
-VS_VERSION_INFO VERSIONINFO\r\r
- FILEVERSION    ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,0\r\r
- PRODUCTVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,0\r\r
- FILEFLAGSMASK 0x3fL\r\r
- FILEFLAGS     0x0L\r\r
- FILEOS                0x4L\r\r
- FILETYPE      0x2L\r\r
- FILESUBTYPE   0x0L\r\r
-BEGIN\r\r
-    BLOCK "StringFileInfo"\r\r
-    BEGIN\r\r
-        BLOCK "040904b0"\r\r
-        BEGIN\r\r
-            VALUE "FileDescription", "Itk DLL\0"\r\r
-            VALUE "Authors", "Michael McLennan\0"\r\r
-\r\r
-            VALUE "OriginalFilename", "itk" STRINGIFY(ITCL_MAJOR_VERSION) STRINGIFY(ITCL_MINOR_VERSION) ".dll\0"\r\r
-            VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0"\r\r
-            VALUE "FileVersion", ITCL_PATCH_LEVEL\r\r
-            VALUE "LegalCopyright", "Copyright \251 1993-1998\0"\r\r
-            VALUE "ProductName", "[incr Tk] " ITCL_VERSION " for Windows\0"\r\r
-            VALUE "ProductVersion", ITCL_PATCH_LEVEL\r\r
-        END\r\r
-    END\r\r
-    BLOCK "VarFileInfo"\r\r
-    BEGIN\r\r
-        VALUE "Translation", 0x409, 1200\r\r
-    END\r\r
-END\r\r
-\r\r
-//\r\r
-// Icon\r\r
-//\r\r
-\r\r
-tk                      ICON    DISCARDABLE     "itk.ico"\r\r
-\r\r
-//\r\r
-// Cursor\r\r
-//\r\r
-\r\r
-X_cursor                CURSOR  DISCARDABLE     "cursor00.cur"\r\r
-arrow                   CURSOR  DISCARDABLE     "cursor02.cur"\r\r
-based_arrow_down        CURSOR  DISCARDABLE     "cursor04.cur"\r\r
-based_arrow_up          CURSOR  DISCARDABLE     "cursor06.cur"\r\r
-boat                    CURSOR  DISCARDABLE     "cursor08.cur"\r\r
-bogosity                CURSOR  DISCARDABLE     "cursor0a.cur"\r\r
-bottom_left_corner      CURSOR  DISCARDABLE     "cursor0c.cur"\r\r
-bottom_right_corner     CURSOR  DISCARDABLE     "cursor0e.cur"\r\r
-bottom_side             CURSOR  DISCARDABLE     "cursor10.cur"\r\r
-bottom_tee              CURSOR  DISCARDABLE     "cursor12.cur"\r\r
-box_spiral              CURSOR  DISCARDABLE     "cursor14.cur"\r\r
-center_ptr              CURSOR  DISCARDABLE     "cursor16.cur"\r\r
-circle                  CURSOR  DISCARDABLE     "cursor18.cur"\r\r
-clock                   CURSOR  DISCARDABLE     "cursor1a.cur"\r\r
-coffee_mug              CURSOR  DISCARDABLE     "cursor1c.cur"\r\r
-cross                   CURSOR  DISCARDABLE     "cursor1e.cur"\r\r
-cross_reverse           CURSOR  DISCARDABLE     "cursor20.cur"\r\r
-crosshair               CURSOR  DISCARDABLE     "cursor22.cur"\r\r
-diamond_cross           CURSOR  DISCARDABLE     "cursor24.cur"\r\r
-dot                     CURSOR  DISCARDABLE     "cursor26.cur"\r\r
-dotbox                  CURSOR  DISCARDABLE     "cursor28.cur"\r\r
-double_arrow            CURSOR  DISCARDABLE     "cursor2a.cur"\r\r
-draft_large             CURSOR  DISCARDABLE     "cursor2c.cur"\r\r
-draft_small             CURSOR  DISCARDABLE     "cursor2e.cur"\r\r
-draped_box              CURSOR  DISCARDABLE     "cursor30.cur"\r\r
-exchange                CURSOR  DISCARDABLE     "cursor32.cur"\r\r
-fleur                   CURSOR  DISCARDABLE     "cursor34.cur"\r\r
-gobbler                 CURSOR  DISCARDABLE     "cursor36.cur"\r\r
-gumby                   CURSOR  DISCARDABLE     "cursor38.cur"\r\r
-hand1                   CURSOR  DISCARDABLE     "cursor3a.cur"\r\r
-hand2                   CURSOR  DISCARDABLE     "cursor3c.cur"\r\r
-heart                   CURSOR  DISCARDABLE     "cursor3e.cur"\r\r
-icon                    CURSOR  DISCARDABLE     "cursor40.cur"\r\r
-iron_cross              CURSOR  DISCARDABLE     "cursor42.cur"\r\r
-left_ptr                CURSOR  DISCARDABLE     "cursor44.cur"\r\r
-left_side               CURSOR  DISCARDABLE     "cursor46.cur"\r\r
-left_tee                CURSOR  DISCARDABLE     "cursor48.cur"\r\r
-leftbutton              CURSOR  DISCARDABLE     "cursor4a.cur"\r\r
-ll_angle                CURSOR  DISCARDABLE     "cursor4c.cur"\r\r
-lr_angle                CURSOR  DISCARDABLE     "cursor4e.cur"\r\r
-man                     CURSOR  DISCARDABLE     "cursor50.cur"\r\r
-middlebutton            CURSOR  DISCARDABLE     "cursor52.cur"\r\r
-mouse                   CURSOR  DISCARDABLE     "cursor54.cur"\r\r
-pencil                  CURSOR  DISCARDABLE     "cursor56.cur"\r\r
-pirate                  CURSOR  DISCARDABLE     "cursor58.cur"\r\r
-plus                    CURSOR  DISCARDABLE     "cursor5a.cur"\r\r
-question_arrow          CURSOR  DISCARDABLE     "cursor5c.cur"\r\r
-right_ptr               CURSOR  DISCARDABLE     "cursor5e.cur"\r\r
-right_side              CURSOR  DISCARDABLE     "cursor60.cur"\r\r
-right_tee               CURSOR  DISCARDABLE     "cursor62.cur"\r\r
-rightbutton             CURSOR  DISCARDABLE     "cursor64.cur"\r\r
-rtl_logo                CURSOR  DISCARDABLE     "cursor66.cur"\r\r
-sailboat                CURSOR  DISCARDABLE     "cursor68.cur"\r\r
-sb_down_arrow           CURSOR  DISCARDABLE     "cursor6a.cur"\r\r
-sb_h_double_arrow       CURSOR  DISCARDABLE     "cursor6c.cur"\r\r
-sb_left_arrow           CURSOR  DISCARDABLE     "cursor6e.cur"\r\r
-sb_right_arrow          CURSOR  DISCARDABLE     "cursor70.cur"\r\r
-sb_up_arrow             CURSOR  DISCARDABLE     "cursor72.cur"\r\r
-sb_v_double_arrow       CURSOR  DISCARDABLE     "cursor74.cur"\r\r
-shuttle                 CURSOR  DISCARDABLE     "cursor76.cur"\r\r
-sizing                  CURSOR  DISCARDABLE     "cursor78.cur"\r\r
-spider                  CURSOR  DISCARDABLE     "cursor7a.cur"\r\r
-spraycan                CURSOR  DISCARDABLE     "cursor7c.cur"\r\r
-star                    CURSOR  DISCARDABLE     "cursor7e.cur"\r\r
-target                  CURSOR  DISCARDABLE     "cursor80.cur"\r\r
-tcross                  CURSOR  DISCARDABLE     "cursor82.cur"\r\r
-top_left_arrow          CURSOR  DISCARDABLE     "cursor84.cur"\r\r
-top_left_corner         CURSOR  DISCARDABLE     "cursor86.cur"\r\r
-top_right_corner        CURSOR  DISCARDABLE     "cursor88.cur"\r\r
-top_side                CURSOR  DISCARDABLE     "cursor8a.cur"\r\r
-top_tee                 CURSOR  DISCARDABLE     "cursor8c.cur"\r\r
-trek                    CURSOR  DISCARDABLE     "cursor8e.cur"\r\r
-ul_angle                CURSOR  DISCARDABLE     "cursor90.cur"\r\r
-umbrella                CURSOR  DISCARDABLE     "cursor92.cur"\r\r
-ur_angle                CURSOR  DISCARDABLE     "cursor94.cur"\r\r
-watch                   CURSOR  DISCARDABLE     "cursor96.cur"\r\r
-xterm                   CURSOR  DISCARDABLE     "cursor98.cur"\r\r
+// SCCS: @(#) tk.rc 1.17 96/09/12 16:22:08
+//
+// Version
+//
+
+#define VS_VERSION_INFO 1
+#define RESOURCE_INCLUDED
+#include <itcl.h>
+#include <itk.h>
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION    ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL
+ PRODUCTVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL
+ FILEFLAGSMASK 0x3fL
+ FILEFLAGS     0x0L
+ FILEOS                0x4L
+ FILETYPE      0x2L
+ FILESUBTYPE   0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "FileDescription", "Itk language extension for Tcl\0"
+            VALUE "Authors", "Michael McLennan\0"
+            VALUE "OriginalFilename", "itk" STRINGIFY(ITCL_MAJOR_VERSION) STRINGIFY(ITCL_MINOR_VERSION) ".dll\0"
+            VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0"
+            VALUE "FileVersion", ITCL_PATCH_LEVEL
+            VALUE "LegalCopyright", "Copyright \251 1993-1998\0"
+            VALUE "ProductName", "[incr Tk] " ITCL_VERSION " for Windows\0"
+            VALUE "ProductVersion", ITCL_PATCH_LEVEL
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
+//
+// Icon
+//
+
+tk                      ICON    DISCARDABLE     "itk.ico"
+
+//
+// Cursor
+//
+
+X_cursor                CURSOR  DISCARDABLE     "cursor00.cur"
+arrow                   CURSOR  DISCARDABLE     "cursor02.cur"
+based_arrow_down        CURSOR  DISCARDABLE     "cursor04.cur"
+based_arrow_up          CURSOR  DISCARDABLE     "cursor06.cur"
+boat                    CURSOR  DISCARDABLE     "cursor08.cur"
+bogosity                CURSOR  DISCARDABLE     "cursor0a.cur"
+bottom_left_corner      CURSOR  DISCARDABLE     "cursor0c.cur"
+bottom_right_corner     CURSOR  DISCARDABLE     "cursor0e.cur"
+bottom_side             CURSOR  DISCARDABLE     "cursor10.cur"
+bottom_tee              CURSOR  DISCARDABLE     "cursor12.cur"
+box_spiral              CURSOR  DISCARDABLE     "cursor14.cur"
+center_ptr              CURSOR  DISCARDABLE     "cursor16.cur"
+circle                  CURSOR  DISCARDABLE     "cursor18.cur"
+clock                   CURSOR  DISCARDABLE     "cursor1a.cur"
+coffee_mug              CURSOR  DISCARDABLE     "cursor1c.cur"
+cross                   CURSOR  DISCARDABLE     "cursor1e.cur"
+cross_reverse           CURSOR  DISCARDABLE     "cursor20.cur"
+crosshair               CURSOR  DISCARDABLE     "cursor22.cur"
+diamond_cross           CURSOR  DISCARDABLE     "cursor24.cur"
+dot                     CURSOR  DISCARDABLE     "cursor26.cur"
+dotbox                  CURSOR  DISCARDABLE     "cursor28.cur"
+double_arrow            CURSOR  DISCARDABLE     "cursor2a.cur"
+draft_large             CURSOR  DISCARDABLE     "cursor2c.cur"
+draft_small             CURSOR  DISCARDABLE     "cursor2e.cur"
+draped_box              CURSOR  DISCARDABLE     "cursor30.cur"
+exchange                CURSOR  DISCARDABLE     "cursor32.cur"
+fleur                   CURSOR  DISCARDABLE     "cursor34.cur"
+gobbler                 CURSOR  DISCARDABLE     "cursor36.cur"
+gumby                   CURSOR  DISCARDABLE     "cursor38.cur"
+hand1                   CURSOR  DISCARDABLE     "cursor3a.cur"
+hand2                   CURSOR  DISCARDABLE     "cursor3c.cur"
+heart                   CURSOR  DISCARDABLE     "cursor3e.cur"
+icon                    CURSOR  DISCARDABLE     "cursor40.cur"
+iron_cross              CURSOR  DISCARDABLE     "cursor42.cur"
+left_ptr                CURSOR  DISCARDABLE     "cursor44.cur"
+left_side               CURSOR  DISCARDABLE     "cursor46.cur"
+left_tee                CURSOR  DISCARDABLE     "cursor48.cur"
+leftbutton              CURSOR  DISCARDABLE     "cursor4a.cur"
+ll_angle                CURSOR  DISCARDABLE     "cursor4c.cur"
+lr_angle                CURSOR  DISCARDABLE     "cursor4e.cur"
+man                     CURSOR  DISCARDABLE     "cursor50.cur"
+middlebutton            CURSOR  DISCARDABLE     "cursor52.cur"
+mouse                   CURSOR  DISCARDABLE     "cursor54.cur"
+pencil                  CURSOR  DISCARDABLE     "cursor56.cur"
+pirate                  CURSOR  DISCARDABLE     "cursor58.cur"
+plus                    CURSOR  DISCARDABLE     "cursor5a.cur"
+question_arrow          CURSOR  DISCARDABLE     "cursor5c.cur"
+right_ptr               CURSOR  DISCARDABLE     "cursor5e.cur"
+right_side              CURSOR  DISCARDABLE     "cursor60.cur"
+right_tee               CURSOR  DISCARDABLE     "cursor62.cur"
+rightbutton             CURSOR  DISCARDABLE     "cursor64.cur"
+rtl_logo                CURSOR  DISCARDABLE     "cursor66.cur"
+sailboat                CURSOR  DISCARDABLE     "cursor68.cur"
+sb_down_arrow           CURSOR  DISCARDABLE     "cursor6a.cur"
+sb_h_double_arrow       CURSOR  DISCARDABLE     "cursor6c.cur"
+sb_left_arrow           CURSOR  DISCARDABLE     "cursor6e.cur"
+sb_right_arrow          CURSOR  DISCARDABLE     "cursor70.cur"
+sb_up_arrow             CURSOR  DISCARDABLE     "cursor72.cur"
+sb_v_double_arrow       CURSOR  DISCARDABLE     "cursor74.cur"
+shuttle                 CURSOR  DISCARDABLE     "cursor76.cur"
+sizing                  CURSOR  DISCARDABLE     "cursor78.cur"
+spider                  CURSOR  DISCARDABLE     "cursor7a.cur"
+spraycan                CURSOR  DISCARDABLE     "cursor7c.cur"
+star                    CURSOR  DISCARDABLE     "cursor7e.cur"
+target                  CURSOR  DISCARDABLE     "cursor80.cur"
+tcross                  CURSOR  DISCARDABLE     "cursor82.cur"
+top_left_arrow          CURSOR  DISCARDABLE     "cursor84.cur"
+top_left_corner         CURSOR  DISCARDABLE     "cursor86.cur"
+top_right_corner        CURSOR  DISCARDABLE     "cursor88.cur"
+top_side                CURSOR  DISCARDABLE     "cursor8a.cur"
+top_tee                 CURSOR  DISCARDABLE     "cursor8c.cur"
+trek                    CURSOR  DISCARDABLE     "cursor8e.cur"
+ul_angle                CURSOR  DISCARDABLE     "cursor90.cur"
+umbrella                CURSOR  DISCARDABLE     "cursor92.cur"
+ur_angle                CURSOR  DISCARDABLE     "cursor94.cur"
+watch                   CURSOR  DISCARDABLE     "cursor96.cur"
+xterm                   CURSOR  DISCARDABLE     "cursor98.cur"
index 88b91e0..94fd89f 100644 (file)
@@ -1,43 +1,43 @@
-// SCCS: @(#) wish.rc 1.13 96/09/12 16:22:14
-//
-// Version
-//
-
-#define RESOURCE_INCLUDED
-#include <itcl.h>
-#include <itk.h>
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION    ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,0
- PRODUCTVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL,0
- FILEFLAGSMASK 0x3fL
- FILEFLAGS     0x0L
- FILEOS                0x4L
- FILETYPE      0x1L
- FILESUBTYPE   0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "FileDescription", "[incr Tk] Object-Oriented Wish Application\0"
-            VALUE "Authors", "Michael McLennan\0"
-            VALUE "OriginalFilename", "itkwish.exe\0"
-            VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0"
-            VALUE "FileVersion", ITCL_PATCH_LEVEL
-            VALUE "LegalCopyright", "Copyright \251 1993-1998\0"
-            VALUE "ProductName", "[incr Tk] " ITCL_VERSION " for Windows\0"
-            VALUE "ProductVersion", ITCL_PATCH_LEVEL
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-//
-// Icon
-//
-
-wish                      ICON    DISCARDABLE     "itk.ico"
+// SCCS: @(#) wish.rc 1.13 96/09/12 16:22:14\r
+//\r
+// Version\r
+//\r
+\r
+#define RESOURCE_INCLUDED\r
+#include <itcl.h>\r
+#include <itk.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+ FILEVERSION    ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL\r
+ PRODUCTVERSION ITCL_MAJOR_VERSION,ITCL_MINOR_VERSION,ITCL_RELEASE_LEVEL\r
+ FILEFLAGSMASK 0x3fL\r
+ FILEFLAGS     0x0L\r
+ FILEOS                0x4L\r
+ FILETYPE      0x1L\r
+ FILESUBTYPE   0x0L\r
+BEGIN\r
+    BLOCK "StringFileInfo"\r
+    BEGIN\r
+        BLOCK "040904b0"\r
+        BEGIN\r
+            VALUE "FileDescription", "[incr Tk] Object-Oriented Wish Application\0"\r
+            VALUE "Authors", "Michael McLennan\0"\r
+            VALUE "OriginalFilename", "itkwish.exe\0"\r
+            VALUE "CompanyName", "Bell Labs Innovations for Lucent Technologies\0"\r
+            VALUE "FileVersion", ITCL_PATCH_LEVEL\r
+            VALUE "LegalCopyright", "Copyright \251 1993-1998\0"\r
+            VALUE "ProductName", "[incr Tk] " ITCL_VERSION " for Windows\0"\r
+            VALUE "ProductVersion", ITCL_PATCH_LEVEL\r
+        END\r
+    END\r
+    BLOCK "VarFileInfo"\r
+    BEGIN\r
+        VALUE "Translation", 0x409, 1200\r
+    END\r
+END\r
+\r
+//\r
+// Icon\r
+//\r
+\r
+wish                      ICON    DISCARDABLE     "itk.ico"\r
index bcd32cb..4ec8d19 100644 (file)
 #include "itk.h"
 
 /* include tclInt.h for access to namespace API */
-#include "tclInt.h"
+#include "tkInt.h"
 
-/*
- * The following declarations refer to internal Tk routines.  These
- * interfaces are available for use, but are not supported.
- */
-
-EXTERN void            TkConsoleCreate(void);
-EXTERN int             TkConsoleInit(Tcl_Interp *interp);
 
 /*
  * Forward declarations for procedures defined later in this file:
@@ -96,8 +89,6 @@ WinMain(hInstance, hPrevInstance, lpszCmdLine, nCmdShow)
      * called to attach the console to a text widget.
      */
 
-    TkConsoleCreate();
-
     setargv(&argc, &argv);
 
     /*
@@ -182,7 +173,7 @@ Tcl_AppInit(interp)
      * application.
      */
 
-    if (TkConsoleInit(interp) == TCL_ERROR) {
+    if (Tk_CreateConsoleWindow(interp) == TCL_ERROR) {
        goto error;
     }
 
index 7356fe2..b03c44c 100644 (file)
@@ -117,6 +117,14 @@ ______________________________________________________________________________
 
 >> Changed component option basis to be that of the "usuals".
 
+>> Added a -pasting configuration option to allow user to enable/disable
+   pasting into the entry component of the entryfield. csmith@adc.com
+   (Chad Smith)
+
+>> Removed hardcoded state comparisons in the _keyPress method and replaced
+   with code to mask out <Ctrl> and <Alt> keypress events. csmith@adc.com
+   (Chad Smith)
+
 
 Pushbutton
 ______________________________________________________________________________
index 36416d9..945928f 100644 (file)
    _/ _/ _/ _/    _/        _/    _/    ulferts@swbell.net
   _/  _/_/ _/    _/        _/    _/     mulferts@austin.dsccc.com 
  _/   _/  _/ _/ _/_/_/ _/ _/_/_/_/ _/   DSC Communications Corp, Austin Texas
- ____________________________________________________________________________
\ No newline at end of file
index 3241b2f..25bad8c 100644 (file)
@@ -8,19 +8,16 @@ package require Iwidgets 3.0
 
 # itkwish interprets the rest...
 # ----------------------------------------------------------------------
+. configure -background white
 
-frame .f -width 200 -height 100
-pack propagate .f no
-
-iwidgets::feedback .f.fb -labeltext "Status" -steps 22
-pack .f.fb -padx 4 -pady 4 -fill both -expand yes
+iwidgets::feedback .fb -labeltext "Status" -steps 22
+pack .fb -padx 4 -pady 4
 
 button .go -text "Go" -command {
-    .f.fb reset
+    .fb reset
     for {set i 0} {$i < 22} {incr i} {
-        .f.fb step
+        .fb step
         after 100
     }
 }
-pack .f
 pack .go -padx 4 -pady 4
index 3321124..a397b84 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - buttonbox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - buttonbox</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     buttonbox - Create and manipulate a manager widget for  but-
-     tons
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>buttonbox</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- buttonbox
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>orient</STRONG>
-     Class:          <STRONG>Orient</STRONG>
-     Command-Line Switch:           <STRONG>-orient</STRONG>
-
-          Orientation of the button box: <STRONG>horizontal</STRONG> or  <STRONG>vertical</STRONG>.
-          The default is horizontal.
-
-     Name:           <STRONG>padX</STRONG>
-     Class:          <STRONG>PadX</STRONG>
-     Command-Line Switch:           <STRONG>-padx</STRONG>
-
-          Specifies a  non-negative  padding  distance  to  leave
-          between the button group and the outer edge of the but-
-          ton box in the x direction.  The value may be given  in
-          any  of  the  forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.  The
-          default is 5 pixels.
-
-     Name:           <STRONG>padY</STRONG>
-     Class:          <STRONG>PadY</STRONG>
-     Command-Line Switch:           <STRONG>-pady</STRONG>
-
-          Specifies a  non-negative  padding  distance  to  leave
-          between the button group and the outer edge of the but-
-          ton box in the y direction.  The value may be given  in
-          any  of  the  forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.  The
-          default is 5 pixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>buttonbox</STRONG> command creates a manager widget for  control-
-     ling  buttons.  The button box also supports the display and
-     invocation of a default button.  The button box can be  con-
-     figured either horizontally or vertically.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>buttonbox</STRONG> command creates a new Tcl command  whose  name
-     is  <EM>pathName</EM>.   This  command  may be used to invoke various
-     operations on the widget.   It  has  the  following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     Many of the widget commands for the buttonbox  take  as  one
-     argument  an  indicator of which button of the button box to
-     operate on.  These indicators are called <EM>indexes</EM>  and  allow
-     reference  and  manipulation  of buttons regardless of their
-     current map state.  buttonbox indexes may  be  specified  in
-     any of the following forms:
-
-     <EM>number</EM>      Specifies  the  button  numerically,   where   0
-                 corresponds  to  the left/top-most button of the
-                 button box.
-
-     <STRONG>end</STRONG>         Indicates the right/bottom-most  button  of  the
-                 button box.
-
-     <STRONG>default</STRONG>     Indicates the current default button of the but-
-                 ton  box.   This  is the button with the default
-                 ring displayed.
-
-     <EM>pattern</EM>     If the index doesn't satisfy one  of  the  above
-                 forms  then  this  form  is  used.   <EM>Pattern</EM>  is
-                 pattern-matched against the tag of  each  button
-                 in  the  button  box,  in order from left/top to
-                 right/left, until a  matching  entry  is  found.
-                 The rules of <STRONG>Tcl_StringMatch</STRONG> are used.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>add</STRONG> <EM>tag</EM> <EM>args</EM>
-          Add a button distinguished by <EM>tag</EM> to  the  end  of  the
-          button  box.   If additional arguments are present they
-          specify options to be applied to the button.  See <STRONG>Push-</STRONG>
-          <STRONG>Button</STRONG> for information on the options available.
-
-     <EM>pathName</EM> <STRONG>buttonconfigure</STRONG> <EM>index</EM> ?<EM>options</EM>?
-          This command  is  similar  to  the  <STRONG>configure</STRONG>  command,
-          except that it applies to the options for an individual
-          button, whereas <STRONG>configure</STRONG> applies to  the  options  for
-          the button box as a whole.  <EM>Options</EM> may have any of the
-          values accepted by the <STRONG>PushButton</STRONG> command.  If  <EM>options</EM>
-          are specified, options are modified as indicated in the
-          command and the command returns an empty string.  If no
-          <EM>options</EM>  are  specified,  returns a list describing the
-          current options for entry <EM>index</EM>  (see  <STRONG>Tk_ConfigureInfo</STRONG>
-          for information on the format of this list).
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>buttonbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>buttonbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>default</STRONG> <EM>index</EM>
-          Sets the default button to the button given  by  <EM>index</EM>.
-          This  causes  the  default  ring  to appear arround the
-          specified button.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>index</EM>
-          Deletes the button given by <EM>index</EM> from the button box.
-
-     <EM>pathName</EM> <STRONG>hide</STRONG> <EM>index</EM>
-          Hides the button denoted by <EM>index</EM>.  This doesn't remove
-          the button permanently, just inhibits its display.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-          Returns the numerical index corresponding to <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>index</EM> <EM>tag</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Same as the <STRONG>add</STRONG> command except that it inserts the  new
-          button  just  before the one given by <EM>index</EM>, instead of
-          appending to the end of the button  box.   The  <EM>option</EM>,
-          and <EM>value</EM> arguments have the same interpretation as for
-          the <STRONG>add</STRONG> widget command.
-
-     <EM>pathName</EM> <STRONG>invoke</STRONG> ?<EM>index</EM>?
-          Invoke the command associated with  a  button.   If  no
-          arguments  are given then the current default button is
-          invoked, otherwise the argument is  expected  to  be  a
-          button <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>show</STRONG> <EM>index</EM>
-          Display a previously hidden button denoted by <EM>index</EM>.
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           buttonbox .bb
-
-           .bb add Yes -text Yes -command "puts Yes"
-           .bb add No -text No -command "puts No"
-           .bb add Maybe -text Maybe -command "puts Maybe"
-           .bb default Yes
-
-           pack .bb -expand yes -fill both
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Bret A. Schuhmacher
-
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     buttonbox, pushbutton, button, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>buttonbox - Create and manipulate a manager widget for buttons</TITLE>
+<H1>buttonbox - Create and manipulate a manager widget for buttons</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>buttonbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- buttonbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>orient</B>
+Class:                  <B>Orient</B>
+Command-Line Switch:   <B>-orient</B>
+</pre>
+<UL>
+Orientation of the button box: <B>horizontal</B> or <B>vertical</B>.  The default
+is horizontal.
+</UL>
+<P>
+<pre>
+Name:                   <B>padX</B>
+Class:                  <B>PadX</B>
+Command-Line Switch:   <B>-padx</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the x direction.  The value may be 
+given in any of the forms acceptable to <B>Tk_GetPixels</B>.  The default 
+is 5 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>padY</B>
+Class:                  <B>PadY</B>
+Command-Line Switch:   <B>-pady</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the y direction.  The value may be given 
+in any of the forms acceptable to <B>Tk_GetPixels</B>.  The default is 5 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>buttonbox</B> command creates a manager widget for controlling
+buttons.  The button box also supports the display and invocation
+of a default button.  The button box can be configured either horizontally
+or vertically.  
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>buttonbox</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command. 
+<P>
+Many of the widget commands for the buttonbox take as one argument an
+indicator of which button of the button box to operate on.  These 
+indicators are called <I>indexes</I> and allow reference and manipulation 
+of buttons regardless of their current map state.  buttonbox indexes 
+may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the button numerically, where 0 corresponds to the 
+left/top-most button of the button box. 
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the right/bottom-most button of the button box.
+</DL>
+<DL>
+<DT> <B>default</B>
+</I></B>
+<DD> Indicates the current default button of the button box.  This is the
+button with the default ring displayed.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used.  <I>Pattern</I> is pattern-matched against the tag of
+each button in the button box, in order from left/top to right/left,
+until a matching entry is found.  The rules of <B>Tcl_StringMatch</B>
+are used.
+
+</DL>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>add</B> <I>tag</I> <I>args</I>
+</I></B>
+<DD> Add a button distinguished by <I>tag</I> to the end of the button box.
+If additional arguments are present they specify options to be applied
+to the button.  See <B>PushButton</B> for information on the options
+available.
+</DL>
+<DL>
+<DT> <I>pathName <B>buttonconfigure</B> <I>index</I> ?<I>options</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that
+it applies to the options for an individual button, 
+whereas <B>configure</B> applies to the options for the button box as a whole.
+<I>Options</I> may have any of the values accepted by the <B>PushButton</B>
+command.  If <I>options</I> are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no <I>options</I> are specified, returns a list describing
+the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>buttonbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>buttonbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>default</B> <I>index</I>
+</I></B>
+<DD> Sets the default button to the button given by <I>index</I>.  This causes
+the default ring to appear arround the specified button.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete</B> <I>index</I>
+</I></B>
+<DD> Deletes the button given by <I>index</I> from the button box.
+</DL>
+<DL>
+<DT> <I>pathName <B>hide</B> <I>index</I>
+</I></B>
+<DD> Hides the button denoted by <I>index</I>.  This doesn't remove the button 
+permanently, just inhibits its display.  
+</DL>
+<DL>
+<DT> <I>pathName <B>index <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
+</I></B>
+<DD> Same as the <B>add</B> command except that it inserts the new
+button just before the one given by <I>index</I>, instead of appending
+to the end of the button box.  The <I>option</I>, and <I>value</I>
+arguments have the same interpretation as for the <B>add</B> widget
+command.  
+</DL>
+<DL>
+<DT> <I>pathName <B>invoke</B> <I>?index?</I>
+</I></B>
+<DD> Invoke the command associated with a button.  If no arguments
+are given then the current default button is invoked, otherwise the argument
+is expected to be a button <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>show</B> <I>index</I>
+</I></B>
+<DD> Display a previously hidden button denoted by <I>index</I>.
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ buttonbox .bb
+
+ .bb add Yes -text Yes -command "puts Yes" 
+ .bb add No -text No -command "puts No"
+ .bb add Maybe -text Maybe -command "puts Maybe"
+ .bb default Yes
+
+ pack .bb -expand yes -fill both
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:bas@wn.com">Bret A. Schuhmacher</A>
+</pre>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+buttonbox, pushbutton, button, widget
index a103402..8f11d07 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - canvasprintbox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - canvasprintbox</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     canvasprintbox - Create and manipulate a  canvas  print  box
-     widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>canvasprintbox</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Canvasprintbox
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightBackground</STRONG>            <STRONG>highlightColorhighlightThickness</STRONG>
-     <STRONG>insertBackground</STRONG>               <STRONG>insertBorderWidthinsertOffTimeinsertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>     <STRONG>relief</STRONG>         <STRONG>repeatDelay</STRONG>     <STRONG>repeatInterval</STRONG>
-     <STRONG>selectBackground</STRONG>               <STRONG>selectBorderWidthselectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>filename</STRONG>
-     Class:          <STRONG>FileName</STRONG>
-     Command-Line Switch:           <STRONG>-filename</STRONG>
-
-          The file to write the postscript output to  (Only  when
-          output  is  set to "file"). If posterizing is turned on
-          and <STRONG>hpagecnt</STRONG> and/or <STRONG>vpagecnt</STRONG> is more  than  1,  x.y  is
-          appended to the filename where x is the horizontal page
-          number and y the vertical page number.
-
-     Name:           <STRONG>hpagecnt</STRONG>
-     Class:          <STRONG>PageCnt</STRONG>
-     Command-Line Switch:           <STRONG>-hpagecnt</STRONG>
-
-          Is used in combination with <STRONG>posterize</STRONG> to determine over
-          how  many  pages the output should be distributed. This
-          attribute specifies how many pages should be used  hor-
-          izontaly.   Any change to this attribute will automati-
-          cally update the "stamp".  Defaults to 1.
-
-     Name:           <STRONG>orient</STRONG>
-     Class:          <STRONG>Orient</STRONG>
-     Command-Line Switch:           <STRONG>-orient</STRONG>
-
-          Determines the orientation of the output to the printer
-          (or  file).   It  can  take  the  value  "portrait"  or
-          "landscape" (default). Changes to this  attribute  will
-          be  reflected  immediately in the "stamp".  Defaults to
-          "landscape" but will be  changed  automaticaly  to  the
-          value deemed appropiate for the current canvas. Setting
-          this attribute when the canvasprintbox  is  first  con-
-          structed (instead of using the "configure" method) will
-          turn off the auto adjustment of this attribute.
-
-     Name:           <STRONG>output</STRONG>
-     Class:          <STRONG>Output</STRONG>
-     Command-Line Switch:           <STRONG>-output</STRONG>
-
-          Specifies where the postscript output should go: to the
-          printer  or to a file. Can take on the values "printer"
-          or "file".  The corresponding entry-widget will reflect
-          the  contents  of  either the <STRONG>printcmd</STRONG> attribute or the
-          <STRONG>filename</STRONG> attribute.  Defaults to "printer".
-
-     Name:           <STRONG>pageSize</STRONG>
-     Class:          <STRONG>PageSize</STRONG>
-     Command-Line Switch:           <STRONG>-pagesize</STRONG>
-
-          The pagesize the  printer  supports.  Changes  to  this
-          attribute will be reflected immediately in the "stamp".
-          Defaults to "a4".
-
-     Name:           <STRONG>posterize</STRONG>
-     Class:          <STRONG>Posterize</STRONG>
-     Command-Line Switch:           <STRONG>-posterize</STRONG>
-
-          Indicates if posterizing is turned on or not. Posteriz-
-          ing  the output means that it is possible to distribute
-          the output over more than one page. This way it is pos-
-          sible to print a canvas/region which is larger than the
-          specified pagesize without stretching. If used in  com-
-          bination  with  stretching  it can be used to "blow up"
-          the contents of a canvas to as large  as  size  as  you
-          want  (See  attributes:   hpagecnt  and  vpagecnt). Any
-          change to this attribute will automatically update  the
-          "stamp".  Defaults to 0.
-
-     Name:           <STRONG>printCmd</STRONG>
-     Class:          <STRONG>PrintCmd</STRONG>
-     Command-Line Switch:           <STRONG>-printcmd</STRONG>
-
-          The command to execute  when  printing  the  postscript
-          output.   The  command will get the postscript directed
-          to its standard input  (Only  when  output  is  set  to
-          "printer").  Defaults to "lpr".
-
-     Name:           <STRONG>printRegion</STRONG>
-     Class:          <STRONG>PrintRegion</STRONG>
-     Command-Line Switch:           <STRONG>-printregion</STRONG>
-
-          A list of four coordinates specifying which part of the
-          canvas  to print.  An empty list means that the canvas'
-          entire <STRONG>scrollregion</STRONG> should be printed.  Any  change  to
-          this  attribute  will automatically update the "stamp".
-          Defaults to an empty list.
-
-     Name:           <STRONG>stretch</STRONG>
-     Class:          <STRONG>Stretch</STRONG>
-     Command-Line Switch:           <STRONG>-stretch</STRONG>
-
-          Determines if the output should be  stretched  to  fill
-          the  page  (as  defined  by  the attribute pagesize) as
-          large as possible. The aspect-ratio of the output  will
-          be  retained  and the output will never fall outside of
-          the boundaries of the page.  Defaults to 0 but will  be
-          changed automaticaly to the value deemed appropiate for
-          the current canvas. Setting  this  attribute  when  the
-          canvasprintbox  is  first constructed (instead of using
-          the "configure" method) will turn off the auto  adjust-
-          ment of this attribute.
-
-     Name:           <STRONG>vPageCnt</STRONG>
-     Class:          <STRONG>PageCnt</STRONG>
-     Command-Line Switch:           <STRONG>-vpagecnt</STRONG>
-
-          Is used in combination with  "posterize"  to  determine
-          over  how  many pages the output should be distributed.
-          This attribute specifies how many pages should be  used
-          verticaly.  Any change to this attribute will automati-
-          cally update the "stamp".  Defaults to 1.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     Implements a print box for printing the contents of a canvas
-     widget  to  a  printer  or a file. It is possible to specify
-     page orientation, the number of pages to print the image  on
-     and  if  the  output  should  be  stretched to fit the page.
-     Options exist to control the appearance and actions  of  the
-     widget.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>canvasprintbox</STRONG> command creates a new Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.    The   following  commands  are  possible  for  can-
-     vasprintbox widgets:
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>canvasprintbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>canvasprintbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>getoutput</STRONG>
-          Returns the value of the <STRONG>printercmd</STRONG> or <STRONG>filename</STRONG>  option
-          depending on the current setting of <STRONG>output</STRONG>.
-
-     <EM>pathName</EM> <STRONG>print</STRONG>
-          Perfrom the actual printing of  the  canvas  using  the
-          current  settings  of  all  the  attributes.  Returns a
-          boolean indicating wether the printing  was  successful
-          or not.
-
-     <EM>pathName</EM> <STRONG>refresh</STRONG>
-          Retrieves the current value for  all  edit  fields  and
-          updates  the  stamp  accordingly.  Is useful for Apply-
-          buttons.
-
-     <EM>pathName</EM> <STRONG>setcanvas</STRONG> <EM>canvas</EM>
-          This is used to set the <EM>canvas</EM> that has to be  printed.
-          A  stamp-sized copy will automatically be drawn to show
-          how the output would look with the current settings.
-
-     <EM>pathName</EM> <STRONG>stop</STRONG>
-          Stops the drawing of the "stamp". I'm currently  unable
-          to detect when a Canvasprintbox gets destroyed or with-
-          drawn. It's therefore advised that you perform  a  stop
-          before you do something like that.
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>prtflentry</STRONG>
-     Class:          <STRONG>Entry</STRONG>
-
-          The prtflentry component is the entry  field  for  user
-          input  of the <STRONG>filename</STRONG> or <STRONG>printer</STRONG> command (depending on
-          the value of <STRONG>output</STRONG>).
-
-     Name:           <STRONG>hpcnt</STRONG>
-     Class:          <STRONG>Entry</STRONG>
-
-          The hpcnt component is the entry field for  user  input
-          of  the number of pages to use horizontaly when <STRONG>poster-</STRONG>
-          <STRONG>ize</STRONG> is turned on.
-          Name:           <STRONG>vpcnt</STRONG>
-          Class:          <STRONG>Entry</STRONG>
-
-          The vpcnt component is the entry field for  user  input
-          of  the number of pages to use verticaly when <STRONG>posterize</STRONG>
-          is turned on.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          option add *textBackground GhostWhite
-
-          canvasprintbox .fsb -orient landscape -stretch 1
-          pack .fsb -padx 10 -pady 10 -fill both -expand yes
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Tako Schotanus
-
-     Tako.Schotanus@bouw.tno.nl
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     canvasprintbox, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>canvasprintbox - Create and manipulate a canvas print box widget</TITLE>
+<H1>canvasprintbox - Create and manipulate a canvas print box widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>canvasprintbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Canvasprintbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightBackground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>repeatInterval</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<UL>
+</UL>
+<P>
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>filename</B>
+Class:                  <B>FileName</B>
+Command-Line Switch:   <B>-filename</B>
+</pre>
+<UL>
+The file to write the postscript output to (Only when output
+is set to "file"). If posterizing is turned on and <B>hpagecnt</B>
+and/or <B>vpagecnt</B> is more than 1, x.y is appended to the filename
+where x is the horizontal page number and y the vertical page number.
+</UL>
+<P>
+<pre>
+Name:                   <B>hpagecnt</B>
+Class:                  <B>PageCnt</B>
+Command-Line Switch:   <B>-hpagecnt</B>
+</pre>
+<UL>
+Is used in combination with <B>posterize</B> to determine over
+how many pages the output should be distributed. This
+attribute specifies how many pages should be used horizontaly.
+Any change to this attribute will automatically update the "stamp".
+Defaults to 1.
+</UL>
+<P>
+<pre>
+Name:                   <B>orient</B>
+Class:                  <B>Orient</B>
+Command-Line Switch:   <B>-orient</B>
+</pre>
+<UL>
+Determines the orientation of the output to the printer (or file).
+It can take the value "portrait" or "landscape" (default). Changes
+to this attribute will be reflected immediately in the "stamp".
+Defaults to "landscape" but will be changed automaticaly to the value
+deemed appropiate for the current canvas. Setting this attribute
+when the canvasprintbox is first constructed (instead of using the
+"configure" method) will turn off the auto adjustment of this attribute.
+</UL>
+<P>
+<pre>
+Name:                   <B>output</B>
+Class:                  <B>Output</B>
+Command-Line Switch:   <B>-output</B>
+</pre>
+<UL>
+Specifies where the postscript output should go: to the printer
+or to a file. Can take on the values "printer" or "file".
+The corresponding entry-widget will reflect the contents of
+either the <B>printcmd</B> attribute or the <B>filename</B> attribute.
+Defaults to "printer".
+</UL>
+<P>
+<pre>
+Name:                   <B>pageSize</B>
+Class:                  <B>PageSize</B>
+Command-Line Switch:   <B>-pagesize</B>
+</pre>
+<UL>
+The pagesize the printer supports. Changes to this attribute
+will be reflected immediately in the "stamp".
+Defaults to "a4".
+</UL>
+<P>
+<pre>
+Name:                   <B>posterize</B>
+Class:                  <B>Posterize</B>
+Command-Line Switch:   <B>-posterize</B>
+</pre>
+<UL>
+Indicates if posterizing is turned on or not. Posterizing
+the output means that it is possible to distribute the
+output over more than one page. This way it is possible to
+print a canvas/region which is larger than the specified
+pagesize without stretching. If used in combination with
+stretching it can be used to "blow up" the contents of a
+canvas to as large as size as you want (See attributes:
+hpagecnt and vpagecnt). Any change to this attribute will
+automatically update the "stamp".
+Defaults to 0.
+</UL>
+<P>
+<pre>
+Name:                   <B>printCmd</B>
+Class:                  <B>PrintCmd</B>
+Command-Line Switch:   <B>-printcmd</B>
+</pre>
+<UL>
+The command to execute when printing the postscript output.
+The command will get the postscript directed to its standard
+input (Only when output is set to "printer").
+Defaults to "lpr".
+</UL>
+<P>
+<pre>
+Name:                   <B>printRegion</B>
+Class:                  <B>PrintRegion</B>
+Command-Line Switch:   <B>-printregion</B>
+</pre>
+<UL>
+A list of four coordinates specifying which part of the canvas to print.
+An empty list means that the canvas' entire <B>scrollregion</B> should be
+printed. Any change to this attribute will automatically update the "stamp".
+Defaults to an empty list.
+</UL>
+<P>
+<pre>
+Name:                   <B>stretch</B>
+Class:                  <B>Stretch</B>
+Command-Line Switch:   <B>-stretch</B>
+</pre>
+<UL>
+Determines if the output should be stretched to fill the
+page (as defined by the attribute pagesize) as large as
+possible. The aspect-ratio of the output will be retained
+and the output will never fall outside of the boundaries
+of the page.
+Defaults to 0 but will be changed automaticaly to the value
+deemed appropiate for the current canvas. Setting this attribute
+when the canvasprintbox is first constructed (instead of using the
+"configure" method) will turn off the auto adjustment of this attribute.
+</UL>
+<P>
+<pre>
+Name:                   <B>vPageCnt</B>
+Class:                  <B>PageCnt</B>
+Command-Line Switch:   <B>-vpagecnt</B>
+</pre>
+<UL>
+Is used in combination with "posterize" to determine over
+how many pages the output should be distributed. This
+attribute specifies how many pages should be used verticaly.
+Any change to this attribute will automatically update the "stamp".
+Defaults to 1.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+Implements a print box for printing the contents of a canvas widget
+to a printer or a file. It is possible to specify page orientation, the
+number of pages to print the image on and if the output should be
+stretched to fit the page. Options exist to control the appearance and
+actions of the widget.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>canvasprintbox</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for canvasprintbox widgets:
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>canvasprintbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>canvasprintbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>getoutput</B>
+</I></B>
+<DD> Returns the value of the <B>printercmd</B> or <B>filename</B> option
+depending on the current setting of <B>output</B>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>print</B>
+</I></B>
+<DD> Perfrom the actual printing of the canvas using the current settings of
+all the attributes. Returns a boolean indicating wether the printing was
+successful or not.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>refresh</B>
+</I></B>
+<DD> Retrieves the current value for all edit fields and updates
+the stamp accordingly. Is useful for Apply-buttons.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>setcanvas</B> <I>canvas</I>
+</I></B>
+<DD> This is used to set the <I>canvas</I> that has to be printed.
+A stamp-sized copy will automatically be drawn to show how the
+output would look with the current settings.
+</DL>
+<DL>
+<DT> <I>pathName <B>stop</B>
+</I></B>
+<DD> Stops the drawing of the "stamp". I'm currently unable to detect
+when a Canvasprintbox gets destroyed or withdrawn. It's therefore
+advised that you perform a stop before you do something like that.
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>prtflentry</B>
+Class:                  <B>Entry</B>
+</pre>
+<UL>
+The prtflentry component is the entry field for user input of the
+<B>filename</B> or <B>printer</B> command (depending on the value of
+<B>output</B>).
+</UL>
+<P>
+<pre>
+Name:                   <B>hpcnt</B>
+Class:                  <B>Entry</B>
+</pre>
+<UL>
+The hpcnt component is the entry field for user input of the number of
+pages to use horizontaly when <B>posterize</B> is turned on.
+</UL>
+</table>
+<pre>
+Name:                   <B>vpcnt</B>
+Class:                  <B>Entry</B>
+</pre>
+<UL>
+The vpcnt component is the entry field for user input of the number of
+pages to use verticaly when <B>posterize</B> is turned on.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+canvasprintbox .fsb -orient landscape -stretch 1
+pack .fsb -padx 10 -pady 10 -fill both -expand yes 
+</pre>
+</pre><H2>AUTHOR</H2>
+Tako Schotanus
+<P>
+Tako.Schotanus@bouw.tno.nl
+</pre><H2>KEYWORDS</H2>
+canvasprintbox, widget
index 3a5ee09..afa1371 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - canvasprintdialog</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - canvasprintdialog</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     canvasprintdialog - Create and  manipulate  a  canvas  print
-     dialog widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>canvasprintdialog</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- Dialogshell &lt;- Dialog &lt;- Canvasprintdialog
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightBackground</STRONG>            <STRONG>highlightColorhighlightThickness</STRONG>
-     <STRONG>insertBackground</STRONG>               <STRONG>insertBorderWidthinsertOffTimeinsertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>     <STRONG>relief</STRONG>         <STRONG>repeatDelay</STRONG>     <STRONG>repeatInterval</STRONG>
-     <STRONG>selectBackground</STRONG>               <STRONG>selectBorderWidthselectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>filename</STRONG>        <STRONG>hpagecnt</STRONG>       <STRONG>orient</STRONG>          <STRONG>output</STRONG>
-     <STRONG>pagesize</STRONG>        <STRONG>posterize</STRONG>      <STRONG>printcmd</STRONG>        <STRONG>printregion</STRONG>
-     <STRONG>vpagecnt</STRONG>
-
-     See the "canvasprintbox" widget manual entry for details  on
-     the above associated options.
-
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>buttonBoxPadX</STRONG>   <STRONG>buttonBoxPadY</STRONG>  <STRONG>buttonBoxPos</STRONG>    <STRONG>padX</STRONG>
-     <STRONG>padY</STRONG>            <STRONG>separator</STRONG>      <STRONG>thickness</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited options.
-
-     <STRONG>master</STRONG>          <STRONG>modality</STRONG>       <STRONG>title</STRONG>
-
-     See the "shell" widget manual entry for details on the above
-     inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>canvasprintdialog</STRONG> command creates  a  print  dialog  for
-     printing  the  contents of a canvas widget to a printer or a
-     file. It is possible to specify page orientation, the number
-     of  pages  to print the image on and if the output should be
-     stretched to fit the page.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>canvasprintdialog</STRONG> command  creates  a  new  Tcl  command
-     whose  name is <EM>pathName</EM>.  This command may be used to invoke
-     various operations on the widget.  It has the following gen-
-     eral form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.    The   following  commands  are  possible  for  can-
-     vasprintdialog widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>getoutput</STRONG>       <STRONG>setcanvas</STRONG>      <STRONG>refresh</STRONG>         <STRONG>print</STRONG>
-
-     See the "canvasprintbox" class manual entry for  details  on
-     the associated methods.
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>add</STRONG>             <STRONG>buttonconfigure</STRONG>                <STRONG>defaulthide</STRONG>
-     <STRONG>insert</STRONG>          <STRONG>invoke</STRONG>         <STRONG>show</STRONG>
-
-     See the "buttonbox" widget manual entry for details  on  the
-     above inherited methods.
-
-     <STRONG>activate</STRONG>        <STRONG>deactivate</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>canvasprintdialog</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by  the  <STRONG>canvasprintdialog</STRONG>  com-
-          mand.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>cpb</STRONG>
-     Class:          <STRONG>Canvasprintbox</STRONG>
-
-          The cpb component is the canvas print box for the  can-
-          vas  print  dialog.   See  the  "canvasprintbox" widget
-          manual entry for details on the cpb component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           canvasprintdialog .cpb
-           .cpb activate
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Tako Schotanus
-
-     Tako.Schotanus@bouw.tno.nl
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     canvasprintdialog, canvasprintbox, dialog, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>canvasprintdialog - Create and manipulate a canvas print dialog widget</TITLE>
+<H1>canvasprintdialog - Create and manipulate a canvas print dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>canvasprintdialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Dialogshell &lt;- Dialog &lt;- Canvasprintdialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightBackground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>repeatInterval</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>filename</B><br>
+<B>pagesize</B><br>
+<B>vpagecnt</B><br>
+</td>
+<td valign=top>
+<B>hpagecnt</B><br>
+<B>posterize</B><br>
+</td>
+<td valign=top>
+<B>orient</B><br>
+<B>printcmd</B><br>
+</td>
+<td valign=top>
+<B>output</B><br>
+<B>printregion</B><br>
+</td>
+</table>
+<P>
+See the "canvasprintbox" widget manual entry for details on the above
+associated options.
+
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+<P>
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>canvasprintdialog</B> command creates a print dialog for printing
+the contents of a canvas widget to a printer or a file. It is possible
+to specify page orientation, the number of pages to print the image on
+and if the output should be stretched to fit the page.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>canvasprintdialog</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for canvasprintdialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>getoutput</B><br>
+</td>
+<td valign=top>
+<B>setcanvas</B><br>
+</td>
+<td valign=top>
+<B>refresh</B><br>
+</td>
+<td valign=top>
+<B>print</B><br>
+</td>
+</table>
+<P>
+See the "canvasprintbox" class manual entry for details on the 
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by 
+the <B>canvasprintdialog</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by 
+the <B>canvasprintdialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>cpb</B>
+Class:                  <B>Canvasprintbox</B>
+</pre>
+<UL>
+The cpb component is the canvas print box for the canvas print dialog.
+See the "canvasprintbox" widget manual entry for details on the cpb
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ canvasprintdialog .cpb 
+ .cpb activate
+</pre>
+</pre><H2>AUTHOR</H2>
+Tako Schotanus
+<P>
+Tako.Schotanus@bouw.tno.nl
+</pre><H2>KEYWORDS</H2>
+canvasprintdialog, canvasprintbox, dialog, widget
index db2f54e..2e5bdcf 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - combobox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - combobox</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     combobox - Create and manipulate combination box widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>combobox</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- LabeledWidget &lt;- Entryfield &lt;- Combobox
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>borderWidth</STRONG>    <STRONG>cursor</STRONG>          <STRONG>exportSelection</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessinsertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>              <STRONG>insertOffTime</STRONG>   <STRONG>insertOnTimeinsertWidth</STRONG>
-     <STRONG>justify</STRONG>         <STRONG>relief</STRONG>         <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>               <STRONG>textVariable</STRONG>    <STRONG>width</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>hscrollmode</STRONG>     <STRONG>items</STRONG>          <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>
-     <STRONG>vscrollmode</STRONG>
-
-     See the "scrolledlistbox" manual entry for  details  on  the
-     above inherited options.
-
-     <STRONG>show</STRONG>            <STRONG>state</STRONG>
-
-     See the "entry" manual entry for details on the above inher-
-     ited options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>childSitePos</STRONG>    <STRONG>command</STRONG>        <STRONG>fixed</STRONG>           <STRONG>focusCommand</STRONG>
-     <STRONG>invalid</STRONG>         <STRONG>textBackground</STRONG> <STRONG>textFont</STRONG>        <STRONG>validate</STRONG>
-
-     See the "entryfield" class manual entry for details  on  the
-     inherited options.
-
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>autoClear</STRONG>
-     Class:          <STRONG>AutoClear</STRONG>
-     Command-Line Switch:           <STRONG>-autoclear</STRONG>
-
-          Boolean value that specifies wheather or not  to  clear
-          the entry field as items are added to the list given in
-          any of the forms  acceptable  to  <STRONG>Tcl_GetBoolean</STRONG>.   The
-          default is true.
-
-     Name:           <STRONG>arrowRelief</STRONG>
-     Class:          <STRONG>Relief</STRONG>
-     Command-Line Switch:           <STRONG>-arrowrelief</STRONG>
-
-          Specifies the  relief  style  to  use  for  a  dropdown
-          Combobox's  arrow  button  in  a normal (not depressed)
-          state. Acceptable  values  are  <STRONG>raised</STRONG>,  <STRONG>sunken</STRONG>,  <STRONG>flat</STRONG>,
-          <STRONG>ridge</STRONG>, and <STRONG>groove</STRONG>. Sunken is discouraged as this is the
-          relief used to indicate a depressed state. This  option
-          has  no  effect  on  simple  Comboboxes. The default is
-          raised.
-
-     Name:           <STRONG>dropdown</STRONG>
-     Class:          <STRONG>Dropdown</STRONG>
-     Command-Line Switch:           <STRONG>-dropdown</STRONG>
-
-          Boolean describing the Combobox layout style  given  in
-          any of the forms acceptable to <STRONG>Tcl_GetBoolean</STRONG>. If true,
-          the Combobox will be  a  dropdown  style  widget  which
-          displays  an entry field and an arrow button which when
-          activated will pop up a scrollable list  of  items.  If
-          false,  a  simple Combobox style will be used which has
-          an entry field and a scrollable list beneath  it  which
-          is  always visible. Both styles allow an optional label
-          for the entry field area. The default is true.
-
-     Name:           <STRONG>editable</STRONG>
-     Class:          <STRONG>Editable</STRONG>
-     Command-Line Switch:           <STRONG>-editable</STRONG>
-
-          Boolean describing whether or not the text  entry  area
-          is editable by the user. If true the user can add items
-          to the combobox by entering text into  the  entry  area
-          and  then  pressing Return. If false, the list of items
-          is non-editable and can only be changed by calling  the
-          insert  or  delete  methods.  Given in any of the forms
-          acceptable to <STRONG>Tcl_GetBoolean</STRONG>. The default is true.
-
-     Name:           <STRONG>flipArrow</STRONG>
-     Class:          <STRONG>FlipArrow</STRONG>
-     Command-Line Switch:           <STRONG>-fliparrow</STRONG>
-
-          Boolean describing whether or not the arrow  button  of
-          dropdowns  should  be reversed (point up) when the list
-          is popped up. Given in any of the forms  acceptable  to
-          <STRONG>Tcl_GetBoolean</STRONG>. The default is false.
-
-
-     Name:           <STRONG>listHeight</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-listheight</STRONG>
-
-          Height of the listbox specified in  any  of  the  forms
-          acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default is 100 pixels.
-
-     Name:           <STRONG>margin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-margin</STRONG>
-
-          Specifies the width in pixels between  the  entry  com-
-          ponent  and  the  arrow  button for a dropdown Combobox
-          given in any of the forms acceptable  to  <STRONG>Tk_GetPixels</STRONG>.
-          This  option  has  no  effect on a simple Combobox. The
-          default is 0.
-
-     Name:           <STRONG>popupCursor</STRONG>
-     Class:          <STRONG>Cursor</STRONG>
-     Command-Line Switch:           <STRONG>-popupcursor</STRONG>
-
-          Specifies the cursor to  be  used  for  dropdown  style
-          listboxes.  The value may have any of the forms accept-
-          able to <STRONG>Tk_GetCursor</STRONG>. The default is arrow.
-
-     Name:           <STRONG>selectionCommand</STRONG>
-     Class:          <STRONG>SelectionCommand</STRONG>
-     Command-Line Switch:           <STRONG>-selectioncommand</STRONG>
-
-          Specifies a Tcl command procedure which is called  when
-          an  item in the listbox area is selected. The item will
-          be selected in the list, the listbox will be removed if
-          it is a dropdown Combobox, and the selected item's text
-          will be  inserted  into  the  entry  field  before  the
-          -selectioncommand proc is called. The default is {}.
-
-     Name:           <STRONG>unique</STRONG>
-     Class:          <STRONG>Unique</STRONG>
-     Command-Line Switch:           <STRONG>-unique</STRONG>
-
-          Boolean describing whether or not duplicate  items  are
-          allowed  in the combobox list. If true, then duplicates
-          are not allowed to be inserted. If false,  a  duplicate
-          entry causes selection of the item. Given in any of the
-          forms acceptable  to  <STRONG>Tcl_GetBoolean</STRONG>.  The  default  is
-          true.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>combobox</STRONG> command creates an enhanced entry field  widget
-     with  an  optional  associated  label and a scrollable list.
-     When an item is selected in the list area of a Combobox it's
-     value  is then displayed in the entry field text area. Func-
-     tionally  similar  to  an  Optionmenu,  the  Combobox   adds
-     (optional)  list  scrolling  and (optional) item editing and
-     inserting capabilities.
-
-     There are two basic styles of Comboboxes (determined by  the
-     -dropdown  option):  dropdown and simple. The dropdown style
-     adds an arrow button to the right of the entry  field  which
-     when  activated  will pop up (and down) the scrolled listbox
-     beneath the entry field. The simple (non-dropdown)  Combobox
-     permanently displays the listbox beneath the entry field and
-     has no arrow button. Either style allows an  optional  entry
-     field label.
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>combobox</STRONG> command creates a new Tcl command whose name is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget. It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand. The following commands are possible for Combobox widg-
-     ets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>icursor</STRONG>         <STRONG>scan</STRONG>
-
-     See the "entry" manual entries  for  details  on  the  above
-     associated methods.
-
-     <STRONG>curselection</STRONG>    <STRONG>index</STRONG>          <STRONG>see</STRONG>             <STRONG>size</STRONG>
-     <STRONG>xview</STRONG>           <STRONG>yview</STRONG>
-
-     See the "listbox" manual entries for details  on  the  above
-     associated methods.
-
-     <STRONG>getcurselection</STRONG> <STRONG>justify</STRONG>        <STRONG>sort</STRONG>
-
-     See the "scrolledlistbox" manual entries for details on  the
-     above associated methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>combobox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>clear</STRONG> ?<STRONG>component</STRONG>?
-          Clears the contents from one or both components.  Valid
-          component values are <STRONG>list</STRONG>, or <STRONG>entry</STRONG>.  With no component
-          specified, both are cleared.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>combobox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>component</EM> <EM>first</EM> ?<EM>last</EM>?
-          Delete one or more elements  from  a  given  component,
-          <STRONG>list</STRONG>  or  <STRONG>entry</STRONG>.   If  a  list  item  to  be removed is
-          currently selected (displayed in the entry field area),
-          the entry field will be cleared.
-
-     <EM>pathName</EM> <STRONG>get</STRONG> <STRONG>?</STRONG><EM>index</EM>?
-          With no arguments, returns the  contents  currently  in
-          the  entry  field area. With a single argument, returns
-          the contents of  the  listbox  item  at  the  indicated
-          index.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>component</EM> <EM>index</EM> <EM>element</EM> ?<EM>element</EM> <EM>element</EM> ...?
-          Insert  one  or  more  new elements into the given com-
-          ponent, <STRONG>list</STRONG> or <STRONG>entry</STRONG>, just before the element given by
-          <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>selection</STRONG> <EM>option</EM> <EM>first</EM> ?<EM>last</EM>?
-          Adjust the selection within the listbox  component  and
-          updates  the  contents  of the entry field component to
-          the value of  the  selected  item.  See  the  "listbox"
-          manual entry for more details on parameter options.
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>entry</STRONG>
-     Class:          <STRONG>Entryfield</STRONG>
-
-          Text  entry  area  where  the  current   selection   is
-          displayed.  If  the  Combobox is editable, the user can
-          edit the contents of this item.
-
-     Name:           <STRONG>list</STRONG>
-     Class:          <STRONG>Scrolledlistbox</STRONG>
-
-          Scrollable list which stores all the  items  which  the
-          user  can  select  from.  For dropdown Comboboxes, this
-          component is hidden until the user pops it up by press-
-          ing  on the arrow button to the right of the entry com-
-          ponent. For simple Comboboxes this component is  always
-          visible just beneath the entry component.
-
-
-</PRE>
-<H2>DEFAULT BINDINGS</H2><PRE>
-     The Combobox generally has the same bindings as it's primary
-     component  items  - the Scrolledlistbox and Entryfield. How-
-     ever it also adds these:
-
-     [1] Button-1 mouse press on the arrow key of a dropdown Com-
-     bobox  causes  the  list to be popped up. If the combobox is
-     non-editable, a Button-1 press on the entry field area  will
-     also pop up the list.
-
-     [2] Button-1 mouse press anywhere on the display  removes  a
-     dropdown  listbox  which  has  been  popped  up,  unless the
-     keypress is  upon  one  of  the  Combobox  scrollbars  which
-     scrolls  the list. If it is pressed upon an item in the list
-     area, that item will be selected before the list is removed.
-
-     [3] Button-3 mouse press on the arrow key of a dropdown Com-
-     bobox  causes  the  next item to be selected. Shift-Button-3
-     causes the previous item to be selected.
-
-     [4] Escape keypress removes a dropdown list which  has  been
-     popped up.
-
-     [5] The &lt;space&gt; and &lt;Return&gt; keystrokes select  the  current
-     item.  They also remove the popped up list for dropdown com-
-     boboxes.
-
-     [6] Up and Down arrow keypresses from the  entry  field  and
-     arrow  button component cause the previous and next items in
-     the listbox to be selected respectively. Ctl-P and Ctl-N are
-     similarly mapped for emacs emulation.
-
-     [7] Entry field and  arrow  button  component  Shift-Up  and
-     Shift-Down arrow keys pop up and down the listbox of a drop-
-     down Combobox. The arrow button component also maps &lt;Return&gt;
-     and &lt;space&gt; similarly.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           proc selectCmd {} {
-              puts stdout "[.cb2 getcurselection]"
-           }
-
-           #
-           # Non-editable Dropdown Combobox
-           #
-           combobox .cb1 -labeltext Month: \
-               -selectioncommand {puts "selected: [.cb1 getcurselection]"} \
-               -editable false -listheight 185 -popupcursor hand1 \
-               -items {Jan Feb Mar Apr May June Jul Aug Sept Oct Nov Dec}
-
-           #
-           # Editable Dropdown Combobox
-           #
-           combobox .cb2 -labeltext "Operating System:" \
-              -items {Linux HP-UX SunOS Solaris Irix} -selectioncommand selectCmd
-
-           #
-           # Simple Combobox
-           #
-           combobox .cb3 -labeltext Fonts: -labelpos nw \
-             -dropdown false -listheight 220 -items [exec xlsfonts]
-
-           pack .cb1 -padx 10 -pady 10 -fill x
-           pack .cb2 -padx 10 -pady 10 -fill x
-           pack .cb3 -padx 10 -pady 10 -fill x
-
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     John S. Sigler
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     combobox, entryfield, scrolledlistbox,  itk::Widget,  entry,
-     listbox, widget, iwidgets
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>combobox - Create and manipulate combination box widgets</TITLE>
+<H1>combobox - Create and manipulate combination box widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>combobox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- Entryfield &lt;- Combobox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B></B><br>
+cursor<br>
+highlightColor<br>
+insertWidth<br>
+insertWidth<br>
+selectBorderWidth<br>
+</td>
+<td valign=top>
+<B><br>
+justify<br>
+highlightThickness<br>
+insertBackground<br>
+insertBorderWidth<br>
+textVariable<br>
+</td>
+<td valign=top>
+background<br>
+exportSelection<br>
+relief<br>
+insertOffTime<br>
+selectForeground<br>
+</B></I><br>
+</td>
+<td valign=top>
+borderWidth<br>
+foreground<br>
+width<br>
+insertOnTime<br>
+selectBackground<br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>hscrollmode</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>vscrollmode</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> manual entry for details on the above inherited 
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the above inherited option.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>invalid</B><br>
+</td>
+<td valign=top>
+<B>command</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>fixed</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>focusCommand</B><br>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> class manual entry for details on the inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the 
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>arrowRelief</B>
+Class:                  <B>Relief</B>
+Command-Line Switch:   <B>-arrowrelief</B>
+</pre>
+<UL>
+Specifies the relief style to use for a dropdown Combobox's arrow
+button in a normal (not depressed) state. Acceptable values 
+are <B>raised</B>, <B>sunken</B>, <B>flat</B>, <B>ridge</B>, and <B>groove</B>.  
+Sunken is discouraged as this is the relief used to indicate a depressed 
+state. This option has no effect on simple Comboboxes. The default is raised.
+</UL>
+<P>
+<pre>
+Name:                   <B>completion</B>
+Class:                  <B>Completion</B>
+Command-Line Switch:   <B>-completion</B>
+</pre>
+<UL>
+Boolean given in any of the forms acceptable to <B>Tcl_GetBoolean</B> which
+determines whether insertions into the entry field, whether from the
+keyboard or programmatically via the <B>insert</B> method, are
+automatically completed with the first matching item from the listbox.  The
+default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>dropdown</B>
+Class:                  <B>Dropdown</B>
+Command-Line Switch:   <B>-dropdown</B>
+</pre>
+<UL>
+Boolean describing the Combobox layout style given in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. If true, the Combobox 
+will be a dropdown style
+widget which displays an entry field and an arrow button which when activated
+will pop up a scrollable list of items. If false, a simple Combobox style 
+will be used which has an entry field and a scrollable list beneath it 
+which is always visible. Both styles allow an optional label for the entry
+field area. The default is true. 
+</UL>
+<P>
+<pre>
+Name:                   <B>editable</B>
+Class:                  <B>Editable</B>
+Command-Line Switch:   <B>-editable</B>
+</pre>
+<UL>
+Boolean describing whether or not the text entry area is editable
+by the user. If true the user can add items to the combobox by entering text
+into the entry area and then pressing Return. If false, the list of items is
+non-editable and can only be changed by calling the insert or delete
+methods. (The value in the entry field can still be modified by selecting
+from the list.)  Given in any of the forms acceptable to <B>Tcl_GetBoolean</B>. 
+The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>grab</B>
+Class:                  <B>Grab</B>
+Command-Line Switch:   <B>-grab</B>
+</pre>
+<UL>
+This option sets the grab scope for the appearance of the listbox in
+drop-down comboboxes.  It can be either global or local.  The default is
+local.
+</UL>
+<P>
+<pre>
+Name:                   <B>listHeight</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-listheight</B>
+</pre>
+<UL>
+Height of the listbox specified in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  The default is 150 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>margin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-margin</B>
+</pre>
+<UL>
+Specifies the width in pixels between the entry component and the arrow button
+for a dropdown Combobox given in any of the forms acceptable to 
+<B>Tk_GetPixels</B>. This option has no effect on a simple Combobox. The
+default is 1.
+</UL>
+<P>
+<pre>
+Name:                   <B>popupCursor</B>
+Class:                  <B>Cursor</B>
+Command-Line Switch:   <B>-popupcursor</B>
+</pre>
+<UL>
+Specifies the cursor to be used for dropdown style listboxes. The value
+may have any of the forms acceptable to <B>Tk_GetCursor</B>. The default is
+arrow. 
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionCommand</B>
+Class:                  <B>SelectionCommand</B>
+Command-Line Switch:   <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure which is called when an item in the
+listbox area is selected. The item will be selected in the list, the listbox 
+will be removed if it is a dropdown Combobox, and the selected item's 
+text will be inserted into the entry field before the -selectioncommand proc is
+called. The default is {}.
+</UL>
+<P>
+<pre>
+Name:                   <B>state</B>
+Class:                  <B>State</B>
+Command-Line Switch:   <B>-state</B>
+</pre>
+<UL>
+Specifies the overall state of the Combobox megawidget.  Can be either
+normal or disabled.  If the Combobox is disabled, no text can be entered
+into the entry field, no selection can be made in the listbox, and the
+arrowBtn component is disabled.  The default is normal.
+</UL>
+<P>
+<pre>
+Name:                   <B>unique</B>
+Class:                  <B>Unique</B>
+Command-Line Switch:   <B>-unique</B>
+</pre>
+<UL>
+Boolean describing whether or not duplicate items are allowed in the combobox
+list. If true, then duplicates are not allowed to be inserted. If false, a
+duplicate entry causes selection of the item. Given in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>. The default is true. 
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>combobox</B> command creates an enhanced entry field widget with an
+optional associated label and a scrollable list. When an item is selected in
+the list area of a Combobox, its value is then displayed in the entry field
+text area. Functionally similar to an Optionmenu, the Combobox adds (optional)
+list scrolling and (optional) item editing and inserting capabilities. 
+<P>
+There are two basic styles of Comboboxes (determined by the -dropdown option):
+dropdown and simple. The dropdown style adds an arrow button to the right of
+the entry field which when activated will pop up (and down) the scrolled
+listbox beneath the entry field. The simple (non-dropdown) Combobox 
+permanently displays the listbox beneath the entry field and has no 
+arrow button. Either style allows an optional entry field label.
+</pre><H2>METHODS</H2>
+<P>
+The <B>combobox</B> command creates a new Tcl command whose
+name is <I>pathName</I>. This
+command may be used to invoke various
+operations on the widget. It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command. The following
+commands are possible for Combobox widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>icursor</B><br>
+</td>
+<td valign=top>
+<B>scan</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entries for details on the above associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>curselection</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>yview</B><br>
+</td>
+<td valign=top>
+<B>see</B><br>
+</td>
+<td valign=top>
+<B>size</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> manual entries for details on the above associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>getcurselection</B><br>
+</td>
+<td valign=top>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>sort</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> manual entries for details on the above associated 
+methods.
+<P>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>combobox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B> ?<B>component</B>?
+</I></B>
+<DD> Clears the contents from one or both components. Valid component values
+are <B>list</B>, or <B>entry</B>.  With no component specified, both are cleared.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>combobox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete <I>component</I> <I>first</I> ?<I>last</I>?
+</I></B>
+<DD> Delete one or more elements from a given component, <B>list</B> or <B>entry</B>.
+If a list item to be removed is currently selected (displayed in the entry 
+field area), the entry field will be cleared.
+</DL>
+<DL>
+<DT> <I>pathName <B>get ?<I>index</I>? </B></I>
+</I></B>
+<DD> With no arguments, returns the contents currently in the entry 
+field area. With a single argument, returns the contents of the 
+listbox item at the indicated index.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert</B> <I>component</I> <I>index</I> <I>element</I> ?<I>element element ...</I>?
+</I></B>
+<DD> Insert one or more new elements into the given component, <B>list</B> or
+<B>entry</B>, just before the element given by <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>selection</B> <I>option</I> <I>first</I> ?<I>last</I>?
+</I></B>
+<DD> Adjust the selection within the listbox component and updates the contents
+of the entry field component to the value of the selected item. See the
+"listbox" manual entry for more details on parameter options.
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>entry</B>
+Class:                  <B>Entry</B>
+</pre>
+<UL>
+Text entry area where the current selection is displayed. If the 
+Combobox is editable and its state is normal, the user can edit the 
+contents of this item.
+</UL>
+<P>
+<pre>
+Name:                   <B>list</B>
+Class:                  <B>Scrolledlistbox</B>
+</pre>
+<UL>
+Scrollable list which stores all the items which the user can select
+from. For dropdown Comboboxes, this component is hidden until the user pops it
+up by pressing on the arrow button to the right of the entry component. For
+simple Comboboxes this component is always visible just beneath the entry
+component.
+</UL>
+</pre><H2>DEFAULT BINDINGS</H2>
+<P>
+The Combobox generally has the same bindings as its primary component items -
+the Scrolledlistbox and Entryfield. However it also adds these:
+<P>
+[1] Button-1 mouse press on the arrow key of a dropdown Combobox causes the
+list to be popped up. If the combobox is non-editable, a Button-1 press on the
+entry field area will also pop up the list.
+<P>
+[2] Button-1 mouse press anywhere on the display removes a dropdown listbox
+which has been popped up, unless the keypress is upon one of the Combobox
+scrollbars which scrolls the list. If it is pressed upon an item in the list
+area, that item will be selected before the list is removed.
+<P>
+[3] Button-3 mouse press on the arrow key of a dropdown Combobox causes the
+next item to be selected. Shift-Button-3 causes the previous item to be
+selected. 
+<P>
+[4] Escape keypress removes a dropdown list which has been popped up. 
+<P>
+[5] The &lt;space&gt; and &lt;Return&gt; keystrokes select the current item. They also
+remove the popped up list for dropdown comboboxes.
+<P>
+[6] Up and Down arrow keypresses from the entry field and arrow button
+component cause the previous and next items in the listbox to be selected 
+respectively. Ctl-P and Ctl-N are similarly mapped for emacs emulation.
+<P>
+[7] Entry field and arrow button component Shift-Up and Shift-Down arrow keys
+pop up and down the listbox of a dropdown Combobox. The arrow button component
+also maps &lt;Return&gt; and &lt;space&gt; similarly.
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ proc selectCmd {} {
+    puts stdout "[.cb2 getcurselection]"
+ }
+
+ #
+ # Non-editable Dropdown Combobox
+ #
+ combobox .cb1 -labeltext Month: \\
+     -selectioncommand {puts "selected: [.cb1 getcurselection]"} \\
+     -editable false -listheight 185 -popupcursor hand1 
+ .cb1 insert list end Jan Feb Mar Apr May June Jul Aug Sept Oct Nov Dec
+       
+ #
+ # Editable Dropdown Combobox
+ #
+ combobox .cb2 -labeltext "Operating System:" -selectioncommand selectCmd
+ .cb2 insert list end Linux HP-UX SunOS Solaris Irix
+ .cb2 insert entry end L
+
+ pack .cb1 -padx 10 -pady 10 -fill x 
+ pack .cb2 -padx 10 -pady 10 -fill x
+
+</pre>
+</pre><H2>ORIGINAL AUTHOR</H2>
+<A HREF="mailto:jsigler@spd.dsccc.com">John S. Sigler</A>
+</pre><H2>CURRENT MAINTAINER</H2>
+Mitch Gorman (logain@erols.com)
+</pre><H2>KEYWORDS</H2>
+combobox, entryfield, scrolledlistbox, itk::Widget, entry, listbox, widget,
+iwidgets
index 928666a..509e8eb 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - dialog</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - dialog</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     dialog - Create and manipulate a dialog widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>dialog</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>         <STRONG>foreground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>buttonBoxPadX</STRONG>   <STRONG>buttonBoxPadY</STRONG>  <STRONG>buttonBoxPos</STRONG>    <STRONG>padX</STRONG>
-     <STRONG>padY</STRONG>            <STRONG>separator</STRONG>      <STRONG>thickness</STRONG>
-
-     See the "dialogshell" manual entry for details on the  above
-     inherited options.
-
-     <STRONG>master</STRONG>          <STRONG>modality</STRONG>       <STRONG>title</STRONG>
-
-     See the "shell" manual entry for details on the above inher-
-     ited options.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>dialog</STRONG> command creates a dialog box  providing  standard
-     buttons  and  a  child site for use in derived classes.  The
-     buttons include ok, apply, cancel, and  help.   Methods  and
-     Options  exist to configure the buttons and their containing
-     box.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>dialog</STRONG> command creates a new Tcl command whose  name  is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget.  It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The following commands are possible for dialog widg-
-     ets:
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-
-     <STRONG>add</STRONG>             <STRONG>buttonconfigure</STRONG>                <STRONG>defaulthide</STRONG>
-     <STRONG>index</STRONG>           <STRONG>insert</STRONG>         <STRONG>invoke</STRONG>          <STRONG>show</STRONG>
-
-     See the "buttonbox" manual entry for details  on  the  above
-     inherited methods.
-
-     <STRONG>childsite</STRONG>
-
-     See the "dialogshell" manual entry for details on the  above
-     inherited methods.
-
-     <STRONG>activate</STRONG>        <STRONG>center</STRONG>         <STRONG>deactivate</STRONG>
-
-     See the "shell" manual entry for details on the above inher-
-     ited methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>dialog</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>dialog</STRONG> command.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           dialog .d -modality global
-           .d buttonconfigure OK -command {puts OK; .d deactivate 1}
-           .d buttonconfigure Apply -command {puts Apply}
-           .d buttonconfigure Cancel -command {puts Cancel; .d deactivate 0}
-           .d buttonconfigure Help -command {puts Help}
-
-           listbox [.d childsite].lb -relief sunken
-           pack [.d childsite].lb -expand yes -fill both
-
-           if {[.d activate]} {
-               puts "Exit via OK button"
-           } else {
-               puts "Exit via Cancel button"
-           }
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-     Bret A. Schuhmacher
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     dialog, dialogshell, shell, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>dialog - Create and manipulate a dialog widget</TITLE>
+<H1>dialog - Create and manipulate a dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>dialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> manual entry for details on the above inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" manual entry for details on the above inherited options.
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>dialog</B> command creates a dialog box providing standard
+buttons and a child site for use in derived classes.  The buttons
+include ok, apply, cancel, and help.  Methods and Options exist to 
+configure the buttons and their containing box.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>dialog</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for dialog widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>index</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+<B>show</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> manual entry for details on the above inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> manual entry for details on the above inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>dialog</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>dialog</B>
+command.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ dialog .d -modality global
+ .d buttonconfigure OK -command {puts OK; .d deactivate 1}
+ .d buttonconfigure Apply -command {puts Apply}
+ .d buttonconfigure Cancel -command {puts Cancel; .d deactivate 0}
+ .d buttonconfigure Help -command {puts Help}
+ listbox [.d childsite].lb -relief sunken
+ pack [.d childsite].lb -expand yes -fill both
+
+ if {[.d activate]} {
+     puts "Exit via OK button"
+ } else {
+     puts "Exit via Cancel button"
+ }
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre>
+<A HREF="mailto:bas@wn.com">Bret A. Schuhmacher</A>
+</pre><H2>KEYWORDS</H2>
+dialog, dialogshell, shell, widget
index 00742a1..7c9619e 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - dialogshell</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - dialogshell</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     dialogshell - Create and manipulate a dialog shell widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>dialogshell</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- Shell &lt;- Dialogshell
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>         <STRONG>foreground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>master</STRONG>          <STRONG>modality</STRONG>       <STRONG>title</STRONG>
-
-     See the "shell" manual entry for details on the above inher-
-     ited options.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>buttonBoxPadX</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-buttonboxpadx</STRONG>
-
-          Specifies a  non-negative  padding  distance  to  leave
-          between the button group and the outer edge of the but-
-          ton box in the x direction.  The value may be given  in
-          any  of  the  forms  accpetable  to  <STRONG>Tk_GetPixels</STRONG>.  The
-          default is 5 pixels.
-
-     Name:           <STRONG>buttonBoxPadY</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-buttonboxpady</STRONG>
-
-          Specifies a  non-negative  padding  distance  to  leave
-          between the button group and the outer edge of the but-
-          ton box in the y direction.  The value may be given  in
-          any  of  the  forms  accpetable  to  <STRONG>Tk_GetPixels</STRONG>.  The
-          default is 5 pixels.
-
-     Name:           <STRONG>buttonBoxPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-buttonboxpos</STRONG>
-
-          Attaches buttons to the given side of the dialog: <STRONG>n</STRONG>, <STRONG>s</STRONG>,
-          <STRONG>e</STRONG> or <STRONG>w</STRONG>.  The default is s.
-
-     Name:           <STRONG>padX</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-padx</STRONG>
-
-          Specifies a padding distance for the childsite  in  the
-          X-direction   in   any   of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.  The default is 10.
-
-     Name:           <STRONG>padY</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-pady</STRONG>
-
-          Specifies a padding distance for the childsite  in  the
-          Y-direction   in   any   of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.  The default is 10.
-
-     Name:           <STRONG>separator</STRONG>
-     Class:          <STRONG>Separator</STRONG>
-     Command-Line Switch:           <STRONG>-separator</STRONG>
-
-          Specifies whether a line is drawn to separate the  but-
-          tons  from  the dialog box contents in any of the forms
-          acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The default is true.
-
-     Name:           <STRONG>thickness</STRONG>
-     Class:          <STRONG>Thickness</STRONG>
-     Command-Line Switch:           <STRONG>-thickness</STRONG>
-
-          Specifies the thickness of the separator in any of  the
-          forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.   The default is 3
-          pixels.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>dialogshell</STRONG> command creates a dialog shell  which  is  a
-     top  level  widget  composed of a button box, separator, and
-     child site area.  The class also has methods to control but-
-     ton construction.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>dialogshell</STRONG> command create a new Tcl command whose  name
-     is  <EM>pathName</EM>.   This  command  may be used to invoke various
-     operations on the widget.   It  has  the  following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The  following commands are possible for dialogshell
-     widgets:
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>activate</STRONG>        <STRONG>center</STRONG>         <STRONG>deactivate</STRONG>
-
-     See the "shell" manual entry for details on the above inher-
-     ited methods.
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>add</STRONG>             <STRONG>buttonconfigure</STRONG>                <STRONG>defaultdelete</STRONG>
-     <STRONG>hide</STRONG>            <STRONG>index</STRONG>          <STRONG>insert</STRONG>          <STRONG>invoke</STRONG>
-     <STRONG>show</STRONG>
-
-     See the "buttonbox" manual entry for details on the  associ-
-     ated methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>dialogshell</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Returns the pathname of the child site widget.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>dialogshell</STRONG> command.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>dschildsite</STRONG>
-     Class:          <STRONG>frame</STRONG>
-
-          The dschildsite component is the user  child  site  for
-          the  dialog shell.  See the "frame" widget manual entry
-          for details on the dschildsite component item.
-
-     Name:           <STRONG>separator</STRONG>
-     Class:          <STRONG>frame</STRONG>
-
-          The separator component devides the  area  between  the
-          user  child  site  and the button box.  See the "frame"
-          widget manual entry for details on the  separator  com-
-          ponent item.
-
-     Name:           <STRONG>bbox</STRONG>
-     Class:          <STRONG>ButtonBox</STRONG>
-
-          The bbox component is the  button  box  containing  the
-          buttons  for  the  dialog  shell.   See the "ButtonBox"
-          widget manual entry for details on the  bbox  component
-          item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           dialogshell .ds -modality none
-
-           .ds add OK -text "OK"
-           .ds add Cancel -text "Cancel"
-           .ds default OK
-
-           .ds activate
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     dialogshell, dialog, shell, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>dialogshell - Create and manipulate a dialog shell widget</TITLE>
+<H1>dialogshell - Create and manipulate a dialog shell widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>dialogshell<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" manual entry for details on the above inherited options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>buttonBoxPadX</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-buttonboxpadx</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the x direction.  The value may be 
+given in any of the forms accpetable to <B>Tk_GetPixels</B>.  The default 
+is 5 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>buttonBoxPadY</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-buttonboxpady</B>
+</pre>
+<UL>
+Specifies a non-negative padding distance to leave between the button group and
+the outer edge of the button box in the y direction.  The value may be 
+given in any of the forms accpetable to <B>Tk_GetPixels</B>.  The default 
+is 5 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>buttonBoxPos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-buttonboxpos</B>
+</pre>
+<UL>
+Attaches buttons to the given side of the dialog: <B>n</B>, <B>s</B>, 
+<B>e</B> or <B>w</B>.  The default is s.
+</UL>
+<P>
+<pre>
+Name:                   <B>padX</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-padx</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the X-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>.  The default is 10.
+</UL>
+<P>
+<pre>
+Name:                   <B>padY</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-pady</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the Y-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>.  The default is 10.
+</UL>
+<P>
+<pre>
+Name:                   <B>separator</B>
+Class:                  <B>Separator</B>
+Command-Line Switch:   <B>-separator</B>
+</pre>
+<UL>
+Specifies whether a line is drawn to separate the 
+buttons from the dialog box contents in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>thickness</B>
+Class:                  <B>Thickness</B>
+Command-Line Switch:   <B>-thickness</B>
+</pre>
+<UL>
+Specifies the thickness of the separator in any of the forms acceptable
+to <B>Tk_GetPixels</B>.  The default is 3 pixels.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>dialogshell</B> command creates a dialog shell which is a top 
+level widget composed of a button box, separator, and child site area.
+The class also has methods to control button construction.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>dialogshell</B> command create a new Tcl command whose
+name is <I>pathName</I>.  This command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for dialogshell widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited methods.
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>hide</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>index</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>invoke</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> manual entry for details on the associated methods.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>dialogshell</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the pathname of the child site widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>dialogshell</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>dschildsite</B>
+Class:                  <B>frame</B>
+</pre>
+<UL>
+The dschildsite component is the user child site for the dialog shell.  See 
+the "frame" widget manual entry for details on the dschildsite component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>separator</B>
+Class:                  <B>frame</B>
+</pre>
+<UL>
+The separator component devides the area between the user child site and
+the button box.  See the "frame" widget manual entry for details on the 
+separator component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>bbox</B>
+Class:                  <B>ButtonBox</B>
+</pre>
+<UL>
+The bbox component is the button box containing the buttons for the dialog 
+shell.  See the "ButtonBox" widget manual entry for details on the 
+bbox component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ dialogshell .ds -modality none
+ .ds add OK -text "OK" 
+ .ds add Cancel -text "Cancel"
+ .ds default OK
+ .ds activate
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+dialogshell, dialog, shell, widget
index 9ac0acc..8a7f2d5 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - entryfield</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - entryfield</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     entryfield - Create and manipulate a entry field widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>entryfield</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- LabeledWidget &lt;- entryfield
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>borderWidth</STRONG>    <STRONG>cursor</STRONG>          <STRONG>exportSelection</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessinsertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>              <STRONG>insertOffTime</STRONG>   <STRONG>insertOnTimeinsertWidth</STRONG>
-     <STRONG>justify</STRONG>         <STRONG>relief</STRONG>         <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>               <STRONG>textVariable</STRONG>    <STRONG>width</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>show</STRONG>            <STRONG>state</STRONG>
-
-     See the "entry" manual entry for details on  the  associated
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>childSitePos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-childsitepos</STRONG>
-
-          Specifies the position of the child site in  the  entry
-          field: <STRONG>n</STRONG>, <STRONG>s</STRONG>, <STRONG>e</STRONG>, or <STRONG>w</STRONG>.  The default is e.
-
-     Name:           <STRONG>command</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-command</STRONG>
-
-          Specifies a Tcl command to be executed  upon  detection
-          of a Return key press event.
-
-     Name:           <STRONG>fixed</STRONG>
-     Class:          <STRONG>Fixed</STRONG>
-     Command-Line Switch:           <STRONG>-fixed</STRONG>
-          Restrict entry to the specified  number  of  chars.   A
-          value  of  0,  which  is the default, denotes no limit.
-          The value is the maximum number of chars the  user  may
-          type  into  the  field,  regardles of field width.  For
-          example, if the field width is set to 20 and the  fixed
-          value  is  10,  the  user  will only be able to type 10
-          characters into the field which is 20 characters long.
-
-     Name:           <STRONG>focusCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-focuscommand</STRONG>
-
-          Specifies a Tcl command to be executed  upon  reception
-          of focus.
-
-     Name:           <STRONG>invalid</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-invalid</STRONG>
-
-          Specifies a Tcl command to be executed upon  determina-
-          tion of invalid input.  The default is bell.
-
-     Name:           <STRONG>textBackground</STRONG>
-     Class:          <STRONG>Background</STRONG>
-     Command-Line Switch:           <STRONG>-textbackground</STRONG>
-
-          Background color for  inside  textual  portion  of  the
-          entry  field.   The  value  may  be given in any of the
-          forms acceptable to <STRONG>Tk_GetColor</STRONG>.
-
-     Name:           <STRONG>textFont</STRONG>
-     Class:          <STRONG>Font</STRONG>
-     Command-Line Switch:           <STRONG>-textfont</STRONG>
-
-          Name of font to use for display of text in  entryfield.
-          The  value  may be given in any of the forms acceptable
-          to <STRONG>Tk_GetFont</STRONG>.
-
-     Name:           <STRONG>validate</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-validate</STRONG>
-
-          The validate option allows specification of  a  valida-
-          tion  mechanism.  Standard character validation such as
-          <STRONG>numeric</STRONG>, <STRONG>alphabetic</STRONG>, <STRONG>integer</STRONG>,  <STRONG>hexidecimal</STRONG>,  <STRONG>real</STRONG>,  and
-          <STRONG>alphanumeric</STRONG>  can  be  handled  through the use of key-
-          words.  Should more extensive validation be  necessary,
-          the  value  may  contain  the name of a command script.
-          The script should return a  boolean  value.   True  for
-          valid,  false  for invalid.  If false is returned, then
-          the procedure associated with the invalid  option  will
-          be  invoked.   If  the validation script contains any <STRONG>%</STRONG>
-          characters,  then  the  script  will  not  be  executed
-          directly.   Instead,  a new script will be generated by
-          replacing each <STRONG>%</STRONG>, and the character following it,  with
-          information   from  the  entryfield.   The  replacement
-          depends on the character following the <STRONG>%</STRONG>, as defined in
-          the list below.
-
-     <STRONG>%c</STRONG>   Replaced with the current input character.
-
-     <STRONG>%P</STRONG>   Replaced with the contents of the  entryfield  modified
-          to  include the latest keystoke.  This is equivalent to
-          peeking at  the  future  contents,  enabling  rejection
-          prior to the update.
-
-     <STRONG>%S</STRONG>   Replaced with the current contents  of  the  entryfield
-          prior to the latest keystroke being added.
-
-     <STRONG>%W</STRONG>   Replaced with the entryfield widget pathname.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>entryfield</STRONG> command creates an enhanced text entry widget
-     with  an  optional associated label.  Addtional options sup-
-     port validation and establishing a upper limit on the number
-     of characters which may be entered in the field.
-
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>entryfield</STRONG> command creates a new Tcl command whose  name
-     is  <EM>pathName</EM>.   This  command  may be used to invoke various
-     operations on the widget.   It  has  the  following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The  following  commands are possible for entryfield
-     widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>delete</STRONG>          <STRONG>get</STRONG>            <STRONG>icursor</STRONG>         <STRONG>index</STRONG>
-     <STRONG>insert</STRONG>          <STRONG>scan</STRONG>           <STRONG>selection</STRONG>       <STRONG>xview</STRONG>
-
-     See the "entry" manual entry for details on  the  associated
-     methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>entryfield</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Returns the path name of the child site.
-
-     <EM>pathName</EM> <STRONG>clear</STRONG>
-          Clear entry widget
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>entryfield</STRONG> command.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>efchildsite</STRONG>
-     Class:          <STRONG>frame</STRONG>
-
-          The efchildsite component is the user  child  site  for
-          the  entry  field.  See the "frame" widget manual entry
-          for details on the efchildsite component item.
-
-     Name:           <STRONG>entry</STRONG>
-     Class:          <STRONG>entry</STRONG>
-
-          The entry component provides the entry field  for  user
-          text  input and display.  See the "entry" widget manual
-          entry for details on the entry component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           proc returnCmd {} {
-               puts stdout "Return Pressed"
-           }
-
-           proc invalidCmd {} {
-               puts stdout "Alphabetic contents invalid"
-           }
-
-           entryfield .ef -command returnCmd
-
-           entryfield .fef -labeltext "Fixed:" -fixed 10 -width 12
-
-           entryfield .nef -labeltext "Numeric:" -validate numeric -width 12
-
-           entryfield .aef -labeltext "Alphabetic:" \
-              -validate alphabetic -width 12 -invalid invalidCmd
-
-           entryfield .pef -labeltext "Password:" \
-              -show 267 -width 12 -command returnCmd
-
-           LabeledWidget::alignLabels .ef .fef .nef .aef .pef
-
-           pack .ef -fill x -expand yes -padx 10 -pady 5
-           pack .fef -fill x -expand yes -padx 10 -pady 5
-           pack .nef -fill x -expand yes -padx 10 -pady 5
-           pack .aef -fill x -expand yes -padx 10 -pady 5
-           pack .pef -fill x -expand yes -padx 10 -pady 5
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Sue Yockey
-
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     entryfield, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>entryfield - Create and manipulate a entry field widget</TITLE>
+<H1>entryfield - Create and manipulate a entry field widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>entryfield<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- LabeledWidget &lt;- entryfield
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>justify</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>relief</B><br>
+<B>textVariable</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBackground</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the 
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>childSitePos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the entry field: <B>n</B>, 
+<B>s</B>, <B>e</B>, or <B>w</B>.  The default is e.
+</UL>
+<P>
+<pre>
+Name:                   <B>command</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon detection of a Return key 
+press event.
+</UL>
+<P>
+<pre>
+Name:                   <B>fixed</B>
+Class:                  <B>Fixed</B>
+Command-Line Switch:   <B>-fixed</B>
+</pre>
+<UL>
+Restrict entry to the specified number of chars.  A value of 0, which is the
+default, denotes no limit.  The value is the maximum number of chars the 
+user may type into the field, regardles of field width.  For example,
+if the field width is set to 20 and the fixed value is 10, the user will 
+only be able to type 10 characters into the field which is 20 characters long.
+</UL>
+<P>
+<pre>
+Name:                   <B>focusCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-focuscommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon reception of focus.
+</UL>
+<P>
+<pre>
+Name:                   <B>invalid</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-invalid</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon determination of invalid input.
+The default is bell.
+</UL>
+<P>
+<pre>
+Name:                   <B>textBackground</B>
+Class:                  <B>Background</B>
+Command-Line Switch:   <B>-textbackground</B>
+</pre>
+<UL>
+Background color for inside textual portion of the entry field.  The value
+may be given in any of the forms acceptable to <B>Tk_GetColor</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>textFont</B>
+Class:                  <B>Font</B>
+Command-Line Switch:   <B>-textfont</B>
+</pre>
+<UL>
+Name of font to use for display of text in entryfield.  The value
+may be given in any of the forms acceptable to <B>Tk_GetFont</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>validate</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-validate</B>
+</pre>
+<UL>
+The validate option allows specification of a validation mechanism.  Standard
+character validation such as <B>numeric</B>, <B>alphabetic</B>, <B>integer</B>,
+<B>hexidecimal</B>, <B>real</B>, and <B>alphanumeric</B> can be handled through 
+the use of keywords.  Should more
+extensive validation be necessary, the value may contain the name of
+a command script.  The script should return a boolean value.  True for 
+valid, false for invalid.  If false is returned, then the procedure 
+associated with the invalid option will be invoked.
+If the validation script contains
+any <B>%</B> characters, then the script will not be
+executed directly.  Instead, a new script will be
+generated by replacing each <B>%</B>, and the character following
+it, with information from the entryfield.  The replacement
+depends on the character following the <B>%</B>, as defined in the
+list below.
+</UL>
+<DL>
+<DT> <B>%c</B>
+</I></B>
+<DD> Replaced with the current input character.
+</DL>
+<DL>
+<DT> <B>%P</B>
+</I></B>
+<DD> Replaced with the contents of the entryfield modified to include the latest
+keystoke.  This is equivalent to peeking at the future contents, enabling
+rejection prior to the update.
+</DL>
+<DL>
+<DT> <B>%S</B>
+</I></B>
+<DD> Replaced with the current contents of the entryfield prior to the latest
+keystroke being added.
+</DL>
+<DL>
+<DT> <B>%W</B>
+</I></B>
+<DD> Replaced with the entryfield widget pathname.
+</DL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>entryfield</B> command creates an enhanced text entry widget with an
+optional associated label.  Addtional options support validation and 
+establishing a upper limit on the number of characters which may be
+entered in the field.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>entryfield</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for entryfield widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>xview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated methods.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>entryfield</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the path name of the child site.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clear entry widget
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>entryfield</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>efchildsite</B>
+Class:                  <B>frame</B>
+</pre>
+<UL>
+The efchildsite component is the user child site for the entry field.  See 
+the "frame" widget manual entry for details on the efchildsite component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>entry</B>
+Class:                  <B>entry</B>
+</pre>
+<UL>
+The entry component provides the entry field for user text input and display.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the entry component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+ proc returnCmd {} {
+     puts stdout "Return Pressed"
+ }
+ proc invalidCmd {} {
+     puts stdout "Alphabetic contents invalid"
+ }
+ entryfield .ef -command returnCmd
+ entryfield .fef -labeltext "Fixed:" -fixed 10 -width 12
+ entryfield .nef -labeltext "Numeric:" -validate numeric -width 12
+ entryfield .aef -labeltext "Alphabetic:" \\
+    -validate alphabetic -width 12 -invalid invalidCmd
+ entryfield .pef -labeltext "Password:" \\
+    -show \267 -width 12 -command returnCmd
+ Labeledwidget::alignlabels .ef .fef .nef .aef .pef
+
+ pack .ef -fill x -expand yes -padx 10 -pady 5
+ pack .fef -fill x -expand yes -padx 10 -pady 5
+ pack .nef -fill x -expand yes -padx 10 -pady 5
+ pack .aef -fill x -expand yes -padx 10 -pady 5
+ pack .pef -fill x -expand yes -padx 10 -pady 5
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:syockey@spd.dsccc.com">Sue Yockey</A>
+</pre>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+<P>
+</pre><H2>KEYWORDS</H2>
+entryfield, widget
index b67ebab..b2d3bca 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - feedback</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - feedback</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     feedback -  Create  and  manipulate  a  feedback  widget  to
-     display  feedback on the current status of an ongoing opera-
-     tion to the user.
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>feedback</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- Feedback
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>borderWidth</STRONG>    <STRONG>cursor</STRONG>          <STRONG>foreground</STRONG>
-     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>             <STRONG>relief</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>barColor</STRONG>
-     Class:          <STRONG>BarColor</STRONG>
-     Command-Line Switch:           <STRONG>-barcolor</STRONG>
-
-          Specifies the color of the status bar, in  any  of  the
-          forms acceptable to <STRONG>Tk_GetColor</STRONG>.
-
-     Name:           <STRONG>barHeight</STRONG>
-     Class:          <STRONG>BarHeight</STRONG>
-     Command-Line Switch:           <STRONG>-barheight</STRONG>
-
-          Specifies the height of the status bar, in any  of  the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>barWidth</STRONG>
-     Class:          <STRONG>BarWidth</STRONG>
-     Command-Line Switch:           <STRONG>-barwidth</STRONG>
-
-          Specifies the total  width  of  the  status  bar  (when
-          full,) in any of the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>elementBorderWidth</STRONG>
-     Class:          <STRONG>BorderWidth</STRONG>
-     Command-Line Switch:           <STRONG>-elementborderwidth</STRONG>
-          Sets the width of the border around the status bar,  in
-          any  of the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  If it is
-          set to zero, the status bar has no border.
-
-     Name:           <STRONG>steps</STRONG>
-     Class:          <STRONG>Steps</STRONG>
-     Command-Line Switch:           <STRONG>-steps</STRONG>
-
-          Specifies the total number of steps for the status bar.
-          The default is 10.
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>feedback</STRONG> command creates a feedback  widget  to  display
-     feedback  on  the  current status of an ongoing operation to
-     the user. Display is given as a percentage and as a thermom-
-     eter type bar. Options exist for adding a label and control-
-     ling its position.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>feedback</STRONG> command creates a new Tcl command whose name is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget.  It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The following commands are possible for scrolledtext
-     widgets:
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>scrolledhtml</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>feedback</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>reset</STRONG>
-          Reset status to 0%
-
-     <EM>pathName</EM> <STRONG>step</STRONG> ?<EM>inc</EM>?
-          Increase the current number of steps completed by  <EM>inc</EM>.
-          <EM>Inc</EM> defaults to 1.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           feedback .fb -labeltext "Status" -steps 20
-           pack .fb -padx 10 -pady 10 -fill both -expand yes
-
-           for {set i 0} {$i &lt; 20} {incr i} {
-               .fb step
-               after 500
-           }
-
-
-
-</PRE>
-<H2>ACKNOWLEDGEMENTS</H2><PRE>
-     Sam Shen
-
-          This code is based largely  on  his  feedback.tcl  code
-          from  tk  inspect.  The original feedback code is copy-
-          right 1995 Lawrence Berkeley Laboratory.
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Kris Raney
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     feedback, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>feedback - Create and manipulate a feedback widget to display feedback on</TITLE>
+<H1>feedback - Create and manipulate a feedback widget to display feedback on</H1>
+
+the current status of an ongoing operation to the user.
+</pre><H2>SYNOPSIS</H2>
+<B>feedback<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Feedback
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>highlightColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>barcolor</B>
+Class:                  <B>BarColor</B>
+Command-Line Switch:   <B>-barcolor</B>
+</pre>
+<UL>
+Specifies the color of the status bar, in any of the forms
+acceptable to <B>Tk_GetColor</B>.  The default is DodgerBlue.
+</UL>
+<P>
+<pre>
+Name:                   <B>barheight</B>
+Class:                  <B>BarHeight</B>
+Command-Line Switch:   <B>-barheight</B>
+</pre>
+<UL>
+Specifies the height of the status bar, in any of the forms
+acceptable to <B>Tk_GetPixels</B>. The default is 20.
+</UL>
+<P>
+<pre>
+Name:                   <B>troughColor</B>
+Class:                  <B>TroughColor</B>
+Command-Line Switch:   <B>-troughcolor</B>
+</pre>
+<UL>
+Specifies the color of the frame in which the status bar sits,
+in any of the forms acceptable to <B>Tk_GetColor</B>.  The default is white.
+</UL>
+<P>
+<pre>
+Name:                   <B>steps</B>
+Class:                  <B>Steps</B>
+Command-Line Switch:   <B>-steps</B>
+</pre>
+<UL>
+Specifies the total number of steps for the status bar. The default is 10.
+</UL>
+<P>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>feedback</B> command creates a widget to display feedback on
+the current status of an ongoing operation to the user. Display is given as
+a percentage and as a thermometer type bar. Options exist for adding a label
+and controlling its position.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>feedback</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for scrolledtext widgets:
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>scrolledhtml</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>feedback</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>reset</B>
+</I></B>
+<DD> Reset the current number of steps completed to 0, and configures the
+percentage complete label text to 0%
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>step</B> ?<I>inc</I>?
+</I></B>
+<DD> Increase the current number of steps completed by the amount specified
+by <I>inc</I>. <I>Inc</I> defaults to 1.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ feedback .fb -labeltext "Status" -steps 20
+ pack .fb -padx 10 -pady 10 -fill both -expand yes
+
+ for {set i 0} {$i &lt; 20} {incr i} {
+     .fb step
+     after 500
+ }
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS</H2>
+Sam Shen
+<UL>
+This code is based largely on his feedback.tcl code from tk inspect. The 
+original feedback code is copyright 1995 Lawrence Berkeley Laboratory.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Kris Raney
+</pre><H2>KEYWORDS</H2>
+feedback, widget
index 4d61d44..8fce0cb 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - fileselectionbox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - fileselectionbox</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     fileselectionbox - Create and manipulate  a  file  selection
-     box widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>fileselectionbox</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Fileselectionbox
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessinsertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>              <STRONG>insertOffTime</STRONG>   <STRONG>insertOnTimeinsertWidth</STRONG>
-     <STRONG>relief</STRONG>          <STRONG>repeatDelay</STRONG>    <STRONG>repeatInterval</STRONG>  <STRONG>selectBackground</STRONG>
-     <STRONG>selectBorderWidth</STRONG>              <STRONG>selectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>
-
-     See the "entryfield" widget manual entry for details on  the
-     above associated options.
-
-     <STRONG>labelFont</STRONG>       <STRONG>labelMargin</STRONG>
-
-     See the "labeledwidget" widget manual entry for  details  on
-     the above associated options.
-
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget class manual entry for details on
-     the above associated options.
-
-     <STRONG>hscrollMode</STRONG>     <STRONG>sbWidth</STRONG>        <STRONG>scrollMargin</STRONG>    <STRONG>textBackground</STRONG>
-     <STRONG>textFont</STRONG>        <STRONG>vscrollMode</STRONG>
-
-     See the "scrolledlistbox" widget manual entry for details on
-     the above associated options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>childSitePos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-childsitepos</STRONG>
-
-          Specifies the position of the child site in the  selec-
-          tion box: <STRONG>n</STRONG>, <STRONG>s</STRONG>, <STRONG>e</STRONG>, or <STRONG>w</STRONG>.  The default is s.
-
-     Name:           <STRONG>dblDirsCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-dbldirscommand</STRONG>
-
-          Specifies a Tcl command procedure which is called  when
-          an  directory  list  item is double clicked.  Typically
-          this occurs when mouse button 1 is double clicked  over
-          a directory name.
-
-     Name:           <STRONG>dblFilesCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-dblfilescommand</STRONG>
-
-          Specifies a Tcl command procedure which is called  when
-          an  file  list  item is double clicked.  Typically this
-          occurs when mouse button 1 is  double  clicked  over  a
-          file name.
-
-     Name:           <STRONG>directory</STRONG>
-     Class:          <STRONG>Directory</STRONG>
-     Command-Line Switch:           <STRONG>-directory</STRONG>
-
-          Specifies the initial default directory.   The  default
-          is the present working directory.
-
-     Name:           <STRONG>dirsfraction</STRONG>
-     Class:          <STRONG>DirsFraction</STRONG>
-     Command-Line Switch:           <STRONG>-dirsfraction</STRONG>
-
-          Specifies the fraction as a percentage of  the  overall
-          width that the directory list takes up.
-
-     Name:           <STRONG>dirSearchCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-dirsearchcommand</STRONG>
-
-          Specifies a Tcl command to be  executed  to  perform  a
-          directory search.  The command will receive the current
-          working directory and filter mask  as  arguments.   The
-          command  should  return  a  list of files which will be
-          placed into the directory list.
-
-     Name:           <STRONG>dirsLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-dirslabel</STRONG>
-
-          Specifies the text of the label for the directory list.
-          The default is "Directories".
-
-     Name:           <STRONG>dirsLabelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-dirslabelpos</STRONG>
-          Specifies the position of the label along the  side  of
-          the directory list: <STRONG>n</STRONG>, <STRONG>ne</STRONG>, <STRONG>e</STRONG>, <STRONG>se</STRONG>, <STRONG>s</STRONG>, <STRONG>sw</STRONG>, <STRONG>w</STRONG>, or <STRONG>nw</STRONG>.  The
-          default is nw.
-
-     Name:           <STRONG>dirsOn</STRONG>
-     Class:          <STRONG>DirsOn</STRONG>
-     Command-Line Switch:           <STRONG>-dirson</STRONG>
-
-          Specifies whether or not to display the directory list.
-          The  value  may be given in any of the forms acceptable
-          to <STRONG>Tcl_GetBoolean</STRONG>.  The default is true.
-
-     Name:           <STRONG>fileSearchCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-filesearchcommand</STRONG>
-
-          Specifies a Tcl command to be  executed  to  perform  a
-          file  search.   The  command  will  receive the current
-          working directory and filter mask  as  arguments.   The
-          command  should  return  a  list of files which will be
-          placed into the file list.
-
-     Name:           <STRONG>filesLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-fileslabel</STRONG>
-
-          Specifies the text of the label  for  the  files  list.
-          The default is "Files".
-
-     Name:           <STRONG>filesLabelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-fileslabelpos</STRONG>
-
-          Specifies the position of the label along the  side  of
-          the  files  list: : <STRONG>n</STRONG>, <STRONG>ne</STRONG>, <STRONG>e</STRONG>, <STRONG>se</STRONG>, <STRONG>s</STRONG>, <STRONG>sw</STRONG>, <STRONG>w</STRONG>, or <STRONG>nw</STRONG>.  The
-          default is nw.
-
-     Name:           <STRONG>filesOn</STRONG>
-     Class:          <STRONG>FilesOn</STRONG>
-     Command-Line Switch:           <STRONG>-fileson</STRONG>
-
-          Specifies whether or not to  display  the  files  list.
-          The  value  may be given in any of the forms acceptable
-          to <STRONG>Tcl_GetBoolean</STRONG>.  The default is true.
-
-     Name:           <STRONG>fileType</STRONG>
-     Class:          <STRONG>FileType</STRONG>
-     Command-Line Switch:           <STRONG>-filetype</STRONG>
-
-          Specify the type of files which may appear in the  file
-          list: <STRONG>regular</STRONG>, <STRONG>directory</STRONG>, or <STRONG>any</STRONG>.  The default is regu-
-          lar.
-
-     Name:           <STRONG>filterCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-filtercommand</STRONG>
-
-          Specifies a Tcl command to be executed upon hitting the
-          Return key in the filter entry widget.
-
-     Name:           <STRONG>filterFocusCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-filterfocuscommand</STRONG>
-
-          Specifies a Tcl command to be executed  upon  reception
-          of focus by the filter.
-
-     Name:           <STRONG>filterLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-filterlabel</STRONG>
-
-          Specifies the text of the label for  the  filter  entry
-          field.  The default is "Filter".
-
-     Name:           <STRONG>filterLabelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-filterlabelpos</STRONG>
-
-          Specifies the position of the label along the  side  of
-          the filter: <STRONG>n</STRONG>, <STRONG>ne</STRONG>, <STRONG>e</STRONG>, <STRONG>se</STRONG>, <STRONG>s</STRONG>, <STRONG>sw</STRONG>, <STRONG>w</STRONG>, or <STRONG>nw</STRONG>.  The default
-          is nw.
-
-     Name:           <STRONG>filterOn</STRONG>
-     Class:          <STRONG>FilterOn</STRONG>
-     Command-Line Switch:           <STRONG>-filteron</STRONG>
-
-          Specifies whether or not to display the  filter  entry.
-          The  value  may be given in any of the forms acceptable
-          to <STRONG>Tcl_GetBoolean</STRONG>.  The default is true.
-
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height of the selection box.   The  value
-          may  be  specified  in  any  of the forms acceptable to
-          Tk_GetPixels.  The default is 360 pixels.
-
-     Name:           <STRONG>horizmargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-horizmargin</STRONG>
-
-          Specifies    distance    between    the    lists    and
-          filter/selection  entries.   The  value may be given in
-          any of  the  forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.   The
-          default is 7.
-
-     Name:           <STRONG>invalid</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-invalid</STRONG>
-
-          Command to be executed should the  filter  contents  be
-          proven invalid.  The default is {bell}.
-
-     Name:           <STRONG>mask</STRONG>
-     Class:          <STRONG>Mask</STRONG>
-     Command-Line Switch:           <STRONG>-mask</STRONG>
-
-          Specifies the initial file mask string.  The default is
-          "*".
-
-     Name:           <STRONG>noMatchString</STRONG>
-     Class:          <STRONG>NoMatchString</STRONG>
-     Command-Line Switch:           <STRONG>-nomatchstring</STRONG>
-
-          Specifies the string to be displayed in the files  list
-          should  no  files  match  the  mask.  The default is "[
-          ]".
-
-     Name:           <STRONG>selectDirCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-selectdirommand</STRONG>
-
-          Specifies a Tcl command to be executed following selec-
-          tion of a directory in the directory list.
-
-     Name:           <STRONG>selectFileCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-selectfileommand</STRONG>
-
-          Specifies a Tcl command to be executed following selec-
-          tion of a file in the files list.
-
-     Name:           <STRONG>selectionCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-selectioncommand</STRONG>
-
-          Specifies a Tcl command to be executed upon hitting the
-          Return key in the selection entry widget.
-
-     Name:           <STRONG>selectionFocusCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-selectionfocuscommand</STRONG>
-
-          Specifies a Tcl command to be executed  upon  reception
-          of focus by the selection entry.
-
-     Name:           <STRONG>selectionImage</STRONG>
-     Class:          <STRONG>Image</STRONG>
-     Command-Line Switch:           <STRONG>-selectionimage</STRONG>
-
-          Specifies a image to be used  as  the  selection  entry
-          label.  The  image  may be any of the values created by
-          the <STRONG>image</STRONG> <STRONG>create</STRONG> command.
-
-     Name:           <STRONG>selectionLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-selectionlabel</STRONG>
-
-          Specifies the text of the label for the selection entry
-          field.  The default is "Selection".
-
-     Name:           <STRONG>selectionLabelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-selectionlabelpos</STRONG>
-
-          Specifies the position of the label along the  side  of
-          the  selection:  <STRONG>n</STRONG>,  <STRONG>ne</STRONG>,  <STRONG>e</STRONG>,  <STRONG>se</STRONG>, <STRONG>s</STRONG>, <STRONG>sw</STRONG>, <STRONG>w</STRONG>, or <STRONG>nw</STRONG>.  The
-          default is nw.
-
-     Name:           <STRONG>selectionOn</STRONG>
-     Class:          <STRONG>SelectionOn</STRONG>
-     Command-Line Switch:           <STRONG>-selectionon</STRONG>
-
-          Specifies whether  or  not  to  display  the  selection
-          entry.   The  value  may  be  given in any of the forms
-          acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The default is true.
-
-     Name:           <STRONG>style</STRONG>
-     Class:          <STRONG>Syle</STRONG>
-     Command-Line Switch:           <STRONG>-style</STRONG>
-
-          Specifies display style of the fileselectionbox:  <STRONG>motif</STRONG>
-          or <STRONG>notif</STRONG>.  The default is motif which reflects the lay-
-          out of the OSF/Motif standard Xmfileselectionbox widget
-          composed  of  directory and file scrolled lists as well
-          as filter and selection entry fields.  The notif option
-          setting  varies  the layout by removing directory names
-          from the files, separates the lists by a paned  window,
-          and  changes  the  filter  and  entry  fields into com-
-          boboxes.
-
-     Name:           <STRONG>vertmargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-vertmargin</STRONG>
-
-          Specifies  distance  between  the  directory  and  file
-          lists.   The  value  may  be  given in any of the forms
-          acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default  is  7.   This
-          option  is  only useful for motif styled fileselection-
-          boxes.  For notif styled  ones,  use  the  dirsfraction
-          option  to  modify  spacing  between  the directory and
-          files lists.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the selection  box.   The  value
-          may  be  specified  in  any  of the forms acceptable to
-          Tk_GetPixels.  The default is 470 pixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>fileselectionbox</STRONG> command creates a  file  selection  box
-     similar  to the OSF/Motif standard Xmfileselectionbox compo-
-     site widget.  The fileselectionbox is composed of  directory
-     and  file  scrolled  lists  as  well as filter and selection
-     entry fields.  Bindings are in place such that selection  of
-     a  directory  list  item  loads  the  filter entry field and
-     selection of a file list  item  loads  the  selection  entry
-     field.   Options exist to control the appearance and actions
-     of the widget.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>fileselectionbox</STRONG> command creates a new Tcl command whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The  following  commands are possible for fileselec-
-     tionbox widgets:
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>fileselectionbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Returns the child site widget path name.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>fileselectionbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>filter</STRONG>
-          Update the current contents of the file  selection  box
-          based on the current filter entry field value.
-
-     <EM>pathName</EM> <STRONG>get</STRONG>
-          Returns  the  current  value  of  the  selection  entry
-          widget.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>childsite</STRONG>
-     Class:          <STRONG>Frame</STRONG>
-
-          The childsite component is the user child site for  the
-          file  selection  box.   See  the  "frame" widget manual
-          entry for details on the childsite component item.
-
-     Name:           <STRONG>dirs</STRONG>
-     Class:          <STRONG>Scrolledlistbox</STRONG>
-
-          The dirs component is the directory list  box  for  the
-          file  selection  box.  See the "scrolledlistbox" widget
-          manual entry for details on the dirs component item.
-
-     Name:           <STRONG>files</STRONG>
-     Class:          <STRONG>Scrolledlistbox</STRONG>
-
-          The files component is the file list box for  the  file
-          selection box.  See the "scrolledlistbox" widget manual
-          entry for details on the files component item.
-
-     Name:           <STRONG>filter</STRONG>
-     Class:          <STRONG>Entryfield</STRONG>
-
-          The filter component is the entry field for user  input
-          of  the  filter  value.   See  the  "entryfield" widget
-          manual entry for details on the filter component item.
-
-
-     Name:           <STRONG>selection</STRONG>
-     Class:          <STRONG>Entryfield</STRONG>
-
-          The selection component is the  entry  field  for  user
-          input  of  the  currently selected file value.  See the
-          "entryfield" widget manual entry  for  details  on  the
-          selection component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          option add *textBackground GhostWhite
-
-          fileselectionbox .fsb
-          pack .fsb -padx 10 -pady 10 -fill both -expand yes
-
-
-
-</PRE>
-<H2>AUTHOR(S)</H2><PRE>
-     Mark L. Ulferts
-
-     Anthony Parent
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     fileselectionbox, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>fileselectionbox - Create and manipulate a file selection box widget</TITLE>
+<H1>fileselectionbox - Create and manipulate a file selection box widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>fileselectionbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Fileselectionbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>childSitePos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the selection box: <B>n</B>, 
+<B>s</B>, <B>e</B>, <B>w</B>, <B>top</B>, <B>bottom</B>, or <B>center</B>.  The 
+default is s.
+</UL>
+</table>
+<UL>
+Specifies a Tcl command procedure which is called when an file list item is
+double clicked.  Typically this occurs when mouse button 1 is double 
+clicked over a file name.
+</UL>
+<P>
+<pre>
+Name:                   <B>directory</B>
+Class:                  <B>Directory</B>
+Command-Line Switch:   <B>-directory</B>
+</pre>
+<UL>
+Specifies the initial default directory.  The default is the present 
+working directory.
+</UL>
+<P>
+<pre>
+Name:                   <B>dirSearchCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-dirsearchcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed to perform a directory search.
+The command will receive the current working directory and filter
+mask as arguments.  The command should return a list of files which
+will be placed into the directory list.
+</UL>
+<P>
+<pre>
+Name:                   <B>dirsLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-dirslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the directory list.  The default is
+"Directories".
+</UL>
+<P>
+<pre>
+Name:                   <B>dirsOn</B>
+Class:                  <B>DirsOn</B>
+Command-Line Switch:   <B>-dirson</B>
+</pre>
+<UL>
+Specifies whether or not to display the directory list.  The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>fileSearchCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-filesearchcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed to perform a file search.
+The command will receive the current working directory and filter
+mask as arguments.  The command should return a list of files which
+will be placed into the file list.
+</UL>
+<P>
+<pre>
+Name:                   <B>filesLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-fileslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the files list.  The default is "Files".
+</UL>
+<P>
+<pre>
+Name:                   <B>filesOn</B>
+Class:                  <B>FilesOn</B>
+Command-Line Switch:   <B>-fileson</B>
+</pre>
+<UL>
+Specifies whether or not to display the files list.  The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>fileType</B>
+Class:                  <B>FileType</B>
+Command-Line Switch:   <B>-filetype</B>
+</pre>
+<UL>
+Specify the type of files which may appear in the file list: <B>regular</B>,
+<B>directory</B>, or <B>any</B>.  The default is regular.
+</UL>
+<P>
+<pre>
+Name:                   <B>filterCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-filtercommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon hitting the Return key
+in the filter entry widget.  
+</UL>
+<P>
+<pre>
+Name:                   <B>filterLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-filterlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the filter entry field.  The default is
+"Filter".
+</UL>
+<P>
+<pre>
+Name:                   <B>filterOn</B>
+Class:                  <B>FilterOn</B>
+Command-Line Switch:   <B>-filteron</B>
+</pre>
+<UL>
+Specifies whether or not to display the filter entry.  The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the selection box.  The value may be specified in 
+any of the forms acceptable to Tk_GetPixels.  The default is 360 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>invalid</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-invalid</B>
+</pre>
+<UL>
+Command to be executed should the filter contents be proven 
+invalid.  The default is {bell}.
+</UL>
+<P>
+<pre>
+Name:                   <B>mask</B>
+Class:                  <B>Mask</B>
+Command-Line Switch:   <B>-mask</B>
+</pre>
+<UL>
+Specifies the initial file mask string.  The default is "*".
+</UL>
+<P>
+<pre>
+Name:                   <B>noMatchString</B>
+Class:                  <B>NoMatchString</B>
+Command-Line Switch:   <B>-nomatchstring</B>
+</pre>
+<UL>
+Specifies the string to be displayed in the files list should no files
+match the mask.  The default is "".
+</UL>
+<P>
+<pre>
+Name:                   <B>selectDirCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-selectdirommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed following selection of a 
+directory in the directory list.
+</UL>
+<P>
+<pre>
+Name:                   <B>selectFileCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-selectfileommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed following selection of a 
+file in the files list.
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl command to be executed upon hitting the Return key
+in the selection entry widget.  
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-selectionlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the selection entry field.  The default
+is "Selection".
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionOn</B>
+Class:                  <B>SelectionOn</B>
+Command-Line Switch:   <B>-selectionon</B>
+</pre>
+<UL>
+Specifies whether or not to display the selection entry.  The
+value may be given in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the selection box.  The value may be specified in 
+any of the forms acceptable to Tk_GetPixels.  The default is 470 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>fileselectionbox</B> command creates a file selection box similar 
+to the OSF/Motif standard Xmfileselectionbox composite widget.  The 
+fileselectionbox is composed of directory and file scrolled lists as 
+well as filter and selection entry fields.  Bindings are in place such that
+selection of a directory list item loads the filter entry field and
+selection of a file list item loads the selection entry field.  Options
+exist to control the appearance and actions of the widget.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>fileselectionbox</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for fileselectionbox widgets:
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>fileselectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>fileselectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>filter</B>
+</I></B>
+<DD> Update the current contents of the file selection box based on the current
+filter entry field value.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B>
+</I></B>
+<DD> Returns the current value of the selection entry widget.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>dirs</B>
+Class:                  <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The dirs component is the directory list box for the file selection box.
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the dirs 
+component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>files</B>
+Class:                  <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The files component is the file list box for the file selection box.
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the files
+component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>filter</B>
+Class:                  <B>Entryfield</B>
+</pre>
+<UL>
+The filter component is the entry field for user input of the filter value.
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the filter 
+component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>selection</B>
+Class:                  <B>Entryfield</B>
+</pre>
+<UL>
+The selection component is the entry field for user input of the currently
+selected file value.  See the "entryfield" widget manual entry for details 
+on the selection component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+fileselectionbox .fsb
+pack .fsb -padx 10 -pady 10 -fill both -expand yes 
+</pre>
+</pre><H2>AUTHOR(S)</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+fileselectionbox, widget
index aeea455..14fc95b 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - fileselectiondialog</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - fileselectiondialog</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     fileselectiondialog - Create and manipulate a file selection
-     dialog widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>fileselectiondialog</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel  &lt;-  Shell  &lt;-  Dialogshell   &lt;-   Dialog   &lt;-
-     Fileselectiondialog
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessinsertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>              <STRONG>insertOffTime</STRONG>   <STRONG>insertOnTimeinsertWidth</STRONG>
-     <STRONG>relief</STRONG>          <STRONG>repeatDelay</STRONG>    <STRONG>repeatInterval</STRONG>  <STRONG>selectBackground</STRONG>
-     <STRONG>selectBorderWidth</STRONG>              <STRONG>selectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>
-
-     See the "entryfield" widget manual entry for details on  the
-     above associated options.
-
-     <STRONG>childSitePos</STRONG>    <STRONG>directory</STRONG>      <STRONG>dirsLabel</STRONG>       <STRONG>dirSearchCommand</STRONG>
-     <STRONG>dirsFraction</STRONG>    <STRONG>dirsLabelPos</STRONG>   <STRONG>dirsOn</STRONG>          <STRONG>filesLabel</STRONG>
-     <STRONG>filesLabelOn</STRONG>    <STRONG>fileSearchCommand</STRONG>              <STRONG>filesLabelPosfilesOn</STRONG>
-     <STRONG>fileType</STRONG>        <STRONG>filterLabel</STRONG>    <STRONG>filterLabelPos</STRONG>  <STRONG>filterOn</STRONG>
-     <STRONG>invalid</STRONG>         <STRONG>mask</STRONG>           <STRONG>noMatchString</STRONG>   <STRONG>selectionCommand</STRONG>
-     <STRONG>selectionLabel</STRONG>  <STRONG>selectionLabelPos</STRONG>              <STRONG>selectionOnstyle</STRONG>
-     <STRONG>vertMargin</STRONG>
-
-     See the "fileselectionbox" widget manual entry  for  details
-     on the above associated options.
-
-     <STRONG>labelFont</STRONG>       <STRONG>labelMargin</STRONG>
-
-     See the "labeledwidget" widget manual entry for  details  on
-     the above associated options.
-
-     <STRONG>horizMargin</STRONG>     <STRONG>hscrollMode</STRONG>    <STRONG>sbWidth</STRONG>         <STRONG>scrollMargin</STRONG>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>       <STRONG>vScrollMode</STRONG>
-
-     See the "scrolledlistbox" widget manual entry for details on
-     the above associated options.
-
-
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget class manual entry for details on
-     the above associated options.
-
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>buttonBoxPadX</STRONG>   <STRONG>buttonBoxPadY</STRONG>  <STRONG>buttonBoxPos</STRONG>    <STRONG>padX</STRONG>
-     <STRONG>padY</STRONG>            <STRONG>separator</STRONG>      <STRONG>thickness</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited options.
-
-     <STRONG>master</STRONG>          <STRONG>modality</STRONG>       <STRONG>title</STRONG>
-
-     See the "shell" widget manual entry for details on the above
-     inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height of the file selection dialog.  The
-          value  may  be specified in any of the forms acceptable
-          to Tk_GetPixels.  The default is 435 pixels.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the file selection dialog.   The
-          value  may  be specified in any of the forms acceptable
-          to Tk_GetPixels.  The default is 450 pixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>fileselectiondialog</STRONG> command  creates  a  file  selection
-     dialog  similar  to the OSF/Motif standard composite widget.
-     The fileselectiondialog is derived from the Dialog class and
-     is  composed  of  a  FileSelectionBox with attributes set to
-     manipulate the dialog buttons.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>fileselectiondialog</STRONG> command creates a  new  Tcl  command
-     whose  name is <EM>pathName</EM>.  This command may be used to invoke
-     various operations on the widget.  It has the following gen-
-     eral form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The  following  commands are possible for fileselec-
-     tiondialog widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>get</STRONG>             <STRONG>childsite</STRONG>      <STRONG>filter</STRONG>
-
-     See the "fileselectionbox" class manual entry for details on
-     the associated methods.
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>add</STRONG>             <STRONG>buttonconfigure</STRONG>                <STRONG>defaulthide</STRONG>
-     <STRONG>insert</STRONG>          <STRONG>invoke</STRONG>         <STRONG>show</STRONG>
-
-     See the "buttonbox" widget manual entry for details  on  the
-     above inherited methods.
-
-     <STRONG>activate</STRONG>        <STRONG>center</STRONG>         <STRONG>deactivate</STRONG>
-
-     See the "shell" widget manual entry for details on the above
-     inherited methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>fileselectiondialog</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>fileselectiondialog</STRONG>  com-
-          mand.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>fsb</STRONG>
-     Class:          <STRONG>Fileselectionbox</STRONG>
-
-          The fsb component is the file  selection  box  for  the
-          file  selection  dialog.   See  the  "fileselectionbox"
-          widget manual entry for details on  the  fsb  component
-          item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           fileselectiondialog .fsd
-           .fsd activate
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     fileselectiondialog, fileselectionbox, dialog,  dialogshell,
-     shell, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>fileselectiondialog - Create and manipulate a file selection dialog widget</TITLE>
+<H1>fileselectiondialog - Create and manipulate a file selection dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>fileselectiondialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog &lt;- Fileselectiondialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above associated
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>dirsOn</B><br>
+<B>filesOn</B><br>
+<B>invalid</B><br>
+<B>selectionOn</B><br>
+</td>
+<td valign=top>
+<B>directory</B><br>
+<B>filesLabel</B><br>
+<B>fileType</B><br>
+<B>mask</B><br>
+</td>
+<td valign=top>
+<B>dirsLabel</B><br>
+<B>filesLabelOn</B><br>
+<B>filterLabel</B><br>
+<B>noMatchString</B><br>
+</td>
+<td valign=top>
+<B>dirSearchCommand</B><br>
+<B>fileSearchCommand</B><br>
+<B>filterOn</B><br>
+<B>selectionLabel</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="fileselectionbox.n.html"> "fileselectionbox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget  manual entry for details on the above
+inherited options.
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>fileselectiondialog</B> command creates a file selection dialog 
+similar to the OSF/Motif standard composite widget.  The
+fileselectiondialog is derived from the Dialog class and is composed of 
+a FileSelectionBox with attributes set to manipulate the dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>fileselectiondialog</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for fileselectiondialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>get</B><br>
+</td>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>filter</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="fileselectionbox.n.html"> "fileselectionbox" </A> class manual entry for details on the 
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by 
+the <B>fileselectiondialog</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by 
+the <B>fileselectiondialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>fsb</B>
+Class:                  <B>Fileselectionbox</B>
+</pre>
+<UL>
+The fsb component is the file selection box for the file selection dialog.
+See the <A HREF="fileselectionbox.n.html"> "fileselectionbox" </A> widget manual entry for details on the fsb
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ #
+ # Non-modal example
+ #
+ proc okCallback {} {
+     puts "You selected [.nmfsd get]"
+     .nmfsd deactivate
+ }
+
+ fileselectiondialog .nmfsd -title Non-Modal
+ .nmfsd buttonconfigure OK -command okCallback
+
+ .nmfsd activate
+
+ #
+ # Modal example
+ #
+ fileselectiondialog .mfsd -modality application
+ .mfsd center
+
+ if {[.mfsd activate]} {
+     puts "You selected [.mfsd get]"
+ } else {
+     puts "You cancelled the dialog"
+ }
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+fileselectiondialog, fileselectionbox, dialog, dialogshell, shell, widget
index 42e4740..8be35c4 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - hyperhelp</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - hyperhelp</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     hyperhelp - Create and manipulate a hyperhelp widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>hyperhelp</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- shell &lt;- hyperhelp
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>    <STRONG>background</STRONG>         <STRONG>borderWidth</STRONG>
-     <STRONG>cursor</STRONG>              <STRONG>exportSelection</STRONG>    <STRONG>foreground</STRONG>
-     <STRONG>highlightColor</STRONG>      <STRONG>highlightThickness</STRONG> <STRONG>insertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>   <STRONG>insertOffTime</STRONG>      <STRONG>insertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>         <STRONG>padX</STRONG>               <STRONG>padY</STRONG>
-     <STRONG>relief</STRONG>              <STRONG>repeatDelay</STRONG>        <STRONG>repeatInterval</STRONG>
-     <STRONG>selectBackground</STRONG>    <STRONG>selectBorderWidth</STRONG>  <STRONG>selectForeground</STRONG>
-     <STRONG>setGrid</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>hscrollmode</STRONG>     <STRONG>vscrollmode</STRONG>    <STRONG>textbackground</STRONG>  <STRONG>fontname</STRONG>
-     <STRONG>fontsize</STRONG>        <STRONG>fixedfont</STRONG>      <STRONG>link</STRONG>            <STRONG>linkhighlight</STRONG>
-     <STRONG>width</STRONG>           <STRONG>height</STRONG>         <STRONG>state</STRONG>           <STRONG>wrap</STRONG>
-     <STRONG>unknownimage</STRONG>
-
-     See the "scrolledhtml" widget manual entry  for  details  on
-     the above associated options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>modality</STRONG>        <STRONG>title</STRONG>
-
-     See the "shell" manual entry for details on the above inher-
-     ited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:   <STRONG>topics</STRONG>
-     Class:  <STRONG>Topics</STRONG>
-     Command-Line Switch:    <STRONG>-topics</STRONG>
-
-          Specifies a list of help topics in  the  form  {?<EM>topic</EM>?
-          ...  }. <EM>Topic</EM> may either be a topic name, in which case
-          the document associated with the topic should be in the
-          file <STRONG>helpdir</STRONG>/<EM>topic</EM>.html, or it may be of the form {<EM>name</EM>
-          <EM>file</EM>}. In the latter case, <EM>name</EM>  is  displayed  in  the
-          topic  menu, and selecting the name loads <EM>file</EM>. If file
-          has a relative path, it is assumed to  be  relative  to
-          helpdir.
-
-     Name:   <STRONG>helpdir</STRONG>
-     Class:  <STRONG>Directory</STRONG>
-     Command-Line Switch:    <STRONG>-helpdir</STRONG>
-
-          Specifies the directory where help files are located.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>hyperhelp</STRONG> command creates a shell window with a pulldown
-     menu  showing  a list of topics. The topics are displayed by
-     importing a HTML formatted  file  named  <STRONG>helpdir</STRONG>/<EM>topic</EM>.html.
-     For a list of supported HTML tags, see <STRONG>scrolledhtml(n)</STRONG>.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>hyperhelp</STRONG> command creates a new Tcl command  whose  name
-     is  <EM>pathName</EM>.   This  command  may be used to invoke various
-     operations on the widget.   It  has  the  following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The following commands are possible for dialog widg-
-     ets:
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>activate</STRONG>        <STRONG>center</STRONG>         <STRONG>childsite</STRONG>       <STRONG>deactivate</STRONG>
-
-     See the "shell" manual entry for details on the above inher-
-     ited methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>hyperhelp</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>hyperhelp</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>showtopic</STRONG> <EM>topic</EM>
-          Display html file <STRONG>helpdir</STRONG>/<EM>topic</EM>.html. <EM>Topic</EM> may option-
-          ally be of the form <EM>topicname</EM>#<EM>anchorname</EM>. In this form,
-          either <EM>topicname</EM> or <EM>anchorname</EM> or both may be empty. If
-          <EM>topicname</EM>  is  empty,  the current topic is assumed. If
-          <EM>anchorname</EM> is empty, the top of the document is assumed
-
-     <EM>pathName</EM> <STRONG>followlink</STRONG> <EM>href</EM>
-          Display html file <EM>href</EM>. <EM>Href</EM> may be  optionally  be  of
-          the  form  <EM>filename</EM>#<EM>anchorname</EM>.  In  this  form, either
-          <EM>filename</EM>  or  <EM>anchorname</EM>  or  both  may  be  empty.  If
-          <EM>filename</EM>  is empty, the current document is assumed. If
-          <EM>anchorname</EM>  is  empty,  the  top  of  the  document  is
-          assumed.
-
-     <EM>pathName</EM> <STRONG>forward</STRONG>
-          Display html file  one  forward  in  history  list,  if
-          applicable.
-
-     <EM>pathName</EM> <STRONG>back</STRONG>
-          Display html file one back in history list, if applica-
-          ble.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           hyperhelp .h -topics { Intro Help } -helpdir ~/help
-           .h showtopic Intro
-
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Kris Raney
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     hyperhelp, html, help, shell, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>hyperhelp - Create and manipulate a hyperhelp widget</TITLE>
+<H1>hyperhelp - Create and manipulate a hyperhelp widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>hyperhelp<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- shell &lt;- hyperhelp
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth<br>
+<B>padX</B><br>
+<B>repeatInterval</B><br>
+<B>setGrid</B><br>
+</td>
+<td valign=top>
+<B>closecmd</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>padY</B><br>
+<B>selectBackground</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>hscrollmode</B><br>
+<B>fontsize</B><br>
+<B>width</B><br>
+<B>unknownimage</B><br>
+</td>
+<td valign=top>
+<B>vscrollmode</B><br>
+<B>fixedfont</B><br>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>textbackground</B><br>
+<B>link</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>fontname</B><br>
+<B>linkhighlight</B><br>
+<B>wrap</B><br>
+</td>
+</table>
+<P>
+See the "scrolledhtml" widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>topics</B>
+Class:                  <B>Topics</B>
+Command-Line Switch:    <B>-topics</B>
+</pre>
+<UL>
+Specifies a list of help topics in the form {?<I>topic</I>? ... }. <I>Topic</I> 
+may either be a topic name, in which case the 
+document associated with the topic should be in the file 
+<B>helpdir</B>/<I>topic</I>.html, or it may be of the form 
+{<I>name</I> <I>file</I>}. In the latter case, <I>name</I> is displayed in the
+topic menu, and selecting the name loads <I>file</I>. If file has a relative
+path, it is assumed to be relative to helpdir.
+</UL>
+<P>
+<pre>
+Name:                   <B>helpdir</B>
+Class:                  <B>Directory</B>
+Command-Line Switch:    <B>-helpdir</B>
+</pre>
+<UL>
+Specifies the directory where help files are located.
+</UL>
+<P>
+<pre>
+Name:                   <B>closeCmd</B>
+Class:                  <B>CloseCmd</B>
+Command-Line Switch:    <B>-closecmd</B>
+</pre>
+<UL>
+Specifies the tcl command to be executed when the close option is selected
+from the topics menu.
+</UL>
+<P>
+<pre>
+Name:                   <B>maxHistory</B>
+Class:                  <B>MaxHistory</B>
+Command-Line Switch:    <B>-maxhistory</B>
+</pre>
+<UL>
+Specifies the maximum number of entries stored in the history list
+</UL>
+<P>
+<pre>
+Name:                   <B>beforelink</B>
+Class:                  <B>BeforeLink</B>
+Command-Line Switch:    <B>-beforelink</B>
+</pre>
+<UL>
+Specifies a command to be eval'ed before a new link is displayed. The path
+of the link to be displayed is appended before evaling the command. A suggested
+use might be to busy the widget while a new page is being displayed.
+</UL>
+<P>
+<pre>
+Name:                   <B>afterlink</B>
+Class:                  <B>AfterLink</B>
+Command-Line Switch:    <B>-afterlink</B>
+</pre>
+<UL>
+Specifies a command to be eval'ed after a new link is completely displayed. 
+The path of the link that was displayed is appended before evaling the command.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>hyperhelp</B> command creates a shell window with a pulldown menu
+showing a list of topics. The topics are displayed by importing a HTML
+formatted file named <B>helpdir</B>/<I>topic</I>.html. For a list of 
+supported HTML tags, see <B>scrolledhtml(n)</B>.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>hyperhelp</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for dialog widgets:
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+</table>
+<P>
+See the "shell" manual entry for details on the above inherited methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>hyperhelp</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>hyperhelp</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>showtopic</B> <I>topic</I>
+</I></B>
+<DD> Display html file <B>helpdir</B>/<I>topic</I>.html. <I>Topic</I> may
+optionally be of the form <I>topicname</I>#<I>anchorname</I>. In
+this form, either <I>topicname</I> or <I>anchorname</I> or both may be empty. If
+<I>topicname</I> is empty, the current topic is assumed. If <I>anchorname</I>
+is empty, the top of the document is assumed
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>followlink</B> <I>href</I>
+</I></B>
+<DD> Display html file <I>href</I>. <I>Href</I> may
+be optionally be of the form <I>filename</I>#<I>anchorname</I>. In
+this form, either <I>filename</I> or <I>anchorname</I> or both may be empty. If
+<I>filename</I> is empty, the current document is assumed. If <I>anchorname</I>
+is empty, the top of the document is assumed.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>forward</B>
+</I></B>
+<DD> Display html file one forward in history list, if applicable.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>back</B>
+</I></B>
+<DD> Display html file one back in history list, if applicable.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ hyperhelp .h -topics { Intro Help } -helpdir ~/help
+ .h showtopic Intro
+</pre>
+</pre><H2>AUTHOR</H2>
+Kris Raney
+</pre><H2>KEYWORDS</H2>
+hyperhelp, html, help, shell, widget
index f84526c..0161933 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - labeledwidget</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - labeledwidget</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     labeledwidget - Create and manipulate a labeled widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>labeledwidget</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- labeledwidget
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>         <STRONG>foreground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>labelBitmap</STRONG>
-     Class:          <STRONG>Bitmap</STRONG>
-     Command-Line Switch:           <STRONG>-labelbitmap</STRONG>
-
-          Specifies a bitmap to display in the widget, in any  of
-          the  forms  acceptable  to  <STRONG>Tk_GetBitmap</STRONG>.   This option
-          overrides the <EM>labeltext</EM> option.
-
-     Name:           <STRONG>labelFont</STRONG>
-     Class:          <STRONG>Font</STRONG>
-     Command-Line Switch:           <STRONG>-labelfont</STRONG>
-
-          Specifies the font to be used for the label.
-
-     Name:           <STRONG>labelImage</STRONG>
-     Class:          <STRONG>Image</STRONG>
-     Command-Line Switch:           <STRONG>-labelimage</STRONG>
-
-          Specifies a image to be used as the  label.  The  image
-          may  be  any  of the values created by the <STRONG>image</STRONG> <STRONG>create</STRONG>
-          command.  This option overrides  both  the  <EM>labelbitmap</EM>
-          and <EM>labeletext</EM> options.
-
-     Name:           <STRONG>labelMargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-labelmargin</STRONG>
-
-          Specifies the distance between the childsite and  label
-          in  any  of  the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The
-          default is 1 pixel.
-
-     Name:           <STRONG>labelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-labelpos</STRONG>
-          Specifies the position of the label along the  side  of
-          the  childsite:  <STRONG>n</STRONG>,  <STRONG>ne</STRONG>,  <STRONG>e</STRONG>,  <STRONG>se</STRONG>, <STRONG>s</STRONG>, <STRONG>sw</STRONG>, <STRONG>w</STRONG>, or <STRONG>nw</STRONG>.  The
-          default is w.
-
-     Name:           <STRONG>labelText</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-labeltext</STRONG>
-
-          Specifies the text of the label around the childsite.
-
-     Name:           <STRONG>labelVariable</STRONG>
-     Class:          <STRONG>Variable</STRONG>
-     Command-Line Switch:           <STRONG>-labelvariable</STRONG>
-
-          Specifies the text variable of  the  label  around  the
-          childsite.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>labeledwidget</STRONG> command creates  a  labeled  widget  which
-     contains  a label and child site.  The child site is a frame
-     which can filled with any widget  via  a  derived  class  or
-     though  the  use  of  the  childsite method.  This class was
-     designed to be a general purpose base class  for  supporting
-     the  combination  of  label  widget  and  a  childsite.  The
-     options include the ability to position the label around the
-     childsite  widget,  modify  the font and margin, and control
-     the display of the labels.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>labeledwidget</STRONG> command creates a new  Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.  The following commands are possible for labeledwidget
-     widgets:
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Return the path name of the child site.
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>labeledwidget</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>labeledwidget</STRONG> command.
-
-
-
-</PRE>
-<H2>STATIC METHODS</H2><PRE>
-     <STRONG>Labeledwidget::alignlabels</STRONG> <EM>widget</EM> ?<EM>widget</EM> ...?
-          The alignlabels  procedure  takes  a  list  of  widgets
-          derived from the Labeledwidget class and uses the label
-          margin to make each widget have the  same  total  space
-          for  the  combination  of  label  and  margin.  The net
-          effect is to left align the  labels.   Generally,  this
-          method is only useful with a label position of w, which
-          is the default.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>label</STRONG>
-     Class:          <STRONG>label</STRONG>
-
-          The label component provides the label for the  labeled
-          widget.   See  the  "label"  widget  manual  entry  for
-          details on the label component item.
-
-     Name:           <STRONG>lwchildsite</STRONG>
-     Class:          <STRONG>frame</STRONG>
-
-          The lwchildsite component is the user  child  site  for
-          the  labeled  widget.   See  the  "frame" widget manual
-          entry for details on the lwchildsite component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          The labeledwidget was primarily  meant  to  be  a  base
-          class.   The  ScrolledListBox  and  EntryField are good
-          examples of derived classes of the labeledwidget class.
-          In   order  to  provide  equal  support  for  composite
-          classes, the 'childsite' methods also exists.  The fol-
-          lowing is an example of 'childsite' method usage.
-
-
-           labeledwidget .lw -labeltext "Canvas Widget" -labelpos s
-           pack .lw -fill both -expand yes -padx 10 -pady 10
-
-           set cw [canvas [.lw childsite].c -relief raised -width 200 -height 200]
-           pack $cw -padx 10 -pady 10
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     labeledwidget, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>labeledwidget - Create and manipulate a labeled widget</TITLE>
+<H1>labeledwidget - Create and manipulate a labeled widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>labeledwidget<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- labeledwidget
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>disabledForeground</B>
+Class:                  <B>DisabledForeground</B>
+Command-Line Switch:   <B>-disabledforeground</B>
+</pre>
+<UL>
+Specifies the foreground to be used when the state is disabled. 
+</UL>
+<P>
+<pre>
+Name:                   <B>labelBitmap</B>
+Class:                  <B>Bitmap</B>
+Command-Line Switch:   <B>-labelbitmap</B>
+</pre>
+<UL>
+Specifies a bitmap to display in the widget, in any of the forms 
+acceptable to <B>Tk_GetBitmap</B>.  This option overrides the <I>labeltext</I>
+option.
+</UL>
+<P>
+<pre>
+Name:                   <B>labelFont</B>
+Class:                  <B>Font</B>
+Command-Line Switch:   <B>-labelfont</B>
+</pre>
+<UL>
+Specifies the font to be used for the label.
+</UL>
+<P>
+<pre>
+Name:                   <B>labelImage</B>
+Class:                  <B>Image</B>
+Command-Line Switch:   <B>-labelimage</B>
+</pre>
+<UL>
+Specifies a image to be used as the label. The image may be any of the
+values created by the <B>image create</B> command.  This option overrides
+both the <I>labelbitmap</I> and <I>labeletext</I> options.
+</UL>
+<P>
+<pre>
+Name:                   <B>labelMargin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-labelmargin</B>
+</pre>
+<UL>
+Specifies the distance between the childsite and label in any of the forms
+acceptable to <B>Tk_GetPixels</B>.  The default is 2 pixel.
+</UL>
+<P>
+<pre>
+Name:                   <B>labelPos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-labelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the side of the childsite: 
+<B>nw</B>, <B>n</B>, <B>ne</B>, <B>sw</B>, <B>s</B>, <B>se</B>, <B>en</B>, <B>e</B>, 
+<B>es</B>, <B>wn</B>, <B>w</B>, or <B>ws</B>.  The default is w.
+</UL>
+<P>
+<pre>
+Name:                   <B>labelText</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-labeltext</B>
+</pre>
+<UL>
+Specifies the text of the label around the childsite.
+</UL>
+<P>
+<pre>
+Name:                   <B>labelVariable</B>
+Class:                  <B>Variable</B>
+Command-Line Switch:   <B>-labelvariable</B>
+</pre>
+<UL>
+Specifies the text variable of the label around the childsite.
+</UL>
+<P>
+<pre>
+Name:                   <B>state</B>
+Class:                  <B>State</B>
+Command-Line Switch:   <B>-state</B>
+</pre>
+<UL>
+Specifies one of two states for the label: <B>normal</B> or <B>disabled</B>.
+If the label is disabled then it is displayed in a disabled foreground
+color.  The default is normal.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>labeledwidget</B> command creates a labeled widget which contains 
+a label and child site.  The child site is a frame 
+which can filled with any widget via a derived class or though the use 
+of the childsite method.  This class
+was designed to be a general purpose base class for supporting the 
+combination of label widget and a childsite.  The options include the
+ability to position the label around the childsite widget, modify the
+font and margin, and control the display of the labels.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>labeledwidget</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for labeledwidget widgets:
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Return the path name of the child site.
+</DL>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>labeledwidget</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>labeledwidget</B>
+command.
+
+</DL>
+</pre><H2>STATIC METHODS</H2>
+<DL>
+<DT> <B>Labeledwidget::alignlabels</B> <I>widget</I> ?<I>widget ...</I>?
+</I></B>
+<DD> The alignlabels procedure takes a list of widgets derived from
+the Labeledwidget class and uses the label margin to make each widget
+have the same total space for the combination of label and margin.  The
+net effect is to left align the labels.  Generally, this method is only 
+useful with a label position of w, which is the default.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>label</B>
+Class:                  <B>label</B>
+</pre>
+<UL>
+The label component provides the label for the labeled widget.  See the 
+"label" widget manual entry for details on the label component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>lwchildsite</B>
+Class:                  <B>frame</B>
+</pre>
+<UL>
+The lwchildsite component is the user child site for the labeled widget.  See 
+the "frame" widget manual entry for details on the lwchildsite component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<UL>
+The labeledwidget was primarily meant to be a base class.  The
+ScrolledListBox and EntryField are good examples of derived
+classes of the labeledwidget class.  In order to provide equal
+support for composite classes, the 'childsite' methods also exists.
+The following is an example of 'childsite' method usage.
+</UL>
+<P>
+<pre>
+ labeledwidget .lw -labeltext "Canvas Widget" -labelpos s
+ pack .lw -fill both -expand yes -padx 10 -pady 10
+
+ set cw [canvas [.lw childsite].c -relief raised -width 200 -height 200]
+ pack $cw -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+labeledwidget, widget
index ad2a33d..b045f03 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - menubar</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - menubar</H1>
-<HR>
-<PRE>
+<TITLE>menubar - Create and manipulate menubar menu widgets</TITLE>
+<H1>menubar - Create and manipulate menubar menu widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>menubar</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- menubar
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>activeBorderWidth</B><br>
+<B>activeForeground</B><br>
+<B>anchor</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>cursor</B><br>
+<B>disabledForeground</B><br>
+<B>font</B><br>
+<B>padX</B><br>
+</td>
+<td valign=top>
+<B>highlightBackground</B><br>
+<B>highligthThickness</B><br>
+<B>highlightColor</B><br>
+<B>justify</B><br>
+</td>
+<td valign=top>
+<B>padY</B><br>
+<B>relief</B><br>
+<B>wrapLength</B><br>
+<B>background</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>helpVariable</B>
+Class:                  <B>HelpVariable</B>
+Command-Line Switch:   <B>-helpvariable</B>
+</pre>
+<UL>
+Specifies the global variable to update whenever the mouse is in motion over a menu entry. This global variable is updated with the current value of the active menu entry's <B>helpStr</B>. Other widgets can "watch" this variable with the trace command, or as is the case with entry or label widgets, they can set their <B>textVariable</B> to the same global variable. This allows for a simple implementation of a help status bar. Whenever the mouse leaves a menu entry, the helpVariable is set to the empty string {}. The mainwindow(1) associates its helpstatus and its menubar in this fashion.
+</UL>
+<P>
+<pre>
+Name:                   <B>menuButtons</B>
+Class:                  <B>MenuButtons</B>
+Command-Line Switch:   <B>-menubuttons</B>
+</pre>
+<UL>
+The menuButton option is a string which specifies the arrangement of menubuttons on the menubar frame. Each menubutton entry is delimited by the newline character.
+</UL>
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+-menubuttons<br>
+-text<br>
+-text<br>
+-text<br>
+</td>
+<td valign=top>
+</UL><br>
+{<br>
+File<br>
+Edit<br>
+Options<br>
+</td>
+<td valign=top>
+menubar<br>
+menubutton<br>
+menubutton<br>
+menubutton<br>
+}<br>
+</td>
+<td valign=top>
+.mb<br>
+file<br>
+edit<br>
+options<br>
+</td>
+</table>
+<UL>
+specifies that three menubuttons will be added to the menubar (file, edit, options). Each entry is translated into an add command call.
+</UL>
+<UL>
+The <B>menuButtons</B> option can accept embedded variables, commands, and
+backslash quoting. Embedded variables and commands must be enclosed in
+curly braces ({}) to ensure proper parsing of the substituted values.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>menubar</B> command creates a new window (given by the <I>pathName</I> argument) and makes it into a <B>menubar</B> menu widget. Additional options, described above may be specified on the command line or in the option database to configure aspects of the menubar such as its colors and font. The <B>menubar</B> command returns its <I>pathName</I> argument. At the time this command is invoked, there must not exist a window named pathName, but pathName's parent must exist.
+<P>
+A <B>menubar</B> is a widget that simplifies the task of creating menu hierarchies. It encapsulates a <B>frame</B> widget, as well as <B>menubuttons</B>, <B>menus</B>, and menu <B>entries</B>. The menubar allows menus to be specified and referenced in a more consistent manner than using Tk to build menus directly. 
+
+<B>Menubar</B> allows a menu tree to be expressed in a hierachical "language". The <B>menubar</B> accepts a <B>menuButtons</B> option that allows a list of menubuttons to be added to the menubar. In turn, each menubutton accepts a <B>menu</B> option that specifies a list of menu entries to be added to the menubutton's menu. Cascade entries also accept the <B>menu</B> option for specifying a list of menu entries to be added to the cascade's menu. 
+
+Additionally, the menubar allows each component of the menubar system to be referenced by a simple <I>menuPathName</I> syntax. The menubar also extends the set of options for menu entries to include a <B>helpStr</B> option.
+</pre><H2>MENU PATH NAMES</H2>
+<P>
+A <I>menuPathName</I> is a series of component names separated by the `.' character. Each menubar component can be referenced via these <I>menuPathNames</I>. <I>menuPathNames</I> are similar to widget pathNames in Tk. Some correspond directly to a widget pathName (components of type <B>menu</B> or <B>menubutton</B>), others correspond to a menu entry type. Every widget and entry in a menubar can be referenced with the <I>menuPathName</I> naming convention. A menubar can have four types of components:
+<UL>
+<B>frame</B>. A menubar holds exactly one frame which manages menubuttons. The frame is always signified by the `.' character as the path name.
+</UL>
+<UL>
+<B>menubutton</B>. A menubutton corresponds directly to a Tk menubutton. See menubutton(n).
+</UL>
+<UL>
+<B>menu</B>. A menu is attached to a menubutton and corresponds directly to Tk's menu widget. A menu is always signified by the <I>menuPathName</I> ending with the keyword <B>menu</B>. See menu(n).
+</UL>
+<UL>
+<B>entry</B>. An entry corresponds directly to Tk's menu widget entries. Menus consist of a column of one line entries. Entries may be of type: <B>command</B>, <B>checkbutton</B>, <B>radiobutton</B>, <B>separator</B>, or <B>cascade</B>. For a complete description of these types see the discussion on <B>ENTRIES</B> in menu(n).
+</UL>
+<P>
+The suffix of a <I>menuPathName</I> may have the form of:
+<DL>
+<DT> <I>tkWidgetName</I>
+</I></B>
+<DD> Specifies the name of the component, either a <B>frame</B>, <B>menubutton</B>, <B>menu</B>, or an <B>entry</B>. This is the normal naming of widgets. For example, .file references a <B>menubutton</B> named <I>file</I>.
+</DL>
+<P>
+The <I>menuPathName</I> is a series of segment names, each separated by the '.' character. Segment names may be one of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the index of the the component. For menubuttons, 0 corresponds to the left-most menubutton of the menu bar frame. As an example, <I>.1</I> would correspond to the second menubutton on the menu bar frame. 
+<UL>
+For entries, 0 corresponds to the top-most entry of the menu. For example, .file.0 would correspond to the first entry on the menu attached to the menubutton named <I>file</I>.
+</UL>
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last component. For menubuttons, it specifies the right-most entry of the menu bar frame. For menu entries, it specifies the bottom-most entry of the menu. 
+</DL>
+<DL>
+<DT> <B>last</B>
+</I></B>
+<DD> Same as end.
+</DL>
+<P>
+Finally, menu components always end with the <B>menu</B> keyword. These components are automatically created via the -menu option on menubuttons and cascades or via the <B>add</B> or <B>insert</B> commands.
+<DL>
+<DT> <B>menu</B>
+</I></B>
+<DD> Specifes the menu pane that is associated with the given menubutton prefix. For example, <I>.file.menu</I> specifies the menu pane attached to the <I>.file</I> menubutton.
+</DL>
+<P>
+For example, the path <I>.file.new</I> specifies the entry named new on the menu associated with the file menubutton located on the menu bar. The path <I>.file.menu</I> specifies the menu pane associated with the menubutton <I>.file</I>. The path <I>.last</I> specifies the last menu on the menu bar. The path <I>.0.last</I> would specify the first menu (file) and the last entry on that menu (quit), yielding <I>.file.quit</I>.
+
+As a restriction, the last name segment of <I>menuPathName</I> cannot be one of the keywords last, menu, end, nor may it be a numeric value (integer).
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>menubar</B> command creates a new Tcl command whose name is <I>pathName</I>.
+This command may be used to invoke various operations on the widget. It has
+the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>option</I> and the <I>arg</I>s
+determine the exact behavior of the command.
+<P>
+In addition, many of the widget commands for menubar take as one argument a path name to a menu component. These path names are called <I>menuPathName</I>s. See the discussion on <B>MENUBAR PATH NAMES</B> above.
+<P>
+The following commands are possible for menubar widgets:
+<DL>
+<DT> <I>pathName</I> <B>add</B> <I>type</I> <I>menuPathName</I> ?<I>option value option value</I>?
+</I></B>
+<DD> Adds either a menu to the menu bar or a menu entry to a menu pane.
+<UL>
+If additional arguments are present, they specify <I>option</I>s available to component type <B>entry</B>. See the man pages for <B>menu</B>(1) in the section on <B>ENTRIES</B>. 
+
+If <I>type</I> is one of <B>cascade</B>, <B>checkbutton</B>, <B>command</B>, <B>radiobutton</B>, or <B>separator</B> it adds a new entry to the bottom of the menu denoted by the prefix of <I>menuPathName</I>. If additonal arguments are present, they specify options available to menu <B>entry</B> widgets. In addition, the <B>helpStr</B> option is added by the menubar widget to all components of type entry.
+</UL>
+</DL>
+<UL>
+<DL>
+<DT> <B>-helpstr</B> <I>value</I>
+</I></B>
+<DD> Specifes the string to associate with the entry. When the mouse moves over the associated entry, the variable denoted by <B>helpVariable</B> is set. Another widget can bind to the helpVariable and thus display status help.
+</DL>
+</UL>
+<UL>
+If the type of the component added is <B>menubutton</B> or <B>cascade</B>, a menubutton or cascade is added to the menubar. If additional arguments are present, they specify options available to menubutton or cascade widgets. In addition, the <B>menu</B> option is added by the menubar widget to all menubutton and cascade widgets.
+</UL>
+<UL>
+<DL>
+<DT> <B>-menu</B> <I>menuSpec</I>
+</I></B>
+<DD> This is only valid for <I>menuPathName</I>s of type <B>menubutton</B> or <B>cascade</B>. Specifes an option set and/or a set of entries to place on a menu and associate with the menubutton or cascade. The <B>option</B> keyword allows the menu widget to be configured. Each item in the <I>menuSpec</I> is treated as add commands (each with the possibility of having other -menu options). In this way a menu can be recursively built.
+<UL>
+The last segment of <I>menuPathName</I> cannot be one of the keywords <B>last</B>, <B>menu</B>, <B>end</B>. Additionally, it may not be a <I>number</I>. However the <I>menuPathName</I> may be referenced in this manner (see discussion of <B>COMPONENT PATH NAMES</B>).
+</UL>
+<UL>
+Note that the same curly brace quoting rules apply to <B>-menu</B> option strings as did to <B>-menubuttons</B> option strings. See the earlier discussion on <B>umenubuttons</B> in the "<B>WIDGET-SPECIFIC OPTIONS</B>" section.
+</UL>
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>options</I> <I>value</I> <I>option</I> <I>value</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget. If no <I>option</I> is specified, returns a list describing all of the available options for <B>pathName</B> (see <B>Tk_ConfigureInfo</B> for information on the format of this list). If <I>option</I> is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>menuPathName</I> ?<I>menuPathName2</I>?
+</I></B>
+<DD> If <I>menuPathName</I> is of component type <B>Menubutton</B> or <B>Menu</B>, delete operates on menus. If <I>menuPathName</I> is of component type <B>Entry</B>, delete operates on menu entries.
+
+This command deletes all components between <I>menuPathName</I> and <I>menuPathName2</I> inclusive. If <I>menuPathName2</I> is omitted then it defaults to <I>menuPathName</I>. Returns an empty string.
+
+If <I>menuPathName</I> is of type menubar, then all menus and the menu bar frame will be destroyed. In this case <I>menuPathName2</I> is ignored.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>menuPathName</I>
+</I></B>
+<DD> If <I>menuPathName</I> is of type menubutton or menu, it returns the position of the menu/menubutton on the menubar frame. 
+
+If <I>menuPathName</I> is of type <B>command</B>, <B>separator</B>, <B>radiobutton</B>, <B>checkbutton</B>, or <B>cascade</B>, it returns the menu widget's numerical index for the entry corresponding to <I>menuPathName</I>. If path is not found or the path is equal to ".", a value of -1 is returned.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>menuPathName</I> <I>type</I> <I>name</I> ?<I>option</I> <I>value</I>?
+</I></B>
+<DD> Insert a new component named name before the component specified by <I>menuPathName</I>.
+<UL>
+If <I>menuPathName</I> is of type <B>Menubutton</B> or <B>Menu</B>, the new component inserted is of type <B>Menu</B> and given the name name. In this case valid <I>option</I> <I>value</I> pairs are those accepted by menubuttons.
+</UL>
+<UL>
+If <I>menuPathName</I> is of type <B>Entry</B>, the new component inserted is of type <B>entry</B> and given the name <I>name</I>. In this case, valid <I>option</I> <I>value</I> pairs are those accepted by menu entries.
+<I>Name</I> cannot be one of the keywords <B>last</B>, <B>menu</B>, <B>end</B>. Additionally, it may not be a number. However the <I>menuPathName</I> may be referenced in this manner (see discussion of <B>COMPONENT PATH NAMES</B>).
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>invoke</B> <I>menuPathName</I>
+</I></B>
+<DD> Invoke the action of the menu entry denoted by <I>menuPathName</I>. See the sections on the individual entries in the menu(1) man pages. If the menu entry is disabled then nothing happens. If the entry has a command associated with it then the result of that command is returned as the result of the <B>invoke</B> widget command. Otherwise the result is an empty string.
+
+If <I>menuPathName</I> is not a menu entry, an error is issued.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>menucget</B> <I>menuPathName</I> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>. The component type of <I>menuPathName</I> determines the valid available options.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>menuconfigure</B> <I>menuPathName</I> ?<I>option</I> <I>value</I>?
+</I></B>
+<DD> Query or modify the configuration options of the componet of the menubar specified by <I>menuPathName</I>. If no <I>option</I> is specified, returns a list describing all of the available options for <I>menuPathName</I> (see <B>Tk_ConfigureInfo</B> for information on the format of this list). If <I>option</I> is specified with no value, then the command returns a list describing the one named option (this list will be identical to the corresponding sublist of the value returned if no option is specified). If one or more option-value pairs are specified, then the command modifies the given widget option(s) to have the given value(s); in this case the command returns an empty string. The component type of <I>menuPathName</I> determines the valid available options.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>path</B> ?<I>mode</I>? <I>pattern</I>
+</I></B>
+<DD> Returns a fully formed <I>menuPathName</I> that matches <I>pattern</I>. If no match is found it returns -1. The <I>mode</I> argument indicates how the search is to be matched against <I>pattern</I> and it must have one of the following values:
+</DL>
+<UL>
+<DL>
+<DT> <B>-glob</B>
+</I></B>
+<DD> Pattern is a glob-style pattern which is matched against each component path using the same rules as the string match command.
+</DL>
+<DL>
+<DT> <B>-regexp</B>
+</I></B>
+<DD> Pattern is treated as a regular expression and matched against each component of the <I>menuPathName</I> using the same rules as the regexp command.
+The default mode is -glob.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>type</B> <I>menuPathName</I>
+</I></B>
+<DD> Returns the type of the component specified by <I>menuPathName</I>. For menu entries, this is the type argument passed to the <B>add</B>/<B>insert</B> widget command when the entry was created, such as <B>command</B> or <B>separator</B>. Othewise it is either a <B>menubutton</B> or a <B>menu</B>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>yposition</B> <I>menuPathName</I>
+</I></B>
+<DD> Returns a decimal string giving the y-coordinate within the menu window of the topmost pixel in the entry specified by <I>menuPathName</I>. If the <I>menuPathName</I> is not an entry, an error is issued.
+</DL>
+</pre><H2>EXAMPLE ONE: USING GRAMMAR</H2>
+<P>
+The following example creates a menubar with "File", "Edit", "Options" menubuttons. Each of these menubuttons has an associated menu. 
+In turn the File menu has menu entries, as well as the Edit
+menu and the Options menu. The Options menu is a tearoff menu
+with selectColor (for radiobuttons) set to blue.
+In addition, the Options menu has a cascade titled More,
+with several menu entries attached to it as well. An entry widget is 
+provided to display help status.
+<P>
+menubar .mb -helpvariable helpVar -menubuttons {
+    menubutton file -text File -menu {
+        options -tearoff false
+        command new -label New \\
+            -helpstr "Open new document" \\
+            -command {puts NEW}
+        command close -label Close \\
+            -helpstr "Close current document" \\
+            -command {puts CLOSE}
+        separator sep1
+        command exit -label Exit -command {exit} \\
+            -helpstr "Exit application"
+    }
+    menubutton edit -text Edit -menu {
+        options -tearoff false
+        command undo -label Undo -underline 0 \\
+            -helpstr "Undo last command" \\
+            -command {puts UNDO}
+        separator sep2
+        command cut -label Cut -underline 1 \\
+            -helpstr "Cut selection to clipboard" \\
+            -command {puts CUT}
+        command copy -label Copy -underline 1 \\
+            -helpstr "Copy selection to clipboard" \\
+            -command {puts COPY}
+        command paste -label Paste -underline 0 \\
+            -helpstr "Paste clipboard contents" \\
+            -command {puts PASTE}
+    }
+    menubutton options -text Options -menu {
+        options -tearoff false -selectcolor blue
+        radiobutton byName -variable viewMode \\
+            -value NAME -label "by Name" \\
+            -helpstr "View files by name order" \\
+            -command {puts NAME}
+        radiobutton byDate -variable viewMode \\
+            -value DATE -label "by Date" \\
+            -helpstr "View files by date order" \\
+            -command {puts DATE}
+        cascade prefs -label Preferences -menu {
+            command colors -label Colors... \\
+                -helpstr "Change text colors" \\
+                -command {puts COLORS}
+            command fonts -label Fonts... \\
+                -helpstr "Change text font" \\
+                -command {puts FONT}
+        }
+    }
+
+}
+
+<table cellpadding=5>
+<td valign=top>
+frame<br>
+-height<br>
+-textvariable<br>
+-anchor<br>
+-expand<br>
+-fill<br>
+pack<br>
+-fill<br>
+</pre><H2>EXAMPLE<br>
+Alternatively<br>
+could<br>
+using<br>
+configure<br>
+menubar<br>
+-menubuttons<br>
+-text<br>
+command<br>
+command<br>
+separator<br>
+-label<br>
+edit<br>
+<P><br>
+.edit.undo<br>
+0<br>
+.edit.sep2<br>
+.edit.cut<br>
+1<br>
+.edit.copy<br>
+1<br>
+.edit.paste<br>
+0<br>
+.options<br>
+{<br>
+viewMode<br>
+-label<br>
+byDate<br>
+-value<br>
+Date"<br>
+cascade<br>
+-menu<br>
+-label<br>
+-label<br>
+.mb<br>
+nw<br>
+yes<br>
+option<br>
+the<br>
+evaluated<br>
+the<br>
+positive<br>
+is<br>
+string<br>
+commands,<br>
+However,<br>
+into<br>
+single<br>
+can<br>
+enclosing<br>
+curly<br>
+ensures,<br>
+value<br>
+will<br>
+as<br>
+and<br>
+The<br>
+this<br>
+</UL><br>
+Menu"<br>
+menubar<br>
+menubutton<br>
+menubutton<br>
+-menu<br>
+\\<br>
+-variable<br>
+-onvalue<br>
+0<br>
+-text<br>
+</td>
+<td valign=top>
+.fr<br>
+300<br>
+helpVar<br>
+nw<br>
+yes<br>
+both<br>
+.ef<br>
+x<br>
+TWO:<br>
+the<br>
+be<br>
+the<br>
+methods:<br>
+.mb<br>
+{<br>
+File<br>
+new<br>
+close<br>
+sep1<br>
+Quit<br>
+-text<br>
+.mb<br>
+-label<br>
+.mb<br>
+.mb<br>
+-label<br>
+.mb<br>
+-label<br>
+.mb<br>
+-label<br>
+.mb<br>
+-text<br>
+radiobutton<br>
+\\<br>
+"by<br>
+-variable<br>
+DATE<br>
+}<br>
+.options.prefs<br>
+{<br>
+Colors...<br>
+Fonts...<br>
+-side<br>
+-fill<br>
+</pre><H2>CAVEATS</H2><br>
+as<br>
+<B>-menu</B><br>
+by<br>
+<B>subst</B><br>
+side<br>
+that<br>
+may<br>
+and/or<br>
+substitutions<br>
+more<br>
+word.<br>
+be<br>
+candidate<br>
+braces<br>
+for<br>
+for<br>
+still<br>
+a<br>
+not<br>
+following<br>
+case:<br>
+set<br>
+set<br>
+.mb<br>
+file<br>
+edit<br>
+{<br>
+-label<br>
+{[scope<br>
+1<br>
+}<br>
+Options<br>
+</td>
+<td valign=top>
+-width<br>
+entry<br>
+pack<br>
+-fill<br>
+pack<br>
+-expand<br>
+-anchor<br>
+-expand<br>
+USING<br>
+same<br>
+created<br>
+add<br>
+<P><br>
+.mb<br>
+menubutton<br>
+-menu<br>
+-label<br>
+-label<br>
+command<br>
+}<br>
+Edit<br>
+add<br>
+Undo<br>
+add<br>
+add<br>
+Cut<br>
+add<br>
+Copy<br>
+add<br>
+Paste<br>
+add<br>
+Options<br>
+byName<br>
+-value<br>
+Name"<br>
+viewMode<br>
+-label<br>
+.mb<br>
+-label<br>
+command<br>
+command<br>
+}<br>
+left<br>
+x<br>
+The<br>
+well<br>
+option<br>
+menubar<br>
+command.<br>
+of<br>
+the<br>
+contain<br>
+backslash<br>
+might<br>
+than<br>
+These<br>
+protected<br>
+substitutions<br>
+({}).<br>
+example,<br>
+an<br>
+be<br>
+single<br>
+multiple<br>
+example<br>
+<table><br>
+fileMenuName<br>
+var<br>
+-menubuttons<br>
+-text<br>
+-text<br>
+checkbutton<br>
+Check<br>
+var]}<br>
+\\<br>
+menubutton<br>
+}<br>
+</td>
+<td valign=top>
+300<br>
+.ef<br>
+.mb<br>
+x<br>
+.fr<br>
+yes<br>
+sw<br>
+yes<br>
+METHODS</H2><br>
+menu<br>
+by<br>
+and<br>
+<table><br>
+configure<br>
+file<br>
+{<br>
+New<br>
+Close<br>
+quit<br>
+menubutton<br>
+}<br>
+command<br>
+-underline<br>
+separator<br>
+command<br>
+-underline<br>
+command<br>
+-underline<br>
+command<br>
+-underline<br>
+menubutton<br>
+-menu<br>
+-variable<br>
+NAME<br>
+radiobutton<br>
+\\<br>
+"by<br>
+add<br>
+Preferences<br>
+colors<br>
+fonts<br>
+pack<br>
+-anchor<br>
+-expand<br>
+<B>-menubuttons</B><br>
+as<br>
+is<br>
+with<br>
+The<br>
+this<br>
+option<br>
+variables,<br>
+substitutions.<br>
+expand<br>
+a<br>
+expansions<br>
+by<br>
+in<br>
+This<br>
+a<br>
+option<br>
+treated<br>
+value<br>
+values.<br>
+illustrates<br>
+<UL><br>
+"File<br>
+{}<br>
+{<br>
+{$fileMenuName}<br>
+Edit<br>
+check<br>
+\\<br>
+\\<br>
+-offvalue<br>
+options<br>
+</td>
+</table>
+<UL>
+The variable <I>fileMenuName</I> will expand to "File Menu" when the <B>subst</B> command is used on the menubutton specification. In addition, the [<B>scope</B>...] command will expand to @scope :: var. By enclosing these inside {} they stay as a single value. Note that only {} work for this. [list...], "" etc. will not protect these from the subst command.
+</UL>
+</pre><H2>ACKNOWLEDGMENTS</H2>
+<P>
+Bret Schumaker
+<UL>
+1994 - Early work on a menubar widget.
+</UL>
+<P>
+Mark Ulferts, Mark Harrison, John Sigler
+<UL>
+Invaluable feedback on grammar and usability of the menubar widget
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+frame, menu, menubutton, entries, help
 
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     menubar - Create and manipulate menubar menu widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>menubar</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- menubar
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>borderWidth</STRONG>     <STRONG>highlightBackgroundpadY</STRONG>
-     <STRONG>activeBorderWidth</STRONG>              <STRONG>cursor</STRONG>          <STRONG>highligthThicknessrelief</STRONG>
-     <STRONG>activeForeground</STRONG>               <STRONG>disabledForegroundhighlightColorwrapLength</STRONG>
-     <STRONG>anchor</STRONG>          <STRONG>font</STRONG>           <STRONG>justify</STRONG>
-     <STRONG>background</STRONG>      <STRONG>foreground</STRONG>     <STRONG>padX</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>helpVariable</STRONG>
-     Class:          <STRONG>HelpVariable</STRONG>
-     Command-Line Switch:           <STRONG>-helpvariable</STRONG>
-
-          Specifies the global variable to  update  whenever  the
-          mouse is in motion over a menu entry. This global vari-
-          able is updated with the current value  of  the  active
-          menu  entry's  <STRONG>helpStr</STRONG>.  Other widgets can "watch" this
-          variable with the trace command, or as is the case with
-          entry or label widgets, they can set their <STRONG>textVariable</STRONG>
-          to the same global variable. This allows for  a  simple
-          implementation of a help status bar. Whenever the mouse
-          leaves a menu entry, the helpVariable  is  set  to  the
-          empty  string  {}.  The  mainwindow(1)  associates  its
-          helpstatus and its menubar in this fashion.
-
-     Name:           <STRONG>menuButtons</STRONG>
-     Class:          <STRONG>MenuButtons</STRONG>
-     Command-Line Switch:           <STRONG>-menubuttons</STRONG>
-
-          The menuButton option is a string which  specifies  the
-          arrangement  of  menubuttons on the menubar frame. Each
-          menubutton entry is delimited by the newline character.
-
-          menubar .mb -menubuttons {
-                  menubutton file -text File
-                  menubutton edit -text Edit
-                  menubutton options -text Options
-          }
-
-          specifies that three menubuttons will be added  to  the
-          menubar (file, edit, options). Each entry is translated
-          into an add command call.
-
-          The <STRONG>menuButtons</STRONG> option can accept  embedded  variables,
-          commands, and backslash quoting. Embedded variables and
-          commands must be  enclosed  in  curly  braces  ({})  to
-          ensure proper parsing of the substituted values.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>menubar</STRONG> command creates a new window (given by the <EM>path-</EM>
-     <EM>Name</EM>  argument)  and  makes  it  into a <STRONG>menubar</STRONG> menu widget.
-     Additional options, described above may be specified on  the
-     command  line or in the option database to configure aspects
-     of the menubar such as its colors and font. The <STRONG>menubar</STRONG> com-
-     mand returns its <EM>pathName</EM> argument. At the time this command
-     is invoked, there must not exist a  window  named  pathName,
-     but pathName's parent must exist.
-
-     A <STRONG>menubar</STRONG> is a widget that simplifies the task  of  creating
-     menu hierarchies. It encapsulates a <STRONG>frame</STRONG> widget, as well as
-     <STRONG>menubuttons</STRONG>, <STRONG>menus</STRONG>, and menu  <STRONG>entries</STRONG>.  The  menubar  allows
-     menus  to  be  specified and referenced in a more consistent
-     manner than using Tk to build menus directly.
-
-     <STRONG>Menubar</STRONG> allows a menu tree to be expressed in a  hierachical
-     "language".  The  <STRONG>menubar</STRONG>  accepts a <STRONG>menuButtons</STRONG> option that
-     allows a list of menubuttons to be added to the menubar.  In
-     turn, each menubutton accepts a <STRONG>menu</STRONG> option that specifies a
-     list of menu entries to be added to the  menubutton's  menu.
-     Cascade entries also accept the <STRONG>menu</STRONG> option for specifying a
-     list of menu entries to be added to the cascade's menu.
-
-     Additionally, the menubar allows each component of the menu-
-     bar system to be referenced by a simple <EM>menuPathName</EM> syntax.
-     The menubar also extends the set of options for menu entries
-     to include a <STRONG>helpStr</STRONG> option.
-
-
-</PRE>
-<H2>MENU PATH NAMES</H2><PRE>
-     A <EM>menuPathName</EM> is a series of component names  separated  by
-     the  `.' character. Each menubar component can be referenced
-     via these <EM>menuPathNames</EM>. <EM>menuPathNames</EM> are similar to widget
-     pathNames  in Tk. Some correspond directly to a widget path-
-     Name  (components  of  type  <STRONG>menu</STRONG>  or  <STRONG>menubutton</STRONG>),   others
-     correspond to a menu entry type. Every widget and entry in a
-     menubar can be referenced with the <EM>menuPathName</EM> naming  con-
-     vention. A menubar can have four types of components:
-
-          <STRONG>frame</STRONG>. A menubar holds exactly one frame which  manages
-          menubuttons.  The  frame is always signified by the `.'
-          character as the path name.
-          <STRONG>menubutton</STRONG>. A menubutton corresponds directly to  a  Tk
-          menubutton. See menubutton(n).
-
-          <STRONG>menu</STRONG>.  A  menu  is  attached  to   a   menubutton   and
-          corresponds  directly  to  Tk's  menu widget. A menu is
-          always signified by the <EM>menuPathName</EM>  ending  with  the
-          keyword <STRONG>menu</STRONG>. See menu(n).
-
-          <STRONG>entry</STRONG>. An  entry  corresponds  directly  to  Tk's  menu
-          widget  entries.  Menus consist of a column of one line
-          entries. Entries may be of type: <STRONG>command</STRONG>,  <STRONG>checkbutton</STRONG>,
-          <STRONG>radiobutton</STRONG>,  <STRONG>separator</STRONG>,  or  <STRONG>cascade</STRONG>.  For  a complete
-          description  of  these  types  see  the  discussion  on
-          <STRONG>ENTRIES</STRONG> in menu(n).
-
-     The suffix of a <EM>menuPathName</EM> may have the form of:
-
-     <EM>tkWidgetName</EM>  Specifies the name of the component, either  a
-                   <STRONG>frame</STRONG>,  <STRONG>menubutton</STRONG>, <STRONG>menu</STRONG>, or an <STRONG>entry</STRONG>. This is
-                   the normal naming  of  widgets.  For  example,
-                   .file references a <STRONG>menubutton</STRONG> named <EM>file</EM>.
-
-     The  <EM>menuPathName</EM>  is  a  series  of  segment  names,   each
-     separated  by the '.' character. Segment names may be one of
-     the following forms:
-
-     <EM>number</EM>        Specifies the index of the the component.  For
-                   menubuttons,  0  corresponds  to the left-most
-                   menubutton of the menu bar frame. As an  exam-
-                   ple,  .<EM>1</EM>  would correspond to the second menu-
-                   button on the menu bar frame.
-
-                   For entries, 0  corresponds  to  the  top-most
-                   entry  of the menu. For example, .file.0 would
-                   correspond to the  first  entry  on  the  menu
-                   attached to the menubutton named <EM>file</EM>.
-
-     <STRONG>end</STRONG>           Specifes the last component. For  menubuttons,
-                   it  specifies the right-most entry of the menu
-                   bar frame. For menu entries, it specifies  the
-                   bottom-most entry of the menu.
-
-     <STRONG>last</STRONG>          Same as end.
-
-     Finally, menu components always end with the  <STRONG>menu</STRONG>  keyword.
-     These  components  are  automatically  created via the -menu
-     option on menubuttons and cascades or via the <STRONG>add</STRONG> or  <STRONG>insert</STRONG>
-     commands.
-
-     <STRONG>menu</STRONG>          Specifes the menu pane that is associated with
-                   the  given  menubutton  prefix.  For  example,
-                   .<EM>file</EM>.<EM>menu</EM> specifies the menu pane attached to
-                   the
-
-     For example, the path .<EM>file</EM>.<EM>new</EM> specifies  the  entry  named
-     new  on the menu associated with the file menubutton located
-     on the menu bar. The path .<EM>file</EM>.<EM>menu</EM> specifies the menu pane
-     associated  with the menubutton .<EM>file</EM>. The path .<EM>last</EM> speci-
-     fies the last menu on the menu bar. The path  .<EM>0</EM>.<EM>last</EM>  would
-     specify  the  first  menu  (file) and the last entry on that
-     menu (quit), yielding .<EM>file</EM>.<EM>quit</EM>.
-
-     As a restriction, the last name segment of <EM>menuPathName</EM> can-
-     not  be one of the keywords last, menu, end, nor may it be a
-     numeric value (integer).
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     The <STRONG>menubar</STRONG> command creates a new Tcl command whose name  is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget. It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     In addition, many of the widget commands for menubar take as
-     one  argument  a  path  name to a menu component. These path
-     names are called <EM>menuPathName</EM>s. See the discussion on  <STRONG>MENU-</STRONG>
-     <STRONG>BAR</STRONG> <STRONG>PATH</STRONG> <STRONG>NAMES</STRONG> above.
-
-     The following commands are possible for menubar widgets:
-
-     <EM>pathName</EM> <STRONG>add</STRONG> <EM>type</EM> <EM>menuPathName</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM>?
-          Adds either a menu to the menu bar or a menu entry to a
-          menu pane.
-
-          If  additional  arguments  are  present,  they  specify
-          <EM>option</EM>s  available to component type <STRONG>entry</STRONG>. See the man
-          pages for <STRONG>menu</STRONG>(1) in the section on <STRONG>ENTRIES</STRONG>.
-
-          If  <EM>type</EM>  is  one  of  <STRONG>cascade</STRONG>,  <STRONG>checkbutton</STRONG>,  <STRONG>command</STRONG>,
-          <STRONG>radiobutton</STRONG>,  or  <STRONG>separator</STRONG>  it adds a new entry to the
-          bottom of the menu denoted by the prefix  of  <EM>menuPath-</EM>
-          <EM>Name</EM>.  If additonal arguments are present, they specify
-          options available to menu <STRONG>entry</STRONG> widgets.  In  addition,
-          the  <STRONG>helpStr</STRONG>  option  is added by the menubar widget to
-          all components of type entry.
-
-          <STRONG>-helpstr</STRONG> <EM>value</EM>
-               Specifes the string to associate with  the  entry.
-               When  the  mouse  moves over the associated entry,
-               the  variable  denoted  by  <STRONG>helpVariable</STRONG>  is  set.
-               Another  widget  can  bind to the helpVariable and
-               thus display status help.
-
-          If the type of the component  added  is  <STRONG>menubutton</STRONG>  or
-          <STRONG>cascade</STRONG>,  a menubutton or cascade is added to the menu-
-          bar. If additional arguments are present, they  specify
-          options  available to menubutton or cascade widgets. In
-          addition, the <STRONG>menu</STRONG>  option  is  added  by  the  menubar
-          widget to all menubutton and cascade widgets.
-
-          <STRONG>-menu</STRONG> <EM>menuSpec</EM>
-               This is only valid for <EM>menuPathName</EM>s of type <STRONG>menu-</STRONG>
-               <STRONG>button</STRONG> or <STRONG>cascade</STRONG>. Specifes an option set and/or a
-               set of entries to place on a  menu  and  associate
-               with the menubutton or cascade. The <STRONG>option</STRONG> keyword
-               allows the menu widget to be configured. Each item
-               in  the  <EM>menuSpec</EM> is treated as add commands (each
-               with  the  possibility  of  having   other   -menu
-               options).  In  this  way a menu can be recursively
-               built.
-
-               The last segment of <EM>menuPathName</EM> cannot be one  of
-               the keywords <STRONG>last</STRONG>, <STRONG>menu</STRONG>, <STRONG>end</STRONG>. Additionally, it may
-               not be a <EM>number</EM>. However the <EM>menuPathName</EM>  may  be
-               referenced  in this manner (see discussion of <STRONG>COM-</STRONG>
-               <STRONG>PONENT</STRONG> <STRONG>PATH</STRONG> <STRONG>NAMES</STRONG>).
-
-               Note that the same curly brace quoting rules apply
-               to  <STRONG>-menu</STRONG>  option  strings  as did to <STRONG>-menubuttons</STRONG>
-               option strings.  See  the  earlier  discussion  on
-               <STRONG>umenubuttons</STRONG> in the "<STRONG>WIDGET-SPECIFIC</STRONG> <STRONG>OPTIONS</STRONG>" sec-
-               tion.
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given by <EM>option</EM>.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>options</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM>?
-          Query  or  modify  the  configuration  options  of  the
-          widget.  If  no  <EM>option</EM>  is  specified,  returns a list
-          describing all of the available  options  for  <STRONG>pathName</STRONG>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list). If <EM>option</EM> is specified with no value,  then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no option is
-          specified). If  one  or  more  option-value  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s); in this case  the
-          command returns an empty string.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>menuPathName</EM> ?<EM>menuPathName2</EM>?
-          If <EM>menuPathName</EM> is  of  component  type  <STRONG>Menubutton</STRONG>  or
-          <STRONG>Menu</STRONG>,  delete  operates on menus. If <EM>menuPathName</EM> is of
-          component type <STRONG>Entry</STRONG>, delete operates on menu entries.
-
-          This command deletes all components  between  <EM>menuPath-</EM>
-          <EM>Name</EM>  and  <EM>menuPathName2</EM> inclusive. If <EM>menuPathName2</EM> is
-          omitted then it defaults to  <EM>menuPathName</EM>.  Returns  an
-          empty string.
-
-          If <EM>menuPathName</EM> is of type menubar, then all menus  and
-          the  menu  bar  frame  will  be destroyed. In this case
-          <EM>menuPathName2</EM> is ignored.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>menuPathName</EM>
-          If <EM>menuPathName</EM> is  of  type  menubutton  or  menu,  it
-          returns  the  position  of  the  menu/menubutton on the
-          menubar frame.
-
-          If  <EM>menuPathName</EM>  is  of   type   <STRONG>command</STRONG>,   <STRONG>separator</STRONG>,
-          <STRONG>radiobutton</STRONG>,  <STRONG>checkbutton</STRONG>,  or  <STRONG>cascade</STRONG>, it returns the
-          menu widget's numerical index for the entry correspond-
-          ing  to  <EM>menuPathName</EM>. If path is not found or the path
-          is equal to ".", a value of -1 is returned.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>menuPathName</EM> <EM>type</EM> <EM>name</EM> ?<EM>option</EM> <EM>value</EM>?
-          Insert a new component named name before the  component
-          specified by <EM>menuPathName</EM>.
-
-          If <EM>menuPathName</EM> is of type <STRONG>Menubutton</STRONG> or <STRONG>Menu</STRONG>, the  new
-          component  inserted  is of type <STRONG>Menu</STRONG> and given the name
-          name. In this case valid <EM>option</EM> <EM>value</EM> pairs  are  those
-          accepted by menubuttons.
-
-          If <EM>menuPathName</EM> is of type  <STRONG>Entry</STRONG>,  the  new  component
-          inserted  is  of type <STRONG>entry</STRONG> and given the name <EM>name</EM>. In
-          this case, valid <EM>option</EM> <EM>value</EM> pairs are those  accepted
-          by  menu  entries.   <EM>Name</EM> cannot be one of the keywords
-          <STRONG>last</STRONG>, <STRONG>menu</STRONG>, <STRONG>end</STRONG>. Additionally, it may not be a  number.
-          However  the  <EM>menuPathName</EM>  may  be  referenced in this
-          manner (see discussion of <STRONG>COMPONENT</STRONG> <STRONG>PATH</STRONG> <STRONG>NAMES</STRONG>).
-
-     <EM>pathName</EM> <STRONG>invoke</STRONG> <EM>menuPathName</EM>
-          Invoke the action of the menu entry  denoted  by  <EM>menu-</EM>
-          <EM>PathName</EM>. See the sections on the individual entries in
-          the menu(1) man pages. If the menu  entry  is  disabled
-          then  nothing happens. If the entry has a command asso-
-          ciated with it then  the  result  of  that  command  is
-          returned  as  the  result of the <STRONG>invoke</STRONG> widget command.
-          Otherwise the result is an empty string.
-
-          If <EM>menuPathName</EM> is  not  a  menu  entry,  an  error  is
-          issued.
-
-     <EM>pathName</EM> <STRONG>menucget</STRONG> <EM>menuPathName</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM>?
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.  The  component type of <EM>menuPathName</EM>
-          determines the valid available options.
-
-     <EM>pathName</EM> <STRONG>menuconfigure</STRONG> <EM>menuPathName</EM> ?<EM>option</EM> <EM>value</EM>?
-          Query or modify the configuration options of  the  com-
-          ponet  of  the menubar specified by <EM>menuPathName</EM>. If no
-          <EM>option</EM> is specified, returns a list describing  all  of
-          the    available    options   for   <EM>menuPathName</EM>   (see
-          <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of  this
-          list).  If  <EM>option</EM> is specified with no value, then the
-          command returns a list describing the one named  option
-          (this  list will be identical to the corresponding sub-
-          list of the value returned if no option is  specified).
-          If  one  or more option-value pairs are specified, then
-          the command modifies the given widget option(s) to have
-          the given value(s); in this case the command returns an
-          empty string. The component type of <EM>menuPathName</EM> deter-
-          mines the valid available options.
-
-     <EM>pathName</EM> <STRONG>path</STRONG> ?<EM>mode</EM>? <EM>pattern</EM>
-          Returns a fully formed <EM>menuPathName</EM> that  matches  <EM>pat-</EM>
-          <EM>tern</EM>.  If  no  match  is  found it returns -1. The <EM>mode</EM>
-          argument indicates how the  search  is  to  be  matched
-          against  <EM>pattern</EM>  and it must have one of the following
-          values:
-
-          <STRONG>-glob</STRONG>
-               Pattern is a glob-style pattern which  is  matched
-               against  each  component path using the same rules
-               as the string match command.
-
-          <STRONG>-regexp</STRONG>
-               Pattern is treated as  a  regular  expression  and
-               matched against each component of the <EM>menuPathName</EM>
-               using the same rules as the regexp  command.   The
-               default mode is -glob.
-
-     <EM>pathName</EM> <STRONG>type</STRONG> <EM>menuPathName</EM>
-          Returns the type of the component  specified  by  <EM>menu-</EM>
-          <EM>PathName</EM>.  For  menu entries, this is the type argument
-          passed to the <STRONG>add</STRONG>/<STRONG>insert</STRONG> widget command when the  entry
-          was  created, such as <STRONG>command</STRONG> or <STRONG>separator</STRONG>. Othewise it
-          is either a <STRONG>menubutton</STRONG> or a <STRONG>menu</STRONG>.
-
-     <EM>pathName</EM> <STRONG>yposition</STRONG> <EM>menuPathName</EM>
-          Returns a decimal string giving the y-coordinate within
-          the  menu  window  of  the  topmost  pixel in the entry
-          specified by <EM>menuPathName</EM>. If the <EM>menuPathName</EM>  is  not
-          an entry, an error is issued.
-
-
-</PRE>
-<H2>EXAMPLE ONE: USING GRAMMAR</H2><PRE>
-     The following example creates a menubar with "File", "Edit",
-     "Options"  menubuttons.  Each  of  these  menubuttons has an
-     associated menu. In turn the File menu has menu entries,  as
-     well as the Edit menu and the Options menu. The Options menu
-     is a tearoff menu with selectColor (for radiobuttons) set to
-     blue.   In  addition,  the Options menu has a cascade titled
-     More, with several menu entries attached to it as  well.  An
-     entry widget is provided to display help status.
-
-     menubar .mb -helpvariable helpVar -menubuttons {
-         menubutton file -text File -menu {
-             options -tearoff false
-             command new -label New \
-                 -helpstr "Open new document" \
-                 -command {puts NEW}
-             command close -label Close \
-                 -helpstr "Close current document" \
-                 -command {puts CLOSE}
-             separator sep1
-             command exit -label Exit -command {exit} \
-                 -helpstr "Exit application"
-         }
-         menubutton edit -text Edit -menu {
-             options -tearoff false
-             command undo -label Undo -underline 0 \
-                 -helpstr "Undo last command" \
-                 -command {puts UNDO}
-             separator sep2
-             command cut -label Cut -underline 1 \
-                 -helpstr "Cut selection to clipboard" \
-                 -command {puts CUT}
-             command copy -label Copy -underline 1 \
-                 -helpstr "Copy selection to clipboard" \
-                 -command {puts COPY}
-             command paste -label Paste -underline 0 \
-                 -helpstr "Paste clipboard contents" \
-                 -command {puts PASTE}
-         }
-         menubutton options -text Options -menu {
-             options -tearoff false -selectcolor blue
-             radiobutton byName -variable viewMode \
-                 -value NAME -label "by Name" \
-                 -helpstr "View files by name order" \
-                 -command {puts NAME}
-             radiobutton byDate -variable viewMode \
-                 -value DATE -label "by Date" \
-                 -helpstr "View files by date order" \
-                 -command {puts DATE}
-             cascade prefs -label Preferences -menu {
-                 command colors -label Colors... \
-                     -helpstr "Change text colors" \
-                     -command {puts COLORS}
-                 command fonts -label Fonts... \
-                     -helpstr "Change text font" \
-                     -command {puts FONT}
-             }
-         }
-
-     }
-
-     frame .fr -width 300 -height 300
-     entry .ef -textvariable helpVar
-     pack .mb -anchor nw -fill x -expand yes
-     pack .fr -fill both -expand yes
-     pack .ef -anchor sw -fill x -expand yes
-
-
-
-</PRE>
-<H2>EXAMPLE TWO: USING METHODS</H2><PRE>
-     Alternatively the same menu could be created  by  using  the
-     add and configure methods:
-
-      menubar .mb
-      .mb configure -menubuttons {
-             menubutton file -text File -menu {
-                     command new -label New
-                     command close -label Close
-                     separator sep1
-                     command        quit -label Quit
-             }
-             menubutton edit -text Edit
-      }
-
-
-      .mb add command .edit.undo -label Undo -underline 0
-      .mb add separator .edit.sep2
-      .mb add command .edit.cut -label Cut -underline 1
-      .mb add command .edit.copy -label Copy -underline 1
-      .mb add command .edit.paste -label Paste -underline 0
-
-      .mb add menubutton .options -text Options -menu {
-             radiobutton byName -variable viewMode \
-                      -value NAME -label "by Name"
-             radiobutton byDate -variable viewMode \
-                      -value DATE -label "by Date"
-     }
-
-      .mb add cascade .options.prefs -label Preferences -menu {
-                     command colors -label Colors...
-                     command fonts -label Fonts...
-      }
-      pack .mb -side left -anchor nw -fill x -expand yes
-
-
-
-</PRE>
-<H2>CAVEATS</H2><PRE>
-     The <STRONG>-menubuttons</STRONG> option as  well  as  the  <STRONG>-menu</STRONG>  option  is
-     evaluated  by  menubar  with the <STRONG>subst</STRONG> command. The positive
-     side of this is that the option  string  may  contain  vari-
-     ables,  commands,  and/or  backslash substitutions. However,
-     substitutions might expand into more  than  a  single  word.
-     These  expansions  can  be  protected by enclosing candidate
-     substitutions in curly braces ({}). This ensures, for  exam-
-     ple, a value for an option will still be treated as a single
-     value and not multiple values. The following example  illus-
-     trates this case:
-
-          set fileMenuName "File Menu"
-          set var {}
-          menubar .mb -menubuttons {
-                  menubutton file -text {$fileMenuName}
-                  menubutton edit -text Edit -menu {
-                          checkbutton check \
-                                  -label Check \
-                                  -variable {[scope var]} \
-                                  -onvalue 1 \
-                                  -offvalue 0
-                  }
-                  menubutton options -text Options
-          }
-
-          The variable <EM>fileMenuName</EM> will expand  to  "File  Menu"
-          when  the  <STRONG>subst</STRONG>  command  is  used  on  the menubutton
-          specification. In addition, the [<STRONG>scope</STRONG>...] command will
-          expand  to  @scope :: var. By enclosing these inside {}
-          they stay as a single value. Note that only {} work for
-          this.  [list...],  ""  etc. will not protect these from
-          the subst command.
-
-
-</PRE>
-<H2>ACKNOWLEDGMENTS</H2><PRE>
-     Bret Schumaker
-
-          1994 - Early work on a menubar widget.
-
-     Mark Ulferts, Mark Harrison, John Sigler
-
-          Invaluable feedback on grammar  and  usability  of  the
-          menubar widget
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Bill W. Scott
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     frame, menu, menubutton, entries, help
-
-
-
-</PRE>
-</BODY>
-</HTML>
index 321baeb..db90483 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - messagedialog</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - messagedialog</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     messagedialog -  Create  and  manipulate  a  message  dialog
-     widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>messagedialog</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- Shell &lt;-  Dialogshell  &lt;-  Dialog  &lt;-  Mes-
-     sagedialog
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>anchor</STRONG>          <STRONG>background</STRONG>     <STRONG>bitmap</STRONG>          <STRONG>cursor</STRONG>
-     <STRONG>font</STRONG>            <STRONG>foreground</STRONG>     <STRONG>image</STRONG>           <STRONG>justify</STRONG>
-     <STRONG>text</STRONG>            <STRONG>wrapLength</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>buttonBoxPadX</STRONG>   <STRONG>buttonBoxPadY</STRONG>  <STRONG>buttonBoxPos</STRONG>    <STRONG>padX</STRONG>
-     <STRONG>padY</STRONG>            <STRONG>separator</STRONG>      <STRONG>thickness</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited options.
-
-     <STRONG>master</STRONG>          <STRONG>modality</STRONG>       <STRONG>title</STRONG>
-
-     See the "shell" widget manual entry for details on the above
-     inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>imagePos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-imagepos</STRONG>
-
-          Specifies the image position relative  to  the  message
-          text: <STRONG>n</STRONG>, <STRONG>s</STRONG>, <STRONG>e</STRONG>, or <STRONG>w</STRONG>.  The default is w.
-
-     Name:           <STRONG>textPadX</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-textpadx</STRONG>
-
-          Specifies a  non-negative  value  indicating  how  much
-          extra  space  to  request for the message text in the X
-          direction.  The value may have any of the forms accept-
-          able to Tk_GetPixels.
-
-     Name:           <STRONG>textPadY</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-textpady</STRONG>
-
-          Specifies a  non-negative  value  indicating  how  much
-          extra  space  to  request for the message text in the X
-          direction.  The value may have any of the forms accept-
-          able to Tk_GetPixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>messagedialog</STRONG> command creates a message dialog composite
-     widget.  The  messagedialog is derived from the Dialog class
-     and is composed of an image and associated message text with
-     commands to manipulate the dialog buttons.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>messagedialog</STRONG> command creates a new  Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.  The following commands are possible for messagedialog
-     widgets:
-
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>add</STRONG>             <STRONG>buttonconfigure</STRONG>                <STRONG>defaulthide</STRONG>
-     <STRONG>insert</STRONG>          <STRONG>invoke</STRONG>         <STRONG>show</STRONG>
-
-     See the "buttonbox" widget manual entry for details  on  the
-     above inherited methods.
-
-     <STRONG>childsite</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited methods.
-
-     <STRONG>activate</STRONG>        <STRONG>center</STRONG>         <STRONG>deactivate</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>messagedialog</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>messagedialog</STRONG> command.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>image</STRONG>
-     Class:          <STRONG>Label</STRONG>
-
-          The image component is the bitmap or image of the  mes-
-          sage  dialog.   See the "label" widget manual entry for
-          details on the image component item.
-
-     Name:           <STRONG>msg</STRONG>
-     Class:          <STRONG>Label</STRONG>
-
-          The msg component provides the textual portion  of  the
-          message  dialog.   See  the "label" widget manual entry
-          for details on the msg component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           #
-           # Standard question message dialog used for confirmation.
-           #
-           messagedialog .md -title "Message Dialog" -text "Are you sure ?" \
-                          -bitmap questhead -modality global
-
-           .md hide Help
-           .md buttonconfigure OK -text Yes
-           .md buttonconfigure Cancel -text No
-
-           if {[.md activate]} {
-              .md configure -text "Are you really sure ?"
-              if {[.md activate]} {
-                          puts stdout "Yes"
-              } else {
-                          puts stdout "No"
-              }
-           } else {
-              puts stdout "No"
-
-           }
-
-           destroy .md
-
-           #
-           # Copyright notice with automatic deactivation.
-           #
-           messagedialog .cr -title "Copyright" -bitmap @dsc.xbm -imagepos n \
-               -text "Copyright 1995 DSC Communications Corporation\n \
-                              All rights reserved"
-
-           .cr hide Apply
-           .cr hide Cancel
-           .cr hide Help
-
-           .cr activate
-           after 10000 ".cr deactivate"
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     messagedialog, dialog, dialogshell, shell, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>messagedialog - Create and manipulate a message dialog widget</TITLE>
+<H1>messagedialog - Create and manipulate a message dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>messagedialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog &lt;- Messagedialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>bitmap</B><br>
+<B>image</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>text</B><br>
+</td>
+<td valign=top>
+<B>font</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+<P>
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>imagePos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-imagepos</B>
+</pre>
+<UL>
+Specifies the image position relative to the message text: <B>n</B>, <B>s</B>, 
+<B>e</B>, or <B>w</B>.  The default is w.
+</UL>
+<P>
+<pre>
+Name:                   <B>textPadX</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-textpadx</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for 
+the message text in the X direction.  The value may have any of the forms 
+acceptable to Tk_GetPixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>textPadY</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-textpady</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for 
+the message text in the X direction.  The value may have any of the forms 
+acceptable to Tk_GetPixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>messagedialog</B> command creates a message dialog composite widget. 
+The messagedialog is derived from the Dialog class and is composed of 
+an image and associated message text with commands to manipulate the 
+dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>messagedialog</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for messagedialog widgets:
+
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>messagedialog</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>messagedialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>image</B>
+Class:                  <B>Label</B>
+</pre>
+<UL>
+The image component is the bitmap or image of the message dialog.  See 
+the "label" widget manual entry for details on the image component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>message</B>
+Class:                  <B>Label</B>
+</pre>
+<UL>
+The message component provides the textual portion of the message dialog.
+See the "label" widget manual entry for details on the message component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ #
+ # Standard question message dialog used for confirmation.
+ #
+ messagedialog .md -title "Message Dialog" -text "Are you sure ?" \\
+       -bitmap questhead -modality global
+
+ .md buttonconfigure OK -text Yes
+ .md buttonconfigure Cancel -text No
+
+ if {[.md activate]} {
+    .md configure -text "Are you really sure ?"
+    if {[.md activate]} {
+       puts stdout "Yes"
+    } else {
+       puts stdout "No"
+    }
+ } else {
+    puts stdout "No"
+ }
+
+ destroy .md
+
+ #
+ # Copyright notice with automatic deactivation.
+ #
+ messagedialog .cr -title "Copyright" -bitmap @dsc.xbm -imagepos n \\
+     -text "Copyright 1995 DSC Communications Corporation\\n \\
+           All rights reserved"
+ .cr hide Cancel
+
+ .cr activate
+ after 10000 ".cr deactivate"
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+messagedialog, dialog, dialogshell, shell, widget
index 5dfd49c..62c90dc 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - notebook</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - notebook</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     notebook - create and manipulate notebook widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>notebook</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- notebook
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>foreground</STRONG>     <STRONG>scrollCommand</STRONG>   <STRONG>width</STRONG>
-     <STRONG>cursor</STRONG>          <STRONG>height</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>auto</STRONG>
-     Class:          <STRONG>Auto</STRONG>
-     Command-Line Switch:           <STRONG>-auto</STRONG>
-
-          Specifies    whether    to    use     the     automatic
-          packing/unpacking algorithm of the notebook. A value of
-          <STRONG>true</STRONG> indicates that page frames will  be  unpacked  and
-          packed  acoording  to  the  algorithm  described in the
-          <STRONG>select</STRONG> command. A value of  <STRONG>false</STRONG>  leaves  the  current
-          page  packed  and subsequent selects, next, or previous
-          commands do not switch pages automatically.  In  either
-          case   the  page's  associated  command  (see  the  <STRONG>add</STRONG>
-          command's  description  of  the  <STRONG>command</STRONG>   option)   is
-          invoked.  The  value may have any of the forms accepted
-          by the <STRONG>Tcl_GetBoolean</STRONG>, such as true, false, 0, 1,  yes,
-          or no.
-
-          For example, if a series of pages in a notebook  simply
-          change  certain  display  configurations of a graphical
-          display, the <STRONG>-auto</STRONG> flag could be used. By  setting  it,
-          the <STRONG>-command</STRONG> procs could do the appropriate reconfigur-
-          ing of the page when the page is switched.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>notebook</STRONG> command creates a  new  window  (given  by  the
-     pathName  argument)  and  makes  it  into a notebook widget.
-     Additional options, described above may be specified on  the
-     command  line or in the option database to configure aspects
-     of the notebook such as its  colors,  font,  and  text.  The
-     <STRONG>notebook</STRONG>  command returns its <EM>pathName</EM> argument. At the time
-     this command is invoked, there must not exist a window named
-     pathName, but pathName's parent must exist.
-     A notebook is a widget that contains  a  set  of  pages.  It
-     displays  one page from the set as the selected page. When a
-     page is selected, the page's contents are displayed  in  the
-     page area. When first created a notebook has no pages. Pages
-     may be added or  deleted  using  widget  commands  described
-     below.
-
-
-
-</PRE>
-<H2>NOTEBOOK PAGES</H2><PRE>
-     A notebook's pages area contains a single child site  <STRONG>frame</STRONG>.
-     When  a new page is created it is a child of this frame. The
-     page's child site frame serves as a geometry  container  for
-     applications  to pack widgets into. It is this frame that is
-     automatically unpacked or packed when  the  <STRONG>auto</STRONG>  option  is
-     <STRONG>true</STRONG>. This creates the effect of one page being visible at a
-     time. When a new page is selected, the  previously  selected
-     page's  child  site frame is automatically unpacked from the
-     notebook's child site frame and the  newly  selected  page's
-     child site is packed into the notebook's child site frame.
-
-     However, sometimes it is desirable to handle page changes in
-     a  different manner. By specifying the <STRONG>auto</STRONG> option as <STRONG>false</STRONG>,
-     child site packing can be disabled and done differently. For
-     example,  all  widgets might be packed into the first page's
-     child site frame. Then when a  new  page  is  selected,  the
-     application can reconfigure the widgets and give the appear-
-     ance that the page was flipped.
-
-     In both cases the <STRONG>command</STRONG> option for a page specifies a  Tcl
-     Command to execute when the page is selected. In the case of
-     <STRONG>auto</STRONG> being <STRONG>true</STRONG>, it is called between the unpacking  of  the
-     previously  selected  page  and  the  packing  of  the newly
-     selected page.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     The <STRONG>notebookfR</STRONG> <STRONG>command</STRONG> <STRONG>creates</STRONG> <STRONG>a</STRONG> <STRONG>new</STRONG> <STRONG>Tcl</STRONG> <STRONG>command</STRONG> <STRONG>whose</STRONG>  <STRONG>name</STRONG>
-     <STRONG>is</STRONG>  <EM>pathName</EM>.  This  command  may  be used to invoke various
-     operations on the widget. It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     Many of the widget commands for a notebook take as one argu-
-     ment  an  indicator of which page of the notebook to operate
-     on. These indicators are called indexes and may be specified
-     in any of the following forms:
-
-     <EM>number</EM>
-          Specifies the index of the the component. For menus,  0
-          corresponds  to the left-most menu of the menu bar. For
-          entries, 0 corresponds to the  top-most  entry  of  the
-          menu.   <EM>number</EM>  Specifies the page numerically, where 0
-          corresponds to the first page in the notebook, 1 to the
-          second, and so on.
-
-     <STRONG>select</STRONG>
-          Specifies the currently selected page's  index.  If  no
-          page is currently selected, the value -1 is returned.
-
-     <STRONG>end</STRONG>  Specifes the last page in the notebooks's index. If the
-          notebook is empty this will return -1.
-
-     <EM>pattern</EM>
-          If the index doesn't satisfy the form of a number, then
-          this  form  is used. Pattern is pattern-matched against
-          the <STRONG>label</STRONG> of each page in the notebook, in  order  from
-          the  first  to the last page, until a matching entry is
-          found. The rules of <STRONG>Tcl_StringMatch</STRONG> are used.
-
-     The following commands are possible for notebook widgets:
-
-     <EM>pathName</EM> <STRONG>add</STRONG> ?<EM>option</EM> <EM>value</EM>?
-          Add a new page at the end of the notebook. A new  child
-          site frame is created. Returns the child site pathName.
-          If additional arguments are present, they  specify  any
-          of the following options:
-
-          <STRONG>-background</STRONG> <EM>value</EM>
-               Specifies a background color to use for displaying
-               the  child site frame of this page. If this option
-               is specified as an  empty  string  (the  default),
-               then  the  background option for the overall note-
-               book is used.
-
-          <STRONG>-command</STRONG> <EM>value</EM>
-               Specifies a Tcl command to be executed  when  this
-               page  is  selected.  This  allows the programmer a
-               hook to reconfigure this  page's  widgets  or  any
-               other page's widgets.
-
-               If the notebook has the auto option set  to  true,
-               when  a  page  is  selected  this  command will be
-               called immediately after the  previously  selected
-               page  is unpacked and immediately before this page
-               is selected. The index value select is valid  dur-
-               ing  this  Tcl command. `index select' will return
-               this page's page number.
-
-               If the auto option is set to false, when a page is
-               selected  the  unpack and pack calls are bypassed.
-               This Tcl command is still called.
-
-          <STRONG>-foreground</STRONG> <EM>value</EM>
-               Specifies a foreground color to use for displaying
-               tab   labels   when   tabs  are  in  their  normal
-               unselected state. If this option is  specified  as
-               an empty string (the default), then the foreground
-               option for the overall notebook is used.
-
-          <STRONG>-label</STRONG> <EM>value</EM>
-               Specifies a string to associate  with  this  page.
-               This label serves as an additional identifier used
-               to reference the page. This label may be used  for
-               the index value in widget commands.
-
-     <EM>pathName</EM> <STRONG>childSite</STRONG> ?<EM>index</EM>?
-          If passed no arguments, returns a list of pathNames for
-          all  the  pages  in  the  notebook.  If the notebook is
-          empty, an empty list is returned
-
-          If index is passed, it returns  the  pathName  for  the
-          page's  child  site  frame  specified by index. Widgets
-          that are created with this pathName will  be  displayed
-          when the associated page is selected. If index is not a
-          valid index, an empty string is returned.
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given by <EM>option</EM>.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.  If  no  <EM>option</EM>  is  specified,  returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list). If <EM>option</EM> is specified with no <EM>value</EM>,  then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no option is
-          specified). If  one  or  more  option-value  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s); in this case  the
-          command returns an empty string. <EM>Option</EM> may have any of
-          the values accepted by the <STRONG>notebook</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>index1</EM> ?index2?
-          Delete all of  the  pages  between  <EM>index1</EM>  and  <EM>index2</EM>
-          inclusive.  If  <EM>index2</EM>  is  omitted then it defaults to
-          <EM>index1</EM>. Returns an empty string.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-          Returns the numerical index corresponding to <EM>index</EM>.
-
-     <STRONG>pathName</STRONG> <STRONG>insert</STRONG> <EM>index</EM> ?<EM>option</EM> <EM>value</EM>?
-          Insert a new page  in  the  notebook  before  the  page
-          specified  by <EM>index</EM>. A new child site <STRONG>frame</STRONG> is created.
-          See the <STRONG>add</STRONG> command  for  valid  options.  Returns  the
-          child site pathName.
-
-     <EM>pathName</EM> <STRONG>next</STRONG>
-          Advances the selected page to the next page  (order  is
-          determined   by  insertion  order).  If  the  currently
-          selected page is the last page  in  the  notebook,  the
-          selection  wraps  around to the first page in the note-
-          book.
-
-          For notebooks with auto set to true the current  page's
-          child  site  is unpacked from the notebook's child site
-          frame. Then the next page's child site is  packed  into
-          the  notebooks  child site frame. The Tcl command given
-          with the command option will be invoked  between  these
-          two operations.
-
-          For notebooks with auto set to false  the  Tcl  command
-          given with the command option will be invoked.
-
-     <EM>pathName</EM> <STRONG>pagecget</STRONG> <EM>index</EM> ?<EM>option</EM>?
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>  for the page specified by <EM>index</EM>. The
-          valid available options are the same  as  available  to
-          the <STRONG>add</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>pageconfigure</STRONG> <EM>index</EM> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          This  command  is  similar  to  the  configure command,
-          except that it applies to the options for an individual
-          page,  whereas configure applies to the options for the
-          notebook. Options may have any of the  values  accepted
-          by  the  add  widget command. If options are specified,
-          options are modified as indicated in  the  command  and
-          the  command returns an empty string. If no options are
-          specified,  returns  a  list  describing  the   current
-          options for page <EM>index</EM> (see <STRONG>Tk_ConfigureInfo</STRONG> for infor-
-          mation on the format of this list).
-
-     <EM>pathName</EM> <STRONG>prev</STRONG>
-          Moves the selected page to the previous page (order  is
-          determined   by  insertion  order).  If  the  currently
-          selected page is the first page in  the  notebook,  the
-          selection  wraps  around  to the last page in the note-
-          book.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>true</STRONG> the current  page's
-          child  site  is unpacked from the notebook's child site
-          frame. Then the previous page's child  site  is  packed
-          into  the  notebooks  child site frame. The Tcl command
-          given with the command option will be  invoked  between
-          these two operations.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>false</STRONG>  the  Tcl  command
-          given with the command option will be invoked.
-
-     <EM>pathName</EM> <STRONG>select</STRONG> <EM>index</EM>
-          Selects the page specified by <EM>index</EM>  as  the  currently
-          selected page.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>true</STRONG> the current  page's
-          child  site  is unpacked from the notebook's child site
-          frame. Then the index page's child site is packed  into
-          the  notebooks  child site frame. The Tcl command given
-          with the command option will be invoked  between  these
-          two operations.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>false</STRONG>  the  Tcl  command
-          given with the command option will be invoked.
-
-     <EM>pathName</EM> <STRONG>view</STRONG>
-          Returns the currently selected page.  This  command  is
-          for compatibility with the scrollbar widget.
-
-     <EM>pathName</EM> <STRONG>view</STRONG> <EM>index</EM>
-          Selects the page specified by <EM>index</EM>  as  the  currently
-          selected  page.  This command is for compatibility with
-          the scrollbar widget.
-
-     <EM>pathName</EM> <STRONG>view</STRONG> <EM>moveto</EM> <EM>fraction</EM>
-          Uses the fraction value to determine the  corresponding
-          page to move to. This command is for compatibility with
-          the scrollbar widget.
-
-     <EM>pathName</EM> <STRONG>view</STRONG> <EM>scroll</EM> <EM>num</EM> <EM>what</EM>
-          Uses the <EM>num</EM> value to determine how many pages to  move
-          forward  or backward (num can be negative or positive).
-          The <EM>what</EM> argument is ignored. This command is for  com-
-          patibility with the scrollbar widget.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-     Following is an example that creates  a  notebook  with  two
-     pages. In this example, we use a scrollbar widget to control
-     the notebook widget.
-
-          # Create the notebook widget and pack it.
-            notebook .nb -width 100 -height 100
-            pack .nb -anchor nw \
-                  -fill both \
-                  -expand yes \
-                  -side left \
-                  -padx 10 \
-                  -pady 10
-
-          # Add two pages to the notebook, labelled
-          # "Page One" and "Page Two", respectively.
-            .nb add -label "Page One"
-            .nb add -label "Page Two"
-
-          # Get the child site frames of these two pages.
-            set page1CS [.nb childsite 0]
-            set page2CS [.nb childsite "Page Two"]
-
-          # Create buttons on each page of the notebook
-            button $page1CS.b -text "Button One"
-            pack $page1CS.b
-            button $page2CS.b -text "Button Two"
-            pack $page2CS.b
-
-          # Select the first page of the notebook
-            .nb select 0
-
-          # Create the scrollbar and associate teh scrollbar
-          # and the notebook together, then pack the scrollbar
-            ScrollBar .scroll -command ".nb view"
-            .nb configure -scrollcommand ".scroll set"
-            pack .scroll -fill y -expand yes -pady 10
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Bill W. Scott
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     notebook page
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>notebook - create and manipulate notebook widgets</TITLE>
+<H1>notebook - create and manipulate notebook widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>notebook</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- notebook
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>scrollCommand</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>auto</B>
+Class:                  <B>Auto</B>
+Command-Line Switch:   <B>-auto</B>
+</pre>
+<UL>
+Specifies whether to use the automatic packing/unpacking algorithm of the
+notebook. A value of <B>true</B> indicates that page frames will be unpacked 
+and packed acoording to the algorithm described in the <B>select</B> command. 
+A value of <B>false</B> leaves the current page packed and subsequent selects, 
+next, or previous commands do not switch pages automatically. In either 
+case the page's associated command (see the <B>add</B> command's description 
+of the <B>command</B> option) is invoked. The value may have any of the 
+forms accepted by the <B>Tcl_GetBoolean</B>, such as true, false, 0, 1, yes, 
+or no.
+</UL>
+<UL>
+For example, if a series of pages in a notebook simply change certain display
+configurations of a graphical display, the <B>-auto</B> flag could be used. 
+By setting it, the <B>-command</B> procs could do the appropriate reconfiguring
+of the page when the page is switched.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>notebook</B> command creates a new window (given by the pathName 
+argument) and makes it into a notebook widget. Additional options, described 
+above may be specified on the command line or in the option database to 
+configure aspects of the notebook such as its colors, font, and text. 
+The <B>notebook</B> command returns its <I>pathName</I> argument. At the time 
+this command is invoked, there must not exist a window named pathName, but 
+pathName's parent must exist.
+
+A notebook is a widget that contains a set of pages. It displays one page from 
+the set as the selected page. When a page is selected, the page's contents are 
+displayed in the page area. When first created a notebook has no pages. Pages 
+may be added or deleted using widget commands described below.
+
+</pre><H2>NOTEBOOK PAGES</H2>
+<P>
+A notebook's pages area contains a single child site <B>frame</B>. When a new 
+page is created it is a child of this frame. The page's child site frame 
+serves as a geometry container for applications to pack widgets into. It is 
+this frame that is automatically unpacked or packed when the <B>auto</B> 
+option is <B>true</B>. This creates the effect of one page being visible at 
+a time. When a new page is selected, the previously selected page's child 
+site frame is automatically unpacked from the notebook's child site frame 
+and the newly selected page's child site is packed into the notebook's 
+child site frame.
+
+However, sometimes it is desirable to handle page changes in a different 
+manner. By specifying the <B>auto</B> option as <B>false</B>, child site 
+packing can be disabled and done differently. For example, all widgets might 
+be packed into the first page's child site frame. Then when a new page is 
+selected, the application can reconfigure the widgets and give the appearance
+that the page was flipped.
+
+In both cases the <B>command</B> option for a page specifies a Tcl Command to
+execute when the page is selected. In the case of <B>auto</B> being <B>true</B>, 
+it is called between the unpacking of the previously selected page and the 
+packing of the newly selected page.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>notebookfR command creates a new Tcl command whose name 
+is <I>pathName</I>. This command may be used to invoke various operations 
+on the widget. It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>option</I> and the <I>arg</I>s
+determine the exact behavior of the command.
+<P>
+Many of the widget commands for a notebook take as one argument an indicator 
+of which page of the notebook to operate on. These indicators are called 
+indexes and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the index of the the component. For menus, 0 corresponds to the 
+left-most menu of the menu bar. For entries, 0 corresponds to the top-most 
+entry of the menu.
+<I>number</I>
+Specifies the page numerically, where 0 corresponds to the first page in 
+the notebook, 1 to the second, and so on.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Specifies the currently selected page's index. If no page is currently 
+selected, the value -1 is returned.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last page in the notebooks's index. If the notebook is empty 
+this will return -1.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy the form of a number, then this form is used. 
+Pattern is pattern-matched against the <B>label</B> of each page in the 
+notebook, in order from the first to the last page, until a matching entry 
+is found. The rules of <B>Tcl_StringMatch</B> are used.
+</DL>
+<P>
+'.............................................................................
+The following commands are possible for notebook widgets:
+<DL>
+<DT> <I>pathName</I> <B>add</B> ?<I>option value</I>?
+</I></B>
+<DD> Add a new page at the end of the notebook. A new child site frame is 
+created. Returns the child site pathName. If additional arguments are 
+present, they specify any of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-background</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying the child site frame 
+of this page. If this option is specified as an empty string (the default), 
+then the background option for the overall notebook is used.
+</DL>
+<DL>
+<DT> <B>-command</B> <I>value</I>
+</I></B>
+<DD> Specifies a Tcl command to be executed when this page is selected. This 
+allows the programmer a hook to reconfigure this page's widgets or any other
+page's widgets.
+<UL>
+If the notebook has the auto option set to true, when a page is selected 
+this command will be called immediately after the previously selected page 
+is unpacked and immediately before this page is selected. The index value 
+select is valid during this Tcl command. `index select' will return this 
+page's page number. 
+</UL>
+<UL>
+If the auto option is set to false, when a page is selected the unpack and 
+pack calls are bypassed. This Tcl command is still called.
+</UL>
+</DL>
+<DL>
+<DT> <B>-foreground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs are 
+in their normal unselected state. If this option is specified as an empty 
+string (the default), then the foreground option for the overall notebook 
+is used. 
+</DL>
+<DL>
+<DT> <B>-label</B> <I>value</I>
+</I></B>
+<DD> Specifies a string to associate with this page. This label serves as an 
+additional identifier used to reference the page. This label may be used 
+for the index value in widget commands. 
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>childSite</B> ?<I>index</I>?
+</I></B>
+<DD> If passed no arguments, returns a list of pathNames for all the pages in 
+the notebook. If the notebook is empty, an empty list is returned
+<UL>
+If index is passed, it returns the pathName for the page's child site 
+frame specified by index. Widgets that are created with this pathName will 
+be displayed when the associated page is selected. If index is not a valid 
+index, an empty string is returned. 
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Query or modify the configuration options of the widget. If no <I>option</I> 
+is specified, returns a list describing all of the available options 
+for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for information on the 
+format of this list). If <I>option</I> is specified with no <I>value</I>, 
+then the command returns a list describing the one named option (this 
+list will be identical to the corresponding sublist of the value returned 
+if no option is specified). If one or more option-value pairs are specified, 
+then the command modifies the given widget option(s) to have the given 
+value(s); in this case the command returns an empty string. <I>Option</I> 
+may have any of the values accepted by the <B>notebook</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index1</I> ?i</B></I>ndex2?
+</I></B>
+<DD> Delete all of the pages between <I>index1</I> and <I>index2</I> inclusive. 
+If <I>index2</I> is omitted then it defaults to <I>index1</I>. Returns an 
+empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <B>pathName</B> <B>insert</B> <I>index</I> ?<I>option</I> <I>value</I>?
+</I></B>
+<DD> Insert a new page in the notebook before the page specified by <I>index</I>. 
+A new child site <B>frame</B> is created. See the <B>add</B> command for 
+valid options. Returns the child site pathName.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>next</B>
+</I></B>
+<DD> Advances the selected page to the next page (order is determined by insertion 
+order). If the currently selected page is the last page in the notebook, 
+the selection wraps around to the first page in the notebook. 
+<UL>
+For notebooks with auto set to true the current page's child site is 
+unpacked from the notebook's child site frame. Then the next page's child 
+site is packed into the notebooks child site frame. The Tcl command given 
+with the command option will be invoked between these two operations.
+</UL>
+<UL>
+For notebooks with auto set to false the Tcl command given with the 
+command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pagecget</B> <I>index</I> ?<I>option</I>?
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I> 
+for the page specified by <I>index</I>. The valid available options are the 
+same as available to the <B>add</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pageconfigure</B> <I>index</I> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> This command is similar to the configure command, except that it applies to 
+the options for an individual page, whereas configure applies to the options 
+for the notebook. Options may have any of the values accepted by the add 
+widget command. If options are specified, options are modified as indicated 
+in the command and the command returns an empty string. If no options are 
+specified, returns a list describing the current options for 
+page <I>index</I> (see <B>Tk_ConfigureInfo</B> for information on the 
+format of this list).
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>prev</B>
+</I></B>
+<DD> Moves the selected page to the previous page (order is determined by 
+insertion order). If the currently selected page is the first page in the 
+notebook, the selection wraps around to the last page in the notebook.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's child 
+site is unpacked from the notebook's child site frame. Then the previous 
+page's child site is packed into the notebooks child site frame. The Tcl 
+command given with the command option will be invoked between these two 
+operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given with 
+the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's child 
+site is unpacked from the notebook's child site frame. Then the index page's 
+child site is packed into the notebooks child site frame. The Tcl command 
+given with the command option will be invoked between these two operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given with 
+the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B>
+</I></B>
+<DD> Returns the currently selected page. This command is for compatibility 
+with the scrollbar widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page. 
+This command is for compatibility with the scrollbar widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>moveto</I> <I>fraction</I>
+</I></B>
+<DD> Uses the fraction value to determine the corresponding page to move to. 
+This command is for compatibility with the scrollbar widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>scroll</I> <I>num</I> <I>what</I>
+</I></B>
+<DD> Uses the <I>num</I> value to determine how many pages to move forward or 
+backward (num can be negative or positive). The <I>what</I> argument is 
+ignored. This command is for compatibility with the scrollbar widget.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<P>
+Following is an example that creates a notebook with two pages. In this example, we use a scrollbar widget to control the notebook widget.
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+the<br>
+pack<br>
+-width<br>
+pack<br>
+\\<br>
+-expand<br>
+left<br>
+\\<br>
+#<br>
+to<br>
+#<br>
+"Page<br>
+add<br>
+.nb<br>
+Two"<br>
+Get<br>
+frames<br>
+pages.<br>
+childsite<br>
+[.nb<br>
+</UL><br>
+buttons<br>
+of<br>
+$page1CS.b<br>
+pack<br>
+-text<br>
+$page2CS.b<br>
+Select<br>
+of<br>
+select<br>
+#<br>
+and<br>
+#<br>
+together,<br>
+scrollbar<br>
+".nb<br>
+-scrollcommand<br>
+.scroll<br>
+yes<br>
+</td>
+<td valign=top>
+</UL><br>
+notebook<br>
+it.<br>
+100<br>
+.nb<br>
+-fill<br>
+yes<br>
+\\<br>
+-pady<br>
+Add<br>
+the<br>
+"Page<br>
+Two",<br>
+-label<br>
+add<br>
+</UL><br>
+the<br>
+of<br>
+set<br>
+0]<br>
+childsite<br>
+<UL><br>
+on<br>
+the<br>
+-text<br>
+$page1CS.b<br>
+"Button<br>
+</UL><br>
+the<br>
+the<br>
+0<br>
+Create<br>
+associate<br>
+and<br>
+then<br>
+ScrollBar<br>
+view"<br>
+".scroll<br>
+-fill<br>
+-pady<br>
+</td>
+<td valign=top>
+#<br>
+widget<br>
+notebook<br>
+-height<br>
+-anchor<br>
+both<br>
+\\<br>
+-padx<br>
+10<br>
+two<br>
+notebook,<br>
+One"<br>
+respectively.<br>
+"Page<br>
+-label<br>
+<UL><br>
+child<br>
+these<br>
+page1CS<br>
+set<br>
+"Page<br>
+#<br>
+each<br>
+notebook<br>
+"Button<br>
+button<br>
+Two"<br>
+<UL><br>
+first<br>
+notebook<br>
+</UL><br>
+the<br>
+teh<br>
+the<br>
+pack<br>
+.scroll<br>
+.nb<br>
+set"<br>
+y<br>
+10<br>
+</td>
+<td valign=top>
+Create<br>
+and<br>
+.nb<br>
+100<br>
+nw<br>
+\\<br>
+-side<br>
+10<br>
+<UL><br>
+pages<br>
+labelled<br>
+and<br>
+.nb<br>
+One"<br>
+"Page<br>
+#<br>
+site<br>
+two<br>
+[.nb<br>
+page2CS<br>
+Two"]<br>
+Create<br>
+page<br>
+button<br>
+One"<br>
+$page2CS.b<br>
+pack<br>
+#<br>
+page<br>
+.nb<br>
+<UL><br>
+scrollbar<br>
+scrollbar<br>
+notebook<br>
+the<br>
+-command<br>
+configure<br>
+pack<br>
+-expand<br>
+</UL><br>
+</td>
+</table>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+notebook page 
index 606a882..10d3511 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - optionmenu</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - optionmenu</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     optionmenu - Create and manipulate a option menu widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>optionmenu</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- optionmenu
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>activeBorderWidthactiveForegroundbackground</STRONG>
-     <STRONG>borderWidth</STRONG>     <STRONG>cursor</STRONG>         <STRONG>disabledForegroundfont</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessrelief</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "LabeledWidget" manual  entry  for  details  on  the
-     inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>clickTime</STRONG>
-     Class:          <STRONG>ClickTime</STRONG>
-     Command-Line Switch:           <STRONG>-clicktime</STRONG>
-
-          Interval time, in msec, used to determine that a single
-          mouse  click  has  occurred.  Used  to  post  menu on a
-          "quick" mouse click.  <STRONG>Note</STRONG>:  changing  this  value  may
-          cause  the  sigle-click functionality to not work prop-
-          erly.  The default is 150 msec.
-
-     Name:           <STRONG>command</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-command</STRONG>
-
-          Specifies a Tcl command procedure to be evaluated  fol-
-          lowing a  change in the current option menu selection.
-
-     Name:           <STRONG>cyclicOn</STRONG>
-     Class:          <STRONG>CyclicOn</STRONG>
-     Command-Line Switch:           <STRONG>-cyclicon</STRONG>
-
-          Turns on/off the 3rd mouse button capability. The value
-          may  be  specified  in  any  of the forms acceptable to
-          <STRONG>Tcl_GetBoolean</STRONG>.  This feature allows  the  right  mouse
-          button  to  cycle  through  the popup menu list without
-          poping it up. The right mouse button cycles through the
-          menu in reverse order.  The default is true.
-
-     Name:           <STRONG>items</STRONG>
-     Class:          <STRONG>Items</STRONG>
-     Command-Line Switch:           <STRONG>-items</STRONG>
-
-          Sepcifies the list of items  to  be  displayed  in  the
-          menu.
-
-     Name:           <STRONG>popupCursor</STRONG>
-     Class:          <STRONG>Cursor</STRONG>
-     Command-Line Switch:           <STRONG>-popupcursor</STRONG>
-
-          Specifies  the mouse cursor to be used  for  the  popup
-          menu.  The value may have any of the  forms  acceptable
-          to <STRONG>Tk_GetCursor</STRONG>.
-
-     Name:           <STRONG>state</STRONG>
-     Class:          <STRONG>State</STRONG>
-     Command-Line Switch:           <STRONG>-state</STRONG>
-
-          Specified one of two states for the optionmenu: <STRONG>normal</STRONG>,
-          or  <STRONG>disabled</STRONG>.   If  the  optionmenu  is  disabled, then
-          option menu selection is ignored.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies a fixed size for the menu button label in any
-          of  the  forms acceptable to Tk_GetPixels.  If the text
-          is too small to fit in the label, the text is  clipped.
-          Note:  Normally,  when  a  new  list is created, or new
-          items are added to an existing list,  the  menu  button
-          label  is  resized  automatically.  Setting this option
-          overrides that functionality.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>optionmenu</STRONG> command creates an option  menu  widget  with
-     options  to manage it.  An option menu displays a frame con-
-     taining a label and a button.  A pop-up menu will allow  for
-     the value of the button to change.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>optionmenu</STRONG> command creates a new Tcl command whose  name
-     is  <EM>pathName</EM>.   This  command  may be used to invoke various
-     operations on the widget.   It  has  the  following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     Many of the widget commands for an optionmenu  take  as  one
-     argument  an  indicator of which entry of the option menu to
-     operate on.  These indicators are called <EM>index</EM>es and may  be
-     specified in any of the following forms:
-
-     <EM>number</EM>      Specifies  the  entry   numerically,   where   0
-                 corresponds  to the top-most entry of the option
-                 menu, 1 to the entry below it, and so on.
-
-     <STRONG>end</STRONG>         Indicates the bottommost entry in the menu.   If
-                 there  are  no  entries in the menu then zero is
-                 returned.
-
-     <STRONG>select</STRONG>      Returns the numerical  index  of  the  currently
-                 selected option menu entry.  If no entries exist
-                 in the menu, then -1 is returned.
-
-     <EM>pattern</EM>     If the index doesn't satisfy one  of  the  above
-                 forms  then  this  form  is  used.   <EM>Pattern</EM>  is
-                 pattern-matched against the label of each  entry
-                 in  the option menu, in order from the top down,
-                 until a matching entry is found.  The  rules  of
-                 <STRONG>Tcl_StringMatch</STRONG> are used.
-
-     The following widget commands are  possible  for  optionmenu
-     widgets:
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>optionmenu</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>optionmenu</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>first</EM> ?<EM>last</EM>?
-          Delete all of the option menu entries between <EM>first</EM> and
-          <EM>last</EM> inclusive.  If <EM>last</EM> is omitted then it defaults to
-          <EM>first</EM>.
-
-     <EM>pathName</EM> <STRONG>disable</STRONG> <EM>index</EM>
-          Disable the option menu entry specified by <EM>index</EM>. Disa-
-          bling a menu item will prevent the user from being able
-          to select this item from the menu.  This  only  effects
-          the  state  of  the  item  in the menu, in other words,
-          should the item be the  currently  selected  item,  the
-          programmer  is  responsible for determining this condi-
-          tion and taking appropriate action.
-
-     <EM>pathName</EM> <STRONG>enable</STRONG> <EM>index</EM>
-          Enable the option menu entry specified by <EM>index</EM>.   Ena-
-          bling  a  menu item allows the user to select this item
-          from the menu.
-
-     <EM>pathName</EM> <STRONG>get</STRONG>
-          Returns the currently selected option menu item.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-          Returns the numerical index corresponding to <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>index</EM> <EM>string</EM> ?<EM>string</EM>?
-          Insert an item, or list of  items,  into  the  menu  at
-          location <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>select</STRONG> <EM>index</EM>
-          Select an item from the option menu to be displayed  as
-          the currently selected item.
-
-     <EM>pathName</EM> <STRONG>sort</STRONG> <EM>mode</EM>
-          Sort the current menu in either <STRONG>ascending</STRONG>, or  <STRONG>descend-</STRONG>
-          <STRONG>ing</STRONG>  order.   The  values <STRONG>increasing</STRONG>, or <STRONG>decreasing</STRONG> are
-          also accepted.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>menuBtn</STRONG>
-     Class:          <STRONG>Frame</STRONG>
-
-          The menuBtn component is the option menu  button  which
-          displays  the  current choice from the popup menu.  See
-          the "frame" widget manual  entry  for  details  on  the
-          menuBtn component item.
-
-     Name:           <STRONG>menuLabel</STRONG>
-     Class:          <STRONG>Label</STRONG>
-
-          The menuLabel component is the label whose text is  the
-          currently selected choice from the popup menu.  See the
-          "label" widget manual entry for details on the  menuLa-
-          bel component item.
-
-     Name:           <STRONG>popupMenu</STRONG>
-     Class:          <STRONG>Menu</STRONG>
-
-          The popupMenu component is menu displayed  upon  selec-
-          tion of the menu button.  The menu contains the choices
-          for the option menu.   See  the  "menu"  widget  manual
-          entry for details on the popupMenu component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           optionmenu .om -labelmargin 5 \
-               -labelon true -labelpos w -labeltext "Operating System :" \
-               -items {Unix VMS Linux OS/2 {Windows NT} DOS}
-
-           .om insert end CPM {MS DOS} HP/UX
-           .om sort ascending
-           .om select Linux
-
-           pack .om  -padx 10 -pady 10
-
-
-
-</PRE>
-<H2>ACKNOWLEDGEMENTS:</H2><PRE>
-     Michael J. McLennan
-
-          Borrowed some ideas (next &amp; previous) from OptionButton
-          class.
-
-     Steven B. Jaggers
-
-          Provided an initial prototype in [incr Tcl].
-
-     Bret Schuhmacher
-
-          Helped with popup menu functionality.
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Alfredo Jahn
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     optionmenu, widget
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>optionmenu - Create and manipulate a option menu widget</TITLE>
+<H1>optionmenu - Create and manipulate a option menu widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>optionmenu<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- optionmenu
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>activeBorderWidth</B><br>
+<B>cursor</B><br>
+<B>highlightColor</B><br>
+</td>
+<td valign=top>
+<B>activeForeground</B><br>
+<B>disabledForeground</B><br>
+<B>highlightThickness</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>font</B><br>
+<B>relief</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the "LabeledWidget" manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>clickTime</B>
+Class:                  <B>ClickTime</B>
+Command-Line Switch:   <B>-clicktime</B>
+</pre>
+<UL>
+Interval time, in msec, used to determine that a single mouse 
+click has occurred. Used to post menu on a "quick" mouse click.
+<B>Note</B>: changing this value may cause the sigle-click 
+functionality to not work properly.  The default is 150 msec.
+</UL>
+<P>
+<pre>
+Name:                   <B>command</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure to be evaluated following a  change in 
+the current option menu selection.
+</UL>
+<P>
+<pre>
+Name:                   <B>cyclicOn</B>
+Class:                  <B>CyclicOn</B>
+Command-Line Switch:   <B>-cyclicon</B>
+</pre>
+<UL>
+Turns on/off the 3rd mouse button capability. The value may be specified
+in any of the forms acceptable to <B>Tcl_GetBoolean</B>.  This feature
+allows the right mouse button to cycle through the popup 
+menu list without poping it up. The right mouse button cycles through
+the menu in reverse order.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>popupCursor</B>
+Class:                  <B>Cursor</B>
+Command-Line Switch:   <B>-popupcursor</B>
+</pre>
+<UL>
+Specifies  the mouse cursor to be used for the popup menu.  The value may 
+have any of the  forms  acceptable to <B>Tk_GetCursor</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>state</B>
+Class:                  <B>State</B>
+Command-Line Switch:   <B>-state</B>
+</pre>
+<UL>
+Specified one of two states for the optionmenu: <B>normal</B>, or
+<B>disabled</B>.  If the optionmenu is disabled, then option menu
+selection is ignored.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies a fixed size for the menu button label in any of the forms
+acceptable to \Tk_GetPixels</B></I>.  If the text
+is too small to fit in the label, the text is clipped. 
+Note: Normally, when a new list is created, or new items are 
+added to an existing list, the menu button label is resized 
+automatically.  Setting this option overrides that functionality.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>optionmenu</B> command creates an option menu widget with options 
+to manage it.  An option menu displays a frame containing a label and a button.
+A pop-up menu will allow for the value of the button to change.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>optionmenu</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  
+<P>
+Many of the widget commands for an optionmenu take as one argument an
+indicator of which entry of the option menu to operate on.  These
+indicators are called <I>index</I>es and may be specified in
+any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the entry numerically, where 0 corresponds
+to the top-most entry of the option menu, 1 to the entry below it, and
+so on.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the bottommost entry in the menu.  If there are no
+entries in the menu then zero is returned.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Returns the numerical index of the currently selected option menu entry.
+If no entries exist in the menu, then -1 is returned.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used.  <I>Pattern</I> is pattern-matched against the label of
+each entry in the option menu, in order from the top down, until a
+matching entry is found.  The rules of <B>Tcl_StringMatch</B>
+are used.
+</DL>
+<P>
+The following widget commands are possible for optionmenu widgets:
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>optionmenu</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>optionmenu</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete <I>first</I> ?<I>last</I>?
+</I></B>
+<DD> Delete all of the option menu entries between <I>first</I> and
+<I>last</I> inclusive.  If <I>last</I> is omitted then it defaults 
+to <I>first</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>disable <I>index</I>
+</I></B>
+<DD> Disable the option menu entry specified by <I>index</I>. 
+Disabling a menu item will prevent the user from being able to select 
+this item from the menu.  This only effects the state of the item 
+in the menu, in other words, should the item be the currently 
+selected item, the programmer is responsible for determining this condition 
+and taking appropriate action.
+</DL>
+<DL>
+<DT> <I>pathName <B>enable <I>index</I>
+</I></B>
+<DD> Enable the option menu entry specified by <I>index</I>.
+Enabling a menu item allows the user to select this item from the menu.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B> ?<I>first</I>? ?<I>last</I>?
+</I></B>
+<DD> If no arguments are specified, this operation returns the currently
+selected option menu item.  Otherwise, it returns the name of the
+option at index <I>first</I>, or a range of options between <I>first</I>
+and <I>last</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>index <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index string</I> ?<I>string</I>?
+</I></B>
+<DD> Insert an item, or list of items, into the menu at location <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>select <I>index</I>
+</I></B>
+<DD> Select an item from the option menu to be displayed as the currently 
+selected item.
+</DL>
+<DL>
+<DT> <I>pathName <B>sort <I>mode</I>
+</I></B>
+<DD> Sort the current menu in either <B>ascending</B>, or <B>descending</B> order.
+The values <B>increasing</B>, or <B>decreasing</B> are also accepted.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>menuBtn</B>
+Class:                  <B>Menubutton</B>
+</pre>
+<UL>
+The menuBtn component is the option menu button which displays the current
+choice from the popup menu.  See the "menubutton" widget manual entry
+for details on the menuBtn component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>popupMenu</B>
+Class:                  <B>Menu</B>
+</pre>
+<UL>
+The popupMenu component is menu displayed upon selection of the menu button.
+The menu contains the choices for the option menu.  See the "menu" widget 
+manual entry for details on the popupMenu component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ optionmenu .om -labelmargin 5 \\
+     -labelon true -labelpos w -labeltext "Operating System :"
+
+ .om insert end Unix VMS Linux OS/2 {Windows NT} DOS
+ .om sort ascending
+ .om select Linux
+
+ pack .om  -padx 10 -pady 10
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS:</H2>
+Michael J. McLennan
+<UL>
+Borrowed some ideas (next &amp; previous) from OptionButton class. 
+</UL>
+<P>
+Steven B. Jaggers
+<UL>
+Provided an initial prototype in [incr Tcl].
+</UL>
+<P>
+Bret Schuhmacher
+<UL>
+Helped with popup menu functionality.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:ajahn@spd.dsccc.com">Alfredo Jahn</A>
+</pre><H2>KEYWORDS</H2>
+optionmenu, widget
index 07c9e6d..d983545 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - panedwindow</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - panedwindow</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     panedwindow - Create and manipulate a paned window widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>panedwindow</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- panedwindow
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the overall height of the paned window in any
-          of  the  forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default
-          is 10 pixels.
-
-     Name:           <STRONG>orient</STRONG>
-     Class:          <STRONG>Orient</STRONG>
-     Command-Line Switch:           <STRONG>-orient</STRONG>
-
-          Specifies the orientation of the  separators:  <STRONG>vertical</STRONG>
-          or <STRONG>horizontal</STRONG>.  The default is horizontal.
-
-     Name:           <STRONG>sashBorderWidth</STRONG>
-     Class:          <STRONG>BorderWidth</STRONG>
-     Command-Line Switch:           <STRONG>-sashborderwidth</STRONG>
-
-          Specifies a value  indicating  the  width  of  the  3-D
-          border to draw around the outside of the sash in any of
-          the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default is 2
-          pixels.
-
-     Name:           <STRONG>sashCursor</STRONG>
-     Class:          <STRONG>Cursor</STRONG>
-     Command-Line Switch:           <STRONG>-sashcursor</STRONG>
-
-          Specifies the type of cursor to  be  displayed  in  the
-          sash.  The default is crosshair.
-
-     Name:           <STRONG>sashHeight</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-sashheight</STRONG>
-          Specifies the height of the sash in any  of  the  forms
-          acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default is 10 pixels.
-
-     Name:           <STRONG>sashIndent</STRONG>
-     Class:          <STRONG>SashIndent</STRONG>
-     Command-Line Switch            <STRONG>sashindent</STRONG>
-
-          Specifies the placement of the sash along the panes  in
-          any  of  the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  A posi-
-          tive value causes the sash to be offset from  the  near
-          (left/top)  side  of  the  pane,  and  a negative value
-          causes  the  sash   to   be   offset   from   the   far
-          (right/bottom) side.  If the offset is greater than the
-          width, then the sash is placed flush against the  side.
-          The default is -10 pixels.
-
-     Name:           <STRONG>sashWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-sashwidth</STRONG>
-
-          Specifies the width of the sash in  any  of  the  forms
-          acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default is 10 pixels.
-
-     Name:           <STRONG>thickness</STRONG>
-     Class:          <STRONG>Thickness</STRONG>
-     Command-Line Switch:           <STRONG>-thickness</STRONG>
-
-          Specifies the thickness of the separators in any of the
-          forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.   The default is 3
-          pixels.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the overall width of the paned window in  any
-          of  the  forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default
-          is 10 pixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>panedwindow</STRONG> command  creates  a  multiple  paned  window
-     widget  capable  of orienting the panes either vertically or
-     horizontally.  Each pane is itself a frame acting as a child
-     site  for  other  widgets.   The border separating each pane
-     contains a sash which allows user positioning of  the  panes
-     relative to one another.
-
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>panedwindow</STRONG> command creates a new Tcl command whose name
-     is  <EM>pathName</EM>.   This  command  may be used to invoke various
-     operations on the widget.   It  has  the  following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     Many of the widget commands for the <STRONG>panedwindow</STRONG> take as  one
-     argument  an  indicator of which pane of the paned window to
-     operate on.  These indicators are called <EM>indexes</EM>  and  allow
-     reference  and  manipulation  of  panes  regardless of their
-     current map state.  Paned window indexes may be specified in
-     any of the following forms:
-
-     <EM>number</EM>      Specifies  the   pane   numerically,   where   0
-                 corresponds  to the nearest (top/left-most) pane
-                 of the paned window.
-
-     <STRONG>end</STRONG>         Indicates the farthest (bottom/right-most)  pane
-                 of the paned window.
-
-     <EM>pattern</EM>     If the index doesn't satisfy one  of  the  above
-                 forms  then  this  form  is  used.   <EM>Pattern</EM>  is
-                 pattern-matched against the tag of each pane  in
-                 the  panedwindow,  in  order  from  left/top  to
-                 right/left, until a  matching  entry  is  found.
-                 The rules of <STRONG>Tcl_StringMatch</STRONG> are used.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>add</STRONG> <EM>tag</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM>?
-          Adds a new pane to the paned window  on  the  far  side
-          (right/bottom).   The  following  options may be speci-
-          fied:
-
-          <STRONG>-margin</STRONG> <EM>value</EM>
-               Specifies the border distance between the pane and
-               pane  contents  is  any of the forms acceptable to
-               <STRONG>Tk_GetPixels</STRONG>.  The default is 8 pixels.
-
-          <STRONG>-minimum</STRONG> <EM>value</EM>
-               Specifies the minimum size that a pane's  contents
-               may reach not inclusive of twice the margin in any
-               of the  forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.   The
-               default is 10 pixels.
-
-               The <STRONG>add</STRONG> method returns the path name of the pane.
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>panedwindow</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG> ?<EM>index</EM>?
-          Returns a list of  the  child  site  path  names  or  a
-          specific  child  site given an index.  The list is con-
-          structed from the near side (left/top) to the far  side
-          (right/bottom).
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>panedwindow</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>index</EM>
-          Deletes a specified pane given an <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>fraction</STRONG> <EM>percentage</EM>  <EM>percentage</EM>  ?<EM>percentage</EM>  <EM>percentage</EM>
-          Sets  the visible percentage of the panes.  Specifies a
-          set of percentages which are  applied  to  the  visible
-          panes  from  the  near  side (left/top).  The number of
-          percentages must be equal  to  the  current  number  of
-          visible (mapped) panes and add up to 100.
-
-     <EM>pathName</EM> <STRONG>hide</STRONG> <EM>index</EM>
-          Changes the visiblity of the specified pane, allowing a
-          previously displayed pane to be visually removed rather
-          than deleted.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-          Returns the numerical index corresponding to index.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>index</EM> <EM>tag</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Same as the <STRONG>add</STRONG> command except that it inserts the  new
-          pane  just  before  the  one given by <EM>index</EM>, instead of
-          appending to the end of the panedwindow.   The  <EM>option</EM>,
-          and <EM>value</EM> arguments have the same interpretation as for
-          the <STRONG>add</STRONG> widget command.
-
-     <EM>pathName</EM> <STRONG>paneconfigure</STRONG> <EM>index</EM> ?<EM>options</EM>?
-          This command  is  similar  to  the  <STRONG>configure</STRONG>  command,
-          except that it applies to the options for an individual
-          pane, whereas <STRONG>configure</STRONG> applies to the options for  the
-          paned  window  as a whole.  <EM>Options</EM> may have any of the
-          values accepted by the <STRONG>add</STRONG> widget command.  If  <EM>options</EM>
-          are specified, options are modified as indicated in the
-          command and the command returns an empty string.  If no
-          <EM>options</EM>  are  specified,  returns a list describing the
-          current options for entry <EM>index</EM>  (see  <STRONG>Tk_ConfigureInfo</STRONG>
-          for information on the format of this list).
-
-     <EM>pathName</EM> <STRONG>reset</STRONG>
-          Redisplays the pane window using default percentages.
-
-     <EM>pathName</EM> <STRONG>show</STRONG> <EM>index</EM>
-          Changes the visiblity of the specified pane, allowing a
-          previously hidden pane to be displayed.
-
-
-
-</PRE>
-<H2>NOTES</H2><PRE>
-          Dynamic changing of the margin and or  minimum  options
-          to  values which make the current configuration invalid
-          will block subsequent sash movement until the fractions
-          are  modified  via  the fraction method.  For example a
-          panedwindow is created with three panes and the minimum
-          and margin options are at their default settings.  Next
-          the user moves the sashes to compact the panes  to  one
-          side.   Now,  if  the  minimum is increased on the most
-          compressed pane via the paneconfigure method to a large
-          enough  value,  then sash movement is blocked until the
-          fractions are adjusted.  This situation is unusual  and
-          under normal operation of the panedwindow, this problem
-          will never occur.
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           panedwindow .pw -width 300 -height 300
-           .pw add top
-           .pw add middle -margin 10
-           .pw add bottom -margin 10 -minimum 10
-
-           pack .pw -fill both -expand yes
-
-           foreach pane [.pw childSite] {
-              button $pane.b -text $pane -relief raised -borderwidth 2
-              pack $pane.b -fill both -expand yes
-           }
-
-           .pw fraction 50 30 20
-           .pw paneconfigure 0 -minimum 20
-           .pw paneconfigure bottom -margin 15
-
-
-
-</PRE>
-<H2>ACKNOWLEDGEMENTS:</H2><PRE>
-     Jay Schmidgall
-
-          1994 - Base logic posted to comp.lang.tcl
-
-     Joe Hidebrand &lt;hildjj@fuentez.com&gt;
-
-          07/25/94  -   Posted   first   multipane   version   to
-          comp.lang.tcl
-
-          07/28/94 - Added support for vertical panes
-
-     Ken Copeland &lt;ken@hilco.com&gt;
-
-          09/28/95 - Smoothed out the  sash  movement  and  added
-          squeezable panes.
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     panedwindow, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>panedwindow - Create and manipulate a paned window widget</TITLE>
+<H1>panedwindow - Create and manipulate a paned window widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>panedwindow<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- panedwindow
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the overall height of the paned window in any of the forms 
+acceptable to <B>Tk_GetPixels</B>.  The default is 10 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>orient</B>
+Class:                  <B>Orient</B>
+Command-Line Switch:   <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the separators: <B>vertical</B> or 
+<B>horizontal</B>.  The default is horizontal.
+</UL>
+<P>
+<pre>
+Name:                   <B>sashBorderWidth</B>
+Class:                  <B>BorderWidth</B>
+Command-Line Switch:   <B>-sashborderwidth</B>
+</pre>
+<UL>
+Specifies a value indicating the width of the 3-D border to draw 
+around the outside of the sash in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  The default is 2 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>sashCursor</B>
+Class:                  <B>Cursor</B>
+Command-Line Switch:   <B>-sashcursor</B>
+</pre>
+<UL>
+Specifies the type of cursor to be displayed in the sash.  The default
+is crosshair.
+</UL>
+<P>
+<pre>
+Name:                   <B>sashHeight</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-sashheight</B>
+</pre>
+<UL>
+Specifies the height of the sash in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  The default is 10 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>sashIndent</B>
+Class:                  <B>SashIndent</B>
+Command-Line Switch    <B>sashindent</B>
+</pre>
+<UL>
+Specifies the placement of the sash along the panes in any of the forms 
+acceptable to <B>Tk_GetPixels</B>.  A positive
+value causes the sash to be offset from the near (left/top) side
+of the pane, and a negative value causes the sash to be offset from
+the far (right/bottom) side.  If the offset is greater than the 
+width, then the sash is placed flush against the side.  The
+default is -10 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>sashWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-sashwidth</B>
+</pre>
+<UL>
+Specifies the width of the sash in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  The default is 10 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>thickness</B>
+Class:                  <B>Thickness</B>
+Command-Line Switch:   <B>-thickness</B>
+</pre>
+<UL>
+Specifies the thickness of the separators in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the overall width of the paned window in any of the forms 
+acceptable to <B>Tk_GetPixels</B>.  The default is 10 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>panedwindow</B> command creates a multiple paned window widget 
+capable of orienting the panes
+either vertically or horizontally.  Each pane is itself a frame acting
+as a child site for other widgets.  The border separating each pane 
+contains a sash which allows user positioning of the panes relative to
+one another.  
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>panedwindow</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  
+<P>
+Many of the widget commands for the <B>panedwindow</B> take as one argument an
+indicator of which pane of the paned window to operate on.  These indicators
+are called <I>indexes</I> and allow reference and manipulation of panes 
+regardless of their current map state.  Paned window indexes may be 
+specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the pane numerically, where 0 corresponds to the nearest 
+(top/left-most) pane of the paned window. 
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the farthest (bottom/right-most) pane of the paned window.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used.  <I>Pattern</I> is pattern-matched against the tag of
+each pane in the panedwindow, in order from left/top to right/left,
+until a matching entry is found.  The rules of <B>Tcl_StringMatch</B>
+are used.
+
+</DL>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>add</B> <I>tag</I> ?<I>option value option value</I>?
+</I></B>
+<DD> Adds a new pane to the paned window on the far side (right/bottom).  The 
+following options may be specified:
+</DL>
+<UL>
+<DL>
+<DT> <B>-margin</B> <I>value</I>
+</I></B>
+<DD> Specifies the border distance between the pane and pane contents is any of
+the forms acceptable to <B>Tk_GetPixels</B>.  The default is 8 pixels.
+</DL>
+<DL>
+<DT> <B>-minimum</B> <I>value</I>
+</I></B>
+<DD> Specifies the minimum size that a pane's contents may reach not
+inclusive of twice the margin in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  The default is 10 pixels.
+
+The <B>add</B> method returns the path name of the pane.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>panedwindow</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B> ?<I>index</I>?
+</I></B>
+<DD> Returns a list of the child site path names or a specific child site given 
+an index.  The list is constructed from the near side (left/top) to the far 
+side (right/bottom).
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>panedwindow</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete</B> <I>index</I>
+</I></B>
+<DD> Deletes a specified pane given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>fraction</B> <I>percentage</I> <I>percentage</I> ?<I>percentage percentage ...</I>?
+</I></B>
+<DD> Sets the visible percentage of the panes.  Specifies a set of
+percentages which are applied to the visible panes from the near side
+(left/top).  The number of percentages must be equal to the current number
+of visible (mapped) panes and add up to 100.
+</DL>
+<DL>
+<DT> <I>pathName <B>hide</B> <I>index</I>
+</I></B>
+<DD> Changes the visiblity of the specified pane, allowing a previously displayed
+pane to be visually removed rather than deleted.
+</DL>
+<DL>
+<DT> <I>pathName <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to index.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
+</I></B>
+<DD> Same as the <B>add</B> command except that it inserts the new
+pane just before the one given by <I>index</I>, instead of appending
+to the end of the panedwindow.  The <I>option</I>, and <I>value</I>
+arguments have the same interpretation as for the <B>add</B> widget
+command.  
+</DL>
+<DL>
+<DT> <I>pathName <B>paneconfigure</B> <I>index</I> ?<I>options</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that
+it applies to the options for an individual pane, whereas <B>configure</B>
+applies to the options for the paned window as a whole.
+<I>Options</I> may have any of the values accepted by the <B>add</B>
+widget command.  If <I>options</I> are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no <I>options</I> are specified, returns a list describing
+the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName <B>reset</B>
+</I></B>
+<DD> Redisplays the pane window using default percentages.
+</DL>
+<DL>
+<DT> <I>pathName <B>show</B> <I>index</I>
+</I></B>
+<DD> Changes the visiblity of the specified pane, allowing a previously hidden
+pane to be displayed.
+
+</DL>
+</pre><H2>NOTES</H2>
+<UL>
+Dynamic changing of the margin and or minimum options to values which
+make the current configuration invalid will block subsequent sash
+movement until the fractions are modified via the fraction method.
+For example a panedwindow is created with three panes and the minimum
+and margin options are at their default settings.  Next the user moves
+the sashes to compact the panes to one side.  Now, if the minimum is
+increased on the most compressed pane via the paneconfigure method to 
+a large enough value, then sash movement is blocked
+until the fractions are adjusted.  This situation is unusual and under
+normal operation of the panedwindow, this problem will never occur.
+</UL>
+<P>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ panedwindow .pw -width 300 -height 300 
+ .pw add top
+ .pw add middle -margin 10
+ .pw add bottom -margin 10 -minimum 10
+
+ pack .pw -fill both -expand yes
+
+ foreach pane [.pw childSite] {
+    button $pane.b -text $pane -relief raised -borderwidth 2
+    pack $pane.b -fill both -expand yes
+ }
+
+ .pw fraction 50 30 20
+ .pw paneconfigure 0 -minimum 20
+ .pw paneconfigure bottom -margin 15
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS:</H2>
+<P>
+Jay Schmidgall
+<UL>
+1994 - Base logic posted to comp.lang.tcl
+</UL>
+<P>
+Joe Hidebrand &lt;hildjj@fuentez.com&gt;
+<UL>
+07/25/94 - Posted first multipane version to comp.lang.tcl
+</UL>
+<P>
+<UL>
+07/28/94 - Added support for vertical panes
+</UL>
+<P>
+Ken Copeland &lt;ken@hilco.com&gt;
+<UL>
+09/28/95 - Smoothed out the sash movement and added squeezable panes.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+panedwindow, widget
index 05d4ea7..6f0315b 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - promptdialog</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - promptdialog</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     promptdialog - Create and manipulate a prompt dialog widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>promptdialog</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- dialogshell &lt;- dialog &lt;- promptdialog
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>borderWidth</STRONG>    <STRONG>cursor</STRONG>          <STRONG>exportSelection</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessinsertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>              <STRONG>insertOffTime</STRONG>   <STRONG>insertOnTimeinsertWidth</STRONG>
-     <STRONG>justify</STRONG>         <STRONG>relief</STRONG>         <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG> <STRONG>textVariable</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>show</STRONG>            <STRONG>state</STRONG>          <STRONG>width</STRONG>
-
-     See the "entry" widget manual entry for details on the above
-     associated options.
-
-     <STRONG>childSitePos</STRONG>    <STRONG>fixed</STRONG>          <STRONG>invalid</STRONG>         <STRONG>textBackground</STRONG>
-     <STRONG>textFont</STRONG>        <STRONG>validate</STRONG>
-
-     See the "entryfield" widget manual entry for details on  the
-     above associated options.
-
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     o<STRONG>labelPos</STRONG>       <STRONG>labelText</STRONG>
-
-     See the "labeledwidget" widget manual entry for  details  on
-     the above associated options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>buttonBoxPadX</STRONG>   <STRONG>buttonBoxPadY</STRONG>  <STRONG>buttonBoxPos</STRONG>    <STRONG>padX</STRONG>
-     <STRONG>padY</STRONG>            <STRONG>separator</STRONG>      <STRONG>thickness</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited options.
-
-     <STRONG>master</STRONG>          <STRONG>modality</STRONG>       <STRONG>title</STRONG>
-
-     See the "shell" widget manual entry for details on the above
-     inherited options.
-
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>promptdialog</STRONG> command creates a prompt dialog similar  to
-     the  OSF/Motif standard prompt dialog composite widget.  The
-     promptdialog is derived from the dialog class  and  is  com-
-     posed of a EntryField with commands to manipulate the dialog
-     buttons.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>promptdialog</STRONG> command creates a  new  Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The following commands are possible for promptdialog
-     widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>delete</STRONG>          <STRONG>get</STRONG>            <STRONG>icursor</STRONG>         <STRONG>index</STRONG>
-     <STRONG>insert</STRONG>          <STRONG>scan</STRONG>           <STRONG>selection</STRONG>       <STRONG>xview</STRONG>
-
-     See the "entry" widget manual entry for details on the above
-     associated methods.
-
-     <STRONG>clear</STRONG>
-
-     See the "entryfield" widget manual entry for details on  the
-     above associated methods.
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>add</STRONG>             <STRONG>buttonconfigure</STRONG>                <STRONG>defaulthide</STRONG>
-     <STRONG>invoke</STRONG>          <STRONG>show</STRONG>
-
-     See the "buttonbox" widget manual entry for details  on  the
-     above inherited methods.
-
-     <STRONG>childsite</STRONG>
-
-     See the "dialogshell" widget manual entry for details on the
-     above inherited methods.
-
-     <STRONG>activate</STRONG>        <STRONG>center</STRONG>         <STRONG>deactivate</STRONG>
-
-     See the "shell" widget manual entry for details on the above
-     inherited methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>promptdialog</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>promptdialog</STRONG> command.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>ef</STRONG>
-     Class:          <STRONG>Entryfield</STRONG>
-
-          The ef component is the entry field for user  input  in
-          the  prompt dialog.  See the "entryfield" widget manual
-          entry for details on the ef component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           promptdialog .pd -modality global -title Password -labeltext Password: -show *
-           .pd buttonconfigure OK -command {.pd deactivate 1}
-           .pd hide Apply
-           .pd buttonconfigure Cancel -command {.pd deactivate 0}
-           .pd hide Help
-
-           if {[.pd activate]} {
-               puts "Password entered: [.pd get]"
-           } else {
-               puts "Password prompt cancelled"
-           }
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     promptdialog, dialog, dialogshell, shell, widget
-</PRE>
-</BODY>
-</HTML>
+<TITLE>promptdialog - Create and manipulate a prompt dialog widget</TITLE>
+<H1>promptdialog - Create and manipulate a prompt dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>promptdialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- dialogshell &lt;- dialog &lt;- promptdialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectForeground</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the above 
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>invalid</B><br>
+</td>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget manual entry for details on the above
+inherited options.
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>promptdialog</B> command creates a prompt dialog similar to the 
+OSF/Motif standard prompt dialog composite widget.  The promptdialog 
+is derived from the dialog class and is composed of a EntryField 
+with commands to manipulate the dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>promptdialog</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for promptdialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>xview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> widget manual entry for details on the above
+associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>promptdialog</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>promptdialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>prompt</B>
+Class:                  <B>Entryfield</B>
+</pre>
+<UL>
+The prompt component is the entry field for user input in the prompt 
+dialog.  See the "entryfield" widget manual entry for details on 
+the prompt component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ promptdialog .pd -modality global -title Password -labeltext Password: -show *
+ .pd hide Apply
+
+ if {[.pd activate]} {
+     puts "Password entered: [.pd get]"
+ } else {
+     puts "Password prompt cancelled"
+ }
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+promptdialog, dialog, dialogshell, shell, widget
index a1a9cec..6a5bd49 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - pushbutton</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - pushbutton</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     pushbutton - Create and manipulate a push button widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>pushbutton</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- pushbutton
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>activeForegroundanchorbackground</STRONG>
-     <STRONG>bitmap</STRONG>          <STRONG>borderWidth</STRONG>    <STRONG>command</STRONG>         <STRONG>cursor</STRONG>
-     <STRONG>disabledForeground</STRONG>             <STRONG>font</STRONG>            <STRONG>foregroundhighlightBackground</STRONG>
-     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>             <STRONG>imagejustify</STRONG>
-     <STRONG>padX</STRONG>            <STRONG>padY</STRONG>           <STRONG>state</STRONG>           <STRONG>text</STRONG>
-     <STRONG>textVariable</STRONG>    <STRONG>underline</STRONG>      <STRONG>wrapLength</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>defaultRing</STRONG>
-     Class:          <STRONG>DefaultRing</STRONG>
-     Command-Line Switch:           <STRONG>-defaultring</STRONG>
-
-          Boolean describing  whether  the  button  displays  its
-          default  ring  given  in any of the forms acceptable to
-          <STRONG>Tcl_GetBoolean</STRONG>.  The default is false.
-
-     Name:           <STRONG>defaultRingPad</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-defaultringpad</STRONG>
-
-          Specifies the amount of space to be  allocated  to  the
-          indentation  of  the  default ring ring given in any of
-          the forms acceptable to <STRONG>Tcl_GetPixels</STRONG>.  The option  has
-          no  effect  if  the defaultring option is set to false.
-          The default is 2 pixels.
-
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height of the  button  inclusive  of  any
-          default  ring  given  in any of the forms acceptable to
-          <STRONG>Tk_GetPixels</STRONG>.  A value of zero  lets  the  push  button
-          determine the height based on the requested height plus
-          highlightring and defaultringpad.
-
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of  the  button  inclusive  of  any
-          default  ring  given  in any of the forms acceptable to
-          <STRONG>Tk_GetPixels</STRONG>.  A value of zero  lets  the  push  button
-          determine  the  width based on the requested width plus
-          highlightring and defaultringpad.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The  <STRONG>pushbutton</STRONG>  command  creates  a  push  button  with  an
-     optional  default  ring  used  for  default  designation and
-     traversal.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>pushbutton</STRONG> command creates a new Tcl command whose  name
-     is  <EM>pathName</EM>.   This  command  may be used to invoke various
-     operations on the widget.   It  has  the  following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The  following  commands are possible for pushbutton
-     widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>flash</STRONG>           <STRONG>invoke</STRONG>
-
-     See the "button" manual entry for details on the  associated
-     methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>pushbutton</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option  (this   list   will   be   identical   to   the
-          corresponding  sublist  of  the  value  returned  if no
-          <EM>option</EM> is specified).  If one  or  more  <EM>option</EM> - <EM>value</EM>
-          pairs  are  specified,  then  the  command modifies the
-          given widget option(s) to have the given value(s);   in
-          this  case the command returns an empty string.  <EM>Option</EM>
-          may have any of the values accepted by  the  <STRONG>pushbutton</STRONG>
-          command.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>pushbutton</STRONG>
-     Class:          <STRONG>Button</STRONG>
-
-          The pushbutton component is the  button  surrounded  by
-          the  optional  default  ring.   See the "button" widget
-          manual entry for details on  the  pushbutton  component
-          item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          pushbutton .pb -text "Hello" -command {puts "Hello World"} -defaultring 1
-          pack .pb -padx 10 -pady 10
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Bret A. Schuhmacher
-
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     pushbutton, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>pushbutton - Create and manipulate a push button widget</TITLE>
+<H1>pushbutton - Create and manipulate a push button widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>pushbutton<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- pushbutton
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>borderWidth</B><br>
+<B>font</B><br>
+<B>highlightThickness</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>activeForeground</B><br>
+<B>command</B><br>
+<B>foreground</B><br>
+<B>image</B><br>
+<B>text</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>cursor</B><br>
+<B>highlightBackground</B><br>
+<B>padX</B><br>
+<B>underline</B><br>
+</td>
+<td valign=top>
+<B>bitmap</B><br>
+<B>disabledForeground</B><br>
+<B>highlightColor</B><br>
+<B>padY</B><br>
+<B>wrapLength</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>defaultRing</B>
+Class:                  <B>DefaultRing</B>
+Command-Line Switch:   <B>-defaultring</B>
+</pre>
+<UL>
+Boolean describing whether the button displays its default ring given in 
+any of the forms acceptable to <B>Tcl_GetBoolean</B>.  The default is false.
+</UL>
+<P>
+<pre>
+Name:                   <B>defaultRingPad</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-defaultringpad</B>
+</pre>
+<UL>
+Specifies the amount of space to be allocated to the indentation of the
+default ring ring given in any of the forms acceptable to <B>Tcl_GetPixels</B>.
+The option has no effect if the defaultring option is set to false.  The 
+default is 2 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the button inclusive of any default ring given in
+any of the forms acceptable to <B>Tk_GetPixels</B>.  A value of zero lets 
+the push button determine the height based on the requested height plus 
+highlightring and defaultringpad.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the button inclusive of any default ring given in
+any of the forms acceptable to <B>Tk_GetPixels</B>.  A value of zero lets 
+the push button determine the width based on the requested width plus 
+highlightring and defaultringpad.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>pushbutton</B> command creates a push button with an 
+optional default ring used for default designation and traversal.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>pushbutton</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for pushbutton widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>flash</B><br>
+</td>
+<td valign=top>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> manual entry for details on the associated methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>pushbutton</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>pushbutton</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>pushbutton</B>
+Class:                  <B>Button</B>
+</pre>
+<UL>
+The pushbutton component is the button surrounded by the optional default ring.
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/button.n.html"> "button" </A> widget manual entry for details on the pushbutton
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+pushbutton .pb -text "Hello" -command {puts "Hello World"} -defaultring 1
+pack .pb -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:bas@wn.com">Bret A. Schuhmacher</A>
+</pre>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+pushbutton, widget
index 25dc0df..f35d153 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - radiobox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - radiobox</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     radiobox - Create and manipulate a radiobox widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>radiobox</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- labeledwidget &lt;- radiobox
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>borderWidth</STRONG>    <STRONG>cursor</STRONG>          <STRONG>foreground</STRONG>
-     <STRONG>relief</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:   <STRONG>command</STRONG>
-     Class:  <STRONG>Command</STRONG>
-     Command-Line Switch:    <STRONG>-command</STRONG>
-
-          Specifies a Tcl command procedure to be evaluated  fol-
-          lowing a  change in the current radio box selection.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>radiobox</STRONG> command creates a radio button box widget capa-
-     ble of adding, inserting, deleting, selecting, and configur-
-     ing radiobuttons as well as obtaining the currently selected
-     button.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>radiobox</STRONG> command creates a new Tcl command whose name is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget.  It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-     Many of the widget commands for the  <STRONG>radiobox</STRONG>  take  as  one
-     argument  an  indicator of which radiobutton of the radiobox
-     to operate on.  These  indicators  are  called  <EM>indexes</EM>  and
-     allow  reference and manipulation of radiobuttons.  Radiobox
-     indexes may be specified in any of the following forms:
-
-     <EM>number</EM>      Specifies the radiobutton numerically,  where  0
-                 corresponds   to  the  top  radiobutton  of  the
-                 radiobox.
-
-     <STRONG>end</STRONG>         Indicates the last radiobutton of the radiobox.
-
-     <EM>pattern</EM>     If the index doesn't satisfy one  of  the  above
-                 forms  then  this  form  is  used.   <EM>Pattern</EM>  is
-                 pattern-matched  against   the   tag   of   each
-                 radiobutton  in  the radiobox, in order from top
-                 to bottom, until a matching entry is found.  The
-                 rules of <STRONG>Tcl_StringMatch</STRONG> are used.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>add</STRONG> <EM>tag</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM>?
-          Adds a new radiobutton to the  radiobuttond  window  on
-          the bottom.  The command takes additional options which
-          are passed on to the radiobutton as construction  argu-
-          ments.   These  include  the  standard  Tk  radiobutton
-          options.  The tag is returned.
-
-     <EM>pathName</EM> <STRONG>buttonconfigure</STRONG> <EM>index</EM> ?<EM>options</EM>?
-          This command  is  similar  to  the  <STRONG>configure</STRONG>  command,
-          except that it applies to the options for an individual
-          radiobutton, whereas <STRONG>configure</STRONG>applies  to  the  options
-          for  the  radiobox as a whole.  <EM>Options</EM> may have any of
-          the values accepted by  the  <STRONG>add</STRONG>  widget  command.   If
-          <EM>options</EM>  are  specified,  options are modified as indi-
-          cated in the command and the command returns  an  empty
-          string.   If  no  <EM>options</EM> are specified, returns a list
-          describing the current options  for  entry  <EM>index</EM>  (see
-          <STRONG>Tk_ConfigureInfo</STRONG>  for information on the format of this
-          list).
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>radiobox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>radiobox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>index</EM>
-          Deletes a specified radiobutton given an <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>deselect</STRONG> <EM>index</EM>
-          Deselects a specified radiobutton given an <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>flash</STRONG> <EM>index</EM>
-          Flashes a specified radiobutton given an <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>get</STRONG>
-          Returns the tag of the currently selected radiobutton.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-          Returns the numerical index corresponding to index.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>index</EM> <EM>tag</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Same as the <STRONG>add</STRONG> command except that it inserts the  new
-          radiobutton just before the one given by <EM>index</EM>, instead
-          of appending to the end of the radiobox.   The  <EM>option</EM>,
-          and <EM>value</EM> arguments have the same interpretation as for
-          the <STRONG>add</STRONG> widget command.
-
-     <EM>pathName</EM> <STRONG>select</STRONG> <EM>index</EM>
-          Selects a specified radiobutton given an <EM>index</EM>.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           radiobox .rb -labeltext Fonts
-           .rb add times -text Times
-           .rb add helvetica -text Helvetica
-           .rb add courier -text Courier
-           .rb add symbol -text Symbol
-           .rb select courier
-
-           pack .rb -padx 10 -pady 10 -fill both -expand yes
-
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Michael J. McLennan
-
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     radiobox, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>radiobox - Create and manipulate a radiobox widget</TITLE>
+<H1>radiobox - Create and manipulate a radiobox widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>radiobox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- labeledframe &lt;- radiobox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>selectColor</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the "labeledframe" class manual entry for details on the 
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>command</B>
+Class:                  <B>Command</B>
+Command-Line Switch:    <B>-command</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure to be evaluated following a  change in 
+the current radio box selection.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>radiobox</B> command creates a radio button box widget 
+capable of adding, inserting, deleting, selecting, and configuring 
+radiobuttons as well as obtaining the currently selected button.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>radiobox</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  
+<P>
+Many of the widget commands for the <B>radiobox</B> take as one argument an
+indicator of which radiobutton of the radiobox to operate on.  These indicators
+are called <I>indexes</I> and allow reference and manipulation of radiobuttons.
+Radiobox indexes may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the radiobutton numerically, where 0 corresponds to the top 
+radiobutton of the radiobox.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the last radiobutton of the radiobox.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used.  <I>Pattern</I> is pattern-matched against the tag of
+each radiobutton in the radiobox, in order from top to bottom,
+until a matching entry is found.  The rules of <B>Tcl_StringMatch</B>
+are used.
+
+</DL>
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>add</B> <I>tag</I> ?<I>option value option value</I>?
+</I></B>
+<DD> Adds a new radiobutton to the radiobuttond window on the bottom.  The command
+takes additional options which are passed on to the radiobutton as construction
+arguments.  These include the standard Tk radiobutton options.  The tag is
+returned.
+</DL>
+<DL>
+<DT> <I>pathName <B>buttonconfigure</B> <I>index</I> ?<I>options</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that
+it applies to the options for an individual radiobutton, 
+whereas <B>configure</B>applies to the options for the radiobox as a whole.
+<I>Options</I> may have any of the values accepted by the <B>add</B>
+widget command.  If <I>options</I> are specified, options are modified
+as indicated in the command and the command returns an empty string.
+If no <I>options</I> are specified, returns a list describing
+the current options for entry <I>index</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>radiobox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>radiobox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>delete</B> <I>index</I>
+</I></B>
+<DD> Deletes a specified radiobutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>deselect</B> <I>index</I>
+</I></B>
+<DD> Deselects a specified radiobutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>flash</B> <I>index</I>
+</I></B>
+<DD> Flashes a specified radiobutton given an <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B>
+</I></B>
+<DD> Returns the tag of the currently selected radiobutton.
+</DL>
+<DL>
+<DT> <I>pathName <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to index.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert <I>index</I> <I>tag</I> ?<I>option value option value ...</I>?
+</I></B>
+<DD> Same as the <B>add</B> command except that it inserts the new
+radiobutton just before the one given by <I>index</I>, instead of appending
+to the end of the radiobox.  The <I>option</I>, and <I>value</I>
+arguments have the same interpretation as for the <B>add</B> widget
+command.  
+</DL>
+<DL>
+<DT> <I>pathName <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects a specified radiobutton given an <I>index</I>.
+
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ radiobox .rb -labeltext Fonts
+ .rb add times -text Times
+ .rb add helvetica -text Helvetica
+ .rb add courier -text Courier
+ .rb add symbol -text Symbol
+ .rb select courier
+
+ pack .rb -padx 10 -pady 10 -fill both -expand yes
+</pre>
+
+</pre><H2>AUTHOR</H2>
+Michael J. McLennan
+</pre>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+radiobox, widget
index bf0da2c..400bccb 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - scrolledcanvas</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - scrolledcanvas</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     scrolledcanvas - Create and manipulate scrolled canvas widg-
-     ets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>scrolledcanvas</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- scrolledcanvas
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>exportSelection</STRONG> <STRONG>font</STRONG>           <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG>
-     <STRONG>highlightThickness</STRONG>             <STRONG>insertBorderWidthinsertOffTimeinsertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>     <STRONG>relief</STRONG>         <STRONG>repeatDelay</STRONG>     <STRONG>repeatInterval</STRONG>
-     <STRONG>selectBackground</STRONG>               <STRONG>selectBorderWidthselectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>closeEnough</STRONG>     <STRONG>confine</STRONG>        <STRONG>scrollRegion</STRONG>    <STRONG>xScrollIncrement</STRONG>
-     <STRONG>yScrollIncrement</STRONG>
-
-     See the "canvas" widget manual  entry  for  details  on  the
-     above associated options.
-
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget manual entry for details  on  the
-     above associated options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>autoMargin</STRONG>
-     Class:          <STRONG>AutoMargin</STRONG>
-     Command-Line Switch:           <STRONG>-automargin</STRONG>
-
-          Specifies the autoresize extra margin to reserve.  This
-          option  is  only  effective  with autoresize turned on.
-          The default is 10.
-
-     Name:           <STRONG>autoResize</STRONG>
-     Class:          <STRONG>AutoResize</STRONG>
-     Command-Line Switch:           <STRONG>-autoresize</STRONG>
-
-          Automatically adjusts the scrolled  region  to  be  the
-          bounding  box covering all the items in the canvas fol-
-          lowing the execution of any  method  which  creates  or
-          destroys  items.   Thus,  as  new  items are added, the
-          scrollbars adjust accordingly.
-
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height of the scrolled canvas  widget  in
-          any  of  the  forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.  The
-          default height is 30 pixels.
-
-     Name:           <STRONG>hscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-hscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the  hor-
-          izontal scrollbar: <STRONG>static,</STRONG> <STRONG>dynamic,</STRONG> or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>sbWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-sbwidth</STRONG>
-
-          Specifies the width of the  scrollbar  in  any  of  the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default width is
-          15 pixels..
-
-     Name:           <STRONG>scrollMargin</STRONG>
-     Class:          <STRONG>ScrollMargin</STRONG>
-     Command-Line Switch:           <STRONG>-scrollmargin</STRONG>
-
-          Specifies the distance between the canvas and scrollbar
-          in  any  of  the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The
-          default is 3 pixels.
-
-     Name:           <STRONG>textBackground</STRONG>
-     Class:          <STRONG>Background</STRONG>
-     Command-Line Switch <STRONG>-textbackground</STRONG>
-
-          Specifies the background color for  the  canvas.   This
-          allows the background within the canvas to be different
-          from the normal background color.
-
-
-     Name:           <STRONG>vscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-vscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the vert-
-          ical  scrollbar:  <STRONG>static,</STRONG>  <STRONG>dynamic,</STRONG> or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the scrolled  canvas  widget  in
-          any  of  the  forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.  The
-          default height is 30 pixels.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>scrolledcanvas</STRONG> command creates a  scrolled  canvas  with
-     additional   options   to  manage  horizontal  and  vertical
-     scrollbars.   This  includes  options   to   control   which
-     scrollbars  are displayed and the method, i.e. statically or
-     dynamically.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>scrolledcanvas</STRONG> command creates a new Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The following commands are possible for scrolledcan-
-     vas widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>addtag</STRONG>          <STRONG>bbox</STRONG>           <STRONG>bind</STRONG>            <STRONG>canvasx</STRONG>
-     <STRONG>canvasy</STRONG>         <STRONG>coords</STRONG>         <STRONG>create</STRONG>          <STRONG>dchars</STRONG>
-     <STRONG>delete</STRONG>          <STRONG>dtag</STRONG>           <STRONG>find</STRONG>            <STRONG>focus</STRONG>
-     <STRONG>gettags</STRONG>         <STRONG>icursor</STRONG>        <STRONG>index</STRONG>           <STRONG>insert</STRONG>
-     <STRONG>itemconfigure</STRONG>   <STRONG>lower</STRONG>          <STRONG>move</STRONG>            <STRONG>postscript</STRONG>
-     <STRONG>raise</STRONG>           <STRONG>scale</STRONG>          <STRONG>scan</STRONG>            <STRONG>select</STRONG>
-     <STRONG>type</STRONG>            <STRONG>xview</STRONG>          <STRONG>yview</STRONG>
-
-     See the "canvas" manual entry for details on the  associated
-     methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>scrolledcanvas</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Returns the child site widget path name.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>scrolledcanvas</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>justify</STRONG> <EM>direction</EM>
-          Justifies the canvas contents via the  scroll  bars  in
-          one of four directions:  <STRONG>left</STRONG>, <STRONG>right</STRONG>, <STRONG>top</STRONG>, or <STRONG>bottom</STRONG>.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>scrCanvas</STRONG>
-     Class:          <STRONG>Canvas</STRONG>
-
-          The scrCanvas component is the canvas widget.  See  the
-          "canvas" widget manual entry for details on the scrCan-
-          vas component item.
-
-     Name:           <STRONG>hSB</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The hSB component is the horizontal  scroll  bar.   See
-          the  "ScrollBar" widget manual entry for details on the
-          hSB component item.
-
-     Name:           <STRONG>vSB</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The vSB component is the vertical scroll bar.  See  the
-          "ScrollBar"  widget manual entry for details on the vSB
-          component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-            scrolledcanvas .sc
-
-            .sc create rectangle 100 100 400 400 -fill red
-            .sc create rectangle 300 300 600 600 -fill green
-            .sc create rectangle 200 200 500 500 -fill blue
-
-            pack .sc -padx 10 -pady 10 -fill both -expand yes
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     scrolledcanvas, canvas, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>scrolledcanvas - Create and manipulate scrolled canvas widgets</TITLE>
+<H1>scrolledcanvas - Create and manipulate scrolled canvas widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledcanvas<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledwidget &lt;- Scrolledcanvas
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>highlightThickness</B><br>
+<B>insertWidth</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>font</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>foreground</B><br>
+<B>insertOffTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightColor</B><br>
+<B>insertOnTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>closeEnough</B><br>
+<B>yScrollIncrement</B><br>
+</td>
+<td valign=top>
+<B>confine</B><br>
+</td>
+<td valign=top>
+<B>scrollRegion</B><br>
+</td>
+<td valign=top>
+<B>xScrollIncrement</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/canvas.n.html"> "canvas" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>autoMargin</B>
+Class:                  <B>AutoMargin</B>
+Command-Line Switch:   <B>-automargin</B>
+</pre>
+<UL>
+Specifies the autoresize extra margin to reserve.  This option is only
+effective with autoresize turned on.  The default is 10.
+</UL>
+<P>
+<pre>
+Name:                   <B>autoResize</B>
+Class:                  <B>AutoResize</B>
+Command-Line Switch:   <B>-autoresize</B>
+</pre>
+<UL>
+Automatically adjusts the scrolled region to be the bounding 
+box covering all the items in the canvas following the execution 
+of any method which creates or destroys items.  Thus, as new 
+items are added, the scrollbars adjust accordingly.
+</UL>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled canvas widget in any of the forms 
+acceptable to <B>Tk_GetPixels</B>.  The default height is 30 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>hscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static, dynamic,</B> or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>sbWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms acceptable 
+to <B>Tk_GetPixels</B>.  The default width is 15 pixels..
+</UL>
+<P>
+<pre>
+Name:                   <B>scrollMargin</B>
+Class:                  <B>ScrollMargin</B>
+Command-Line Switch:   <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the canvas and scrollbar in any of the 
+forms acceptable to <B>Tk_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>textBackground</B>
+Class:                  <B>Background</B>
+Command-Line Switch <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the canvas.  This allows the background 
+within the canvas to be different from the normal background color.
+</UL>
+<P>
+<pre>
+Name:                   <B>vscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static, dynamic,</B> or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the 
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled canvas widget in any of the forms 
+acceptable to <B>Tk_GetPixels</B>.  The default height is 30 pixels.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledcanvas</B> command creates 
+a scrolled canvas with additional options to manage
+horizontal and vertical scrollbars.  This includes options to control
+which scrollbars are displayed and the method, i.e. statically or
+dynamically.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledcanvas</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for scrolledcanvas widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>addtag</B><br>
+<B>canvasy<B><br>
+<B>delete</B><br>
+<B>gettags</B><br>
+<B>itemconfigure</B><br>
+<B>raise</B><br>
+<B>type</B><br>
+</td>
+<td valign=top>
+<B>bbox</B><br>
+<B>coords</B><br>
+<B>dtag</B><br>
+<B>icursor</B><br>
+<B>lower</B><br>
+<B>scale</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>bind</B><br>
+<B>create</B><br>
+<B>find</B><br>
+<B>index</B><br>
+<B>move</B><br>
+<B>scan</B><br>
+<B>yview</B><br>
+</td>
+<td valign=top>
+<B>canvasx</B><br>
+<B>dchars</B><br>
+<B>focus</B><br>
+<B>insert</B><br>
+<B>postscript</B><br>
+<B>select</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/canvas.n.html"> "canvas" </A> manual entry for details on the associated methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>scrolledcanvas</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>scrolledcanvas</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>justify <I>direction</I>
+</I></B>
+<DD> Justifies the canvas contents via the scroll bars in one of four directions:
+<B>left</B>, <B>right</B>, <B>top</B>, or <B>bottom</B>.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>canvas</B>
+Class:                  <B>Canvas</B>
+</pre>
+<UL>
+The canvas component is the canvas widget.  See the "canvas" widget 
+manual entry for details on the canvas component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>horizsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar.  See the "ScrollBar" 
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>vertsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar.  See the "ScrollBar" widget 
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+  scrolledcanvas .sc 
+
+  .sc create rectangle 100 100 400 400 -fill red
+  .sc create rectangle 300 300 600 600 -fill green
+  .sc create rectangle 200 200 500 500 -fill blue
+
+  pack .sc -padx 10 -pady 10 -fill both -expand yes
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+scrolledcanvas, canvas, widget
index e8dede3..4044adb 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - scrolledframe</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - scrolledframe</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     scrolledframe - Create and manipulate scrolled frame widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>scrolledframe</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- scrolledframe
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>font</STRONG>            <STRONG>foreground</STRONG>     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>
-     <STRONG>relief</STRONG>          <STRONG>repeatDelay</STRONG>    <STRONG>repeatInterval</STRONG>  <STRONG>selectBackground</STRONG>
-     <STRONG>selectBorderWidth</STRONG>              <STRONG>selectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" manual entry for details on the  associ-
-     ated options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>LabelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height of the scrolled  frame  widget  in
-          any  of  the  forms  acceptable  to  <STRONG>Tk_GetPixels</STRONG>.  The
-          default height is 100 pixels.
-
-     Name:           <STRONG>hscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-hscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the  hor-
-          izontal scrollbar: <STRONG>static</STRONG>, <STRONG>dynamic</STRONG>, or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>sbWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-sbwidth</STRONG>
-
-          Specifies the width of the  scrollbar  in  any  of  the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default width is
-          15 pixels.
-
-     Name:           <STRONG>scrollMargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-scrollmargin</STRONG>
-
-          Specifies the distance between the frame and  scrollbar
-          in  any  of  the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The
-          default is 3 pixels.
-
-     Name:           <STRONG>vscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-vscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the vert-
-          ical  scrollbar:  <STRONG>static</STRONG>,  <STRONG>dynamic</STRONG>, or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the scrolled frame widget in any
-          of  the  forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default
-          height is 100 pixels.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>scrolledframe</STRONG> combines the functionallity  of  scrolling
-     with  that of a typical frame widget to implement a clipable
-     viewing area whose visible region may be modified  with  the
-     scroll bars. This enables the contruction of visually larger
-     areas than which could normally be displayed,  containing  a
-     heterogenous mix of other widgets. Options exist which allow
-     full control over which scrollbars  are  displayed  and  the
-     method, i.e. statically or dynamically. The frame itself may
-     be accessed by the <STRONG>childsite</STRONG> method  and  then  filled  with
-     other widget combinations.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-
-     The <STRONG>scrolledframe</STRONG> command creates a new  Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.  The following commands are possible for scrolledframe
-     widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>xview</STRONG>           <STRONG>yview</STRONG>
-
-     See the "canvas" manual entry for details on the  associated
-     methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>scrolledframe</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Return the path name of the child site.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>scrolledframe</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>justify</STRONG> <EM>direction</EM>
-          Justifies the frame contents via the scroll bars in one
-          of four directions:  <STRONG>left</STRONG>, <STRONG>right</STRONG>, <STRONG>top</STRONG>, or <STRONG>bottom</STRONG>.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>canvasFrame</STRONG>
-     Class:          <STRONG>Frame</STRONG>
-
-          The  canvasFrame  component  provides  relief  for  the
-          scrCanvas  component.   See  the  "frame" widget manual
-          entry for details on the canvasFrame component item.
-
-     Name:           <STRONG>scrCanvas</STRONG>
-     Class:          <STRONG>Canvas</STRONG>
-
-          The scrCanvas component provides the  scrolling  region
-          for the scrolled frame.  See the "canvas" widget manual
-          entry for details on the scrCanvas component item.
-
-     Name:           <STRONG>scrFrame</STRONG>
-     Class:          <STRONG>Frame</STRONG>
-
-          The scrFrame component is  internal  to  the  scrCanvas
-          component,  providing  a  container for children of the
-          scrolled frame.  See the "frame"  widget  manual  entry
-          for details on the scrFrame component item.
-
-     Name:           <STRONG>hSB</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The hSB component is the horizontal  scroll  bar.   See
-          the  "ScrollBar" widget manual entry for details on the
-          hSB component item.
-
-     Name:           <STRONG>vSB</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The vSB component is the vertical scroll bar.  See  the
-          "ScrollBar"  widget manual entry for details on the vSB
-          component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          scrolledframe .sf -width 150 -height 180 -labelon yes -labeltext scrolledframe
-
-          set cs [.sf childsite]
-          pack [button $cs.b1 -text Hello] -pady 10
-          pack [button $cs.b2 -text World] -pady 10
-          pack [button $cs.b3 -text "This is a test"] -pady 10
-          pack [button $cs.b4 -text "This is a really big button"] -pady 10
-          pack [button $cs.b5 -text "This is another really big button"] -pady 10
-          pack [button $cs.b6 -text "This is the last really big button"] -pady 10
-
-          pack .sf -expand yes -fill both -padx 10 -pady 10
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Sue Yockey
-
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     scrolledframe, frame, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>scrolledframe - Create and manipulate scrolled frame widgets</TITLE>
+<H1>scrolledframe - Create and manipulate scrolled frame widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledframe<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;-Scrolledwidget &lt;- Scrolledframe
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>font</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>selectForeground</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>LabelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled frame widget in any of the forms acceptable to <B>Tk_GetPixels</B>.  The default height is 100 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>hscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static</B>, <B>dynamic</B>, or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>sbWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms acceptable 
+to <B>Tk_GetPixels</B>.  The default width is 15 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>scrollMargin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the frame and scrollbar in any of the
+forms acceptable to <B>Tk_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>vscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static</B>, <B>dynamic</B>, or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the 
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled frame widget in any of the forms
+acceptable to <B>Tk_GetPixels</B>.  The default height is 100 pixels.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledframe</B> combines the functionallity of scrolling with that 
+of a typical frame widget to implement a clipable viewing area whose visible 
+region may be modified with the scroll bars. This enables the contruction 
+of visually larger areas than which could normally be displayed, containing 
+a heterogenous mix of other widgets. Options exist which allow full control
+over which scrollbars are displayed and the method, i.e. statically or
+dynamically. The frame itself may be accessed by the <B>childsite</B>
+method and then filled with other widget combinations.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledframe</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for scrolledframe widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>yview</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/canvas.n.html"> "canvas" </A> manual entry for details on the associated methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>scrolledframe</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Return the path name of the child site.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>scrolledframe</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>justify <I>direction</I>
+</I></B>
+<DD> Justifies the frame contents via the scroll bars in one of four directions:
+<B>left</B>, <B>right</B>, <B>top</B>, or <B>bottom</B>.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>horizsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar.  See the "ScrollBar" 
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>vertsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar.  See the "ScrollBar" widget 
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+scrolledframe .sf -width 150 -height 180 -labelon yes -labeltext scrolledframe
+
+set cs [.sf childsite]
+pack [button $cs.b1 -text Hello] -pady 10
+pack [button $cs.b2 -text World] -pady 10
+pack [button $cs.b3 -text "This is a test"] -pady 10
+pack [button $cs.b4 -text "This is a really big button"] -pady 10
+pack [button $cs.b5 -text "This is another really big button"] -pady 10
+pack [button $cs.b6 -text "This is the last really big button"] -pady 10
+
+pack .sf -expand yes -fill both -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+<DL>
+<DT> Mark L. Ulferts
+</DL>
+<DL>
+<DT> Sue Yockey
+</DL>
+</pre><H2>KEYWORDS</H2>
+scrolledframe, frame, widget
index 4b46b10..a915600 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - scrolledhtml</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - scrolledhtml</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     scrolledhtml - Create and manipulate a scrolled text  widget
-     with the capability of displaying HTML formatted documents.
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>scrolledhtml</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- Scrolledtext &lt;- Scrolledhtml
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>exportSelection</STRONG> <STRONG>foreground</STRONG>     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>
-     <STRONG>insertBackground</STRONG>               <STRONG>insertBorderWidthinsertOffTimeinsertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>     <STRONG>padX</STRONG>           <STRONG>padY</STRONG>            <STRONG>relief</STRONG>
-     <STRONG>repeatDelay</STRONG>     <STRONG>repeatInterval</STRONG> <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>               <STRONG>setGrid</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget manual entry for details  on  the
-     above associated options.
-
-     <STRONG>spacing1</STRONG>        <STRONG>spacing2</STRONG>       <STRONG>spacing3</STRONG>        <STRONG>state</STRONG>
-     <STRONG>wrap</STRONG>
-
-     See the "text" widget manual entry for details on the  above
-     associated options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>   <STRONG>height</STRONG>
-     <STRONG>hscrollMode</STRONG>     <STRONG>sbWidth</STRONG>        <STRONG>scrollMargin</STRONG>    <STRONG>visibleitems</STRONG>
-     <STRONG>vscrollMode</STRONG>     <STRONG>width</STRONG>
-
-     See the "scrolledtext" class manual entry for details on the
-     inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>feedback</STRONG>
-     Class:          <STRONG>FeedBack</STRONG>
-     Command-Line Switch:           <STRONG>-feedback</STRONG>
-
-          Specifies the callback command to use to give  feedback
-          on current status.  Two integers are appended onto this
-          command.  They  represent  the  current  point  in  the
-          rendering  process, and the maximum point.  The maximum
-          depends on the length of the text being rendered.
-
-     Name:           <STRONG>fixedfont</STRONG>
-     Class:          <STRONG>FixedFont</STRONG>
-     Command-Line Switch:           <STRONG>-fixedfont</STRONG>
-
-          Specifies the name of the font to be  used  for  fixed-
-          width   character   text  (such  as  &lt;pre&gt;...&lt;/pre&gt;  or
-          &lt;tt&gt;...&lt;/tt&gt;.) The size, style, and other  font  attri-
-          butes  are  determined  by the format tags in the docu-
-          ment. The default is courier.
-
-     Name:           <STRONG>fontname</STRONG>
-     Class:          <STRONG>FontName</STRONG>
-     Command-Line Switch:           <STRONG>-fontname</STRONG>
-
-          Specifies the name of the font to be used  for  normal-
-          width character spaced text. The size, style, and other
-          font attributes are determined by the  format  tags  in
-          the document. The default is times.
-
-     Name:           <STRONG>fontsize</STRONG>
-     Class:          <STRONG>FontSize</STRONG>
-     Command-Line Switch:           <STRONG>-fontsize</STRONG>
-
-          Specifies the general size of the fonts  used.  One  of
-          small, medium, large, or huge. The default is medium.
-
-     Name:           <STRONG>foreground</STRONG>
-     Class:          <STRONG>Foreground</STRONG>
-     Command-Line Switch:           <STRONG>-foreground</STRONG>
-
-          Specifies the color of text other than hypertext links,
-          in  any  of  the  forms acceptable to <STRONG>Tk_GetColor</STRONG>. This
-          value may be overridden in a particular document by the
-          <EM>text</EM> attribute of the <STRONG>Body</STRONG> HTML tag.
-
-     Name:           <STRONG>link</STRONG>
-     Class:          <STRONG>Link</STRONG>
-     Command-Line Switch:           <STRONG>-link</STRONG>
-
-          Specifies the default color of hypertext links  in  any
-          of  the forms acceptable to <STRONG>Tk_GetColor</STRONG>. This value may
-          be overridden in a  particular  document  by  the  <EM>link</EM>
-          attribute of the <STRONG>Body</STRONG> HTML tag. The default is blue.
-
-     Name:           <STRONG>linkcommand</STRONG>
-     Class:          <STRONG>LinkCommand</STRONG>
-     Command-Line Switch:           <STRONG>-linkcommand</STRONG>
-
-          Specifies the command to execute when the  user  clicks
-          on  a hypertext link. Execution is of the form <STRONG>linkcom-</STRONG>
-          <STRONG>mand</STRONG> <STRONG>href</STRONG>, where <STRONG>href</STRONG> is the value given  in  the  <EM>href</EM>
-          attribute of the <STRONG>A</STRONG> HTML tag.
-
-     Name:           <STRONG>linkhighlight</STRONG>
-     Class:          <STRONG>LinkHighlight</STRONG>
-     Command-Line Switch:           <STRONG>-linkhighlight</STRONG>
-
-          Specifies the color of hypertext links when the  cursor
-          is  over  the  link  in  any of the forms acceptable to
-          <STRONG>Tk_GetColor</STRONG>. The default is red.
-
-     Name:           <STRONG>textBackground</STRONG>
-     Class:          <STRONG>Background</STRONG>
-     Command-Line Switch:           <STRONG>-textbackground</STRONG>
-
-          Specifies the background color for the text area in any
-          of  the forms acceptable to <STRONG>Tk_GetColor</STRONG>. This value may
-          be overridden in a particular document by  the  <EM>bgcolor</EM>
-          attribute of the <STRONG>Body</STRONG> HTML tag.
-
-     Name:           <STRONG>unknownimage</STRONG>
-     Class:          <STRONG>UnknownImage</STRONG>
-     Command-Line Switch:           <STRONG>-unknownimage</STRONG>
-
-          Specifies the name of the image file to display when an
-          <STRONG>img</STRONG> specified in the html document cannot be loaded.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>scrolledhtml</STRONG> command creates a scrolled text widget with
-     the  additional  capability  to display html formatted docu-
-     ments.  An import method is provided to read an  html  docu-
-     ment file, and a render method is provided to display a html
-     formatted text string.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>scrolledhtml</STRONG> command creates a  new  Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The following commands are possible for scrolledhtml
-     widgets:
-
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>bbox</STRONG>            <STRONG>compare</STRONG>        <STRONG>debug</STRONG>           <STRONG>delete</STRONG>
-     <STRONG>dlineinfo</STRONG>       <STRONG>get</STRONG>            <STRONG>index</STRONG>           <STRONG>insert</STRONG>
-     <STRONG>mark</STRONG>            <STRONG>scan</STRONG>           <STRONG>search</STRONG>          <STRONG>see</STRONG>
-     <STRONG>tag</STRONG>             <STRONG>window</STRONG>         <STRONG>xview</STRONG>           <STRONG>yview</STRONG>
-
-     See the "text" manual entry  for  details  on  the  standard
-     methods.
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>export</STRONG>          <STRONG>clear</STRONG>
-
-     See the "scrolledhtml"  manual  entry  for  details  on  the
-     inherited methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>scrolledhtml</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>scrolledhtml</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>import</STRONG> ?<EM>option</EM>? <EM>href</EM>
-          Load html formatted text from a file.  <EM>Href</EM> must exist.
-          If  <EM>option</EM>  is -link, <EM>href</EM> is assumed to be relative to
-          the application's current working directory. Otherwise,
-          <EM>href</EM>  is assumed to be relative to the path of the last
-          page loaded. <EM>Href</EM> is either a filename, or a  reference
-          of  the  form  <EM>filename</EM>#<EM>anchorname</EM>. In the latter form,
-          fIFilename and/or <EM>anchorname</EM> may be empty. If  <EM>filename</EM>
-          is  empty,  the current document is assumed. If <EM>anchor-</EM>
-          <EM>name</EM> is empty, the top of the document is assumed.
-
-     <EM>pathName</EM> <STRONG>pwd</STRONG>
-          Print the current working directory of the widget, i.e.
-          the directory of the last page loaded.
-
-     <EM>pathName</EM> <STRONG>render</STRONG> <EM>htmltext</EM> ?<EM>wd</EM>?
-          Display HTML formatted text <EM>htmltext</EM>. <EM>Wd</EM> gives the base
-          path  to  use for all links and images in the document.
-          <EM>Wd</EM> defaults to the application's current working direc-
-          tory.
-
-     <EM>pathName</EM> <STRONG>title</STRONG>
-          Return the title of the current page, as given  in  the
-          &lt;title&gt;...&lt;/title&gt; field in the document.
-
-
-
-</PRE>
-<H2>SUPPORTED HTML TAGS</H2><PRE>
-     <STRONG>a</STRONG>               <STRONG>/code</STRONG>          <STRONG>h5</STRONG>              <STRONG>/samp</STRONG>
-     <STRONG>/a</STRONG>              <STRONG>dir</STRONG>            <STRONG>/h5</STRONG>             <STRONG>small</STRONG>
-     <STRONG>address</STRONG>         <STRONG>/dir</STRONG>           <STRONG>h6</STRONG>              <STRONG>/small</STRONG>
-     <STRONG>/address</STRONG>        <STRONG>dl</STRONG>             <STRONG>/h6</STRONG>             <STRONG>sub</STRONG>
-     <STRONG>b</STRONG>               <STRONG>/dl</STRONG>            <STRONG>i</STRONG>               <STRONG>/sub</STRONG>
-     <STRONG>/b</STRONG>              <STRONG>dt</STRONG>             <STRONG>/i</STRONG>              <STRONG>sup</STRONG>
-     <STRONG>base</STRONG>            <STRONG>dd</STRONG>             <STRONG>img</STRONG>             <STRONG>/sup</STRONG>
-     <STRONG>big</STRONG>             <STRONG>dfn</STRONG>            <STRONG>kbd</STRONG>             <STRONG>strong</STRONG>
-     <STRONG>/big</STRONG>            <STRONG>/dfn</STRONG>           <STRONG>li</STRONG>              <STRONG>/strong</STRONG>
-     <STRONG>blockquote</STRONG>      <STRONG>em</STRONG>             <STRONG>listing</STRONG>         <STRONG>title</STRONG>
-     <STRONG>/blockquote</STRONG>     <STRONG>/em</STRONG>            <STRONG>/listing</STRONG>        <STRONG>/title</STRONG>
-     <STRONG>body</STRONG>            <STRONG>h1</STRONG>             <STRONG>menu</STRONG>            <STRONG>tt</STRONG>
-     <STRONG>/body</STRONG>           <STRONG>/h1</STRONG>            <STRONG>/menu</STRONG>           <STRONG>/tt</STRONG>
-     <STRONG>br</STRONG>              <STRONG>h2</STRONG>             <STRONG>ol</STRONG>              <STRONG>u</STRONG>
-     <STRONG>center</STRONG>          <STRONG>/h2</STRONG>            <STRONG>/ol</STRONG>             <STRONG>/u</STRONG>
-     <STRONG>/center</STRONG>         <STRONG>h3</STRONG>             <STRONG>p</STRONG>               <STRONG>ul</STRONG>
-     <STRONG>cite</STRONG>            <STRONG>/h3</STRONG>            <STRONG>pre</STRONG>             <STRONG>/ul</STRONG>
-     <STRONG>/cite</STRONG>           <STRONG>h4</STRONG>             <STRONG>/pre</STRONG>            <STRONG>var</STRONG>
-     <STRONG>code</STRONG>            <STRONG>/h4</STRONG>            <STRONG>samp</STRONG>            <STRONG>/var</STRONG>
-
-
-</PRE>
-<H2>TAGS WITH ATTRIBUTES</H2><PRE>
-     <STRONG>a</STRONG>
-
-          <EM>href</EM> reference  to   html   document,   of   the   form
-               filename#anchorname
-
-          <EM>name</EM> name of this anchor, to be used in an href
-
-          <EM>id</EM>   same as name
-
-     <STRONG>body</STRONG>
-
-          <EM>bgcolor</EM>
-               background color
-
-          <EM>link</EM> color of hypertext links
-
-          <EM>text</EM> color of text
-
-     <STRONG>h</STRONG><EM>n</EM>
-          <EM>align</EM>
-               text alignment, one of <STRONG>left</STRONG>, <STRONG>right</STRONG>, or <STRONG>center</STRONG>
-
-          <EM>src</EM>  path to image to precede text
-
-     <STRONG>hr</STRONG>
-
-          <EM>noshade</EM>
-               if present, indicates the rule should be  a  plain
-               black line
-
-          <EM>size</EM> height of the rule, in pixels
-
-     <STRONG>img</STRONG>
-
-          <EM>alt</EM>  text to display in place of image if image is  not
-               found
-
-          <EM>height</EM>
-               height of area to reserve if image is not found
-
-          <EM>src</EM>  filename of image
-
-          <EM>width</EM>
-               width of area to reserve if image is not found
-
-     <STRONG>p</STRONG>
-
-          <EM>align</EM>
-               alignment of following  paragraph,  one  of  <STRONG>left</STRONG>,
-               <STRONG>right</STRONG>,  or <STRONG>center</STRONG>. Defaults to alignment of previ-
-               ous paragraph, or <STRONG>left</STRONG> for first paragraph
-
-          <EM>id</EM>   ID for use as anchorname in a link to  this  docu-
-               ment
-
-     <STRONG>ul</STRONG>
-
-          <EM>plain</EM>
-               if present list will not use bullets
-
-          <EM>src</EM>  image to use as bullet
-
-          <EM>dingbat</EM>
-               same as src
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           scrolledhtml .sh -fontname helvetica -linkcommand "this import -link"
-
-           pack .sh -padx 10 -pady 10 -fill both -expand yes
-           .sh import ~/public_html/index.html
-
-
-
-</PRE>
-<H2>ACKNOWLEDGEMENTS</H2><PRE>
-     Sam Shen
-
-          This code is based largely on his tkhtml.tcl code  from
-          tk  inspect. Tkhtml is copyright 1995 Lawrence Berkeley
-          Laboratory.
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Kris Raney
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     scrolledhtml, html, text, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>scrolledhtml - Create and manipulate a scrolled text widget with the capability</TITLE>
+<H1>scrolledhtml - Create and manipulate a scrolled text widget with the capability</H1>
+
+of displaying HTML formatted documents.
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledhtml<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledtext &lt;- Scrolledhtml
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>padX</B><br>
+<B>repeatInterval</B><br>
+<B>setGrid</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>padY</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>spacing1</B><br>
+<B>wrap</B><br>
+</td>
+<td valign=top>
+<B>spacing2</B><br>
+</td>
+<td valign=top>
+<B>spacing3</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+<B>hscrollMode</B><br>
+<B>vscrollMode</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+<B>sbWidth</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+<B>scrollMargin</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+<B>height</B><br>
+<B>visibleitems</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledtext.n.html"> "scrolledtext" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>feedback</B>
+Class:                  <B>FeedBack</B>
+Command-Line Switch:   <B>-feedback</B>
+</pre>
+<UL>
+Specifies the callback command to use to give feedback on current
+status. The command is executed in the form <I>command</I> <I>&lt;number of 
+characters remaining&gt;</B></I>
+</UL>
+<P>
+<pre>
+Name:                   <B>fixedfont</B>
+Class:                  <B>FixedFont</B>
+Command-Line Switch:   <B>-fixedfont</B>
+</pre>
+<UL>
+Specifies the name of the font to be used for fixed-width character
+text (such as &lt;pre&gt;...&lt;/pre&gt; or &lt;tt&gt;...&lt;/tt&gt;.) The size, style, and 
+other font attributes are determined by the format tags in the 
+document. The default is courier.
+</UL>
+<P>
+<pre>
+Name:                   <B>fontname</B>
+Class:                  <B>FontName</B>
+Command-Line Switch:   <B>-fontname</B>
+</pre>
+<UL>
+Specifies the name of the font to be used for normal-width character 
+spaced text. The size, style, and other font attributes are 
+determined by the format tags in the document. The default is times.
+</UL>
+<P>
+<pre>
+Name:                   <B>fontsize</B>
+Class:                  <B>FontSize</B>
+Command-Line Switch:   <B>-fontsize</B>
+</pre>
+<UL>
+Specifies the general size of the fonts used. One of small, medium,
+large, or huge. The default is medium.
+</UL>
+<P>
+<pre>
+Name:                   <B>foreground</B>
+Class:                  <B>Foreground</B>
+Command-Line Switch:   <B>-foreground</B>
+</pre>
+<UL>
+Specifies the color of text other than hypertext links, in any 
+of the forms acceptable to <B>Tk_GetColor</B>. This value may
+be overridden in a particular document by the <I>text</I> attribute 
+of the <B>Body</B> HTML tag.
+</UL>
+<P>
+<pre>
+Name:                   <B>link</B>
+Class:                  <B>Link</B>
+Command-Line Switch:   <B>-link</B>
+</pre>
+<UL>
+Specifies the default color of hypertext links in any of the forms
+acceptable to <B>Tk_GetColor</B>. This value may be overridden in a
+particular document by the <I>link</I> attribute of the <B>Body</B> 
+HTML tag. The default is blue.
+</UL>
+<P>
+<pre>
+Name:                   <B>linkcommand</B>
+Class:                  <B>LinkCommand</B>
+Command-Line Switch:   <B>-linkcommand</B>
+</pre>
+<UL>
+Specifies the command to execute when the user clicks on a hypertext
+link. Execution is of the form <B>linkcommand href</B>, where <B>href</B> is
+the value given in the <I>href</I> attribute of the <B>A</B> HTML tag.
+</UL>
+<P>
+<pre>
+Name:                   <B>alink</B>
+Class:                  <B>alink</B>
+Command-Line Switch:   <B>-alink</B>
+</pre>
+<UL>
+Specifies the color of hypertext links when the cursor is over the link
+in any of the forms acceptable to <B>Tk_GetColor</B>. The default is red.
+</UL>
+<P>
+<pre>
+Name:                   <B>textBackground</B>
+Class:                  <B>Background</B>
+Command-Line Switch:   <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the text area in any of 
+the forms acceptable to <B>Tk_GetColor</B>. This value may be 
+overridden in a particular document by the <I>bgcolor</I> attribute 
+of the <B>Body</B> HTML tag.
+</UL>
+<P>
+<pre>
+Name:                   <B>unknownimage</B>
+Class:                  <B>UnknownImage</B>
+Command-Line Switch:   <B>-unknownimage</B>
+</pre>
+<UL>
+Specifies the name of the image file to display when an <B>img</B>
+specified in the html document cannot be loaded.
+</UL>
+<P>
+<pre>
+Name:                   <B>update</B>
+Class:                  <B>Update</B>
+Command-Line Switch:   <B>-alink</B>
+</pre>
+<UL>
+A boolean value indicating whether to call update during html rendering.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledhtml</B> command creates 
+a scrolled text widget with the additional capability to display
+html formatted documents.
+An import method is provided to read an html document file, and
+a render method is provided to display a html formatted text string.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledhtml</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for scrolledhtml widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>bbox</B><br>
+<B>dlineinfo</B><br>
+<B>mark</B><br>
+<B>tag</B><br>
+</td>
+<td valign=top>
+<B>compare</B><br>
+<B>get</B><br>
+<B>scan</B><br>
+<B>window</B><br>
+</td>
+<td valign=top>
+<B>debug</B><br>
+<B>index</B><br>
+<B>search</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+<B>see</B><br>
+<B>yview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> manual entry for details on the standard methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>export</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "scrolledhtml" manual entry for details on the inherited methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>scrolledhtml</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>scrolledhtml</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>import</B> ?<I>option</I>? <I>href</I>
+</I></B>
+<DD> Load html formatted text from a file.  <I>Href</I> must exist.
+If <I>option</I> is -link, <I>href</I> is assumed to be relative
+to the application's current working directory. Otherwise, 
+<I>href</I> is assumed to be relative to the path of the last
+page loaded. <I>Href</I> is either a filename, or a reference
+of the form <I>filename</I>#<I>anchorname</I>. In the latter form,
+fIFilename</B></I> and/or <I>anchorname</I> may be empty. 
+If <I>filename</I> is empty, the current document is assumed. 
+If <I>anchorname</I> is empty, the top of the document is assumed.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pwd</B>
+</I></B>
+<DD> Print the current working directory of the widget, i.e. the directory of the
+last page loaded.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>render</B> <I>htmltext</I> ?<I>wd</I>?
+</I></B>
+<DD> Display HTML formatted text <I>htmltext</I>. <I>Wd</I> gives the base
+path to use for all links and images in the document. <I>Wd</I> defaults
+to the application's current working directory.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>title</B>
+</I></B>
+<DD> Return the title of the current page, as given in the &lt;title&gt;...&lt;/title&gt;
+field in the document.
+
+</DL>
+</pre><H2>HTML COMPLIANCE</H2>
+<P>
+This widget is compliant with HTML 3.2 with the following exceptions:
+<P>
+No features requiring a connection to an http server are supported.
+<P>
+Some image alignments aren't supported, because they are not supported by
+the text widget.
+<P>
+The &lt;br&gt; attributes dealing with image alignments aren't supported.
+<P>
+Automatic table sizing is not supported very well, due to limitations of the
+text widget
+</UL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ scrolledhtml .sh -fontname helvetica -linkcommand "this import -link"
+
+ pack .sh -padx 10 -pady 10 -fill both -expand yes
+
+ .sh import ~/public_html/index.html
+</pre>
+</pre><H2>BUGS</H2>
+<UL>
+Cells in a table can be caused to overlap. ex:
+    &lt;table border width="100%"&gt;
+    &lt;tr&gt;&lt;td&gt;cell1&lt;/td&gt;&lt;td align=right rowspan=2&gt;cell2&lt;/td&gt;&lt;/tr&gt;
+    &lt;tr&gt;&lt;td colspan=2&gt;cell3 w/ overlap&lt;/td&gt;
+    &lt;/table&gt;
+It hasn't been fixed because 1) it's a pain to fix, 2) it will slow
+tables down by a significant amount, and 3) netscape has the same
+bug, as of V3.01.
+</UL>
+</pre><H2>ACKNOWLEDGEMENTS</H2>
+Sam Shen
+<UL>
+This code is based largely on his tkhtml.tcl code from tk inspect. Tkhtml
+is copyright 1995 Lawrence Berkeley Laboratory.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+Kris Raney
+</pre><H2>KEYWORDS</H2>
+scrolledhtml, html, text, widget
index 0f7d7b8..f243712 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - scrolledlistbox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - scrolledlistbox</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     scrolledlistbox - Create  and  manipulate  scrolled  listbox
-     widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>scrolledlistbox</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- Scrolledlistbox
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>exportSelection</STRONG> <STRONG>foreground</STRONG>     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>
-     <STRONG>relief</STRONG>          <STRONG>repeatDelay</STRONG>    <STRONG>repeatInterval</STRONG>  <STRONG>selectBackground</STRONG>
-     <STRONG>selectBorderWidth</STRONG>              <STRONG>selectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>selectMode</STRONG>
-
-     See the "listbox" widget manual entry  for  details  on  the
-     above associated options.
-
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderwidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget manual entry for details  on  the
-     above associated options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labeledBitmap</STRONG>   <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>dblClickCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-dblclickcommand</STRONG>
-
-          Specifies a Tcl command procedure which is called  when
-          an  item is double clicked.  Typically this occurs when
-          mouse button 1 is double clicked over an item.   Selec-
-          tion policy does not matter.
-
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-          Specifies the height of the scrolled  list  box  as  an
-          entire  unit.  The value may be specified in any of the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  Any additional space
-          needed  to display the other components such as labels,
-          margins,  and  scrollbars  force  the  listbox  to   be
-          compressed.   A value of zero along with the same value
-          for the width causes the  value  given  for  the  visi-
-          bleitems   option   to  be  applied  which  administers
-          geometry  constraints  in  a  different  manner.    The
-          default height is zero.
-
-     Name:           <STRONG>hscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-hscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the  hor-
-          izontal scrollbar: <STRONG>static,</STRONG> <STRONG>dynamic,</STRONG> or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>items</STRONG>
-     Class:          <STRONG>Items</STRONG>
-     Command-Line Switch:           <STRONG>-items</STRONG>
-
-          Specifies the contents of the listbox as a proper  list
-          of elements.
-
-     Name:           <STRONG>sbWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-sbwidth</STRONG>
-
-          Specifies the width of the  scrollbar  in  any  of  the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  The default width is
-          15 pixels..
-
-     Name:           <STRONG>scrollMargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-scrollmargin</STRONG>
-
-          Specifies  the  distance  between   the   listbox   and
-          scrollbar   in   any   of   the   forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.  The default is 3 pixels.
-
-     Name:           <STRONG>selectionCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-selectioncommand</STRONG>
-
-          Specifies a Tcl command procedure which is called  when
-          an item is selected.  Selection policy does not matter.
-
-     Name:           <STRONG>textBackground</STRONG>
-     Class:          <STRONG>Background</STRONG>
-     Command-Line Switch <STRONG>-textbackground</STRONG>
-
-          Specifies the background color for the  listbox.   This
-          allows  the  background  within  the listbox to be dif-
-          ferent from the normal background color.
-
-     Name:           <STRONG>textFont</STRONG>
-     Class:          <STRONG>Font</STRONG>
-     Command-Line Switch:           <STRONG>-textfont</STRONG>
-
-          Specifies the font to be used for text in the  listbox.
-          This  allows for the font associated with text internal
-          to the scrolled listbox to be different than  the  font
-          for labels.
-
-     Name:           <STRONG>visibleitems</STRONG>
-     Class:          <STRONG>VisibleItems</STRONG>
-     Command-Line Switch:           <STRONG>-visibleitems</STRONG>
-
-          Specifies the widthxheight in characters and lines  for
-          the  listbox.   This option is only administered if the
-          width and height options are both set to  zero,  other-
-          wise they take precedence.  The default value is 20x10.
-          With the visibleitems  option  engaged,  geometry  con-
-          straints  are maintained only on the listbox.  The size
-          of the other components such as  labels,  margins,  and
-          scroll  bars,  are  additive and independent, effecting
-          the overall size of the scrolled  list  box.   In  con-
-          trast,  should  the  width  and height options have non
-          zero values, they are applied to the scrolled list  box
-          as  a  whole.  The listbox is compressed or expanded to
-          maintain the geometry constraints.
-
-     Name:           <STRONG>vscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-vscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the vert-
-          ical  scrollbar:  <STRONG>static,</STRONG>  <STRONG>dynamic,</STRONG> or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the  scrolled  list  box  as  an
-          entire  unit.  The value may be specified in any of the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.  Any additional space
-          needed  to display the other components such as labels,
-          margins,  and  scrollbars  force  the  listbox  to   be
-          compressed.   A value of zero along with the same value
-          for the height causes the value  given  for  the  visi-
-          bleitems   option   to  be  applied  which  administers
-          geometry  constraints  in  a  different  manner.    The
-          default width is zero.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>scrolledlistbox</STRONG> command creates a scrolled listbox  with
-     additional   options   to  manage  horizontal  and  vertical
-     scrollbars.   This  includes  options   to   control   which
-     scrollbars  are displayed and the method, i.e. statically or
-     dynamically.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>scrolledlistbox</STRONG> command creates a new Tcl command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     Many of the widget commands for a  scrolledlistbox  take  as
-     one  argument an indicator of which entry of the list box to
-     operate on.  These indicators are called <EM>index</EM>es and may  be
-     specified in any of the following forms:
-
-     <EM>number</EM>      Specifies the  element  as  a  numerical  index,
-                 where  0 corresponds to the first element in the
-                 listbox.
-
-     <STRONG>active</STRONG>      Indicates the element that has the location cur-
-                 sor.   This  element  will  be displayed with an
-                 underline when  the  listbox  has  the  keyboard
-                 focus,  and  it  is  specified with the <STRONG>activate</STRONG>
-                 widget command.
-
-     <STRONG>anchor</STRONG>      Indicates the anchor point  for  the  selection,
-                 which  is  set  with the <STRONG>selection</STRONG> <STRONG>anchor</STRONG> widget
-                 command.
-
-     <STRONG>end</STRONG>         Indicates the end of the listbox.  For some com-
-                 mands  this  means  just after the last element;
-                 for other commands it means the last element.
-
-     <STRONG>@</STRONG><EM>x</EM><STRONG>,</STRONG><EM>y</EM>        Indicates the element that covers the  point  in
-                 the  listbox  window  specified  by  <EM>x</EM> and <EM>y</EM> (in
-                 pixel coordinates).  If no element  covers  that
-                 point, then the closest element to that point is
-                 used.
-
-     <EM>pattern</EM>     If the index doesn't satisfy one  of  the  above
-                 forms  then  this  form  is  used.   <EM>Pattern</EM>  is
-                 pattern-matched against the items  in  the  list
-                 box,  in order from the top down, until a match-
-                 ing   entry   is   found.     The    rules    of
-                 <STRONG>Tcl_StringMatch</STRONG> are used.
-
-     The following widget commands are possible for scrolledlist-
-     box widgets:
-
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>activate</STRONG>        <STRONG>bbox</STRONG>           <STRONG>curselection</STRONG>    <STRONG>delete</STRONG>
-     <STRONG>get</STRONG>             <STRONG>index</STRONG>          <STRONG>insert</STRONG>          <STRONG>nearest</STRONG>
-     <STRONG>scan</STRONG>            <STRONG>see</STRONG>            <STRONG>selection</STRONG>       <STRONG>size</STRONG>
-     <STRONG>xview</STRONG>           <STRONG>yview</STRONG>
-
-     See the "listbox" manual entry for details on the associated
-     methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>scrolledlistbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>clear</STRONG>
-          Clears the listbox of all items.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>scrolledlistbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>getcurselection</STRONG>
-          Returns the contents of the listbox  element  indicated
-          by the current selection indexes.  Short cut version of
-          get and curselection command combination.
-
-     <EM>pathName</EM> <STRONG>justify</STRONG> <EM>direction</EM>
-          Justifies the list contents via teh scroll bars in  one
-          of four directions:  <STRONG>left</STRONG>, <STRONG>right</STRONG>, <STRONG>top</STRONG>, or <STRONG>bottom</STRONG>.
-
-     <EM>pathName</EM> <STRONG>selecteditemcount</STRONG>
-          Returns the number of items currently selected  in  the
-          list.
-
-     <EM>pathName</EM> <STRONG>sort</STRONG> <EM>order</EM>
-          Sort the current list in either <STRONG>ascending</STRONG> or <STRONG>descending</STRONG>
-          order.  The  values  <STRONG>increasing</STRONG> and <STRONG>decreasing</STRONG> are also
-          accepted.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>listbox</STRONG>
-     Class:          <STRONG>listbox</STRONG>
-
-          The listbox component is the listbox widget.   See  the
-          "listbox"  widget manual entry for details on the list-
-          box component item.
-
-     Name:           <STRONG>horizsb</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The horizsb component is  the  horizontal  scroll  bar.
-          See  the "scrollbar" widget manual entry for details on
-          the horizsb component item.
-
-     Name:           <STRONG>vertsb</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The vertsb component is the vertical scroll  bar.   See
-          the  "scrollbar" widget manual entry for details on the
-          vertsb component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          wm minsize . 0 0
-          option add *textBackground white
-          proc selCmd {} {
-              puts stdout "[.slb getcurselection]"
-          }
-          proc defCmd {} {
-              puts stdout "Double Click"
-              return [selCmd]
-          }
-          scrolledlistbox .slb -selection single \
-              -items {Hello {Out There} World} \
-              -vscrollmode static -hscrollmode dynamic -labeltext "List" \
-              -selectioncommand selCmd -dblclickcommand defCmd
-          pack .slb -padx 10 -pady 10 -fill both -expand yes
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     scrolledlistbox, listbox, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>scrolledlistbox - Create and manipulate scrolled listbox widgets</TITLE>
+<H1>scrolledlistbox - Create and manipulate scrolled listbox widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledlistbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledwidget &lt;- Scrolledlistbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>relief</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>selectForeground</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>selectMode</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderwidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited 
+options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>dblClickCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-dblclickcommand</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure which is called when an item is
+double clicked.  Typically this occurs when mouse button 1 is double 
+clicked over an item.  Selection policy does not matter.
+</UL>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled list box as an entire unit.
+The value may be specified in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the listbox
+to be compressed.  A value of zero along with the same value for 
+the width causes the value given for the visibleitems option 
+to be applied which administers geometry constraints in a different
+manner.  The default height is zero.
+</UL>
+<P>
+<pre>
+Name:                   <B>hscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static, dynamic,</B> or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>sbWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms acceptable 
+to <B>Tk_GetPixels</B>.  The default width is 15 pixels..
+</UL>
+<P>
+<pre>
+Name:                   <B>scrollMargin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the listbox and scrollbar in any of the 
+forms acceptable to <B>Tk_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl command procedure which is called when an item is
+selected.  Selection policy does not matter.
+</UL>
+<P>
+<pre>
+Name:                   <B>state</B>
+Class:                  <B>State</B>
+Command-Line Switch:   <B>-state</B>
+</pre>
+<UL>
+Specifies one of two states for the listbox: <B>normal</B> or <B>disabled</B>.
+If the listbox is disabled then selection is ignored.  The default is
+normal.
+</UL>
+<P>
+<pre>
+Name:                   <B>textBackground</B>
+Class:                  <B>Background</B>
+Command-Line Switch <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the listbox.  This allows the background 
+within the listbox to be different from the normal background color.
+</UL>
+<P>
+<pre>
+Name:                   <B>textFont</B>
+Class:                  <B>Font</B>
+Command-Line Switch:   <B>-textfont</B>
+</pre>
+<UL>
+Specifies the font to be used for text in the listbox.  This allows for 
+the font associated with text internal to the scrolled listbox to be 
+different than the font for labels.
+</UL>
+<P>
+<pre>
+Name:                   <B>visibleitems</B>
+Class:                  <B>VisibleItems</B>
+Command-Line Switch:   <B>-visibleitems</B>
+</pre>
+<UL>
+Specifies the widthxheight in characters and lines for the listbox.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence.  The default value
+is 20x10.  With the visibleitems option engaged, geometry constraints 
+are maintained only on the listbox.  The size of the other components such as 
+labels, margins, and scroll bars, are additive and independent, 
+effecting the overall size of the scrolled list box.  In contrast,
+should the width and height options have non zero values, they
+are applied to the scrolled list box as a whole.  The listbox 
+is compressed or expanded to maintain the geometry constraints.
+</UL>
+<P>
+<pre>
+Name:                   <B>vscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static, dynamic,</B> or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the 
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled list box as an entire unit.
+The value may be specified in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the listbox
+to be compressed.  A value of zero along with the same value for 
+the height causes the value given for the visibleitems option 
+to be applied which administers geometry constraints in a different
+manner.  The default width is zero.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledlistbox</B> command creates 
+a scrolled listbox with additional options to manage
+horizontal and vertical scrollbars.  This includes options to control
+which scrollbars are displayed and the method, i.e. statically or
+dynamically.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledlistbox</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.
+<P>
+Many of the widget commands for a scrolledlistbox take as one argument an
+indicator of which entry of the list box to operate on.  These
+indicators are called <I>index</I>es and may be specified in
+any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the element as a numerical index, where 0 corresponds
+to the first element in the listbox.
+</DL>
+<DL>
+<DT> <B>active</B>
+</I></B>
+<DD> Indicates the element that has the location cursor.  This element
+will be displayed with an underline when the listbox has the
+keyboard focus, and it is specified with the <B>activate</B>
+widget command.
+</DL>
+<DL>
+<DT> <B>anchor</B>
+</I></B>
+<DD> Indicates the anchor point for the selection, which is set with the
+<B>selection anchor</B> widget command.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Indicates the end of the listbox.
+For some commands this means just after the last element;
+for other commands it means the last element.
+</DL>
+<DL>
+<DT> <B>@<I>x<B>,<I>y</I>
+</I></B>
+<DD> Indicates the element that covers the point in the listbox window
+specified by <I>x</I> and <I>y</I> (in pixel coordinates).  If no
+element covers that point, then the closest element to that
+point is used.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy one of the above forms then this
+form is used.  <I>Pattern</I> is pattern-matched against the items in
+the list box, in order from the top down, until a matching entry is found.
+The rules of <B>Tcl_StringMatch</B> are used.
+</DL>
+<P>
+The following widget commands are possible for scrolledlistbox widgets:
+
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+<B>get</B><br>
+<B>scan</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>bbox</B><br>
+<B>index</B><br>
+<B>see</B><br>
+<B>yview</B><br>
+</td>
+<td valign=top>
+<B>curselection</B><br>
+<B>insert</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>nearest</B><br>
+<B>size</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> manual entry for details on the associated methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>scrolledlistbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clears the listbox of all items.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>scrolledlistbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>getcurselection</B>
+</I></B>
+<DD> Returns the contents of the listbox element indicated by the current
+selection indexes.  Short cut version of get and curselection command
+combination.
+</DL>
+<DL>
+<DT> <I>pathName <B>justify <I>direction</I>
+</I></B>
+<DD> Justifies the list contents via teh scroll bars in one of four directions:
+<B>left</B>, <B>right</B>, <B>top</B>, or <B>bottom</B>.
+</DL>
+<DL>
+<DT> <I>pathName <B>selecteditemcount</B>
+</I></B>
+<DD> Returns the number of items currently selected in the list.
+</DL>
+<DL>
+<DT> <I>pathName <B>sort</B> <I>order</I>
+</I></B>
+<DD> Sort the current list in either <B>ascending</B> or <B>descending</B> order.  
+The values <B>increasing</B> and <B>decreasing</B> are also accepted.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>listbox</B>
+Class:                  <B>listbox</B>
+</pre>
+<UL>
+The listbox component is the listbox widget.  See the "listbox" widget 
+manual entry for details on the listbox component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>horizsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar.  See the "scrollbar" 
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>vertsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar.  See the "scrollbar" widget 
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+ proc selCmd {} {
+    puts stdout "[.slb getcurselection]"
+ }
+ proc defCmd {} {
+    puts stdout "Double Click"
+    return [selCmd]
+ }
+ scrolledlistbox .slb -selection single \\
+    -vscrollmode static -hscrollmode dynamic -labeltext "List" \\
+    -selectioncommand selCmd -dblclickcommand defCmd
+ pack .slb -padx 10 -pady 10 -fill both -expand yes
+ .slb insert end {Hello {Out There} World} 
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+scrolledlistbox, listbox, widget
index 8ef52c7..b47275a 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - scrolledtext</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - scrolledtext</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     scrolledtext - Create and manipulate a scrolled text widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>scrolledtext</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- Scrolledtext
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>exportSelection</STRONG> <STRONG>foreground</STRONG>     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>
-     <STRONG>insertBackground</STRONG>               <STRONG>insertBorderWidthinsertOffTimeinsertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>     <STRONG>padX</STRONG>           <STRONG>padY</STRONG>            <STRONG>relief</STRONG>
-     <STRONG>repeatDelay</STRONG>     <STRONG>repeatInterval</STRONG> <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>               <STRONG>setGrid</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget manual entry for details  on  the
-     above associated options.
-
-     <STRONG>spacing1</STRONG>        <STRONG>spacing2</STRONG>       <STRONG>spacing3</STRONG>        <STRONG>state</STRONG>
-     <STRONG>wrap</STRONG>
-
-     See the "text" widget manual entry for details on the  above
-     associated options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height of the scrolled text as an  entire
-          unit.   The  value may be specified in any of the forms
-          acceptable  to  <STRONG>Tk_GetPixels</STRONG>.   Any  additional   space
-          needed  to display the other components such as labels,
-          margins,  and  scrollbars  force   the   text   to   be
-          compressed.   A value of zero along with the same value
-          for the width causes the  value  given  for  the  visi-
-          bleitems   option   to  be  applied  which  administers
-          geometry  constraints  in  a  different  manner.    The
-          default height is zero.
-
-     Name:           <STRONG>hscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-hscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the  hor-
-          izontal scrollbar: <STRONG>static,</STRONG> <STRONG>dynamic,</STRONG> or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>sbWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-sbwidth</STRONG>
-
-          Specifies the width of the  scrollbar  in  any  of  the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>scrollMargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-scrollmargin</STRONG>
-
-          Specifies  the  distance  between  the  text  area  and
-          scrollbar   in   any   of   the   forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.  The default is 3 pixels.
-
-     Name:           <STRONG>textBackground</STRONG>
-     Class:          <STRONG>Background</STRONG>
-     Command-Line Switch:           <STRONG>-textbackground</STRONG>
-
-          Specifies the background color for the text area in any
-          of the forms acceptable to <STRONG>Tk_GetColor</STRONG>.
-
-     Name:           <STRONG>textFont</STRONG>
-     Class:          <STRONG>Font</STRONG>
-     Command-Line Switch:           <STRONG>-textfont</STRONG>
-
-          Specifies the font to be  used  in  the  scrolled  text
-          area.
-
-     Name:           <STRONG>visibleitems</STRONG>
-     Class:          <STRONG>VisibleItems</STRONG>
-     Command-Line Switch:           <STRONG>-visibleitems</STRONG>
-
-          Specifies the widthxheight in characters and lines  for
-          the  text.   This  option  is  only administered if the
-          width  and  height  options  are  both  set  to   zero,
-          otherwise  they  take precedence.  The default value is
-          80x24.  With the visibleitems option engaged,  geometry
-          constraints  are maintained only on the text.  The size
-          of the other components such as  labels,  margins,  and
-          scroll  bars,  are  additive and independent, effecting
-          the overall size of the scrolled  text.   In  contrast,
-          should  the  width  and  height  options  have non zero
-          values, they are applied to  the  scrolled  text  as  a
-          whole.   The text is compressed or expanded to maintain
-          the geometry constraints.
-
-     Name:           <STRONG>vscrollMode</STRONG>
-     Class:          <STRONG>ScrollMode</STRONG>
-     Command-Line Switch:           <STRONG>-vscrollmode</STRONG>
-
-          Specifies the the display mode to be used for the vert-
-          ical  scrollbar:  <STRONG>static,</STRONG>  <STRONG>dynamic,</STRONG> or <STRONG>none</STRONG>.  In static
-          mode,  the  scroll  bar  is  displayed  at  all  times.
-          Dynamic  mode  displays the scroll bar as required, and
-          none disables the scroll bar display.  The  default  is
-          static.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the scrolled text as  an  entire
-          unit.   The  value may be specified in any of the forms
-          acceptable  to  <STRONG>Tk_GetPixels</STRONG>.   Any  additional   space
-          needed  to display the other components such as labels,
-          margins,  and  scrollbars  force   the   text   to   be
-          compressed.   A value of zero along with the same value
-          for the height causes the value  given  for  the  visi-
-          bleitems   option   to  be  applied  which  administers
-          geometry  constraints  in  a  different  manner.    The
-          default width is zero.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>scrolledtext</STRONG> command creates a scrolled text widget with
-     additional  options to manage the scrollbars.  This includes
-     options to control the method in which  the  scrollbars  are
-     displayed,  i.e.  statically  or  dynamically.  Options also
-     exist for adding a label to the scrolled text area and  con-
-     trolling  its  position.   Import/export of methods are pro-
-     vided for file I/O.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-
-     The <STRONG>scrolledtext</STRONG> command creates a  new  Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The following commands are possible for scrolledtext
-     widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>bbox</STRONG>            <STRONG>compare</STRONG>        <STRONG>debug</STRONG>           <STRONG>delete</STRONG>
-     <STRONG>dlineinfo</STRONG>       <STRONG>get</STRONG>            <STRONG>index</STRONG>           <STRONG>insert</STRONG>
-     <STRONG>mark</STRONG>            <STRONG>scan</STRONG>           <STRONG>search</STRONG>          <STRONG>see</STRONG>
-     <STRONG>tag</STRONG>             <STRONG>window</STRONG>         <STRONG>xview</STRONG>           <STRONG>yview</STRONG>
-
-     See the "text" manual entry  for  details  on  the  standard
-     methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>scrolledtext</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>clear</STRONG>
-          Clear the text area of all characters.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>scrolledtext</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>import</STRONG> <EM>filename</EM>
-          Load text from a file.  The <EM>filename</EM> must exist.
-
-     <EM>pathName</EM> <STRONG>export</STRONG> <EM>filename</EM>
-          Write text to a file.  If <EM>filename</EM> exists then contents
-          are replaced with text widget contents.
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>text</STRONG>
-     Class:          <STRONG>Text</STRONG>
-
-          The text component is the text widget.  See the  "text"
-          widget  manual  entry for details on the text component
-          item.
-
-     Name:           <STRONG>horizsb</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The horizsb component is  the  horizontal  scroll  bar.
-          See  the "scrollbar" widget manual entry for details on
-          the horizsb component item.
-
-     Name:           <STRONG>vertsb</STRONG>
-     Class:          <STRONG>Scrollbar</STRONG>
-
-          The vertsb component is the vertical scroll  bar.   See
-          the  "scrollbar" widget manual entry for details on the
-          vertsb component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           scrolledtext .st -scrollmode dynamic -labeltext "Password File"
-
-           pack .st -padx 10 -pady 10 -fill both -expand yes
-
-           .st import /etc/passwd
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     scrolledtext, text, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>scrolledtext - Create and manipulate a scrolled text widget</TITLE>
+<H1>scrolledtext - Create and manipulate a scrolled text widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>scrolledtext<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Scrolledwidget &lt;- Scrolledtext
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>padX</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>padY</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>relief</B><br>
+<B>setGrid</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>spacing1</B><br>
+<B>wrap</B><br>
+</td>
+<td valign=top>
+<B>spacing2</B><br>
+</td>
+<td valign=top>
+<B>spacing3</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the scrolled text as an entire unit.
+The value may be specified in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text
+to be compressed.  A value of zero along with the same value for 
+the width causes the value given for the visibleitems option 
+to be applied which administers geometry constraints in a different
+manner.  The default height is zero.
+</UL>
+<P>
+<pre>
+Name:                   <B>hscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-hscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the horizontal
+scrollbar: <B>static, dynamic,</B> or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>sbWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-sbwidth</B>
+</pre>
+<UL>
+Specifies the width of the scrollbar in any of the forms
+acceptable to <B>Tk_GetPixels</B>.  
+</UL>
+<P>
+<pre>
+Name:                   <B>scrollMargin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-scrollmargin</B>
+</pre>
+<UL>
+Specifies the distance between the text area and scrollbar in any of the forms
+acceptable to <B>Tk_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>textBackground</B>
+Class:                  <B>Background</B>
+Command-Line Switch:   <B>-textbackground</B>
+</pre>
+<UL>
+Specifies the background color for the text area in any of the forms
+acceptable to <B>Tk_GetColor</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>textFont</B>
+Class:                  <B>Font</B>
+Command-Line Switch:   <B>-textfont</B>
+</pre>
+<UL>
+Specifies the font to be used in the scrolled text area.
+</UL>
+<P>
+<pre>
+Name:                   <B>visibleitems</B>
+Class:                  <B>VisibleItems</B>
+Command-Line Switch:   <B>-visibleitems</B>
+</pre>
+<UL>
+Specifies the widthxheight in characters and lines for the text.
+This option is only administered if the width and height options
+are both set to zero, otherwise they take precedence.  The default value
+is 80x24.  With the visibleitems option engaged, geometry constraints 
+are maintained only on the text.  The size of the other components such as 
+labels, margins, and scroll bars, are additive and independent, 
+effecting the overall size of the scrolled text.  In contrast,
+should the width and height options have non zero values, they
+are applied to the scrolled text as a whole.  The text 
+is compressed or expanded to maintain the geometry constraints.
+</UL>
+<P>
+<pre>
+Name:                   <B>vscrollMode</B>
+Class:                  <B>ScrollMode</B>
+Command-Line Switch:   <B>-vscrollmode</B>
+</pre>
+<UL>
+Specifies the the display mode to be used for the vertical
+scrollbar: <B>static, dynamic,</B> or <B>none</B>.  In static mode, the 
+scroll bar is displayed at all times.  Dynamic mode displays the 
+scroll bar as required, and none disables the scroll bar display.  The 
+default is static.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the scrolled text as an entire unit.
+The value may be specified in any of the forms acceptable to 
+<B>Tk_GetPixels</B>.  Any additional space needed to display the other
+components such as labels, margins, and scrollbars force the text
+to be compressed.  A value of zero along with the same value for 
+the height causes the value given for the visibleitems option 
+to be applied which administers geometry constraints in a different
+manner.  The default width is zero.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>scrolledtext</B> command creates 
+a scrolled text widget with additional options to manage
+the scrollbars.  This includes options to control the method
+in which the scrollbars are displayed, i.e. statically or  dynamically.
+Options also exist for adding a label to the scrolled text area and
+controlling its position.  Import/export of methods are provided for 
+file I/O.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>scrolledtext</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for scrolledtext widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>bbox</B><br>
+<B>dlineinfo</B><br>
+<B>mark</B><br>
+<B>tag</B><br>
+</td>
+<td valign=top>
+<B>compare</B><br>
+<B>get</B><br>
+<B>scan</B><br>
+<B>window</B><br>
+</td>
+<td valign=top>
+<B>debug</B><br>
+<B>index</B><br>
+<B>search</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+<B>see</B><br>
+<B>yview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/text.n.html"> "text" </A> manual entry for details on the standard methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>scrolledtext</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B>
+</I></B>
+<DD> Clear the text area of all characters.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>scrolledtext</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>import</B> <I>filename</I> ?<I>index</I>?
+</I></B>
+<DD> Load the text from a file into the text area at the <I>index</I>.  The 
+<I>filename</I> must exist.  
+</DL>
+<DL>
+<DT> <I>pathName <B>export</B> <I>filename</I>
+</I></B>
+<DD> Write text to a file.  If <I>filename</I> exists then contents are 
+replaced with text widget contents.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>text</B>
+Class:                  <B>Text</B>
+</pre>
+<UL>
+The text component is the text widget.  See the "text" widget 
+manual entry for details on the text component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>horizsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The horizsb component is the horizontal scroll bar.  See the "scrollbar" 
+widget manual entry for details on the horizsb component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>vertsb</B>
+Class:                  <B>Scrollbar</B>
+</pre>
+<UL>
+The vertsb component is the vertical scroll bar.  See the "scrollbar" widget 
+manual entry for details on the vertsb component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ scrolledtext .st -scrollmode dynamic -labeltext "Password File"
+
+ pack .st -padx 10 -pady 10 -fill both -expand yes
+
+ .st import /etc/passwd
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+scrolledtext, text, widget
index 6e628fe..63c35f2 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - selectionbox</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - selectionbox</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     selectionbox - Create and manipulate a selection box widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>selectionbox</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- selectionbox
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>exportSelection</STRONG> <STRONG>foreground</STRONG>     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>
-     <STRONG>insertBackground</STRONG>               <STRONG>insertBorderWidthinsertOffTimeinsertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>     <STRONG>relief</STRONG>         <STRONG>repeatDelay</STRONG>     <STRONG>repeatInterval</STRONG>
-     <STRONG>selectBackground</STRONG>               <STRONG>selectBorderWidthselectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>
-
-     See the "entryfield" widget class manual entry  for  details
-     on the above associated options.
-
-     <STRONG>labelFont</STRONG>       <STRONG>labelMargin</STRONG>
-
-     See the "labeledwidget" class manual entry  for  details  on
-     the above associated options.
-
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget class manual entry for details on
-     the above associated options.
-
-     <STRONG>dblClickCommand</STRONG> <STRONG>hscrollMode</STRONG>    <STRONG>items</STRONG>           <STRONG>sbWidth</STRONG>
-     <STRONG>scrollMargin</STRONG>    <STRONG>textBackground</STRONG> <STRONG>textFont</STRONG>        <STRONG>vscrollMode</STRONG>
-
-     See the "scrolledlistbox"  widget  class  manual  entry  for
-     details on the above associated options.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>childSitePos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-childsitepos</STRONG>
-
-          Specifies the position of the child site in the  selec-
-          tion box: <STRONG>n</STRONG>, <STRONG>s</STRONG>, <STRONG>e</STRONG>, <STRONG>w</STRONG>, or .  The default is center
-
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height of the selection box.   The  value
-          may  be  specified  in  any  of the forms acceptable to
-          Tk_GetPixels.  The default is 320 pixels.
-
-     Name:           <STRONG>itemsCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-itemscommand</STRONG>
-
-          Specifies a command to be evaluated following selection
-          of an item.
-
-     Name:           <STRONG>itemsLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-itemslabel</STRONG>
-
-          Specifies the text of the label  for  the  items  list.
-          The default is "List".
-
-     Name:           <STRONG>itemsLabelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-itemslabelpos</STRONG>
-
-          Specifies the position of the label along the  side  of
-          the  items  list:  <STRONG>n</STRONG>,  <STRONG>ne</STRONG>, <STRONG>e</STRONG>, <STRONG>se</STRONG>, <STRONG>s</STRONG>, <STRONG>sw</STRONG>, <STRONG>w</STRONG>, or <STRONG>nw</STRONG>.  The
-          default is nw.
-
-     Name:           <STRONG>itemsOn</STRONG>
-     Class:          <STRONG>ItemsOn</STRONG>
-     Command-Line Switch:           <STRONG>-itemson</STRONG>
-
-          Specifies whether or not to display the items  list  in
-          any  of  the  forms  acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>margin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-margin</STRONG>
-
-          Specifies distance between the items list and selection
-          entry  in  any of the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-          The default is 7 pixels.
-
-     Name:           <STRONG>selectionCommand</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-selectioncommand</STRONG>
-
-          Specifies a Tcl  procedure  to  be  associated  with  a
-          return key press event in the selection entry field.
-
-     Name:           <STRONG>selectionLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-selectionlabel</STRONG>
-
-          Specifies the text of the label for the selection entry
-          field.  The default is "Selection".
-
-     Name:           <STRONG>selectionLabelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-selectionlabelpos</STRONG>
-
-          Specifies the position of the label along the  side  of
-          the  selection:  <STRONG>n</STRONG>,  <STRONG>ne</STRONG>,  <STRONG>e</STRONG>,  <STRONG>se</STRONG>, <STRONG>s</STRONG>, <STRONG>sw</STRONG>, <STRONG>w</STRONG>, or <STRONG>nw</STRONG>.  The
-          default is nw.
-
-     Name:           <STRONG>selectionOn</STRONG>
-     Class:          <STRONG>SelectionOn</STRONG>
-     Command-Line Switch:           <STRONG>-selectionon</STRONG>
-
-          Specifies whether or not to display the selection entry
-          in  any of the forms acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the selection  box.   The  value
-          may  be  specified  in  any  of the forms acceptable to
-          Tk_GetPixels.  The default is 260 pixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>selectionbox</STRONG> command creates a scrolled  list  of  items
-     and a selection entry field.  The user may choose any of the
-     items displayed in the scrolled list of alternatives and the
-     selection field will be filled with the choice.  The user is
-     also free to enter a new value in the selection entry field.
-     Both  the list and entry areas have labels.  A child site is
-     also provided in which the user may create other widgets  to
-     be used in conjunction with the selection box.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>selectionbox</STRONG> command creates a  new  Tcl  command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>curselection</STRONG>    <STRONG>delete</STRONG>         <STRONG>index</STRONG>           <STRONG>nearest</STRONG>
-     <STRONG>scan</STRONG>            <STRONG>selection</STRONG>      <STRONG>size</STRONG>
-
-     See the "listbox" widget class manual entry for  details  on
-     the associated methods.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>selectionbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Returns the child site widget path name.
-
-     <EM>pathName</EM> <STRONG>clear</STRONG> <EM>component</EM>
-          Delete the  contents  of  either  the  selection  entry
-          widget  or  items  list.  The <EM>component</EM> argument may be
-          either <STRONG>items</STRONG> or <STRONG>selection</STRONG>.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>selectionbox</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>get</STRONG>
-          Returns  the  current  value  of  the  selection  entry
-          widget.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>component</EM> <EM>args</EM>
-          Insert  element(s)  into  either  the  selection  entry
-          widget  or  items  list.  The <EM>component</EM> argument may be
-          either <STRONG>items</STRONG> or <STRONG>selection</STRONG>.  The <EM>args</EM> follow  the  rules
-          of either an entry or list widget depending on the <EM>com-</EM>
-          <EM>ponent</EM> value.
-
-     <EM>pathName</EM> <STRONG>selectitem</STRONG>
-          Replace the selection entry  field  contents  with  the
-          currently selected items value.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>childsite</STRONG>
-     Class:          <STRONG>Frame</STRONG>
-
-          The childsite component is the user child site for  the
-          selection box.  See the "frame" widget manual entry for
-          details on the childsite component item.
-
-     Name:           <STRONG>items</STRONG>
-     Class:          <STRONG>Scrolledlistbox</STRONG>
-
-          The items component provides the scrolled list  box  of
-          items for the selection box.  See the "scrolledlistbox"
-          widget manual entry for details on the items  component
-          item.
-
-     Name:           <STRONG>selection</STRONG>
-     Class:          <STRONG>Entryfield</STRONG>
-
-          The selection component provides the entry field in the
-          selection  box  for display of the selected item in the
-          items component.  See the  "entryfield"  widget  manual
-          entry for details on the selection component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           selectionbox .sb -items {Hello {Out There} World}
-           pack .sb -padx 10 -pady 10 -fill both -expand yes
-
-           set cs [label [.sb childsite].label -text "Child Site"]
-           pack $cs -fill x -padx 10 -pady 10
-
-           .sb insert items 2 {Cruel Cruel}
-
-           .sb selection set 1
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     selectionbox, widget
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>selectionbox - Create and manipulate a selection box widget</TITLE>
+<H1>selectionbox - Create and manipulate a selection box widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>selectionbox<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- selectionbox
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>relief</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>repeatDelay</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>repeatInterval</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>dblClickCommand</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>hscrollMode</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>sbWidth</B><br>
+<B>vscrollMode</B><br>
+</td>
+<td valign=top>
+<B>scrollMargin</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget class manual entry for details on the above
+associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>childSitePos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-childsitepos</B>
+</pre>
+<UL>
+Specifies the position of the child site in the selection box: <B>n</B>, 
+<B>s</B>, <B>e</B>, <B>w</B>, or <B></B>.  The default is center
+</UL>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the selection box.  The value may be specified in 
+any of the forms acceptable to Tk_GetPixels.  The default is 320 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>itemsCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-itemscommand</B>
+</pre>
+<UL>
+Specifies a command to be evaluated following selection of an item.
+</UL>
+<P>
+<pre>
+Name:                   <B>itemsLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-itemslabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the items list.  The default is "List".
+</UL>
+<P>
+<pre>
+Name:                   <B>itemsLabelPos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-itemslabelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the side of the items
+list: <B>n</B>, <B>ne</B>, <B>e</B>, <B>se</B>, <B>s</B>, <B>sw</B>, <B>w</B>, 
+or <B>nw</B>.  The default is nw.
+</UL>
+<P>
+<pre>
+Name:                   <B>itemsOn</B>
+Class:                  <B>ItemsOn</B>
+Command-Line Switch:   <B>-itemson</B>
+</pre>
+<UL>
+Specifies whether or not to display the items list in any
+of the forms acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>margin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-margin</B>
+</pre>
+<UL>
+Specifies distance between the items list and selection entry in any of
+the forms acceptable to <B>Tk_GetPixels</B>.  The default is 7 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionCommand</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-selectioncommand</B>
+</pre>
+<UL>
+Specifies a Tcl procedure to be associated with a return key press event
+in the selection entry field.
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-selectionlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the selection entry field.  The default
+is "Selection".
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionLabelPos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-selectionlabelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the side of the selection: 
+<B>n</B>, <B>ne</B>, <B>e</B>, <B>se</B>, <B>s</B>, <B>sw</B>, <B>w</B>, 
+or <B>nw</B>.  The default is nw.
+</UL>
+<P>
+<pre>
+Name:                   <B>selectionOn</B>
+Class:                  <B>SelectionOn</B>
+Command-Line Switch:   <B>-selectionon</B>
+</pre>
+<UL>
+Specifies whether or not to display the selection entry in any
+of the forms acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the selection box.  The value may be specified in 
+any of the forms acceptable to Tk_GetPixels.  The default is 260 pixels.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>selectionbox</B> command creates a scrolled list of items and
+a selection entry field.  The user may choose any of the items displayed
+in the scrolled list of alternatives and the selection field will be
+filled with the choice.  The user is also free to enter a new value in
+the selection entry field.  Both the list and entry areas have labels.
+A child site is also provided in which the user may create other widgets
+to be used in conjunction with the selection box.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>selectionbox</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  
+
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>curselection</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>size</B><br>
+</td>
+<td valign=top>
+<B>nearest</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> widget class manual entry for details on the 
+associated methods.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>selectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the child site widget path name.
+</DL>
+<DL>
+<DT> <I>pathName <B>clear</B> <I>component</I>
+</I></B>
+<DD> Delete the contents of either the selection entry widget or 
+items list.  The <I>component</I> argument may be either <B>items</B>
+or <B>selection</B>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>selectionbox</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>get</B>
+</I></B>
+<DD> Returns the current value of the selection entry widget.
+</DL>
+<DL>
+<DT> <I>pathName <B>insert</B> <I>component</I> <I>args</I>
+</I></B>
+<DD> Insert element(s) into either the selection entry widget or
+items list.  The <I>component</I> argument may be either <B>items</B>
+or <B>selection</B>.  The <I>args</I> follow the rules of either an entry
+or list widget depending on the <I>component</I> value.
+</DL>
+<DL>
+<DT> <I>pathName <B>selectitem</B>
+</I></B>
+<DD> Replace the selection entry field contents with the currently 
+selected items value.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>childsite</B>
+Class:                  <B>Frame</B>
+</pre>
+<UL>
+The childsite component is the user child site for the selection box.  See 
+the "frame" widget manual entry for details on the childsite component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>items</B>
+Class:                  <B>Scrolledlistbox</B>
+</pre>
+<UL>
+The items component provides the scrolled list box of items for the selection
+box.  See the "scrolledlistbox" widget manual entry for details on the 
+items component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>selection</B>
+Class:                  <B>Entryfield</B>
+</pre>
+<UL>
+The selection component provides the entry field in the selection box for
+display of the selected item in the items component.  See the "entryfield" 
+widget manual entry for details on the selection component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+
+ selectionbox .sb -items {Hello {Out There} World}
+ pack .sb -padx 10 -pady 10 -fill both -expand yes 
+
+ set cs [label [.sb childsite].label -text "Child Site"]
+ pack $cs -fill x -padx 10 -pady 10
+
+ .sb insert items 2 {Cruel Cruel}
+
+ .sb selection set 1
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+selectionbox, widget
index 73139ab..4a82957 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - selectiondialog</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - selectiondialog</H1>
-<HR>
-<PRE>
+<TITLE>selectiondialog - Create and manipulate a selection dialog widget</TITLE>
+<H1>selectiondialog - Create and manipulate a selection dialog widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>selectiondialog<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog &lt;- Selectiondialog
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+</td>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectForeground</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeRelief</B><br>
+</td>
+<td valign=top>
+<B>elementBorderWidth</B><br>
+</td>
+<td valign=top>
+<B>jump</B><br>
+</td>
+<td valign=top>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/scrollbar.n.html"> "scrollbar" </A> widget class manual entry for details on the above
+associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="scrolledlistbox.n.html"> "scrolledlistbox" </A> widget class manual entry for details on the above
+associated options.
+<B>childsitepos</B>    <B>itemsCommand</B>     <B>itemsLabel</B>       <B>itemsOn</B>
+<B>selectionCommand</B>        <B>selectionLabel</B>   <B>selectionOn</B>
+</table>
+<P>
+See the <A HREF="selectionbox.n.html"> "selectionbox" </A> widget manual entry for details on the above
+associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>buttonBoxPadX</B><br>
+<B>padY</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPadY</B><br>
+<B>separator</B><br>
+</td>
+<td valign=top>
+<B>buttonBoxPos</B><br>
+<B>thickness</B><br>
+</td>
+<td valign=top>
+<B>padX</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="dialogshell.n.html"> "dialogshell" </A> widget  manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>master</B><br>
+</td>
+<td valign=top>
+<B>modality</B><br>
+</td>
+<td valign=top>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the "shell" widget  manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" widget  manual entry for details on the above
+inherited options.
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>selectiondialog</B> command creates a selection box similar to 
+the OSF/Motif standard selection
+dialog composite widget.  The selectiondialog is derived from the 
+Dialog class and is composed of a selectionbox with commands 
+to manipulate the dialog buttons.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>selectiondialog</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for selectiondialog widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+<B>selectitem</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+</td>
+<td valign=top>
+<B>insert</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="selectionbox.n.html"> "selectionbox" </A> widget manual entry for details on the above
+associated methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>curselection</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>delete</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>size</B><br>
+</td>
+<td valign=top>
+<B>nearest</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/listbox.n.html"> "listbox" </A> widget manual entry for details on the above
+associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>add</B><br>
+<B>invoke</B><br>
+</td>
+<td valign=top>
+<B>buttonconfigure</B><br>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>default</B><br>
+</td>
+<td valign=top>
+<B>hide</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="buttonbox.n.html"> "buttonbox" </A> widget manual entry for details on the above
+inherited methods.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activate</B><br>
+</td>
+<td valign=top>
+<B>center</B><br>
+</td>
+<td valign=top>
+<B>deactivate</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "shell" widget manual entry for details on the above
+inherited methods.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>selectiondialog</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>selectiondialog</B>
+command.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>selectionbox</B>
+Class:                  <B>Selectionbox</B>
+</pre>
+<UL>
+The selectionbox component is the selection box for the selection 
+dialog.  See the "selectionbox" widget manual entry for details on the 
+selectionbox component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ selectiondialog .sd 
+ .sd activate
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+selectiondialog, selectionbox, dialog, dialogshell, shell, widget
 
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     selectiondialog - Create and manipulate a  selection  dialog
-     widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>selectiondialog</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;-  Dialog  &lt;-  Selec-
-     tiondialog
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>background</STRONG>      <STRONG>borderWidthcursor</STRONG>
-     <STRONG>exportSelection</STRONG> <STRONG>foreground</STRONG>     <STRONG>highlightColor</STRONG>  <STRONG>highlightThickness</STRONG>
-     <STRONG>insertBackground</STRONG>               <STRONG>insertBorderWidthinsertOffTimeinsertOnTime</STRONG>
-     <STRONG>insertWidth</STRONG>     <STRONG>relief</STRONG>         <STRONG>repeatDelay</STRONG>     <STRONG>repeatInterval</STRONG>
-     <STRONG>selectBackground</STRONG>               <STRONG>selectBorderWidthselectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>
-
-     See the "entryfield" widget manual entry for details on  the
-     above associated options.
-
-     <STRONG>labelFont</STRONG>       <STRONG>labelMargin</STRONG>
-
-     See the "labeledwidget" widget manual entry for  details  on
-     the above associated options.
-
-     <STRONG>activeRelief</STRONG>    <STRONG>elementBorderWidth</STRONG>             <STRONG>jumptroughColor</STRONG>
-
-     See the "scrollbar" widget class manual entry for details on
-     the above associated options.
-
-     <STRONG>hscrollMode</STRONG>     <STRONG>items</STRONG>          <STRONG>sbWidth</STRONG>         <STRONG>scrollMargin</STRONG>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>       <STRONG>vscrollMode</STRONG>
-
-     See the "scrolledlistbox"  widget  class  manual  entry  for
-     details     on     the     above     associated     options.
-     <STRONG>childsitepos</STRONG>    <STRONG>itemsCommand</STRONG>   <STRONG>itemsLabel</STRONG>      <STRONG>itemsLabelPos</STRONG>
-     <STRONG>itemsOn</STRONG>         <STRONG>margin</STRONG>         <STRONG>selectionCommandselectionLabel</STRONG>
-     <STRONG>selectionLabelPos</STRONG>              <STRONG>selectionOn</STRONG>
-
-     See the "selectionbox" widget manual entry  for  details  on
-     the above associated options.
-
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>buttonBoxPadX</STRONG>   <STRONG>buttonBoxPadY</STRONG>  <STRONG>buttonBoxPos</STRONG>    <STRONG>padX</STRONG>
-     <STRONG>padY</STRONG>            <STRONG>separator</STRONG>      <STRONG>thickness</STRONG>
-
-     See the "dialogshell" widget  manual entry  for  details  on
-     the above inherited options.
-
-     <STRONG>master</STRONG>          <STRONG>modality</STRONG>       <STRONG>title</STRONG>
-
-     See the "shell" widget  manual  entry  for  details  on  the
-     above inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>height</STRONG>
-     Class:          <STRONG>Height</STRONG>
-     Command-Line Switch:           <STRONG>-height</STRONG>
-
-          Specifies the height  of  the  selection  dialog.   The
-          value  may  be specified in any of the forms acceptable
-          to Tk_GetPixels.  The default is 350 pixels.
-
-     Name:           <STRONG>width</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-width</STRONG>
-
-          Specifies the width of the selection dialog.  The value
-          may  be  specified  in  any  of the forms acceptable to
-          Tk_GetPixels.  The default is 300 pixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>selectiondialog</STRONG> command creates a selection box  similar
-     to the OSF/Motif standard selection dialog composite widget.
-     The selectiondialog is derived from the Dialog class and  is
-     composed  of  a selectionbox with commands to manipulate the
-     dialog buttons.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>selectiondialog</STRONG> command creates a new Tcl command  whose
-     name  is <EM>pathName</EM>.  This command may be used to invoke vari-
-     ous operations on the widget.  It has the following  general
-     form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.  The following commands are possible for selectiondia-
-     log widgets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>childsite</STRONG>       <STRONG>clear</STRONG>          <STRONG>get</STRONG>             <STRONG>insert</STRONG>
-     <STRONG>selectitem</STRONG>
-
-     See the "selectionbox" widget manual entry  for  details  on
-     the above associated methods.
-
-     <STRONG>curselection</STRONG>    <STRONG>delete</STRONG>         <STRONG>index</STRONG>           <STRONG>nearest</STRONG>
-     <STRONG>scan</STRONG>            <STRONG>selection</STRONG>      <STRONG>size</STRONG>
-
-     See the "listbox" widget manual entry  for  details  on  the
-     above associated methods.
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>add</STRONG>             <STRONG>buttonconfigure</STRONG>                <STRONG>defaulthide</STRONG>
-     <STRONG>invoke</STRONG>          <STRONG>show</STRONG>
-
-     See the "buttonbox" widget manual entry for details  on  the
-     above inherited methods.
-
-     <STRONG>activate</STRONG>        <STRONG>center</STRONG>         <STRONG>deactivate</STRONG>
-
-     See the "shell" widget manual entry for details on the above
-     inherited methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>selectiondialog</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>selectiondialog</STRONG> command.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>sb</STRONG>
-     Class:          <STRONG>Selectionbox</STRONG>
-
-          The sb component is the selection box for the selection
-          dialog.
-           See the "selectionbox" widget manual entry for details
-          on the sb component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground GhostWhite
-
-           selectiondialog .sd
-           .sd activate
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     selectiondialog, selectionbox, dialog,  dialogshell,  shell,
-     widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
index 10eb5ea..9ff1b0f 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - shell</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - shell</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     shell - Create and manipulate a shell widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>shell</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Toplevel &lt;- shell
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>         <STRONG>foreground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>master</STRONG>
-     Class:          <STRONG>Window</STRONG>
-     Command-Line Switch:           <STRONG>-master</STRONG>
-
-          Defines the shell as being a transient window with  the
-          master  window  given by the master option.  The master
-          window should be either another existing toplevel  win-
-          dow  or {} for no master.  The default is {} for shells
-          and "." for dialogs.
-
-     Name:           <STRONG>modality</STRONG>
-     Class:          <STRONG>Modality</STRONG>
-     Command-Line Switch:           <STRONG>-modality</STRONG>
-
-          Allows the shell to grab control of the screen  in  one
-          of three different ways:  <STRONG>application</STRONG>, <STRONG>system</STRONG>, or <STRONG>none</STRONG>.
-          Application modal prevents any other  toplevel  windows
-          within the application which are direct children of '.'
-          from gaining focus.  System modal locks the screen  and
-          prevents  all  windows from gaining focus regardless of
-          application.  A modality of none performs no  grabs  at
-          all.  The default is none.
-
-     Name:           <STRONG>padX</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-padx</STRONG>
-
-          Specifies a padding distance for the childsite  in  the
-          X-direction   in   any   of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.  The default is 10.
-
-     Name:           <STRONG>padY</STRONG>
-     Class:          <STRONG>Pad</STRONG>
-     Command-Line Switch:           <STRONG>-pady</STRONG>
-          Specifies a padding distance for the childsite  in  the
-          Y-direction   in   any   of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.  The default is 10.
-
-     Name:           <STRONG>title</STRONG>
-     Class:          <STRONG>Title</STRONG>
-     Command-Line Switch:           <STRONG>-title</STRONG>
-
-          String to be displayed in the title window decoration.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>shell</STRONG> command creates a  shell  which  is  a  top  level
-     widget which supports modal operation.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>shell</STRONG> command create a new Tcl  command  whose  name  is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget.  It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.   The  following commands are possible for shell widg-
-     ets:
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>activate</STRONG>
-          Display the shell and wait based on the modality.   For
-          application  and  system  modal  activations, perform a
-          grab operation, and wait for the  result.   The  result
-          may  be  returned  via  an  argument  to the <STRONG>deactivate</STRONG>
-          method.
-
-     <EM>pathName</EM> <STRONG>center</STRONG> ?<EM>widget</EM>?
-          Centers the shell with respect to another widget.   The
-          widget argument is optional.  If provided, it should be
-          the path of another widget with  to  center  upon.   If
-          absent,  then  the shell will be centered on the screen
-          as a whole.
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>shell</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>childsite</STRONG>
-          Returns the pathname of the child site widget.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>shell</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>deactivate</STRONG> ?<EM>arg</EM>?
-          Deactivate the display of the shell.  The method  takes
-          an  optional  argument  to  be  passed  to the <STRONG>activate</STRONG>
-          method which returns the value.  The optional  argument
-          is only effective for application and system modal dia-
-          logs.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>shellchildsite</STRONG>
-     Class:          <STRONG>frame</STRONG>
-
-          The shellchildsite component is the user child site for
-          the  shell.   See  the  "frame" widget manual entry for
-          details on the shellchildsite component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           shell .sh -modality application -padx 20 -pady 20 -title Shell
-
-           pack [label [.sh childsite].l -text SHELL]
-
-           .sh center
-           .sh activate
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Mark L. Ulferts
-
-     Kris Raney
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     shell, widget
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>shell - Create and manipulate a shell widget</TITLE>
+<H1>shell - Create and manipulate a shell widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>shell<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Toplevel &lt;- shell
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>title</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the "Toplevel" manual entry for details on the above inherited options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>height</B>
+Class:                  <B>Height</B>
+Command-Line Switch:   <B>-height</B>
+</pre>
+<UL>
+Specifies the height of the shell.  The value may be specified in 
+any of the forms acceptable to <B>Tk_GetPixels</B>.  A value of zero 
+causes the height to be adjusted to the required value based on 
+the size requests of the components placed in the childsite.  
+Otherwise, the height is fixed.  The default is zero.  NOTE: This
+may cause some amount of flickering on slower machines.  To prevent it
+simply set the width and height to a appropriate value.
+</UL>
+<P>
+<pre>
+Name:                   <B>master</B>
+Class:                  <B>Window</B>
+Command-Line Switch:   <B>-master</B>
+</pre>
+<UL>
+Defines the shell as being a transient window with the master window
+given by the master option.  The master window should be either another
+existing toplevel window or {} for no master.  The default is {} for 
+shells and "." for dialogs.
+</UL>
+<P>
+<pre>
+Name:                   <B>modality</B>
+Class:                  <B>Modality</B>
+Command-Line Switch:   <B>-modality</B>
+</pre>
+<UL>
+Allows the shell to grab control of the screen in one of three different ways:
+<B>application</B>, <B>system</B>, or <B>none</B>.
+Application modal prevents any other toplevel windows within the application
+which are direct children of '.' from gaining focus.  System modal locks 
+the screen and prevents all windows from gaining focus regardless of 
+application.  A modality of none performs no grabs at all.  The default 
+is none.
+</UL>
+<P>
+<pre>
+Name:                   <B>padX</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-padx</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the X-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>.  The default is 10.
+</UL>
+<P>
+<pre>
+Name:                   <B>padY</B>
+Class:                  <B>Pad</B>
+Command-Line Switch:   <B>-pady</B>
+</pre>
+<UL>
+Specifies a padding distance for the childsite in the Y-direction in
+any of the forms acceptable to <B>Tk_GetPixels</B>.  The default is 10.
+</UL>
+<P>
+<pre>
+Name:                   <B>width</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-width</B>
+</pre>
+<UL>
+Specifies the width of the shell.  The value may be specified in 
+any of the forms acceptable to <B>Tk_GetPixels</B>.  A value of zero 
+causes the width to be adjusted to the required value based on 
+the size requests of the components placed in the childsite.  
+Otherwise, the width is fixed.  The default is zero.  NOTE: This
+may cause some amount of flickering on slower machines.  To prevent it
+simply set the width and height to a appropriate value.
+</UL>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>shell</B> command creates a shell which is a top 
+level widget which supports modal operation.
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>shell</B> command create a new Tcl command whose
+name is <I>pathName</I>.  This command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for shell widgets:
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>activate</B>
+</I></B>
+<DD> Display the shell and wait based on the modality.  For application
+and system modal activations, perform a grab operation, and wait
+for the result.  The result may be returned via an argument to the
+<B>deactivate</B> method.
+</DL>
+<DL>
+<DT> <I>pathName <B>center</B> <I>?widget?</I>
+</I></B>
+<DD> Centers the shell with respect to another widget.  The widget argument
+is optional.  If provided, it should be the path of another widget with
+to center upon.  If absent, then the shell will be centered on the screen
+as a whole.
+</DL>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>shell</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>childsite</B>
+</I></B>
+<DD> Returns the pathname of the child site widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>shell</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>deactivate</B> ?<I>arg</I>?
+</I></B>
+<DD> Deactivate the display of the shell.  The method takes an optional
+argument to be passed to the <B>activate</B> method which returns the value.
+The optional argument is only effective for application and system 
+modal dialogs.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>shellchildsite</B>
+Class:                  <B>frame</B>
+</pre>
+<UL>
+The shellchildsite component is the user child site for the shell.  See 
+the "frame" widget manual entry for details on the shellchildsite 
+component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ shell .sh -modality application -padx 20 -pady 20 -title Shell
+
+ pack [label [.sh childsite].l -text SHELL]
+
+ .sh center
+ .sh activate
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre>
+Kris Raney
+<P>
+</pre><H2>KEYWORDS</H2>
+shell, widget
index 1409acc..ffcc3ee 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - spindate</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - spindate</H1>
-<HR>
-<PRE>
+<TITLE>spindate - Create and manipulate time spinner widgets</TITLE>
+<H1>spindate - Create and manipulate time spinner widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spindate<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Spindate
+
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>relief</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the above associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> manual entry for details on the above associated 
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>arrowOrient</B><br>
+</td>
+<td valign=top>
+<B>repeatDelay</B><br>
+</td>
+<td valign=top>
+<B>repeatInterval</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="spinner.n.html"> "spinner" </A> manual entry for details on the above associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>dateMargin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-datemargin</B>
+</pre>
+<UL>
+Specifies the margin space between the month, day, and year spinners is 
+any of the forms accpetable to <B>Tcl_GetPixels</B>.  The default is 1 pixel.
+</UL>
+<P>
+<pre>
+Name:                   <B>dayLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-daylabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the day spinner.  The default is
+"Day".
+</UL>
+<P>
+<pre>
+Name:                   <B>dayOn</B>
+Class:                  <B>dayOn</B>
+Command-Line Switch:   <B>-dayon</B>
+</pre>
+<UL>
+Specifies whether or not to display the day spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>dayWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-daywidth</B>
+</pre>
+<UL>
+Specifies the width of the day spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>labelPos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-labelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the sides of the various 
+spinners: <B>n</B>, <B>e</B>, <B>s</B>, or <B>w</B>.  The default is w.
+</UL>
+<P>
+<pre>
+Name:                   <B>monthFormat</B>
+Class:                  <B>MonthFormat</B>
+Command-Line Switch:   <B>-monthformat</B>
+</pre>
+<UL>
+Specifies the format of month display, <B>integer</B> (1-12) or <B>brief</B>
+strings (Jan - Dec), or <B>full</B> strings (January - December).
+</UL>
+<P>
+<pre>
+Name:                   <B>monthLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-monthlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the month spinner.  The default is "Month".
+</UL>
+<P>
+<pre>
+Name:                   <B>monthOn</B>
+Class:                  <B>monthOn</B>
+Command-Line Switch:   <B>-monthon</B>
+</pre>
+<UL>
+Specifies whether or not to display the month spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>monthWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-monthwidth</B>
+</pre>
+<UL>
+Specifies the width of the month spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>orient</B>
+Class:                  <B>Orient</B>
+Command-Line Switch:   <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the month, day, and year spinners: <B>vertical</B> or <B>horizontal</B>.  The default is horizontal.
+</UL>
+<P>
+<pre>
+Name:                   <B>yearDigits</B>
+Class:                  <B>YearDigits</B>
+Command-Line Switch:   <B>-yeardigits</B>
+</pre>
+<UL>
+Specifies the number of digits to be displayed as the value for the year 
+spinner.  The valid values are 2 and 4.  The default is 2.
+</UL>
+<P>
+<pre>
+Name:                   <B>yearLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-yearlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the year spinner.  The default is
+"Year"
+</UL>
+<P>
+<pre>
+Name:                   <B>yearOn</B>
+Class:                  <B>yearOn</B>
+Command-Line Switch:   <B>-yearon</B>
+</pre>
+<UL>
+Specifies whether or not to display the year spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>yearWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-yearwidth</B>
+</pre>
+<UL>
+Specifies the width of the year spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<table cellpadding=5>
+<td valign=top>
+</pre><HR><br>
+<B>spindate</B><br>
+set<br>
+use<br>
+entry.<br>
+an<br>
+year<br>
+<P><br>
+creates<br>
+command<br>
+<I>pathName</I>.<br>
+be<br>
+various<br>
+widget.<br>
+following<br>
+<I>pathName<br>
+...</I>?<br>
+the<br>
+exact<br>
+command.<br>
+are<br>
+widgets:<br>
+<DT><br>
+</I></B><br>
+current<br>
+configuration<br>
+<I>option</I>.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName</I><br>
+option<br>
+<DD><br>
+the<br>
+the<br>
+<I>option</I><br>
+a<br>
+of<br>
+for<br>
+for<br>
+format<br>
+If<br>
+with<br>
+the<br>
+list<br>
+named<br>
+will<br>
+the<br>
+the<br>
+no<br>
+If<br>
+<I>option-value</I><br>
+then<br>
+the<br>
+to<br>
+value(s);<br>
+the<br>
+empty<br>
+have<br>
+values<br>
+<B>spindate</B><br>
+<DT><br>
+</I></B><br>
+current<br>
+spindate<br>
+format<br>
+as<br>
+value<br>
+and<br>
+respectively.<br>
+by<br>
+clock<br>
+information<br>
+and<br>
+<DL><br>
+<I>date</I><br>
+the<br>
+to<br>
+the<br>
+date<br>
+either<br>
+an<br>
+or<br>
+Reference<br>
+for<br>
+obtaining<br>
+formats.<br>
+<table><br>
+<B>Spinner</B><br>
+</td>
+<td valign=top>
+</pre><H2>DESCRIPTION</H2><br>
+command<br>
+of<br>
+in<br>
+The<br>
+month,<br>
+spinner<br>
+The<br>
+a<br>
+whose<br>
+This<br>
+used<br>
+operations<br>
+It<br>
+general<br>
+option<br>
+</pre><br>
+<I>arg</I>s<br>
+behavior<br>
+The<br>
+possible<br>
+</pre><H2>WIDGET-SPECIFIC<br>
+<I>pathName<br>
+<DD><br>
+value<br>
+option<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>configure</B><br>
+value<br>
+Query<br>
+configuration<br>
+widget.<br>
+is<br>
+list<br>
+the<br>
+<I>pathName</I><br>
+information<br>
+of<br>
+<I>option</I><br>
+no<br>
+command<br>
+describing<br>
+option<br>
+be<br>
+corresponding<br>
+value<br>
+<I>option</I><br>
+one<br>
+pairs<br>
+the<br>
+given<br>
+have<br>
+in<br>
+command<br>
+string.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName<br>
+<DD><br>
+contents<br>
+widget<br>
+of<br>
+an<br>
+using<br>
+<B>-clicks</B><br>
+The<br>
+string.<br>
+command<br>
+on<br>
+their<br>
+<DT><br>
+</I></B><br>
+currently<br>
+be<br>
+date<br>
+may<br>
+as<br>
+integer<br>
+the<br>
+the<br>
+more<br>
+dates<br>
+</DL><br>
+Name:<br>
+</td>
+<td valign=top>
+<P><br>
+creates<br>
+spinners<br>
+date<br>
+set<br>
+day,<br>
+widget.<br>
+<B>spindate</B><br>
+new<br>
+name<br>
+command<br>
+to<br>
+on<br>
+has<br>
+form:<br>
+</I>?<I>arg<br>
+<I>Option</I><br>
+determine<br>
+of<br>
+following<br>
+for<br>
+METHODS</H2><br>
+<B>cget</B><br>
+Returns<br>
+of<br>
+given<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<I>option</I>?<br>
+...</I>?<br>
+or<br>
+options<br>
+If<br>
+specified,<br>
+describing<br>
+available<br>
+(see<br>
+on<br>
+this<br>
+is<br>
+<I>value</I>,<br>
+returns<br>
+the<br>
+(this<br>
+identical<br>
+sublist<br>
+returned<br>
+is<br>
+or<br>
+are<br>
+command<br>
+widget<br>
+the<br>
+this<br>
+returns<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>get</B><br>
+Returns<br>
+of<br>
+in<br>
+string<br>
+integer<br>
+the<br>
+format<br>
+default<br>
+Reference<br>
+for<br>
+obtaining<br>
+formats.<br>
+<I>pathName<br>
+<DD><br>
+displayed<br>
+that<br>
+argument.<br>
+be<br>
+a<br>
+clock<br>
+keyword<br>
+clock<br>
+information<br>
+and<br>
+</pre><H2>COMPONENTS</H2><br>
+<B>month</B><br>
+</td>
+<td valign=top>
+The<br>
+a<br>
+for<br>
+value<br>
+includes<br>
+and<br>
+</pre><H2>METHODS</H2><br>
+command<br>
+Tcl<br>
+is<br>
+may<br>
+invoke<br>
+the<br>
+the<br>
+<pre><br>
+arg<br>
+and<br>
+the<br>
+the<br>
+commands<br>
+spindate<br>
+<DL><br>
+<I>option</I><br>
+the<br>
+the<br>
+by<br>
+have<br>
+values<br>
+<B>spindate</B><br>
+<DT><br>
+?<I>value<br>
+</I></B><br>
+modify<br>
+of<br>
+no<br>
+returns<br>
+all<br>
+options<br>
+<B>Tk_ConfigureInfo</B><br>
+the<br>
+list).<br>
+specified<br>
+then<br>
+a<br>
+one<br>
+list<br>
+to<br>
+of<br>
+if<br>
+specified).<br>
+more<br>
+specified,<br>
+modifies<br>
+option(s)<br>
+given<br>
+case<br>
+an<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<B>format</B>?<br>
+the<br>
+the<br>
+a<br>
+or<br>
+clock<br>
+<B>-string</B><br>
+options<br>
+is<br>
+the<br>
+more<br>
+dates<br>
+</DL><br>
+<B>show</B><br>
+Changes<br>
+date<br>
+of<br>
+The<br>
+specified<br>
+string,<br>
+value<br>
+"now".<br>
+command<br>
+on<br>
+their<br>
+<P><br>
+Class:<br>
+</td>
+</table>
+<UL>
+The month spinner component is the month spinner of the date spinner.
+See the Spinner widget manual entry for details on the month component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>day</B>
+Class:                  <B>Spinint</B>
+</pre>
+<UL>
+The day spinner component is the day spinner of the date spinner.
+See the SpinInt widget manual entry for details on the day component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>year</B>
+Class:                  <B>Spinint</B>
+</pre>
+<UL>
+The year spinner component is the year spinner of the date spinner.
+See the SpinInt widget manual entry for        details on the year component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+spindate .sd
+pack .sd -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:syockey@spd.dsccc.com">Sue Yockey</A>
+</pre>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+spindate, spinint, spinner, entryfield, entry, widget
 
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     spindate - Create and manipulate time spinner widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>spindate</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Spindate
-
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>         <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG>
-     <STRONG>highlightThickness</STRONG>             <STRONG>relief</STRONG>          <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>
-
-     See the "entryfield" manual entry for details on  the  above
-     associated options.
-
-     <STRONG>labelFont</STRONG>       <STRONG>labelMargin</STRONG>
-
-     See the "labeledwidget" manual  entry  for  details  on  the
-     above associated options.
-
-     <STRONG>step</STRONG>
-
-     See the "spinint" manual entry  for  details  on  the  above
-     associated options.
-
-     <STRONG>arrowOrient</STRONG>     <STRONG>repeatDelay</STRONG>    <STRONG>repeatInterval</STRONG>
-
-     See the "spinner" manual entry  for  details  on  the  above
-     associated options.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>dateMargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-datemargin</STRONG>
-
-          Specifies the margin space between the month, day,  and
-          year  spinners  is  any  of  the  forms  accpetable  to
-          <STRONG>Tcl_GetPixels</STRONG>.  The default is 1 pixel.
-
-
-     Name:           <STRONG>dayLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-daylabel</STRONG>
-
-          Specifies the text of the label for  the  day  spinner.
-          The default is "Day".
-
-     Name:           <STRONG>dayOn</STRONG>
-     Class:          <STRONG>dayOn</STRONG>
-     Command-Line Switch:           <STRONG>-dayon</STRONG>
-
-          Specifies whether or not to display the day spinner  in
-          any  of  the  forms  acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>dayWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-daywidth</STRONG>
-
-          Specifies the width of the day spinner in  any  of  the
-          forms  acceptable  to  <STRONG>Tcl_GetPixels</STRONG>.  The default is 3
-          pixels.
-
-     Name:           <STRONG>labelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-labelpos</STRONG>
-
-          Specifies the position of the label along the sides  of
-          the various spinners: <STRONG>n</STRONG>, <STRONG>e</STRONG>, <STRONG>s</STRONG>, or <STRONG>w</STRONG>.  The default is w.
-
-     Name:           <STRONG>monthFormat</STRONG>
-     Class:          <STRONG>MonthFormat</STRONG>
-     Command-Line Switch:           <STRONG>-monthformat</STRONG>
-
-          Specifies the format of month display,  <STRONG>integer</STRONG>  (1-12)
-          or  <STRONG>string</STRONG>  (Jan  -  Dec),  or a user specified list of
-          values.
-
-     Name:           <STRONG>monthLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-monthlabel</STRONG>
-
-          Specifies the text of the label for the month  spinner.
-          The default is "Month".
-
-     Name:           <STRONG>monthOn</STRONG>
-     Class:          <STRONG>monthOn</STRONG>
-     Command-Line Switch:           <STRONG>-monthon</STRONG>
-
-          Specifies whether or not to display the  month  spinner
-          in  any of the forms acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>monthWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-monthwidth</STRONG>
-
-          Specifies the width of the month spinner in any of  the
-          forms  acceptable  to  <STRONG>Tcl_GetPixels</STRONG>.  The default is 3
-          pixels.
-
-     Name:           <STRONG>orient</STRONG>
-     Class:          <STRONG>Orient</STRONG>
-     Command-Line Switch:           <STRONG>-orient</STRONG>
-
-          Specifies the orientation of the month, day,  and  year
-          spinners:  <STRONG>vertical</STRONG> or <STRONG>horizontal</STRONG>.  The default is hor-
-          izontal.
-
-     Name:           <STRONG>yearDigits</STRONG>
-     Class:          <STRONG>YearDigits</STRONG>
-     Command-Line Switch:           <STRONG>-yeardigits</STRONG>
-
-          Specifies the number of digits to be displayed  as  the
-          value for the year spinner.  The valid values are 2 and
-          4.  The default is 2.
-
-     Name:           <STRONG>yearLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-yearlabel</STRONG>
-
-          Specifies the text of the label for the  year  spinner.
-          The default is "Year"
-
-     Name:           <STRONG>yearOn</STRONG>
-     Class:          <STRONG>yearOn</STRONG>
-     Command-Line Switch:           <STRONG>-yearon</STRONG>
-
-          Specifies whether or not to display the year spinner in
-          any  of  the  forms  acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>yearWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-yearwidth</STRONG>
-
-          Specifies the width of the year spinner in any  of  the
-          forms  acceptable  to  <STRONG>Tcl_GetPixels</STRONG>.  The default is 3
-          pixels.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-
-     The <STRONG>spindate</STRONG> command creates a set of spinners  for  use  in
-     date  value entry.  The set includes an month, day, and year
-     spinner widget.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>spindate</STRONG> command creates a new Tcl command whose name is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget. It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand. The following commands are possible for spindate widg-
-     ets:
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>spindate</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>clear</STRONG>
-          Delete the contents of all spinner components.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>spindate</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>component</EM> <EM>first</EM> ?<EM>last</EM>?
-          Delete one or more characters  of  the  specified  <EM>com-</EM>
-          <EM>ponent</EM>,  where  <EM>component</EM>  can  be <STRONG>month</STRONG>, <STRONG>day</STRONG>, or <STRONG>year</STRONG>.
-          <EM>First</EM> is the index of the first  character  to  delete,
-          and  <EM>last</EM>  is the index of the character just after the
-          last one to delete.
-
-     <EM>pathName</EM> <STRONG>get</STRONG> ?<EM>component</EM>?
-          Get returns the  value  for  the  speicifed  component:
-          <STRONG>month</STRONG>,  <STRONG>day</STRONG>,  or  <STRONG>year</STRONG>.  Without parameters the command
-          returns the all three values as a list.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>component</EM> <EM>index</EM> <EM>string</EM>
-          Inserts the characters of <EM>string</EM> just before the  char-
-          acter  indicated  by <EM>index</EM> in the <EM>component</EM>, where <EM>com-</EM>
-          <EM>ponent</EM> can be <STRONG>month</STRONG>, <STRONG>day</STRONG>, or <STRONG>year</STRONG>.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>month</STRONG>
-     Class:          <STRONG>Spinner</STRONG>
-
-          The month spinner component is the month spinner of the
-          date  spinner.  See the Spinner widget manual entry for
-          details on the month component item.
-
-     Name:           <STRONG>day</STRONG>
-     Class:          <STRONG>Spinint</STRONG>
-
-          The day spinner component is the  day  spinner  of  the
-          date  spinner.  See the SpinInt widget manual entry for
-          details on the day component item.
-
-     Name:           <STRONG>year</STRONG>
-     Class:          <STRONG>Spinint</STRONG>
-
-          The year spinner component is the year spinner  of  the
-          date spinner.  See the SpinInt widget manual entry for-
-          details on the year component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          spindate .sd
-          pack .sd -padx 10 -pady 10
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Sue Yockey
-
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     spindate, spinint, spinner, entryfield, entry, widget
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
index e0c74ec..1ba9b0e 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - spinint</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - spinint</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     spinint - Create and manipulate a integer spinner widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>spinint</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- Spinner &lt;- Spinint
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>borderWidth</STRONG>    <STRONG>cursor</STRONG>          <STRONG>exportSelection</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessinsertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>              <STRONG>insertOffTime</STRONG>   <STRONG>insertOnTimeinsertWidth</STRONG>
-     <STRONG>justify</STRONG>         <STRONG>relief</STRONG>         <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>               <STRONG>textVariable</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>show</STRONG>            <STRONG>state</STRONG>
-
-     See the "entry" manual entry for details on  the  associated
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>command</STRONG>         <STRONG>childSitePos</STRONG>   <STRONG>fixed</STRONG>           <STRONG>focusCommand</STRONG>
-     <STRONG>invalid</STRONG>         <STRONG>textBackground</STRONG> <STRONG>textFont</STRONG>        <STRONG>validate</STRONG>
-     <STRONG>width</STRONG>
-
-     See the "entryfield" widget manual entry for details on  the
-     above inherited options.
-
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" widget manual entry for  details  on
-     the above inherited options.
-
-     <STRONG>arroworient</STRONG>     <STRONG>decrement</STRONG>      <STRONG>increment</STRONG>       <STRONG>repeatDelay</STRONG>
-     <STRONG>repeatInterval</STRONG>
-
-     See the "spinner" widget manual entry  for  details  on  the
-     above inherited options.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>range</STRONG>
-     Class:          <STRONG>Range</STRONG>
-     Command-Line Switch:           <STRONG>-range</STRONG>
-          Specifies a two element list  of  minimum  and  maximum
-          integer values.  The default is no range, {{} {}}.
-
-     Name:           <STRONG>step</STRONG>
-     Class:          <STRONG>Step</STRONG>
-     Command-Line Switch:           <STRONG>-step</STRONG>
-
-          Specifies the increment/decrement value.   The  default
-          is 1.
-
-     Name:           <STRONG>wrap</STRONG>
-     Class:          <STRONG>Wrap</STRONG>
-     Command-Line Switch:           <STRONG>-wrap</STRONG>
-
-          Specifies whether to wrap the spinner value upon reach-
-          ing  the  minimum  or maximum value in any of the forms
-          acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The default is true.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>spinint</STRONG> command creates a spinint widget.   The  spinint
-     allows "spinning" of integer values within a specified range
-     with wrap support.  The spinner arrows may be drawn horizon-
-     tally or vertically.
-
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>spinint</STRONG> command creates a new Tcl command whose name  is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget.  It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.  The following commands are possible for spinint widg-
-     ets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>delete</STRONG>          <STRONG>get</STRONG>            <STRONG>icursor</STRONG>         <STRONG>index</STRONG>
-     <STRONG>insert</STRONG>          <STRONG>peek</STRONG>           <STRONG>scan</STRONG>            <STRONG>selection</STRONG>
-     <STRONG>xview</STRONG>
-
-     See the "entry" manual entry for details on  the  associated
-     methods.
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>childsite</STRONG>       <STRONG>clear</STRONG>
-
-
-     See the "entryfield" manual entry for details on the associ-
-     ated methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>spinint</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>spinint</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>down</STRONG>
-          Decrement the spinner value by the value given  in  the
-          step option.
-
-     <EM>pathName</EM> <STRONG>up</STRONG>
-          Increment the spinner value by the value given  in  the
-          step option.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-          See the "Spinner" widget manual entry  for  details  on
-          the integer spinner component items.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground white
-
-           spinint .si -labeltext "Temperature" -labelpos w \
-              -fixed yes -width 5 -range {32 212}
-
-           pack .si -pady 10
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Sue Yockey
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     spinint, widget
-</PRE>
-</BODY>
-</HTML>
+<TITLE>spinint - Create and manipulate a integer spinner widget</TITLE>
+<H1>spinint - Create and manipulate a integer spinner widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spinint<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Spinner &lt;- Spinint
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>justify</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>relief</B><br>
+<B>textVariable</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>command</B><br>
+<B>invalid</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>fixed</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>focusCommand</B><br>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>arroworient</B><br>
+<B>repeatInterval</B><br>
+</td>
+<td valign=top>
+<B>decrement</B><br>
+</td>
+<td valign=top>
+<B>increment</B><br>
+</td>
+<td valign=top>
+<B>repeatDelay</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="spinner.n.html"> "spinner" </A> widget manual entry for details on the above 
+inherited options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>range</B>
+Class:                  <B>Range</B>
+Command-Line Switch:   <B>-range</B>
+</pre>
+<UL>
+Specifies a two element list of minimum and maximum integer values.  The
+default is no range, {{} {}}.
+</UL>
+<P>
+<pre>
+Name:                   <B>step</B>
+Class:                  <B>Step</B>
+Command-Line Switch:   <B>-step</B>
+</pre>
+<UL>
+Specifies the increment/decrement value.  The default is 1.
+</UL>
+<P>
+<pre>
+Name:                   <B>wrap</B>
+Class:                  <B>Wrap</B>
+Command-Line Switch:   <B>-wrap</B>
+</pre>
+<UL>
+Specifies whether to wrap the spinner value upon reaching the minimum
+or maximum value in any of the forms acceptable to <B>Tcl_GetBoolean</B>.
+The default is true.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>spinint</B> command creates a spinint widget.  The spinint allows
+"spinning" of integer values within a specified range with wrap support.
+The spinner arrows may be drawn horizontally or vertically.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>spinint</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for spinint widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+<B>xview</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>peek</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>selection</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the associated methods.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>spinint</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>spinint</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>down</B>
+</I></B>
+<DD> Decrement the spinner value by the value given in the step option.
+</DL>
+<DL>
+<DT> <I>pathName <B>up</B>
+</I></B>
+<DD> Increment the spinner value by the value given in the step option.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<UL>
+See the "Spinner" widget manual entry for details on the integer spinner
+component items.
+
+</UL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ option add *textBackground white
+ spinint .si -labeltext "Temperature" -labelpos w \\
+    -fixed yes -width 5 -range {32 212}
+
+ pack .si -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:syockey@spd.dsccc.com">Sue Yockey</A>
+</pre><H2>KEYWORDS</H2>
+spinint, widget
index 005ac29..d37fa8f 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - spinner</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - spinner</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     spinner - Create and manipulate a spinner widget
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>spinner</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Labeledwidget &lt;- Spinner
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>borderWidth</STRONG>    <STRONG>cursor</STRONG>          <STRONG>exportSelection</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessinsertBackground</STRONG>
-     <STRONG>insertBorderWidth</STRONG>              <STRONG>insertOffTime</STRONG>   <STRONG>insertOnTimeinsertWidth</STRONG>
-     <STRONG>justify</STRONG>         <STRONG>relief</STRONG>         <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>               <STRONG>textVariable</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>show</STRONG>            <STRONG>state</STRONG>
-
-     See the "entry" manual entry for details on  the  associated
-     options.
-
-
-</PRE>
-<H2>INHERITED OPTIONS</H2><PRE>
-     <STRONG>childSitePos</STRONG>    <STRONG>command</STRONG>        <STRONG>fixed</STRONG>           <STRONG>focusCommand</STRONG>
-     <STRONG>invalid</STRONG>         <STRONG>textBackground</STRONG> <STRONG>textFont</STRONG>        <STRONG>validate</STRONG>
-     <STRONG>width</STRONG>
-
-     See the "entryfield" widget manual entry for details on  the
-     above inherited options.
-
-     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
-     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>
-
-     See the "labeledwidget" widget manual entry for  details  on
-     the above inherited options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>arrowOrient</STRONG>
-     Class:          <STRONG>Orient</STRONG>
-     Command-Line Switch:           <STRONG>-arroworient</STRONG>
-
-          Specifies placement of  arrow  buttons:  <STRONG>horizontal</STRONG>  or
-          <STRONG>vertical</STRONG>.  The default is vertical.
-
-     Name:           <STRONG>decrement</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-decrement</STRONG>
-          Tcl command to be executed when down arrow is pressed.
-
-     Name:           <STRONG>increment</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-increment</STRONG>
-
-          Tcl command to be executed when up arrow is pressed.
-
-     Name:           <STRONG>repeatDelay</STRONG>
-     Class:          <STRONG>RepeatDelay</STRONG>
-     Command-Line Switch:           <STRONG>-repeatdelay</STRONG>
-
-          Specifies the initial delay in milliseconds before  the
-          spinner  repeat  action  on  the arrow buttons engages.
-          The default is 300 milliseconds.
-
-     Name:           <STRONG>repeatInterval</STRONG>
-     Class:          <STRONG>RepeatInterval</STRONG>
-     Command-Line Switch:           <STRONG>-repeatinterval</STRONG>
-
-          Specifies the  repeat  delay  in  milliseconds  between
-          selections of the arrow buttons.  A repeatinterval of 0
-          disables  button  repeat.   The  default  is  100  mil-
-          liseconds.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>spinner</STRONG> command creates a spinner widget.   The  spinner
-     is  comprised  of  an entryfield plus up and down arrow but-
-     tons. Arrows may be drawn horizontally or vertically.
-
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>spinner</STRONG> command creates a new Tcl command whose name  is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget.  It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.  The following commands are possible for spinner widg-
-     ets:
-
-
-</PRE>
-<H2>ASSOCIATED METHODS</H2><PRE>
-     <STRONG>delete</STRONG>          <STRONG>get</STRONG>            <STRONG>icursor</STRONG>         <STRONG>index</STRONG>
-     <STRONG>insert</STRONG>          <STRONG>scan</STRONG>           <STRONG>selection</STRONG>       <STRONG>xview</STRONG>
-
-     See the "entry" manual entry for details on  the  associated
-     methods.
-
-
-</PRE>
-<H2>INHERITED METHODS</H2><PRE>
-     <STRONG>childsite</STRONG>       <STRONG>clear</STRONG>          <STRONG>peek</STRONG>
-
-     See the "entryfield" manual entry for details on the associ-
-     ated methods.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>spinner</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>spinner</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>down</STRONG>
-          Derived classes may overload this method to  specialize
-          functionality.
-
-     <EM>pathName</EM> <STRONG>up</STRONG>
-          Derived classes may overload this method to  specialize
-          functionality.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>downarrow</STRONG>
-     Class:          <STRONG>Canvas</STRONG>
-
-          The downarrow component is the downward pointing button
-          of  the  spinner.  See the "canvas" widget manual entry
-          for details on the downarrow component item.
-
-     Name:           <STRONG>uparrow</STRONG>
-     Class:          <STRONG>Canvas</STRONG>
-
-          The uparrow component is the upward pointing button  of
-          the  spinner.  See the "canvas" widget manual entry for
-          details on the uparrow component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           option add *textBackground GhostWhite
-
-           set months {January February March April May June July \
-                           August September October November December}
-
-           proc blockInput {char} {
-               return 0
-           }
-
-           proc spinMonth {step} {
-               global months
-
-               set index [expr [lsearch $months [.sm get]] + $step]
-
-               if {$index &lt; 0} {set index 11}
-               if {$index &gt; 11} {set index 0}
-
-               .sm delete 0 end
-               .sm insert 0 [lindex $months $index]
-           }
-
-           spinner .sm -labeltext "Month : " -width 10 -fixed 10 -validate blockInput \
-                       -decrement {spinMonth -1} -increment {spinMonth 1}
-           .sm insert 0 January
-
-           pack .sm -padx 10 -pady 10
-
-
-
-</PRE>
-<H2>ACKNOWLEDGEMENTS:</H2><PRE>
-     Ken Copeland &lt;ken@hilco.com&gt;
-
-          10/18/95 - Added auto-repeat action  to  spinner  arrow
-          buttons.
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Sue Yockey
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     spinner, widget
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>spinner - Create and manipulate a spinner widget</TITLE>
+<H1>spinner - Create and manipulate a spinner widget</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spinner<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Labeledwidget &lt;- Spinner
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>insertBorderWidth</B><br>
+<B>justify</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>borderWidth</B><br>
+<B>highlightColor</B><br>
+<B>insertOffTime</B><br>
+<B>relief</B><br>
+<B>textVariable</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>highlightThickness</B><br>
+<B>insertOnTime</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>exportSelection</B><br>
+<B>insertBackground</B><br>
+<B>insertWidth</B><br>
+<B>selectBorderWidth</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>show</B><br>
+</td>
+<td valign=top>
+<B>state</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated options.
+</pre><H2>INHERITED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childSitePos</B><br>
+<B>invalid</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>command</B><br>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>fixed</B><br>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+<B>focusCommand</B><br>
+<B>validate</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> widget manual entry for details on the above
+inherited options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>labelMargin</B><br>
+<B>state</B><br>
+</td>
+<td valign=top>
+<B>labelBitmap</B><br>
+<B>labelPos</B><br>
+</td>
+<td valign=top>
+<B>labelFont</B><br>
+<B>labelText</B><br>
+</td>
+<td valign=top>
+<B>labelImage</B><br>
+<B>labelVariable</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> widget manual entry for details on the above
+inherited options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>arrowOrient</B>
+Class:                  <B>Orient</B>
+Command-Line Switch:   <B>-arroworient</B>
+</pre>
+<UL>
+Specifies placement of arrow buttons: <B>horizontal</B> or <B>vertical</B>.
+The default is vertical.
+</UL>
+<P>
+<pre>
+Name:                   <B>decrement</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-decrement</B>
+</pre>
+<UL>
+Tcl command to be executed when down arrow is pressed.
+</UL>
+<P>
+<pre>
+Name:                   <B>increment</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-increment</B>
+</pre>
+<UL>
+Tcl command to be executed when up arrow is pressed.
+</UL>
+<P>
+<pre>
+Name:                   <B>repeatDelay</B>
+Class:                  <B>RepeatDelay</B>
+Command-Line Switch:   <B>-repeatdelay</B>
+</pre>
+<UL>
+Specifies the initial delay in milliseconds before the spinner repeat action 
+on the arrow buttons engages.  The default is 300 milliseconds.
+</UL>
+<P>
+<pre>
+Name:                   <B>repeatInterval</B>
+Class:                  <B>RepeatInterval</B>
+Command-Line Switch:   <B>-repeatinterval</B>
+</pre>
+<UL>
+Specifies the repeat delay in milliseconds between selections of the arrow 
+buttons.  A repeatinterval of 0 disables button repeat.  The default is 
+100 milliseconds.
+</UL>
+<P>
+</pre><HR>
+
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>spinner</B> command creates a spinner widget.  The spinner is 
+comprised of an entryfield plus up and down arrow buttons. 
+Arrows may be drawn horizontally or vertically.
+</pre>
+
+</pre><H2>METHODS</H2>
+<P>
+The <B>spinner</B> command creates a new Tcl command whose
+name is <I>pathName</I>.  This
+command may be used to invoke various
+operations on the widget.  It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>Option</I> and the <I>arg</I>s
+determine the exact behavior of the command.  The following
+commands are possible for spinner widgets:
+</pre><H2>ASSOCIATED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>delete</B><br>
+<B>insert</B><br>
+</td>
+<td valign=top>
+<B>get</B><br>
+<B>scan</B><br>
+</td>
+<td valign=top>
+<B>icursor</B><br>
+<B>selection</B><br>
+</td>
+<td valign=top>
+<B>index</B><br>
+<B>xview</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/entry.n.html"> "entry" </A> manual entry for details on the associated methods.
+</pre><H2>INHERITED METHODS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>childsite</B><br>
+</td>
+<td valign=top>
+<B>clear</B><br>
+</td>
+<td valign=top>
+<B>peek</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the associated methods.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<DL>
+<DT> <I>pathName <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given
+by <I>option</I>.
+<I>Option</I> may have any of the values accepted by the <B>spinner</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget.
+If no <I>option</I> is specified, returns a list describing all of
+the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
+information on the format of this list).  If <I>option</I> is specified
+with no <I>value</I>, then the command returns a list describing the
+one named option (this list will be identical to the corresponding
+sublist of the value returned if no <I>option</I> is specified).  If
+one or more <I>option-value</I> pairs are specified, then the command
+modifies the given widget option(s) to have the given value(s);  in
+this case the command returns an empty string.
+<I>Option</I> may have any of the values accepted by the <B>spinner</B>
+command.
+</DL>
+<DL>
+<DT> <I>pathName <B>down</B>
+</I></B>
+<DD> Derived classes may overload this method to specialize functionality.
+</DL>
+<DL>
+<DT> <I>pathName <B>up</B>
+</I></B>
+<DD> Derived classes may overload this method to specialize functionality.
+
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+<pre>
+Name:                   <B>downarrow</B>
+Class:                  <B>Canvas</B>
+</pre>
+<UL>
+The downarrow component is the downward pointing button of the spinner.  See
+the "canvas" widget manual entry for details on the downarrow component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>uparrow</B>
+Class:                  <B>Canvas</B>
+</pre>
+<UL>
+The uparrow component is the upward pointing button of the spinner.  See
+the "canvas" widget manual entry for details on the uparrow component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+ set months {January February March April May June July \\
+                 August September October November December}
+
+ proc blockInput {char} {
+     return 0
+ }
+
+ proc spinMonth {step} {
+     global months
+
+     set index [expr [lsearch $months [.sm get]] + $step]
+
+     if {$index &lt; 0} {set index 11}
+     if {$index &gt; 11} {set index 0}
+
+     .sm delete 0 end
+     .sm insert 0 [lindex $months $index]
+ }
+
+ spinner .sm -labeltext "Month : " -width 10 -fixed 10 -validate blockInput \\
+             -decrement {spinMonth -1} -increment {spinMonth 1}
+ .sm insert 0 January
+
+ pack .sm -padx 10 -pady 10
+</pre>
+</pre><H2>ACKNOWLEDGEMENTS:</H2>
+<P>
+Ken Copeland &lt;ken@hilco.com&gt;
+<UL>
+10/18/95 - Added auto-repeat action to spinner arrow buttons.
+</UL>
+<P>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:syockey@spd.dsccc.com">Sue Yockey</A>
+</pre><H2>KEYWORDS</H2>
+spinner, widget
index 3e9a8b4..2cdd37a 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - spintime</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - spintime</H1>
-<HR>
-<PRE>
+<TITLE>spintime - Create and manipulate time spinner widgets</TITLE>
+<H1>spintime - Create and manipulate time spinner widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>spintime<I> <I>pathName </I>?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- Spintime
+
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+</td>
+<td valign=top>
+<B>relief</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>ASSOCIATED OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>textBackground</B><br>
+</td>
+<td valign=top>
+<B>textFont</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="entryfield.n.html"> "entryfield" </A> manual entry for details on the above associated options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>labelFont</B><br>
+</td>
+<td valign=top>
+<B>labelMargin</B><br>
+</td>
+<td valign=top>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="labeledwidget.n.html"> "labeledwidget" </A> manual entry for details on the above associated 
+options.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>arrowOrient</B><br>
+</td>
+<td valign=top>
+<B>repeatDelay</B><br>
+</td>
+<td valign=top>
+<B>repeatInterval</B><br>
+</td>
+<td valign=top>
+</td>
+</table>
+<P>
+See the <A HREF="spinner.n.html"> "spinner" </A> manual entry for details on the above associated options.
+
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>labelPos</B>
+Class:                  <B>Position</B>
+Command-Line Switch:   <B>-labelpos</B>
+</pre>
+<UL>
+Specifies the position of the label along the sides of the various 
+spinners: <B>n</B>, <B>e</B>, <B>s</B>, or <B>w</B>.  The default is w.
+</UL>
+<P>
+<pre>
+Name:                   <B>hourLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-hourlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the hour spinner.  The default is "Hour".
+</UL>
+<P>
+<pre>
+Name:                   <B>hourOn</B>
+Class:                  <B>hourOn</B>
+Command-Line Switch:   <B>-houron</B>
+</pre>
+<UL>
+Specifies whether or not to display the hour spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>hourWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-hourwidth</B>
+</pre>
+<UL>
+Specifies the width of the hour spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>militaryOn</B>
+Class:                  <B>militaryOn</B>
+Command-Line Switch:   <B>-militaryon</B>
+</pre>
+<UL>
+Specifies use of a 24 hour clock for hour display in any of the forms 
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>minuteLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-minutelabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the minute spinner.  The default is
+"Minute".
+</UL>
+<P>
+<pre>
+Name:                   <B>minuteOn</B>
+Class:                  <B>minuteOn</B>
+Command-Line Switch:   <B>-minuteon</B>
+</pre>
+<UL>
+Specifies whether or not to display the minute spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>minuteWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-minutewidth</B>
+</pre>
+<UL>
+Specifies the width of the minute spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>orient</B>
+Class:                  <B>Orient</B>
+Command-Line Switch:   <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the hour, minute, and second spinners: <B>vertical</B> or <B>horizontal</B>.  The default is horizontal.
+</UL>
+<P>
+<pre>
+Name:                   <B>secondLabel</B>
+Class:                  <B>Text</B>
+Command-Line Switch:   <B>-secondlabel</B>
+</pre>
+<UL>
+Specifies the text of the label for the second spinner.  The default is
+"Second"
+</UL>
+<P>
+<pre>
+Name:                   <B>secondOn</B>
+Class:                  <B>secondOn</B>
+Command-Line Switch:   <B>-secondon</B>
+</pre>
+<UL>
+Specifies whether or not to display the second spinner in any of the forms
+acceptable to <B>Tcl_GetBoolean</B>.  The default is true.
+</UL>
+<P>
+<pre>
+Name:                   <B>secondWidth</B>
+Class:                  <B>Width</B>
+Command-Line Switch:   <B>-secondwidth</B>
+</pre>
+<UL>
+Specifies the width of the second spinner in any of the forms acceptable to
+<B>Tcl_GetPixels</B>.  The default is 3 pixels.
+</UL>
+<P>
+<pre>
+Name:                   <B>timeMargin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-timemargin</B>
+</pre>
+<UL>
+Specifies the margin space between the hour, minute, and second spinners is 
+any of the forms accpetable to <B>Tcl_GetPixels</B>.  The default is 1 pixel.
+</UL>
+<P>
+<table cellpadding=5>
+<td valign=top>
+</pre><HR><br>
+<B>spintime</B><br>
+set<br>
+use<br>
+entry.<br>
+an<br>
+second<br>
+<P><br>
+creates<br>
+command<br>
+<I>pathName</I>.<br>
+be<br>
+various<br>
+widget.<br>
+following<br>
+<I>pathName<br>
+...</I>?<br>
+the<br>
+exact<br>
+command.<br>
+are<br>
+widgets:<br>
+<DT><br>
+</I></B><br>
+current<br>
+configuration<br>
+<I>option</I>.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName</I><br>
+option<br>
+<DD><br>
+the<br>
+the<br>
+<I>option</I><br>
+a<br>
+of<br>
+for<br>
+for<br>
+format<br>
+If<br>
+with<br>
+the<br>
+list<br>
+named<br>
+will<br>
+the<br>
+the<br>
+no<br>
+If<br>
+<I>option-value</I><br>
+then<br>
+the<br>
+to<br>
+value(s);<br>
+the<br>
+empty<br>
+have<br>
+values<br>
+<B>spintime</B><br>
+<DT><br>
+</I></B><br>
+current<br>
+spintime<br>
+format<br>
+as<br>
+value<br>
+and<br>
+respectively.<br>
+by<br>
+clock<br>
+information<br>
+and<br>
+<DL><br>
+<I>time</I><br>
+the<br>
+to<br>
+the<br>
+time<br>
+either<br>
+an<br>
+or<br>
+Reference<br>
+for<br>
+obtaining<br>
+format.<br>
+<table><br>
+<B>Spinint</B><br>
+</td>
+<td valign=top>
+</pre><H2>DESCRIPTION</H2><br>
+command<br>
+of<br>
+in<br>
+The<br>
+hour,<br>
+spinner<br>
+The<br>
+a<br>
+whose<br>
+This<br>
+used<br>
+operations<br>
+It<br>
+general<br>
+option<br>
+</pre><br>
+<I>arg</I>s<br>
+behavior<br>
+The<br>
+possible<br>
+</pre><H2>WIDGET-SPECIFIC<br>
+<I>pathName<br>
+<DD><br>
+value<br>
+option<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>configure</B><br>
+value<br>
+Query<br>
+configuration<br>
+widget.<br>
+is<br>
+list<br>
+the<br>
+<I>pathName</I><br>
+information<br>
+of<br>
+<I>option</I><br>
+no<br>
+command<br>
+describing<br>
+option<br>
+be<br>
+corresponding<br>
+value<br>
+<I>option</I><br>
+one<br>
+pairs<br>
+the<br>
+given<br>
+have<br>
+in<br>
+command<br>
+string.<br>
+any<br>
+accepted<br>
+command.<br>
+<I>pathName<br>
+<DD><br>
+contents<br>
+widget<br>
+of<br>
+an<br>
+using<br>
+<B>-clicks</B><br>
+The<br>
+string.<br>
+command<br>
+on<br>
+its<br>
+<DT><br>
+</I></B><br>
+currently<br>
+be<br>
+time<br>
+may<br>
+as<br>
+integer<br>
+the<br>
+the<br>
+more<br>
+times<br>
+</DL><br>
+Name:<br>
+</td>
+<td valign=top>
+<P><br>
+creates<br>
+spinners<br>
+time<br>
+set<br>
+minute,<br>
+widget.<br>
+<B>spintime</B><br>
+new<br>
+name<br>
+command<br>
+to<br>
+on<br>
+has<br>
+form:<br>
+</I>?<I>arg<br>
+<I>Option</I><br>
+determine<br>
+of<br>
+following<br>
+for<br>
+METHODS</H2><br>
+<B>cget</B><br>
+Returns<br>
+of<br>
+given<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<I>option</I>?<br>
+...</I>?<br>
+or<br>
+options<br>
+If<br>
+specified,<br>
+describing<br>
+available<br>
+(see<br>
+on<br>
+this<br>
+is<br>
+<I>value</I>,<br>
+returns<br>
+the<br>
+(this<br>
+identical<br>
+sublist<br>
+returned<br>
+is<br>
+or<br>
+are<br>
+command<br>
+widget<br>
+the<br>
+this<br>
+returns<br>
+<I>Option</I><br>
+of<br>
+by<br>
+</DL><br>
+<B>get</B><br>
+Returns<br>
+of<br>
+in<br>
+string<br>
+integer<br>
+the<br>
+format<br>
+default<br>
+Reference<br>
+for<br>
+obtaining<br>
+formats.<br>
+<I>pathName<br>
+<DD><br>
+displayed<br>
+that<br>
+argument.<br>
+be<br>
+a<br>
+clock<br>
+keyword<br>
+clock<br>
+information<br>
+and<br>
+</pre><H2>COMPONENTS</H2><br>
+<B>hour</B><br>
+</td>
+<td valign=top>
+The<br>
+a<br>
+for<br>
+value<br>
+includes<br>
+and<br>
+</pre><H2>METHODS</H2><br>
+command<br>
+Tcl<br>
+is<br>
+may<br>
+invoke<br>
+the<br>
+the<br>
+<pre><br>
+arg<br>
+and<br>
+the<br>
+the<br>
+commands<br>
+spintime<br>
+<DL><br>
+<I>option</I><br>
+the<br>
+the<br>
+by<br>
+have<br>
+values<br>
+<B>spintime</B><br>
+<DT><br>
+?<I>value<br>
+</I></B><br>
+modify<br>
+of<br>
+no<br>
+returns<br>
+all<br>
+options<br>
+<B>Tk_ConfigureInfo</B><br>
+the<br>
+list).<br>
+specified<br>
+then<br>
+a<br>
+one<br>
+list<br>
+to<br>
+of<br>
+if<br>
+specified).<br>
+more<br>
+specified,<br>
+modifies<br>
+option(s)<br>
+given<br>
+case<br>
+an<br>
+may<br>
+the<br>
+the<br>
+<DL><br>
+?<B>format</B>?<br>
+the<br>
+the<br>
+a<br>
+or<br>
+clock<br>
+<B>-string</B><br>
+options<br>
+is<br>
+the<br>
+more<br>
+time<br>
+</DL><br>
+<B>show</B><br>
+Changes<br>
+time<br>
+of<br>
+The<br>
+specified<br>
+string,<br>
+value<br>
+"now".<br>
+command<br>
+on<br>
+its<br>
+<P><br>
+Class:<br>
+</td>
+</table>
+<UL>
+The hour component is the hour spinner of the time spinner.  See the 
+SpinInt widget manual entry for details on the hour component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>minute</B>
+Class:                  <B>Spinint</B>
+</pre>
+<UL>
+The minute component is the minute spinner of the time spinner.  See 
+the SpinInt widget manual entry for details on the minute component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>second</B>
+Class:                  <B>Spinint</B>
+</pre>
+<UL>
+The second component is the second spinner of the time spinner.  See the
+SpinInt widget manual entry for details on the second component item.
+</UL>
+</table>
+
+</pre><H2>EXAMPLE</H2>
+<pre>
+spintime .st
+pack .st -padx 10 -pady 10
+</pre>
+</pre><H2>AUTHOR</H2>
+<A HREF="mailto:syockey@spd.dsccc.com">Sue Yockey</A>
+</pre>
+<A HREF="mailto:mulferts@spd.dsccc.com">Mark L. Ulferts</A>
+</pre><H2>KEYWORDS</H2>
+spintime, spinint, spinner, entryfield, entry, widget
 
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     spintime - Create and manipulate time spinner widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>spintime</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- Spintime
-
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>cursor</STRONG>         <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG>
-     <STRONG>highlightThickness</STRONG>             <STRONG>relief</STRONG>          <STRONG>selectBackgroundselectBorderWidth</STRONG>
-     <STRONG>selectForeground</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>ASSOCIATED OPTIONS</H2><PRE>
-     <STRONG>textBackground</STRONG>  <STRONG>textFont</STRONG>
-
-     See the "entryfield" manual entry for details on  the  above
-     associated options.
-
-     <STRONG>labelFont</STRONG>       <STRONG>labelMargin</STRONG>
-
-     See the "labeledwidget" manual  entry  for  details  on  the
-     above associated options.
-
-     <STRONG>step</STRONG>
-
-     See the "spinint" manual entry  for  details  on  the  above
-     associated options.
-
-     <STRONG>arrowOrient</STRONG>     <STRONG>repeatDelay</STRONG>    <STRONG>repeatInterval</STRONG>
-
-     See the "spinner" manual entry  for  details  on  the  above
-     associated options.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>labelPos</STRONG>
-     Class:          <STRONG>Position</STRONG>
-     Command-Line Switch:           <STRONG>-labelpos</STRONG>
-
-          Specifies the position of the label along the sides  of
-          the various spinners: <STRONG>n</STRONG>, <STRONG>e</STRONG>, <STRONG>s</STRONG>, or <STRONG>w</STRONG>.  The default is w.
-
-     Name:           <STRONG>hourLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-hourlabel</STRONG>
-
-          Specifies the text of the label for the  hour  spinner.
-          The default is "Hour".
-
-     Name:           <STRONG>hourOn</STRONG>
-     Class:          <STRONG>hourOn</STRONG>
-     Command-Line Switch:           <STRONG>-houron</STRONG>
-
-          Specifies whether or not to display the hour spinner in
-          any  of  the  forms  acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>hourWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-hourwidth</STRONG>
-
-          Specifies the width of the hour spinner in any  of  the
-          forms  acceptable  to  <STRONG>Tcl_GetPixels</STRONG>.  The default is 3
-          pixels.
-
-     Name:           <STRONG>militaryOn</STRONG>
-     Class:          <STRONG>militaryOn</STRONG>
-     Command-Line Switch:           <STRONG>-militaryon</STRONG>
-
-          Specifies use of a 24 hour clock for  hour  display  in
-          any  of  the  forms  acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>minuteLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-minutelabel</STRONG>
-
-          Specifies the text of the label for the minute spinner.
-          The default is "Minute".
-
-     Name:           <STRONG>minuteOn</STRONG>
-     Class:          <STRONG>minuteOn</STRONG>
-     Command-Line Switch:           <STRONG>-minuteon</STRONG>
-
-          Specifies whether or not to display the minute  spinner
-          in  any of the forms acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>minuteWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-minutewidth</STRONG>
-
-          Specifies the width of the minute spinner in any of the
-          forms  acceptable  to  <STRONG>Tcl_GetPixels</STRONG>.  The default is 3
-          pixels.
-
-     Name:           <STRONG>orient</STRONG>
-     Class:          <STRONG>Orient</STRONG>
-     Command-Line Switch:           <STRONG>-orient</STRONG>
-
-          Specifies the orientation  of  the  hour,  minute,  and
-          second  spinners:  <STRONG>vertical</STRONG> or <STRONG>horizontal</STRONG>.  The default
-          is horizontal.
-
-     Name:           <STRONG>secondLabel</STRONG>
-     Class:          <STRONG>Text</STRONG>
-     Command-Line Switch:           <STRONG>-secondlabel</STRONG>
-
-          Specifies the text of the label for the second spinner.
-          The default is "Second"
-
-     Name:           <STRONG>secondOn</STRONG>
-     Class:          <STRONG>secondOn</STRONG>
-     Command-Line Switch:           <STRONG>-secondon</STRONG>
-
-          Specifies whether or not to display the second  spinner
-          in  any of the forms acceptable to <STRONG>Tcl_GetBoolean</STRONG>.  The
-          default is true.
-
-     Name:           <STRONG>secondWidth</STRONG>
-     Class:          <STRONG>Width</STRONG>
-     Command-Line Switch:           <STRONG>-secondwidth</STRONG>
-
-          Specifies the width of the second spinner in any of the
-          forms  acceptable  to  <STRONG>Tcl_GetPixels</STRONG>.  The default is 3
-          pixels.
-
-     Name:           <STRONG>timeMargin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-timemargin</STRONG>
-
-          Specifies the margin space between  the  hour,  minute,
-          and  second  spinners is any of the forms accpetable to
-          <STRONG>Tcl_GetPixels</STRONG>.  The default is 1 pixel.
-
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>spintime</STRONG> command creates a set of spinners  for  use  in
-     time  value  entry.   The  set includes an hour, minute, and
-     second spinner widget.
-
-
-
-</PRE>
-<H2>METHODS</H2><PRE>
-     The <STRONG>spintime</STRONG> command creates a new Tcl command whose name is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget. It has the following general form:
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand. The following commands are possible for spintime widg-
-     ets:
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
-          accepted by the <STRONG>spintime</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>clear</STRONG>
-          Delete the contents of all spinner components.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.   If  no  <EM>option</EM>  is  specified, returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
-          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s);  in this case the
-          command  returns  an empty string.  <EM>Option</EM> may have any
-          of the values accepted by the <STRONG>spintime</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>component</EM> <EM>first</EM> ?<EM>last</EM>?
-          Delete one or more characters  of  the  specified  <EM>com-</EM>
-          <EM>ponent</EM>, where <EM>component</EM> can be <STRONG>hour</STRONG>, <STRONG>minute</STRONG>, or <STRONG>second</STRONG>.
-          <EM>First</EM> is the index of the first  character  to  delete,
-          and  <EM>last</EM>  is the index of the character just after the
-          last one to delete.
-
-     <EM>pathName</EM> <STRONG>get</STRONG> ?<EM>component</EM>?
-          Get returns the  value  for  the  speicifed  component:
-          <STRONG>hour</STRONG>,  <STRONG>minute</STRONG>,  or <STRONG>second</STRONG>.  Without parameters the com-
-          mand returns the all three values as a list.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>component</EM> <EM>index</EM> <EM>string</EM>
-          Inserts the characters of <EM>string</EM> just before the  char-
-          acter  indicated  by <EM>index</EM> in the <EM>component</EM>, where <EM>com-</EM>
-          <EM>ponent</EM> can be <STRONG>hour</STRONG>, <STRONG>minute</STRONG>, or <STRONG>second</STRONG>.
-
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Name:           <STRONG>hour</STRONG>
-     Class:          <STRONG>Spinint</STRONG>
-          The hour component is the  hour  spinner  of  the  time
-          spinner.   See  the  SpinInt  widget  manual  entry for
-          details on the hour component item.
-
-     Name:           <STRONG>minute</STRONG>
-     Class:          <STRONG>Spinint</STRONG>
-
-          The minute component is the minute spinner of the  time
-          spinner.   See  the  SpinInt  widget  manual  entry for
-          details on the minute component item.
-
-     Name:           <STRONG>second</STRONG>
-     Class:          <STRONG>Spinint</STRONG>
-
-          The second component is the second spinner of the  time
-          spinner.   See  the  SpinInt  widget  manual  entry for
-          details on the second component item.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-          spintime .st
-          pack .st -padx 10 -pady 10
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Sue Yockey
-
-     Mark L. Ulferts
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     spintime, spinint, spinner, entryfield, entry, widget
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
index c900fff..97064a9 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - tabnotebook</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - tabnotebook</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     tabnotebook - create and manipulate tabnotebook widgets
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>tabnotebook</STRONG> <EM>pathName</EM>? <EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- tabnotebook
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>disabledForeground</STRONG>             <STRONG>foregroundscrollCommand</STRONG>
-     <STRONG>cursor</STRONG>          <STRONG>font</STRONG>           <STRONG>height</STRONG>          <STRONG>width</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>angle</STRONG>
-     Class:          <STRONG>Angle</STRONG>
-     Command-Line Switch:           <STRONG>-angle</STRONG>
-
-          Specifes the angle of slope from the inner edge to  the
-          outer  edge  of the tab. An angle of 0 specifies square
-          tabs. Valid ranges  are  0  to  45  degrees  inclusive.
-          Default is 15 degrees. If <STRONG>tabPos</STRONG> is e or w, this option
-          is ignored.
-
-     Name:           <STRONG>auto</STRONG>
-     Class:          <STRONG>Auto</STRONG>
-     Command-Line Switch:           <STRONG>-auto</STRONG>
-
-          Specifies    whether    to    use     the     automatic
-          packing/unpacking algorithm of the notebook. A value of
-          true indicates that page frames will  be  unpacked  and
-          packed  acoording  to  the  algorithm  described in the
-          select command. A value of  <STRONG>false</STRONG>  leaves  the  current
-          page  packed  and subsequent <STRONG>selects</STRONG>, <STRONG>next</STRONG>, or <STRONG>previous</STRONG>
-          commands do not switch pages automatically.  In  either
-          case   the  page's  associated  command  (see  the  <STRONG>add</STRONG>
-          command's  description  of  the  command   option)   is
-          invoked.  The  value may have any of the forms accepted
-          by the <STRONG>Tcl_GetBoolean</STRONG>, such as <STRONG>true</STRONG>, <STRONG>false</STRONG>, <STRONG>0</STRONG>, <STRONG>1</STRONG>,  <STRONG>yes</STRONG>,
-          or <STRONG>no</STRONG>.
-
-     Name:           <STRONG>backdrop</STRONG>
-     Class:          <STRONG>Backdrop</STRONG>
-     Command-Line Switch:           <STRONG>-backdrop</STRONG>
-
-          Specifies a background color to use when filling in the
-          backdrop area behind the tabs.
-
-     Name:           <STRONG>background</STRONG>
-     Class:          <STRONG>Background</STRONG>
-     Command-Line Switch:           <STRONG>-background</STRONG>
-
-          Specifies a background color to use  for  displaying  a
-          page  and its associated tab. This can be thought of as
-          the selected tab background color, since the tab  asso-
-          ciated with the selected page is the selected tab.
-
-     Name:           <STRONG>bevelAmount</STRONG>
-     Class:          <STRONG>BevelAmount</STRONG>
-     Command-Line Switch:           <STRONG>-bevelamount</STRONG>
-
-          Specifes the size of tab corners. A  value  of  0  with
-          <STRONG>angle</STRONG> set to 0 results in square tabs. A <STRONG>bevelAmount</STRONG> of
-          4, means that the tab will be drawn with angled corners
-          that  cut  in  4  pixels  from the edge of the tab. The
-          default is 0.
-
-     Name:           <STRONG>borderWidth</STRONG>
-     Class:          <STRONG>BorderWidth</STRONG>
-     Command-Line Switch:           <STRONG>-borderwidth</STRONG>
-
-          Specifies the width of shadowed border to place  around
-          the notebook area of the tabnotebook. The default value
-          is 2.
-
-     Name:           <STRONG>disabledForeground</STRONG>
-     Class:          <STRONG>DisabledForeground</STRONG>
-     Command-Line Switch:           <STRONG>-disabledforeground</STRONG>
-
-          Specifies a foreground color to use  for  displaying  a
-          tab's label when its <STRONG>state</STRONG> is disabled.
-
-     Name:           <STRONG>equalTabs</STRONG>
-     Class:          <STRONG>EqualTabs</STRONG>
-     Command-Line Switch:           <STRONG>-equaltabs</STRONG>
-
-          Specifies whether to force tabs to be  equal  sized  or
-          not.  A  value of <STRONG>true</STRONG> means constrain tabs to be equal
-          sized. A value of <STRONG>false</STRONG> allows each tab to  size  based
-          on  the  text label size. The value may have any of the
-          forms accepted by the  <STRONG>Tcl_GetBoolean</STRONG>,  such  as  <STRONG>true</STRONG>,
-          <STRONG>false</STRONG>, <STRONG>0</STRONG>, <STRONG>1</STRONG>, <STRONG>yes</STRONG>, or <STRONG>no</STRONG>.
-
-          For horizontally positioned tabs (<STRONG>tabpos</STRONG> is either <STRONG>s</STRONG> or
-          <STRONG>n</STRONG>),  <STRONG>true</STRONG>  forces all tabs to be equal width (the width
-          being equal to the longest label plus any  <STRONG>padX</STRONG>  speci-
-          fied). Horizontal tabs are always equal in height.
-
-          For vertically positioned tabs (<STRONG>tabpos</STRONG> is either  <STRONG>w</STRONG>  or
-          <STRONG>e</STRONG>), <STRONG>true</STRONG> forces all tabs to be equal height (the height
-          being equal to the height of the label with the largest
-          font).  Vertically  oriented  tabs  are always equal in
-          width.
-
-     Name:           <STRONG>foreground</STRONG>
-     Class:          <STRONG>Foreground</STRONG>
-     Command-Line Switch:           <STRONG>-foreground</STRONG>
-
-          Specifies a foreground color to use  for  displaying  a
-          page  and its associated tab label. This can be thought
-          of as the selected tab background color, since the  tab
-          associated with the selected page is the selected tab.
-
-     Name:           <STRONG>gap</STRONG>
-     Class:          <STRONG>Gap</STRONG>
-     Command-Line Switch:           <STRONG>-gap</STRONG>
-
-          Specifies the amount of pixel space  to  place  between
-          each tab. Value may be any pixel offset value. In addi-
-          tion, a special keyword <STRONG>overlap</STRONG>  can  be  used  as  the
-          value to achieve a standard overlap of tabs. This value
-          may have any of the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>margin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-Bmargin</STRONG>
-
-          Specifies the amount of space to place between the out-
-          side  edge  of  the tabnotebook and the outside edge of
-          its tabs. If <STRONG>tabPos</STRONG> is <STRONG>s</STRONG>, this is the amount  of  space
-          between the bottom edge of the tabnotebook and the bot-
-          tom edge of the set of tabs. If <STRONG>tabPos</STRONG> is  <STRONG>n</STRONG>,  this  is
-          the  amount  of  space between the top edge of the tab-
-          notebook and the top edge of the set of tabs. If <STRONG>tabPos</STRONG>
-          is  <STRONG>e</STRONG>,  this  is  the amount of space between the right
-          edge of the tabnotebook and the right edge of  the  set
-          of  tabs.  If  <STRONG>tabPos</STRONG> is <STRONG>w</STRONG>, this is the amount of space
-          between the left edge of the tabnotebook and  the  left
-          edge of the set of tabs. This value may have any of the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>padX</STRONG>
-     Class:          <STRONG>PadX</STRONG>
-     Command-Line Switch:           <STRONG>-padx</STRONG>
-
-          Specifies a  non-negative  value  indicating  how  much
-          extra  space  to  request for a tab around its label in
-          the X-direction. When computing how large a  window  it
-          needs,  the  tab  will  add this amount to the width it
-          would normally need The tab  will  end  up  with  extra
-          internal space to the left and right of its text label.
-          This value may have any  of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>padY</STRONG>
-     Class:          <STRONG>PadY</STRONG>
-     Command-Line Switch:           <STRONG>-pady</STRONG>
-
-          Specifies a  non-negative  value  indicating  how  much
-          extra  space  to  request for a tab around its label in
-          the Y-direction. When computing how large a  window  it
-          needs,  the  tab  will add this amount to the height it
-          would normally need The tab  will  end  up  with  extra
-          internal space to the top and bottom of its text label.
-          This value may have any  of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>raiseSelect</STRONG>
-     Class:          <STRONG>RaiseSelect</STRONG>
-     Command-Line Switch:           <STRONG>-raiseselect</STRONG>
-
-          Specifes whether to slightly  raise  the  selected  tab
-          from  the rest of the tabs. The selected tab is drawn 2
-          pixels closer to the outside of  the  tabnotebook  than
-          the  unselected  tabs.  A  value  of <STRONG>true</STRONG> says to raise
-          selected tabs, a value of <STRONG>false</STRONG> turns this feature off.
-          The  default  is  <STRONG>false</STRONG>.  The value may have any of the
-          forms accepted by the  <STRONG>Tcl_GetBoolean</STRONG>,  such  as  <STRONG>true</STRONG>,
-          <STRONG>false</STRONG>, <STRONG>0</STRONG>, <STRONG>1</STRONG>, <STRONG>yes</STRONG>, or <STRONG>no</STRONG>.
-
-     Name:           <STRONG>start</STRONG>
-     Class:          <STRONG>Start</STRONG>
-     Command-Line Switch:           <STRONG>-start</STRONG>
-
-          Specifies the amount of space to place between the left
-          or top edge of the tabnotebook and the starting edge of
-          its tabs. For horizontally positioned tabs, this is the
-          amount  of  space between the left edge of the notebook
-          and the left edge of  the  first  tab.  For  vertically
-          positioned  tabs,  this  is the amount of space between
-          the top of the notebook and the top of the  first  tab.
-          This  value may change if the user performs a MButton-2
-          scroll on the tabs. This value  may  have  any  of  the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>state</STRONG>
-     Class:          <STRONG>State</STRONG>
-     Command-Line Switch:           <STRONG>-state</STRONG>
-
-          Sets the active state of  the  tabnotebook.  Specifying
-          <STRONG>normal</STRONG>  allows  all  pages to be selectable. Specifying
-          <STRONG>disabled</STRONG> disables the notebook causing all page tabs to
-          be drawn in the <STRONG>disabledForeground</STRONG> color.
-
-     Name:           <STRONG>tabBackground</STRONG>
-     Class:          <STRONG>TabBackground</STRONG>
-     Command-Line Switch:           <STRONG>-tabbackground</STRONG>
-
-          Specifies a background color to use for displaying  tab
-          backgrounds  when  they  are in their unselected state.
-          This is the background  associated  with  tabs  on  all
-          pages other than the selected page.
-
-     Name:           <STRONG>tabBorders</STRONG>
-     Class:          <STRONG>TabBorders</STRONG>
-     Command-Line Switch:           <STRONG>-tabborders</STRONG>
-
-          Specifies whether to draw the borders of tabs that  are
-          not selected. Specifying <STRONG>true</STRONG> (the default) draws these
-          borders, specifying <STRONG>false</STRONG> draws only the border  around
-          the  selected  tab. The value may have any of the forms
-          accepted by the <STRONG>Tcl_GetBoolean</STRONG>, such as <STRONG>true</STRONG>, <STRONG>false</STRONG>, <STRONG>0</STRONG>,
-          <STRONG>1</STRONG>, <STRONG>yes</STRONG>, or <STRONG>no</STRONG>.
-
-     Name:           <STRONG>tabForeground</STRONG>
-     Class:          <STRONG>TabForeground</STRONG>
-     Command-Line Switch:           <STRONG>-tabforeground</STRONG>
-
-          Specifies a foreground color to use for displaying  tab
-          labels when they are in their unselected state. This is
-          the foreground associated with tabs on all pages  other
-          than the selected page.
-
-     Name:           <STRONG>tabPos</STRONG>
-     Class:          <STRONG>TabPos</STRONG>
-     Command-Line Switch:           <STRONG>-tabpos</STRONG>
-
-          Specifies the location of the set of tabs  in  relation
-          to  the  notebook area. Must be n, s, e, or w. Defaults
-          to s.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>tabnotebook</STRONG> command creates a new window (given  by  the
-     pathName  argument)  and makes it into a <STRONG>tabnotebook</STRONG> widget.
-     Additional options, described above may be specified on  the
-     command  line or in the option database to configure aspects
-     of the tabnotebook such as its colors, font, and  text.  The
-     tabnotebook  command  returns  its pathName argument. At the
-     time this command is invoked, there must not exist a  window
-     named pathName, but pathName's parent must exist.
-
-     A <STRONG>tabnotebook</STRONG> is a widget that  contains  a  set  of  tabbed
-     pages.  It  displays  one  page from the set as the selected
-     page. A Tab displays the label for the page to which  it  is
-     attached and serves as a page selector. When a page's tab is
-     selected, the page's contents  are  displayed  in  the  page
-     area.  The  selected  tab  has a three-dimensional effect to
-     make it appear to float above the other tabs. The  tabs  are
-     displayed  as  a group along either the left, top, right, or
-     bottom edge. When first created a tabnotebook has no  pages.
-     Pages   may  be  added  or  deleted  using  widget  commands
-     described below.
-
-     A special option may be provided  to  the  tabnotebook.  The
-     <STRONG>-auto</STRONG> option specifies whether the tabnotebook will automat-
-     ically handle the unpacking and packing of pages when  pages
-     are  selected.  A  value of true signifies that the notebook
-     will automatically manage it. This is the default  value.  A
-     value  of  false  signifies  the  notebook  will not perform
-     automatic switching of pages.
-
-
-</PRE>
-<H2>NOTEBOOK PAGES</H2><PRE>
-     A tabnotebook's pages area  contains  a  single  child  site
-     frame.  When  a  new  page  is created it is a child of this
-     frame. The page's child site frame serves as a geometry con-
-     tainer  for  applications  to  pack widgets into. It is this
-     frame that is automatically unpacked or packed when the auto
-     option  is  true.  This creates the effect of one page being
-     visible at a time. When a new page is selected,  the  previ-
-     ously  selected  page's  child  site  frame is automatically
-     unpacked from the tabnotebook's child  site  frame  and  the
-     newly   selected  page's  child  site  is  packed  into  the
-     tabnotebook's child site frame.
-
-     However, sometimes it is desirable to handle page changes in
-     a  different manner. By specifying the <STRONG>auto</STRONG> option as <STRONG>false</STRONG>,
-     child site packing can be disabled and done differently. For
-     example,  all  widgets might be packed into the first page's
-     child site <STRONG>frame</STRONG>. Then when a  new  page  is  selected,  the
-     application can reconfigure the widgets and give the appear-
-     ance that the page was flipped.
-
-     In both cases the command option for a page specifies a  Tcl
-     Command to execute when the page is selected. In the case of
-     <STRONG>auto</STRONG> being <STRONG>true</STRONG>, it is between the unpacking of  the  previ-
-     ously  selected  page  and the packing of the newly selected
-     page.
-
-     Notebook pages can also be controlled with  scroll  bars  or
-     other  widgets that obey the <STRONG>scrollcommand</STRONG> protocol. By giv-
-     ing a scrollbar a <STRONG>-command</STRONG> to call the tabnotebook's  <STRONG>select</STRONG>
-     method, the tabnotebook can be controlled with a scrollbar.
-
-     The notebook area is  implemented  with  the  notebook  mega
-     widget.
-
-
-
-</PRE>
-<H2>TABS</H2><PRE>
-     Tabs appear along the edge of the notebook  area.  Tabs  are
-     drawn  to  appear  attached to their associated page. When a
-     tab is clicked on, the associated page is selected  and  the
-     tab  is  drawn as raised above all other tabs and as a seam-
-     less part of its notebook page. Tabs can  be  controlled  in
-     their  location  along  the  edges,  the angle tab sides are
-     drawn with, gap  between  tabs,  starting  margin  of  tabs,
-     internal  padding around text labels in a tab, the font, and
-     its label.
-
-     The Tab area is implemented with the <STRONG>tabset</STRONG> mega widget. See
-     <STRONG>tabset(1)</STRONG>.  Tabs  may  be  oriented  along either the north,
-     south, east, or west sides with the <STRONG>tabPos</STRONG> option. North and
-     south  tabs  may appear as angled, square, or bevelled. West
-     and east tabs may appear as square or bevelled. By  changing
-     tab  gaps,  tab  angles,  bevelling,  orientations,  colors,
-     fonts, start locations, and margins; tabs may  appear  in  a
-     wide  variety  of  styles.  For  example,  it is possible to
-     implement Microsoft-style tabs, Borland property tab styles,
-     or Borland Delphi style tabs all with the same tabnotebook.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     The <STRONG>tabnotebook</STRONG> command creates a new Tcl command whose name
-     is  <EM>pathName</EM>.  This  command  may  be used to invoke various
-     operations on the widget. It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     Many of the widget commands for a notebook take as one argu-
-     ment  an  indicator of which page of the notebook to operate
-     on. These indicators are called indexes and may be specified
-     in any of the following forms:
-
-     <EM>number</EM>
-          Specifies the page numerically, where 0 corresponds  to
-          the first page in the notebook, 1 to the second, and so
-          on.
-
-     <STRONG>select</STRONG>
-          Specifies the currently selected page's  index.  If  no
-          page is currently selected, the value -1 is returned.
-
-     <STRONG>end</STRONG>  Specifes the last page in the tabnotebook's  index.  If
-          the notebook is empty this will return -1.
-
-     <EM>pattern</EM>
-          If the index doesn't satisfy any of  the  above  forms,
-          then  this  form  is  used.  Pattern is pattern-matched
-          against the label of each  page  in  the  notebook,  in
-          order from the first to the last page, until a matching
-          entry is found. The rules of Tcl_StringMatch are  used.
-          The  following  commands  are  possible for tabnotebook
-          widgets:
-
-     <EM>pathName</EM> <STRONG>add</STRONG> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Add a new page at the end of  the  tabnotebook.  A  new
-          child  site  frame  is  created. Returns the child site
-          pathName. If additional  arguments  are  present,  they
-          specify any of the following options:
-
-          <STRONG>-angle</STRONG> <EM>value</EM>
-               Specifes the angle of slope from the inner edge to
-               the outer edge of the tab. An angle of 0 specifies
-               square tabs. Valid ranges  are  0  to  45  degrees
-               inclusive.  Default  is 15 degrees. If this option
-               is specified as an  empty  string  (the  default),
-               then  the angle option for the overall tabnotebook
-               is used. This is generally only set  at  the  tab-
-               notebook  level.  Tabs normally will want to share
-               the same angle value.
-
-          <STRONG>-background</STRONG> <EM>value</EM>
-               Specifies a background color to use for displaying
-               tabs when they are selected and for displaying the
-               current page. If this option is  specified  as  an
-               empty  string  (the  default), then the background
-               option for the overall tabnotebook is used.
-
-          <STRONG>-bevelamount</STRONG> <EM>value</EM>
-               Specifes the size of tab corners.  A  value  of  0
-               with  angle  set  to  0  results in square tabs. A
-               bevelAmount of 4, means that the tab will be drawn
-               with  angled corners that cut in 4 pixels from the
-               edge of the tab. The default is 0.  This  is  gen-
-               erally  only  set  at  the tabnotebook level. Tabs
-               normally will want to share the same bevelAmount.
-
-          <STRONG>-bitmap</STRONG> <EM>value</EM>
-               If label is a non-empty string, specifies a bitmap
-               to  display  in  this page's tab. Bitmap may be of
-               any of the forms accepted by Tk_GetPixmap.
-
-          <STRONG>-command</STRONG> <EM>value</EM>
-               Specifies a Tcl command to be executed  when  this
-               page  is  selected.  This  allows the programmer a
-               hook to reconfigure this  page's  widgets  or  any
-               other page's widgets.
-
-               If the tabnotebook has  the  auto  option  set  to
-               true, when a page is selected this command will be
-               called immediately after the  previously  selected
-               page  is unpacked and immediately before this page
-               is selected. The index value select is valid  dur-
-               ing  this  Tcl command. `index select' will return
-               this page's page number.
-
-               If the auto option is set to false, when a page is
-               selected  the  unpack and pack calls are bypassed.
-               This Tcl command is still called.
-
-          <STRONG>-disabledforeground</STRONG> <EM>value</EM>
-               Specifies a foreground color to use for displaying
-               tab  labels  when tabs are in their disable state.
-               If this option is specified  as  an  empty  string
-               (the  default), then the disabledforeground option
-               for the overall tabnotebook is used.
-
-          <STRONG>-font</STRONG> <EM>value</EM>
-               Specifies the font to  use  when  drawing  a  text
-               label  on  a page tab. If this option is specified
-               as an empty string then the font  option  for  the
-               overall tabnotebook is used..
-
-          <STRONG>-foreground</STRONG> <EM>value</EM>
-               Specifies a foreground color to use for displaying
-               tab  labels when they are selected. If this option
-               is specified as an  empty  string  (the  default),
-               then  the  foreground  option for the overall tab-
-               notebook is used.
-
-          <STRONG>-label</STRONG> <EM>value</EM>
-               Specifies a string to display  as  an  identifying
-               label for a notebook page. This label serves as an
-               additional identifier used to reference the  page.
-               This  label  may  be  used  for the index value in
-               widget commands.
-
-          <STRONG>-tabbackground</STRONG> <EM>value</EM>
-               Specifies a background color to use for displaying
-               a  tab  when  it is not elected. If this option is
-               specified as an empty string (the  default),  then
-               the  tabBackground option for the overall tabnote-
-               book is used.
-
-          <STRONG>-tabforeground</STRONG> <EM>value</EM>
-               Specifies a foreground color to use for displaying
-               the  tab's  text label when it is not selected. If
-               this option is specified as an empty  string  (the
-               default),  then  the  tabForeground option for the
-               overall tabnotebook is used.
-
-          <STRONG>-padx</STRONG> <EM>value</EM>
-               Specifies a non-negative value indicating how much
-               extra  space to request for a tab around its label
-               in the X-direction. When  computing  how  large  a
-               window  it  needs, the tab will add this amount to
-               the width it would normally need The tab will  end
-               up with extra internal space to the left and right
-               of its text label. This value may have any of  the
-               forms  acceptable  to Tk_GetPixels. If this option
-               is specified as an  empty  string  (the  default),
-               then  the  padX option for the overall tabnotebook
-               is used
-
-          <STRONG>-pady</STRONG> <EM>value</EM>
-               Specifies a non-negative value indicating how much
-               extra  space to request for a tab around its label
-               in the Y-direction. When  computing  how  large  a
-               window  it  needs, the tab will add this amount to
-               the height it would normally need The tab will end
-               up with extra internal space to the top and bottom
-               of its text label. This value may have any of  the
-               forms  acceptable  to Tk_GetPixels. If this option
-               is specified as an  empty  string  (the  default),
-               then  the  padY option for the overall tabnotebook
-               is used
-
-          <STRONG>-state</STRONG> <EM>value</EM>
-               Specifies one of two states for the  page:  normal
-               or  disabled.  In normal state unselected tabs are
-               displayed using  the  tabforeground  and  tabback-
-               ground  option  from  the tabnotebook or the page.
-               Selected tabs and pages are  displayed  using  the
-               foreground and background option from the tabnote-
-               book or the page. The disabled  state  means  that
-               the  page  and  its tab is insensitive: it doesn't
-               respond to mouse button presses  or  releases.  In
-               this state the entry is displayed according to its
-               disabledForeground option for the tabnotebook  and
-               the  background/tabbackground option from the page
-               or the tabnotebook.
-
-     <EM>pathName</EM> <STRONG>childSite</STRONG> ?<EM>index</EM>?
-          If passed no arguments, returns a list of pathNames for
-          all  the  pages in the tabnotebook. If the tab notebook
-          is empty, an empty list is returned
-
-          If <EM>index</EM> is passed, it returns  the  <EM>pathName</EM>  for  the
-          page's  child  site  <STRONG>frame</STRONG>  specified by <EM>index</EM>. Widgets
-          that are created with this <EM>pathName</EM> will  be  displayed
-          when the associated page is selected. If <EM>index</EM> is not a
-          valid index, an empty string is returned.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Query  or  modify  the  configuration  options  of  the
-          widget.  If  no  <EM>option</EM>  is  specified,  returns a list
-          describing all of the available  options  for  <EM>pathName</EM>
-          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
-          this list). If option is specified with no value,  then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no option is
-          specified). If  one  or  more  option-value  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s); in this case  the
-          command returns an empty string. <EM>Option</EM> may have any of
-          the values accepted by the tabnotebook command.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>index1</EM> ?<EM>index2</EM>?
-          Delete all of  the  pages  between  <EM>index1</EM>  and  <EM>index2</EM>
-          inclusive.  If  <EM>index2</EM>  is  omitted then it defaults to
-          <EM>index1</EM>. Returns an empty string.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-          Returns the numerical index corresponding to <EM>index</EM>.
-
-     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>index</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          Insert a new page in the tabnotebook  before  the  page
-          specified  by <EM>index</EM>. A new child site <STRONG>frame</STRONG> is created.
-          The additional arguments are the same as  for  the  <STRONG>add</STRONG>
-          command. Returns the child site <EM>pathName</EM>.
-
-     <EM>pathName</EM> <STRONG>next</STRONG>
-          Advances the selected page to the next page  (order  is
-          determined   by  insertion  order).  If  the  currently
-          selected page is the last page  in  the  notebook,  the
-          selection  wraps  around to the first page in the note-
-          book. It behaves as if the user selected the new page.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>true</STRONG> the current  page's
-          child  site  is unpacked from the notebook's child site
-          frame. Then the next page's child site is  packed  into
-          the  notebook's child site frame. The Tcl command given
-          with the command option will be invoked  between  these
-          two operations.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>false</STRONG>  the  Tcl  command
-          given with the command option will be invoked.
-
-     <EM>pathName</EM> <STRONG>pageconfigure</STRONG> <EM>index</EM> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-          This  command  is  similar  to  the  <STRONG>configure</STRONG> command,
-          except that it applies to the options for an individual
-          page,  whereas configure applies to the options for the
-          tabnotebook as a whole. <EM>Options</EM> may  have  any  of  the
-          values  accepted  by the add widget command. If options
-          are specified, options are modified as indicated in the
-          command  and the command returns an empty string. If no
-          options are specified, returns a  list  describing  the
-          current  options  for  page index (see <STRONG>Tk_ConfigureInfo</STRONG>
-          for information on the format of this list).
-
-     <EM>pathName</EM> <STRONG>prev</STRONG>
-          Moves the selected page to the previous page (order  is
-          determined   by  insertion  order).  If  the  currently
-          selected page is the first page in  the  notebook,  the
-          selection  wraps  around  to the last page in the note-
-          book. It behaves as if the user selected the new page.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>true</STRONG> the current  page's
-          child  site  is unpacked from the notebook's child site
-          <STRONG>frame</STRONG>. Then the previous page's child  site  is  packed
-          into  the  notebook's child site frame. The Tcl command
-          given with the command option will be  invoked  between
-          these two operations.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>false</STRONG>  the  Tcl  command
-          given with the command option will be invoked.
-
-     <EM>pathName</EM> <STRONG>select</STRONG> <EM>index</EM>
-          Selects the page specified by <EM>index</EM>  as  the  currently
-          selected  page.  It behaves as if the user selected the
-          new page.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>true</STRONG> the current  page's
-          child  site  is unpacked from the notebook's child site
-          frame. Then the <EM>index</EM> page's child site is packed  into
-          the  notebook's child site frame. The Tcl command given
-          with the command option will be invoked  between  these
-          two operations.
-
-          For notebooks with <STRONG>auto</STRONG> set to <STRONG>false</STRONG>  the  Tcl  command
-          given with the command option will be invoked.
-
-     <EM>pathName</EM> <STRONG>view</STRONG>
-          Returns the currently selected page.  This  command  is
-          for compatibility with the <STRONG>scrollbar</STRONG> widget.
-
-     <EM>pathName</EM> <STRONG>view</STRONG> <EM>index</EM>
-          Selects the page specified by <EM>index</EM>  as  the  currently
-          selected  page.  This command is for compatibility with
-          the <STRONG>scrollbar</STRONG> widget.
-
-     <EM>pathName</EM> <STRONG>view</STRONG> <STRONG>moveto</STRONG> <EM>fraction</EM>
-          Uses the <EM>fraction</EM> value to determine the  corresponding
-          page to move to. This command is for compatibility with
-          the <STRONG>scrollbar</STRONG> widget.
-
-     <EM>pathName</EM> <STRONG>view</STRONG> <STRONG>scroll</STRONG> <EM>num</EM> <EM>what</EM>
-          Uses the <EM>num</EM> value to determine how many pages to  move
-          forward  or backward (<EM>num</EM> can be negative or positive).
-          The <EM>what</EM> argument is ignored. This command is for  com-
-          patibility with the <STRONG>scrollbar</STRONG> widget.
-
-
-</PRE>
-<H2>COMPONENTS</H2><PRE>
-     Generally all behavior of the  internal  components,  <STRONG>tabset</STRONG>
-     and  <STRONG>notebook</STRONG>  are  controlled via the <STRONG>pageconfigure</STRONG> method.
-     The following section documents these two components.
-
-     Name:   <STRONG>tabset</STRONG>
-     Class:  <STRONG>Tabset</STRONG>
-
-          This is the tabset component. It  implements  the  tabs
-          that are associated with the notebook component.
-
-          See the "<STRONG>Tabset</STRONG>" widget manual entry for details on the
-          <STRONG>tabset</STRONG> component item.
-
-     Name:   <STRONG>notebook</STRONG>
-     Class:  <STRONG>Notebook</STRONG>
-
-          This is the notebook component. It implements the note-
-          book that contains the pages of the tabnotebook.
-
-          See the "<STRONG>Notebook</STRONG>" widget manual entry for  details  on
-          the <STRONG>notebook</STRONG> component item.
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-     Following is an example that creates a tabnotebook with  two
-     pages.
-
-          # Create the tabnotebook widget and pack it.
-            tabnotebook .tn -width 100 -height 100
-            pack .tn \
-                  -anchor nw \
-                  -fill both \
-                  -expand yes \
-                  -side left \
-                  -padx 10 \
-                  -pady 10
-
-          # Add two pages to the tabnotebook,
-          # labelled "Page One" and "Page Two"
-            .tn add -label "Page One"
-            .tn add -label "Page Two"
-
-          # Get the child site frames of these two pages.
-            set page1CS [.tn childsite 0]
-            set page2CS [.tn childsite "Page Two"]
-
-          # Create buttons on each page of the tabnotebook.
-            button $page1CS.b -text "Button One"
-            pack $page1CS.b
-            button $page2CS.b -text "Button Two"
-            pack $page2CS.b
-
-          # Select the first page of the tabnotebook.
-            .tn select 0
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Bill W. Scott
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     tab tabset notebook tabnotebook page
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>tabnotebook - create and manipulate tabnotebook widgets</TITLE>
+<H1>tabnotebook - create and manipulate tabnotebook widgets</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>tabnotebook</B> <I>pathName</I>? <I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- tabnotebook
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>font</B><br>
+</td>
+<td valign=top>
+<B>foreground</B><br>
+<B>height</B><br>
+</td>
+<td valign=top>
+<B>scrollCommand</B><br>
+<B>width</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>angle</B>
+Class:                  <B>Angle</B>
+Command-Line Switch:   <B>-angle</B>
+</pre>
+<UL>
+Specifes the angle of slope from the inner edge to the outer edge of the tab. 
+An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees 
+inclusive. Default is 15 degrees. If <B>tabPos</B> is e or w, this option 
+is ignored.
+</UL>
+<P>
+<pre>
+Name:                   <B>auto</B>
+Class:                  <B>Auto</B>
+Command-Line Switch:   <B>-auto</B>
+</pre>
+<UL>
+Specifies whether to use the automatic packing/unpacking algorithm of the 
+notebook. A value of true indicates that page frames will be unpacked and 
+packed acoording to the algorithm described in the select command. A value 
+of <B>false</B> leaves the current page packed and 
+subsequent <B>selects</B>, <B>next</B>, or <B>previous</B> commands do not 
+switch pages automatically. In either case the page's associated 
+command (see the <B>add</B> command's description of the command option) is 
+invoked. The value may have any of the forms accepted by 
+the <B>Tcl_GetBoolean</B>, such as <B>true</B>, <B>false</B>, <B>0</B>, 
+<B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>backdrop</B>
+Class:                  <B>Backdrop</B>
+Command-Line Switch:   <B>-backdrop</B>
+</pre>
+<UL>
+Specifies a background color to use when filling in the backdrop area 
+behind the tabs.
+</UL>
+<P>
+<pre>
+Name:                   <B>background</B>
+Class:                  <B>Background</B>
+Command-Line Switch:   <B>-background</B>
+</pre>
+<UL>
+Specifies a background color to use for displaying a page and its associated 
+tab. This can be thought of as the selected tab background color, since the 
+tab associated with the selected page is the selected tab.
+</UL>
+<P>
+<pre>
+Name:                   <B>bevelAmount</B>
+Class:                  <B>BevelAmount</B>
+Command-Line Switch:   <B>-bevelamount</B>
+</pre>
+<UL>
+Specifes the size of tab corners. A value of 0 with <B>angle</B> set to 
+0 results in square tabs. A <B>bevelAmount</B> of 4, means that the tab will 
+be drawn with angled corners that cut in 4 pixels from the edge of 
+the tab. The default is 0.
+</UL>
+<P>
+<pre>
+Name:                   <B>borderWidth</B>
+Class:                  <B>BorderWidth</B>
+Command-Line Switch:   <B>-borderwidth</B>
+</pre>
+<UL>
+Specifies the width of shadowed border to place around the notebook area of 
+the tabnotebook. The default value is 2.
+</UL>
+<P>
+<pre>
+Name:                   <B>disabledForeground</B>
+Class:                  <B>DisabledForeground</B>
+Command-Line Switch:   <B>-disabledforeground</B>
+</pre>
+<UL>
+Specifies a foreground color to use for displaying a tab's label when 
+its <B>state</B> is disabled.
+</UL>
+<P>
+<pre>
+Name:                   <B>equalTabs</B>
+Class:                  <B>EqualTabs</B>
+Command-Line Switch:   <B>-equaltabs</B>
+</pre>
+<UL>
+Specifies whether to force tabs to be equal sized or not. A value 
+of <B>true</B> means constrain tabs to be equal sized. A value 
+of <B>false</B> allows each tab to size based on the text label size. The 
+value may have any of the forms accepted by the <B>Tcl_GetBoolean</B>, such 
+as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<UL>
+For horizontally positioned tabs (<B>tabpos</B> is either <B>s</B> or <B>n</B>),
+<B>true</B> forces all tabs to be equal width (the width being equal to 
+the longest label plus any <B>padX</B> specified). Horizontal tabs are 
+always equal in height. 
+</UL>
+<UL>
+For vertically positioned tabs (<B>tabpos</B> is either <B>w</B> or <B>e</B>), 
+<B>true</B> forces all tabs to be equal height (the height being equal to the 
+height of the label with the largest font). Vertically oriented tabs 
+are always equal in width.
+</UL>
+<P>
+<pre>
+Name:                   <B>foreground</B>
+Class:                  <B>Foreground</B>
+Command-Line Switch:   <B>-foreground</B>
+</pre>
+<UL>
+Specifies a foreground color to use for displaying a page and its associated 
+tab label. This can be thought of as the selected tab background color, 
+since the tab associated with the selected page is the selected tab.
+</UL>
+<P>
+<pre>
+Name:                   <B>gap</B>
+Class:                  <B>Gap</B>
+Command-Line Switch:   <B>-gap</B>
+</pre>
+<UL>
+Specifies the amount of pixel space to place between each tab. Value may 
+be any pixel offset value. In addition, a special keyword <B>overlap</B> 
+can be used as the value to achieve a standard overlap of tabs. This value 
+may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>margin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-Bmargin</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the outside edge of the 
+tabnotebook and the outside edge of its tabs. If <B>tabPos</B> is <B>s</B>, 
+this is the amount of space between the bottom edge of the tabnotebook and 
+the bottom edge of the set of tabs. If <B>tabPos</B> is <B>n</B>, this is 
+the amount of space between the top edge of the tabnotebook and the top 
+edge of the set of tabs. If <B>tabPos</B> is <B>e</B>, this is the amount of 
+space between the right edge of the tabnotebook and the right edge of the 
+set of tabs. If <B>tabPos</B> is <B>w</B>, this is the amount of space 
+between the left edge of the tabnotebook and the left edge of the set 
+of tabs. This value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>padX</B>
+Class:                  <B>PadX</B>
+Command-Line Switch:   <B>-padx</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request 
+for a tab around its label in the X-direction. When computing how large 
+a window it needs, the tab will add this amount to the width it would 
+normally need The tab will end up with extra internal space to the left 
+and right of its text label. This value may have any of the forms acceptable 
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>padY</B>
+Class:                  <B>PadY</B>
+Command-Line Switch:   <B>-pady</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for 
+a tab around its label in the Y-direction. When computing how large a 
+window it needs, the tab will add this amount to the height it would normally 
+need The tab will end up with extra internal space to the top and bottom of 
+its text label. This value may have any of the forms acceptable 
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>raiseSelect</B>
+Class:                  <B>RaiseSelect</B>
+Command-Line Switch:   <B>-raiseselect</B>
+</pre>
+<UL>
+Specifes whether to slightly raise the selected tab from the rest of the 
+tabs. The selected tab is drawn 2 pixels closer to the outside of the 
+tabnotebook than the unselected tabs. A value of <B>true</B> says to 
+raise selected tabs, a value of <B>false</B> turns this feature off. The 
+default is <B>false</B>. The value may have any of the forms accepted 
+by the <B>Tcl_GetBoolean</B>, such as <B>true</B>, <B>false</B>, <B>0</B>, 
+<B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>start</B>
+Class:                  <B>Start</B>
+Command-Line Switch:   <B>-start</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the left or top edge of the 
+tabnotebook and the starting edge of its tabs. For horizontally positioned 
+tabs, this is the amount of space between the left edge of the notebook and 
+the left edge of the first tab. For vertically positioned tabs, this is the 
+amount of space between the top of the notebook and the top of the first 
+tab. This value may change if the user performs a MButton-2 scroll on the 
+tabs. This value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>state</B>
+Class:                  <B>State</B>
+Command-Line Switch:   <B>-state</B>
+</pre>
+<UL>
+Sets the active state of the tabnotebook. Specifying <B>normal</B> allows 
+all pages to be selectable. Specifying <B>disabled</B> disables the notebook 
+causing all page tabs to be drawn in the <B>disabledForeground</B> color.
+</UL>
+<P>
+<pre>
+Name:                   <B>tabBackground</B>
+Class:                  <B>TabBackground</B>
+Command-Line Switch:   <B>-tabbackground</B>
+</pre>
+<UL>
+Specifies a background color to use for displaying tab backgrounds when 
+they are in their unselected state. This is the background associated with 
+tabs on all pages other than the selected page.
+</UL>
+<P>
+<pre>
+Name:                   <B>tabBorders</B>
+Class:                  <B>TabBorders</B>
+Command-Line Switch:   <B>-tabborders</B>
+</pre>
+<UL>
+Specifies whether to draw the borders of tabs that are not selected. 
+Specifying <B>true</B> (the default) draws these borders, 
+specifying <B>false</B> draws only the border around the selected tab. The 
+value may have any of the forms accepted by the <B>Tcl_GetBoolean</B>, 
+such as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>,<B> yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>tabForeground</B>
+Class:                  <B>TabForeground</B>
+Command-Line Switch:   <B>-tabforeground</B>
+</pre>
+<UL>
+Specifies a foreground color to use for displaying tab labels when they 
+are in their unselected state. This is the foreground associated with tabs 
+on all pages other than the selected page.
+</UL>
+<P>
+<pre>
+Name:                   <B>tabPos</B>
+Class:                  <B>TabPos</B>
+Command-Line Switch:   <B>-tabpos</B>
+</pre>
+<UL>
+Specifies the location of the set of tabs in relation to the notebook 
+area. Must be n, s, e, or w. Defaults to s.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>tabnotebook</B> command creates a new window (given by the pathName 
+argument) and makes it into a <B>tabnotebook</B> widget. Additional options, 
+described above may be specified on the command line or in the option 
+database to configure aspects of the tabnotebook such as its colors, font, 
+and text. The tabnotebook command returns its pathName argument. At the 
+time this command is invoked, there must not exist a window named 
+pathName, but pathName's parent must exist.
+<P>
+A <B>tabnotebook</B> is a widget that contains a set of tabbed pages. It 
+displays one page from the set as the selected page. A Tab displays the 
+label for the page to which it is attached and serves as a page 
+selector. When a page's tab is selected, the page's contents are displayed 
+in the page area. The selected tab has a three-dimensional effect to make 
+it appear to float above the other tabs. The tabs are displayed as a group 
+along either the left, top, right, or bottom edge. When first created a 
+tabnotebook has no pages. Pages may be added or deleted using widget 
+commands described below.
+<P>
+A special option may be provided to the tabnotebook. The <B>-auto</B> 
+option specifies whether the tabnotebook will automatically handle the 
+unpacking and packing of pages when pages are selected. A value of 
+true signifies that the notebook will automatically manage it. This is the 
+default value. A value of false signifies the notebook will not perform 
+automatic switching of pages.
+</pre><H2>NOTEBOOK PAGES</H2>
+A tabnotebook's pages area contains a single child site frame. When a 
+new page is created it is a child of this frame. The page's child site 
+frame serves as a geometry container for applications to pack widgets 
+into. It is this frame that is automatically unpacked or packed when 
+the auto option is true. This creates the effect of one page being visible 
+at a time. When a new page is selected, the previously selected page's 
+child site frame is automatically unpacked from the tabnotebook's child 
+site frame and the newly selected page's child site is packed into the 
+tabnotebook's child site frame.
+<P>
+However, sometimes it is desirable to handle page changes in a different 
+manner. By specifying the <B>auto</B> option as <B>false</B>, child site 
+packing can be disabled and done differently. For example, all widgets 
+might be packed into the first page's child site <B>frame</B>. Then when 
+a new page is selected, the application can reconfigure the widgets 
+and give the appearance that the page was flipped.
+<P>
+In both cases the command option for a page specifies a Tcl Command 
+to execute when the page is selected. In the case of <B>auto</B> 
+being <B>true</B>, it is between the unpacking of the previously selected 
+page and the packing of the newly selected page.
+<P>
+Notebook pages can also be controlled with scroll bars or other widgets 
+that obey the <B>scrollcommand</B> protocol. By giving a scrollbar 
+a <B>-command</B> to call the tabnotebook's <B>select</B> method, the 
+tabnotebook can be controlled with a scrollbar.
+<P>
+The notebook area is implemented with the notebook mega widget.
+</pre><H2>TABS</H2>
+Tabs appear along the edge of the notebook area. Tabs are drawn to appear 
+attached to their associated page. When a tab is clicked on, the associated 
+page is selected and the tab is drawn as raised above all other tabs and as 
+a seamless part of its notebook page. Tabs can be controlled in their 
+location along the edges, the angle tab sides are drawn with, gap between 
+tabs, starting margin of tabs, internal padding around text labels in 
+a tab, the font, and its label. 
+<P>
+The Tab area is implemented with the <B>tabset</B> mega widget. 
+See <B>tabset(1)</B>. Tabs may be oriented along either the north, south, 
+east, or west sides with the <B>tabPos</B> option. North and south tabs 
+may appear as angled, square, or bevelled. West and east tabs may appear 
+as square or bevelled. By changing tab gaps, tab angles, bevelling, 
+orientations, colors, fonts, start locations, and margins; tabs may appear 
+in a wide variety of styles. For example, it is possible to implement 
+Microsoft-style tabs, Borland property tab styles, or Borland Delphi 
+style tabs all with the same tabnotebook.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>tabnotebook</B> command creates a new Tcl command whose name 
+is <I>pathName</I>. This command may be used to invoke various operations 
+on the widget. It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>option</I> and the <I>arg</I>s
+determine the exact behavior of the command.
+<P>
+Many of the widget commands for a notebook take as one argument an 
+indicator of which page of the notebook to operate on. These indicators are 
+called indexes and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the page numerically, where 0 corresponds to the first page 
+in the notebook, 1 to the second, and so on.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Specifies the currently selected page's index. If no page is currently 
+selected, the value -1 is returned.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last page in the tabnotebook's index. If the notebook is empty 
+this will return -1.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy any of the above forms, then this form is 
+used. Pattern is pattern-matched against the label of each page in the 
+notebook, in order from the first to the last page, until a matching entry 
+is found. The rules of Tcl_StringMatch are used.
+'.............................................................................
+The following commands are possible for tabnotebook widgets:
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>add</B> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Add a new page at the end of the tabnotebook. A new child site frame is 
+created. Returns the child site pathName. If additional arguments are 
+present, they specify any of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-angle</B> <I>value</I>
+</I></B>
+<DD> Specifes the angle of slope from the inner edge to the outer edge of the 
+tab. An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees 
+inclusive. Default is 15 degrees. If this option is specified as an empty 
+string (the default), then the angle option for the overall tabnotebook 
+is used. This is generally only set at the tabnotebook level. Tabs normally 
+will want to share the same angle value.
+</DL>
+<DL>
+<DT> <B>-background</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying tabs when they are 
+selected and for displaying the current page. If this option is specified 
+as an empty string (the default), then the background option for the 
+overall tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-bevelamount</B> <I>value</I>
+</I></B>
+<DD> Specifes the size of tab corners. A value of 0 with angle set to 0 
+results in square tabs. A bevelAmount of 4, means that the tab will be 
+drawn with angled corners that cut in 4 pixels from the edge of the tab. 
+The default is 0. This is generally only set at the tabnotebook level. 
+Tabs normally will want to share the same bevelAmount.
+</DL>
+<DL>
+<DT> <B>-bitmap</B> <I>value</I>
+</I></B>
+<DD> If label is a non-empty string, specifies a bitmap to display in this 
+page's tab. Bitmap may be of any of the forms accepted by Tk_GetPixmap. 
+</DL>
+<DL>
+<DT> <B>-command</B> <I>value</I>
+</I></B>
+<DD> Specifies a Tcl command to be executed when this page is selected. This 
+allows the programmer a hook to reconfigure this page's widgets or any 
+other page's widgets.
+<UL>
+If the tabnotebook has the auto option set to true, when a page is 
+selected this command will be called immediately after the previously 
+selected page is unpacked and immediately before this page is selected. The 
+index value select is valid during this Tcl command. `index select' will 
+return this page's page number. 
+</UL>
+<UL>
+If the auto option is set to false, when a page is selected the unpack 
+and pack calls are bypassed. This Tcl command is still called.
+</UL>
+</DL>
+<DL>
+<DT> <B>-disabledforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs 
+are in their disable state. If this option is specified as an empty 
+string (the default), then the disabledforeground option for the overall 
+tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-font</B> <I>value</I>
+</I></B>
+<DD> Specifies the font to use when drawing a text label on a page tab. If 
+this option is specified as an empty string then the font option for the 
+overall tabnotebook is used..
+</DL>
+<DL>
+<DT> <B>-foreground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when they are 
+selected. If this option is specified as an empty string (the default), 
+then the foreground option for the overall tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-label</B> <I>value</I>
+</I></B>
+<DD> Specifies a string to display as an identifying label for a notebook 
+page. This label serves as an additional identifier used to reference the 
+page. This label may be used for the index value in widget commands.
+</DL>
+<DL>
+<DT> <B>-tabbackground</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying a tab when it is not 
+elected. If this option is specified as an empty string (the default), then 
+the tabBackground option for the overall tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-tabforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying the tab's text label 
+when it is not selected. If this option is specified as an empty 
+string (the default), then the tabForeground option for the overall 
+tabnotebook is used.
+</DL>
+<DL>
+<DT> <B>-padx</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request 
+for a tab around its label in the X-direction. When computing how large a 
+window it needs, the tab will add this amount to the width it would 
+normally need The tab will end up with extra internal space to the 
+left and right of its text label. This value may have any of the forms 
+acceptable to Tk_GetPixels. If this option is specified as an empty 
+string (the default), then the padX option for the overall tabnotebook is used
+</DL>
+<DL>
+<DT> <B>-pady</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request 
+for a tab around its label in the Y-direction. When computing how large 
+a window it needs, the tab will add this amount to the height it would 
+normally need The tab will end up with extra internal space to the top and 
+bottom of its text label. This value may have any of the forms acceptable 
+to Tk_GetPixels. If this option is specified as an empty string (the 
+default), then the padY option for the overall tabnotebook is used
+</DL>
+<DL>
+<DT> <B>-state</B> <I>value</I>
+</I></B>
+<DD> Specifies one of two states for the page: normal or disabled. In normal state 
+unselected tabs are displayed using the tabforeground and tabbackground 
+option from the tabnotebook or the page. Selected tabs and pages are 
+displayed using the foreground and background option from the tabnotebook or 
+the page. The disabled state means that the page and its tab is 
+insensitive: it doesn't respond to mouse button presses or releases. In this 
+state the entry is displayed according to its disabledForeground option for 
+the tabnotebook and the background/tabbackground option from the page or 
+the tabnotebook.
+</DL>
+</UL>
+<DL>
+<DT> '&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;
+</I></B>
+<DD> <I>pathName</I> <B>childSite</B> ?<I>index</I>?
+If passed no arguments, returns a list of pathNames for all the pages 
+in the tabnotebook. If the tab notebook is empty, an empty list is returned
+<UL>
+If <I>index</I> is passed, it returns the <I>pathName</I> for the page's 
+child site <B>frame</B> specified by <I>index</I>. Widgets that are created 
+with this <I>pathName</I> will be displayed when the associated page is 
+selected. If <I>index</I> is not a valid index, an empty string is returned. 
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Query or modify the configuration options of the widget. If no <I>option</I> 
+is specified, returns a list describing all of the available options 
+for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for information on the 
+format of this list). If option is specified with no value, then the 
+command returns a list describing the one named option (this list will be 
+identical to the corresponding sublist of the value returned if no option 
+is specified). If one or more option-value pairs are specified, then the 
+command modifies the given widget option(s) to have the given value(s); in 
+this case the command returns an empty string. <I>Option</I> may have any 
+of the values accepted by the tabnotebook command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index1</I> ?<I>index2</I>?
+</I></B>
+<DD> Delete all of the pages between <I>index1</I> and <I>index2</I> inclusive. 
+If <I>index2</I> is omitted then it defaults to <I>index1</I>. Returns an 
+empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>index</I> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Insert a new page in the tabnotebook before the page specified 
+by <I>index</I>. A new child site <B>frame</B> is created. The additional 
+arguments are the same as for the <B>add</B> command. Returns the 
+child site <I>pathName</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>next</B>
+</I></B>
+<DD> Advances the selected page to the next page (order is determined by 
+insertion order). If the currently selected page is the last page in 
+the notebook, the selection wraps around to the first page in the 
+notebook. It behaves as if the user selected the new page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's 
+child site is unpacked from the notebook's child site frame. Then the next 
+page's child site is packed into the notebook's child site frame. The 
+Tcl command given with the command option will be invoked between these 
+two operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given 
+with the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>pageconfigure</B> <I>index</I> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that it 
+applies to the options for an individual page, whereas configure applies 
+to the options for the tabnotebook as a whole. <I>Options</I> may have 
+any of the values accepted by the add widget command. If options are 
+specified, options are modified as indicated in the command and the 
+command returns an empty string. If no options are specified, returns a 
+list describing the current options for page index (see <B>Tk_ConfigureInfo</B>
+for information on the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>prev</B>
+</I></B>
+<DD> Moves the selected page to the previous page (order is determined by 
+insertion order). If the currently selected page is the first page in 
+the notebook, the selection wraps around to the last page in the notebook. It 
+behaves as if the user selected the new page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's 
+child site is unpacked from the notebook's child site <B>frame</B>. Then the 
+previous page's child site is packed into the notebook's child site frame. 
+The Tcl command given with the command option will be invoked between these 
+two operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given 
+with the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page. 
+It behaves as if the user selected the new page.
+<UL>
+For notebooks with <B>auto</B> set to <B>true</B> the current page's child 
+site is unpacked from the notebook's child site frame. Then the <I>index</I> 
+page's child site is packed into the notebook's child site frame. The 
+Tcl command given with the command option will be invoked between these two 
+operations.
+</UL>
+<UL>
+For notebooks with <B>auto</B> set to <B>false</B> the Tcl command given 
+with the command option will be invoked.
+</UL>
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B>
+</I></B>
+<DD> Returns the currently selected page. This command is for compatibility with 
+the <B>scrollbar</B> widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <I>index</I>
+</I></B>
+<DD> Selects the page specified by <I>index</I> as the currently selected page. 
+This command is for compatibility with the <B>scrollbar</B> widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <B>moveto</B> <I>fraction</I>
+</I></B>
+<DD> Uses the <I>fraction</I> value to determine the corresponding page to move to. 
+This command is for compatibility with the <B>scrollbar</B> widget.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>view</B> <B>scroll</B> <I>num</I> <I>what</I>
+</I></B>
+<DD> Uses the <I>num</I> value to determine how many pages to move forward or 
+backward (<I>num</I> can be negative or positive). The <I>what</I> argument 
+is ignored. This command is for compatibility with the <B>scrollbar</B> widget.
+</DL>
+</pre><H2>COMPONENTS</H2>
+<P>
+Generally all behavior of the internal components, <B>tabset</B> 
+and <B>notebook</B> are controlled via the <B>pageconfigure</B> method. 
+The following section documents these two components.
+<P>
+<pre>
+Name:                   <B>tabset</B>
+Class:                  <B>Tabset</B>
+</pre>
+<UL>
+This is the tabset component. It implements the tabs that are associated 
+with the notebook component.
+</UL>
+<UL>
+See the "<B>Tabset</B>" widget manual entry for details on 
+the <B>tabset</B> component item.
+</UL>
+<P>
+<pre>
+Name:                   <B>notebook</B>
+Class:                  <B>Notebook</B>
+</pre>
+<UL>
+This is the notebook component. It implements the notebook that contains the 
+pages of the tabnotebook.
+</UL>
+<UL>
+See the "<B>Notebook</B>" widget manual entry for details on 
+the <B>notebook</B> component item.
+</UL>
+</table>
+</pre><H2>EXAMPLE</H2>
+<P>
+Following is an example that creates a tabnotebook with two pages.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+the<br>
+pack<br>
+-width<br>
+pack<br>
+nw<br>
+\\<br>
+-side<br>
+10<br>
+<UL><br>
+pages<br>
+#<br>
+and<br>
+add<br>
+.tn<br>
+Two"<br>
+Get<br>
+frames<br>
+pages.<br>
+childsite<br>
+[.tn<br>
+</UL><br>
+buttons<br>
+of<br>
+$page1CS.b<br>
+pack<br>
+-text<br>
+$page2CS.b<br>
+Select<br>
+of<br>
+select<br>
+</td>
+<td valign=top>
+</UL><br>
+tabnotebook<br>
+it.<br>
+100<br>
+.tn<br>
+\\<br>
+-expand<br>
+left<br>
+\\<br>
+#<br>
+to<br>
+labelled<br>
+"Page<br>
+-label<br>
+add<br>
+</UL><br>
+the<br>
+of<br>
+set<br>
+0]<br>
+childsite<br>
+<UL><br>
+on<br>
+the<br>
+-text<br>
+$page1CS.b<br>
+"Button<br>
+</UL><br>
+the<br>
+the<br>
+0<br>
+</td>
+<td valign=top>
+#<br>
+widget<br>
+tabnotebook<br>
+-height<br>
+\\<br>
+-fill<br>
+yes<br>
+\\<br>
+-pady<br>
+Add<br>
+the<br>
+"Page<br>
+Two"<br>
+"Page<br>
+-label<br>
+<UL><br>
+child<br>
+these<br>
+page1CS<br>
+set<br>
+"Page<br>
+#<br>
+each<br>
+tabnotebook.<br>
+"Button<br>
+button<br>
+Two"<br>
+<UL><br>
+first<br>
+tabnotebook.<br>
+</UL><br>
+</td>
+<td valign=top>
+Create<br>
+and<br>
+.tn<br>
+100<br>
+-anchor<br>
+both<br>
+\\<br>
+-padx<br>
+10<br>
+two<br>
+tabnotebook,<br>
+One"<br>
+.tn<br>
+One"<br>
+"Page<br>
+#<br>
+site<br>
+two<br>
+[.tn<br>
+page2CS<br>
+Two"]<br>
+Create<br>
+page<br>
+button<br>
+One"<br>
+$page2CS.b<br>
+pack<br>
+#<br>
+page<br>
+.tn<br>
+</td>
+</table>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+tab tabset notebook tabnotebook page
index 2ecaf36..90e6f7b 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - tabset</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - tabset</H1>
-<HR>
-<PRE>
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     tabset - create and manipulate tabs as as set
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>tabset</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>INHERITANCE</H2><PRE>
-     itk::Widget &lt;- tabset
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>background</STRONG>      <STRONG>font</STRONG>           <STRONG>selectBackgroundcursor</STRONG>
-     <STRONG>foreground</STRONG>      <STRONG>selectForeground</STRONG>               <STRONG>disabledForegroundheight</STRONG>
-     <STRONG>width</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>angle</STRONG>
-     Class:          <STRONG>Angle</STRONG>
-     Command-Line Switch:           <STRONG>-angle</STRONG>
-
-          Specifes the angle of slope from the inner edge to  the
-          outer  edge  of the tab. An angle of 0 specifies square
-          tabs. Valid ranges  are  0  to  45  degrees  inclusive.
-          Default is 15 degrees. If tabPos is e or w, this option
-          is ignored.
-
-     Name:           <STRONG>backdrop</STRONG>
-     Class:          <STRONG>Backdrop</STRONG>
-     Command-Line Switch:           <STRONG>-backdrop</STRONG>
-
-          Specifies a background color to use when filling in the
-          area behind the tabs.
-
-     Name:           <STRONG>bevelAmount</STRONG>
-     Class:          <STRONG>BevelAmount</STRONG>
-     Command-Line Switch:           <STRONG>-bevelamount</STRONG>
-
-          Specifes the size of tab corners. A  value  of  0  with
-          angle set to 0 results in square tabs. A <STRONG>bevelAmount</STRONG> of
-          4, means that the tab will be drawn with angled corners
-          that  cut  in  4  pixels  from the edge of the tab. The
-          default is 0.
-
-     Name:           <STRONG>command</STRONG>
-     Class:          <STRONG>Command</STRONG>
-     Command-Line Switch:           <STRONG>-command</STRONG>
-     Specifes the prefix of a Tcl command to invoke to change the view in the
-     widget associated with the tabset. When a user selects a tab, a Tcl command
-     is invoked. The actual command consists of this option followed by a space
-     and a number. The number is the numerical index of the tab that has been
-     selected.
-
-     Name:           <STRONG>equalTabs</STRONG>
-     Class:          <STRONG>EqualTabs</STRONG>
-     Command-Line Switch:           <STRONG>-equaltabs</STRONG>
-
-          Specifies whether to force tabs to be  equal  sized  or
-          not.  A  value of <STRONG>true</STRONG> means constrain tabs to be equal
-          sized. A value of <STRONG>false</STRONG> allows each tab to  size  based
-          on  the  text label size. The value may have any of the
-          forms accepted by the  <STRONG>Tcl_GetBoolean</STRONG>,  such  as  <STRONG>true</STRONG>,
-          <STRONG>false</STRONG>, <STRONG>0</STRONG>, <STRONG>1</STRONG>, <STRONG>yes</STRONG>, or <STRONG>no</STRONG>.
-
-          For horizontally positioned tabs (<STRONG>tabPos</STRONG> is either <STRONG>s</STRONG> or
-          <STRONG>n</STRONG>),  <STRONG>true</STRONG>  forces all tabs to be equal width (the width
-          being equal to the longest label plus any  padX  speci-
-          fied). Horizontal tabs are always equal in height.
-
-          For vertically positioned tabs (<STRONG>tabPos</STRONG> is either  <STRONG>w</STRONG>  or
-          <STRONG>e</STRONG>), <STRONG>true</STRONG> forces all tabs to be equal height (the height
-          being equal to the height of the label with the largest
-          font).  Vertically  oriented  tabs  are always equal in
-          width.
-
-     Name:           <STRONG>gap</STRONG>
-     Class:          <STRONG>Gap</STRONG>
-     Command-Line Switch:           <STRONG>-gap</STRONG>
-
-          Specifies the amount of pixel space  to  place  between
-          each tab. Value may be any pixel offset value. In addi-
-          tion, a special keyword <STRONG>overlap</STRONG>  can  be  used  as  the
-          value to achieve a standard overlap of tabs. This value
-          may have any of the forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>margin</STRONG>
-     Class:          <STRONG>Margin</STRONG>
-     Command-Line Switch:           <STRONG>-margin</STRONG>
-
-          Specifies the amount of space to place between the out-
-          side  edge  of  the  tabset and the outside edge of its
-          tabs. If <STRONG>tabPos</STRONG> is <STRONG>s</STRONG>,  this  is  the  amount  of  space
-          between  the  bottom  edge of the tabset and the bottom
-          edge of the set of tabs. If <STRONG>tabPos</STRONG> is <STRONG>n</STRONG>,  this  is  the
-          amount  of space between the top edge of the tabset and
-          the top edge of the set of tabs. If <STRONG>tabPos</STRONG> is  <STRONG>e</STRONG>,  this
-          is  the  amount  of space between the right edge of the
-          tabset and the right edge of the set of tabs. If <STRONG>tabPos</STRONG>
-          is <STRONG>w</STRONG>, this is the amount of space between the left edge
-          of the tabset and the left edge of  the  set  of  tabs.
-          This  value  may  have  any  of the forms acceptable to
-          <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>padX</STRONG>
-     Class:          <STRONG>PadX</STRONG>
-     Command-Line Switch:           <STRONG>-padx</STRONG>
-
-          Specifies a  non-negative  value  indicating  how  much
-          extra  space  to  request for a tab around its label in
-          the X-direction. When computing how large a  window  it
-          needs,  the  tab  will  add this amount to the width it
-          would normally need The tab  will  end  up  with  extra
-          internal space to the left and right of its text label.
-          This value may have any  of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>padY</STRONG>
-     Class:          <STRONG>PadY</STRONG>
-     Command-Line Switch:           <STRONG>-pady</STRONG>
-
-          Specifies a  non-negative  value  indicating  how  much
-          extra  space  to  request for a tab around its label in
-          the Y-direction. When computing how large a  window  it
-          needs,  the  tab  will add this amount to the height it
-          would normally need The tab  will  end  up  with  extra
-          internal space to the top and bottom of its text label.
-          This value may have any  of  the  forms  acceptable  to
-          <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>raiseSelect</STRONG>
-     Class:          <STRONG>RaiseSelect</STRONG>
-     Command-Line Switch:           <STRONG>-raiseselect</STRONG>
-
-          Specifes whether to slightly  raise  the  selected  tab
-          from  the rest of the tabs. The selected tab is drawn 2
-          pixels closer to the outside edge of  the  tabset  than
-          the  unselected  tabs.  A  value  of true says to raise
-          selected tabs, a value of false  turns  this  off.  The
-          default  is  false. The value may have any of the forms
-          accepted by the <STRONG>Tcl_GetBoolean</STRONG>, such as <STRONG>true</STRONG>, <STRONG>false</STRONG>, <STRONG>0</STRONG>,
-          <STRONG>1</STRONG>, <STRONG>yes</STRONG>, or <STRONG>no</STRONG>.
-
-     Name:           <STRONG>start</STRONG>
-     Class:          <STRONG>Start</STRONG>
-     Command-Line Switch:           <STRONG>-start</STRONG>
-
-          Specifies the amount of space to place between the left
-          or  top edge of the tabset and the starting edge of its
-          tabs. For horizontally positioned  tabs,  this  is  the
-          amount of space between the left edge of the tabset and
-          the left edge of the first tab.  For  vertically  posi-
-          tioned  tabs,  this  is the amount of space between the
-          top of the tabset and the top of the  first  tab.  This
-          value  may  change  if  the  user  performs a MButton-2
-          scroll on the tabs. This value  may  have  any  of  the
-          forms acceptable to <STRONG>Tk_GetPixels</STRONG>.
-
-     Name:           <STRONG>state</STRONG>
-     Class:          <STRONG>State</STRONG>
-     Command-Line Switch:           <STRONG>-state</STRONG>
-
-          Sets the active state of the tabset. Specifying  <STRONG>normal</STRONG>
-          allows  all  tabs to be selectable. Specifying <STRONG>disabled</STRONG>
-          disables the tabset causing all tabs to be drawn in the
-          disabledForeground color.
-
-     Name:           <STRONG>tabBorders</STRONG>
-     Class:          <STRONG>TabBorders</STRONG>
-     Command-Line Switch:           <STRONG>-tabborders</STRONG>
-
-          Specifies whether to draw the borders of tabs that  are
-          not selected. Specifying true (the default) draws these
-          borders, specifying false draws only the border  around
-          the  selected  tab. The value may have any of the forms
-          accepted by the <STRONG>Tcl_GetBoolean</STRONG>, such as <STRONG>true</STRONG>, <STRONG>false,</STRONG> <STRONG>0</STRONG>,
-          <STRONG>1</STRONG>, <STRONG>yes</STRONG>, or <STRONG>no</STRONG>.
-
-     Name:           <STRONG>tabPos</STRONG>
-     Class:          <STRONG>TabPos</STRONG>
-     Command-Line Switch:           <STRONG>-tabpos</STRONG>
-
-          Specifies the location of the set of tabs  in  relation
-          to  another  widget. Must be <STRONG>n</STRONG>, <STRONG>s</STRONG>, <STRONG>e</STRONG>, or <STRONG>w</STRONG>. Defaults to
-          <STRONG>s</STRONG>. North tabs open downward, South  tabs  open  upward.
-          West  tabs  open  to  the  right, east tabs open to the
-          left.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>tabset</STRONG> command creates a new window (given by the  path-
-     Name argument) and makes it into a <STRONG>tabset</STRONG> widget. Additional
-     <EM>options</EM>, described above may be  specified  on  the  command
-     line  or  in the option database to configure aspects of the
-     tabset such as its colors, font, and text. The  <STRONG>tabset</STRONG>  com-
-     mand returns its <EM>pathName</EM> argument. At the time this command
-     is invoked, there must not exist a  window  named  <EM>pathName</EM>,
-     but pathName's parent must exist.
-
-     A <STRONG>tabset</STRONG> is a widget that contains a set of Tab buttons.  It
-     displays  these tabs in a row or column depending on it tab-
-     pos. When a tab is clicked on, it becomes the  only  tab  in
-     the tab set that is selected. All other tabs are deselected.
-     The Tcl command prefix associated with this tab (through the
-     command  tab configure option) is invoked with the tab index
-     number appended to its argument list. This allows the tabset
-     to control another widget such as a Notebook.
-
-
-</PRE>
-<H2>TABS</H2><PRE>
-     Tabs are drawn to appear attached  to  another  widget.  The
-     tabset  draws  an edge boundary along one of its edges. This
-     edge is known as the attachment edge. This edge location  is
-     dependent  on the value of <STRONG>tabPos</STRONG>. For example, if <STRONG>tabPos</STRONG> is
-     <STRONG>s</STRONG>, the attachment edge wil be on the top side of the  tabset
-     (in  order  to  attach  to  the  bottom or south side of its
-     attached widget). The selected tab is draw with a 3d  relief
-     to  appear  above  the other tabs. This selected tab "opens"
-     toward attachment edge.
-
-     Tabs can be controlled in their location  along  the  edges,
-     the  angle  that tab sides are drawn with, gap between tabs,
-     starting margin of tabs, internal padding around labels in a
-     tab, the font, and its text or bitmap.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     The <STRONG>tabset</STRONG> command creates a new Tcl command whose  name  is
-     <EM>pathName</EM>.  This command may be used to invoke various opera-
-     tions on the widget. It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     <EM>option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
-     mand.
-
-     Many of the widget commands for a tabset take as  one  argu-
-     ment  an indicator of which tab of the tabset to operate on.
-     These indicators are called indexes and may be specified  in
-     any of the following forms:
-
-     <EM>number</EM>
-          Specifies the tab numerically, where 0  corresponds  to
-          the  first  tab in the tab set, 1 to the second, and so
-          on.
-
-     <STRONG>select</STRONG>
-          Specifies the currently selected tab's index. If no tab
-          is currently selected, the value -1 is returned.
-
-     <STRONG>end</STRONG>  Specifes the last tab in the  tabset's  index.  If  the
-          tabset is empty this will return -1.
-
-     <EM>pattern</EM>
-          If the index doesn't satisfy any of  the  above  forms,
-          then  this  form  is  used.  Pattern is pattern-matched
-          against the label of each tab in the tabset,  in  order
-          from  the first to the last tab, until a matching entry
-          is found. The rules of Tcl_StringMatch are used.
-
-     The following commands are possible for tabset widgets:
-
-          <EM>pathName</EM> <STRONG>add</STRONG> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-               Add a new tab at the end of  the  tabset.  Returns
-               the  child  site <EM>pathName</EM>. If additional arguments
-               are present, they specify  any  of  the  following
-               options:
-
-               <STRONG>-angle</STRONG> <EM>value</EM>
-                    Specifes the angle of slope  from  the  inner
-                    edge  to  the outer edge of the tab. An angle
-                    of 0 specifies square tabs. Valid ranges  are
-                    0  to  45  degrees  inclusive.  Default is 15
-                    degrees. If this option is  specified  as  an
-                    empty  string  (the  default), then the angle
-                    option for the overall tabset is used.
-
-               <STRONG>-background</STRONG> <EM>value</EM>
-                    Specifies  a  background  color  to  use  for
-                    displaying tabs when they are in their normal
-                    state (unselected). If this option is  speci-
-                    fied  as  an empty string (the default), then
-                    the background option for the overall  tabset
-                    is used.
-
-               <STRONG>-bevelamount</STRONG> <EM>value</EM>
-                    Specifes the size of tab corners. A value  of
-                    0 with angle set to 0 results in square tabs.
-                    A bevelAmount of 4, means that the  tab  will
-                    be  drawn  with  angled corners that cut in 4
-                    pixels from the edge of the tab. The  default
-                    is  0. This is generally only set at the tab-
-                    set configuration level. Tabs  normally  will
-                    want to share the same bevelAmount.
-
-               <STRONG>-bitmap</STRONG> <EM>value</EM>
-                    If label is a non-empty string,  specifies  a
-                    bitmap  to  display in the tab. Bitmap may be
-                    of any of the forms accepted by Tk_GetBitmap.
-
-               <STRONG>-disabledforeground</STRONG> <EM>value</EM>
-                    Specifies  a  foreground  color  to  use  for
-                    displaying  tab labels when tabs are in their
-                    disable state. If this option is specified as
-                    an empty string (the default), then the disa-
-                    bledforeground option for the overall  tabset
-                    is used.
-
-               <STRONG>-font</STRONG> <EM>value</EM>
-                    Specifies the font to use  when  drawing  the
-                    label  on  a tab. If this option is specified
-                    as an empty string then the font  option  for
-                    the overall tabset is used.
-
-               <STRONG>-foreground</STRONG> <EM>value</EM>
-                    Specifies  a  foreground  color  to  use  for
-                    displaying  tab labels when tabs are in their
-                    normal unselected state. If  this  option  is
-                    specified  as  an empty string (the default),
-                    then the foreground option  for  the  overall
-                    tabset is used.
-
-               <STRONG>-image</STRONG> <EM>value</EM>
-                    If label is a non-empty string, specifies  an
-                    image  to display in the tab. Image must have
-                    been created with the image  create  command.
-                    Typically,  if  the image option is specified
-                    then it overrides other options that  specify
-                    a  bitmap  or textual value to display in the
-                    widget; the image option may be reset  to  an
-                    empty  string  to  re-enable a bitmap or text
-                    display.
-
-               <STRONG>-label</STRONG> <EM>value</EM>
-                    Specifies a text string to be placed  in  the
-                    tabs  label. If this value is set, the bitmap
-                    option is overridden and this option is  used
-                    instead.  This  label serves as an additional
-                    identifier used to reference  the  tab.  This
-                    label  may  be  used  for  the index value in
-                    widget commands.
-
-               <STRONG>-selectbackground</STRONG> <EM>value</EM>
-                    Specifies  a  background  color  to  use  for
-                    displaying  the  selected tab. If this option
-                    is  specified  as  an   empty   string   (the
-                    default),  then  the  selectBackground option
-                    for the overall tabset is used.
-
-               <STRONG>-selectforeground</STRONG> <EM>value</EM>
-                    Specifies  a  foreground  color  to  use  for
-                    displaying  the  selected tab. If this option
-                    is  specified  as  an   empty   string   (the
-                    default),  then  the  selectForeground option
-                    for the overall tabset is used.
-
-               <STRONG>-padx</STRONG> <EM>value</EM>
-                    Specifies a non-negative value indicating how
-                    much  extra space to request for a tab around
-                    its label in the X-direction. When  computing
-                    how large a window it needs, the tab will add
-                    this amount to the width  it  would  normally
-                    need  The tab will end up with extra internal
-                    space to the  left  and  right  of  its  text
-                    label.  This  value may have any of the forms
-                    acceptable to Tk_GetPixels. If this option is
-                    specified  as  an empty string (the default),
-                    then the padX option for the  overall  tabset
-                    is used
-
-               <STRONG>-pady</STRONG> <EM>value</EM>
-                    Specifies a non-negative value indicating how
-                    much  extra space to request for a tab around
-                    its label in the Y-direction. When  computing
-                    how large a window it needs, the tab will add
-                    this amount to the height it  would  normally
-                    need  The tab will end up with extra internal
-                    space to the  top  and  bottom  of  its  text
-                    label.  This  value may have any of the forms
-                    acceptable to Tk_GetPixels. If this option is
-                    specified  as  an empty string (the default),
-                    then the padY option for the  overall  tabset
-                    is used
-
-               <STRONG>-state</STRONG> <EM>value</EM>
-                    Sets the state of the tab. Specifying  normal
-                    allows  this tab to be selectable. Specifying
-                    disabled disables the this  tab  causing  its
-                    tab  label  to  be drawn in the disabledFore-
-                    ground color. The tab  will  not  respond  to
-                    events until the state is set back to normal.
-
-          <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-               Query or modify the configuration options  of  the
-               widget.  If no <EM>option</EM> is specified, returns a list
-               describing all of the available options for  <EM>path-</EM>
-               <EM>Name</EM>  (see <STRONG>Tk_ConfigureInfo</STRONG> for information on the
-               format of this list). If option is specified  with
-               no value, then the command returns a list describ-
-               ing the one named option (this list will be ident-
-               ical  to  the  corresponding  sublist of the value
-               returned if no option is  specified).  If  one  or
-               more  option-value  pairs  are specified, then the
-               command modifies the  given  widget  option(s)  to
-               have  the given value(s); in this case the command
-               returns an empty string. <EM>Option</EM> may  have  any  of
-               the values accepted by the tabset command.
-
-          <EM>pathName</EM> <STRONG>delete</STRONG> <EM>index1</EM> ?<EM>index2</EM>?
-               Delete all of the tabs between <EM>index1</EM>  and  <EM>index2</EM>
-               inclusive.  If  <EM>index2</EM> is omitted then it defaults
-               to <EM>index1</EM>. Returns an empty string.
-
-          <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-               Returns  the  numerical  index  corresponding   to
-               <EM>index</EM>.
-
-          <EM>pathName</EM> <STRONG>insert</STRONG> <EM>index</EM> ?<EM>option</EM> <EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
-               Insert a new tab in  the  tabset  before  the  tab
-               specified  by  <EM>index</EM>. The additional arguments are
-               the same as for the <STRONG>add</STRONG> command. Returns the tab's
-               <EM>pathName</EM>.
-
-          <EM>pathName</EM> <STRONG>next</STRONG>
-               Advances the selected tab to the next  tab  (order
-               is   determined   by   insertion  order).  If  the
-               currently selected tab is the last tab in the tab-
-               set,  the selection wraps around to the first tab.
-               It behaves as if the user selected the next tab.
-
-          <EM>pathName</EM> <STRONG>tabconfigure</STRONG> <EM>index</EM> ?<EM>option</EM>? ?<EM>value</EM>?
-               This command is similar to the <STRONG>configure</STRONG>  command,
-               except that it applies to the options for an indi-
-               vidual  tab,  whereas  configure  applies  to  the
-               options  for  the  tabset  as a whole. Options may
-               have any of the values accepted by the <STRONG>add</STRONG>  widget
-               command.  If  options  are  specified, options are
-               modified as indicated in the command and the  com-
-               mand  returns  an  empty string. If no options are
-               specified, returns a list describing  the  current
-               options  for  tab  index (see <STRONG>Tk_ConfigureInfo</STRONG> for
-               information on the format of this list).
-
-          <EM>pathName</EM> <STRONG>prev</STRONG>
-               Moves the selected tab to the previous tab  (order
-               is   determined   by   insertion  order).  If  the
-               currently selected tab is the  first  tab  in  the
-               tabset, the selection wraps around to the last tab
-               in the tabset. It behaves as if the user  selected
-               the previous tab.
-
-          <EM>pathName</EM> <STRONG>select</STRONG> <EM>index</EM>
-               Selects  the  tab  specified  by  <EM>index</EM>   as   the
-               currently  selected tab. It behaves as if the user
-               selected the new tab.
-
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-     Following is an example that creates a tabset with two  tabs
-     and a list box that the tabset controls. In addition select-
-     ing an item from the list  also  selects  the  corresponding
-     tab.
-
-          # Define a proc that knows how to select an item
-          # from a list given an index from the tabset -command callback.
-            proc selectItem { item } {
-              .l selection clear [.l curselection]
-              .l selection set $item
-              .l see $item
-
-          }
-
-          # Define a proc that knows how to select a tab
-          # given a y pixel coordinate from the list..
-            proc selectTab { y } {
-              set whichItem [.l nearest $y]
-              .ts select $whichItem
-          }
-
-          # Create a listbox with two items (one and two)
-          # and bind button 1 press to the selectTab procedure.
-            listbox .l -selectmode single -exportselection false
-            .l insert end one
-            .l insert end two
-            .l selection set 0
-            pack .l
-            bind .l &lt;ButtonPress-1&gt; { selectTab %y }
-
-          # Create a tabset, set its -command to call selectItem
-          # Add two labels to the tabset (one and two).
-            tabset .ts -command selectItem
-            .ts add -label 1
-            .ts add -label 2
-            .ts select 0
-            pack .ts -fill x -expand no
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Bill W. Scott
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     tab tabset notebook tabnotebook
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</PRE>
-</BODY>
-</HTML>
+<TITLE>tabset - create and manipulate tabs as as set</TITLE>
+<H1>tabset - create and manipulate tabs as as set</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>tabset</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>INHERITANCE</H2>
+itk::Widget &lt;- tabset
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>background</B><br>
+<B>foreground</B><br>
+<B>width</B><br>
+</td>
+<td valign=top>
+<B>font</B><br>
+<B>selectForeground</B><br>
+</td>
+<td valign=top>
+<B>selectBackground</B><br>
+<B>disabledForeground</B><br>
+</td>
+<td valign=top>
+<B>cursor</B><br>
+<B>height</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>angle</B>
+Class:                  <B>Angle</B>
+Command-Line Switch:   <B>-angle</B>
+</pre>
+<UL>
+Specifes the angle of slope from the inner edge to the outer edge of the 
+tab. An angle of 0 specifies square tabs. Valid ranges are 0 to 45 degrees 
+inclusive. Default is 15 degrees. If tabPos is e or w, this option is ignored.
+</UL>
+<P>
+<pre>
+Name:                   <B>backdrop</B>
+Class:                  <B>Backdrop</B>
+Command-Line Switch:   <B>-backdrop</B>
+</pre>
+<UL>
+Specifies a background color to use when filling in the area behind the tabs.
+</UL>
+<P>
+<pre>
+Name:                   <B>bevelAmount</B>
+Class:                  <B>BevelAmount</B>
+Command-Line Switch:   <B>-bevelamount</B>
+</pre>
+<UL>
+Specifes the size of tab corners. A value of 0 with angle set to 0 results 
+in square tabs. A <B>bevelAmount</B> of 4, means that the tab will be 
+drawn with angled corners that cut in 4 pixels from the edge of the 
+tab. The default is 0.
+</UL>
+<P>
+<pre>
+Name:                   <B>command</B>
+Class:                  <B>Command</B>
+Command-Line Switch:   <B>-command</B>
+Specifes the prefix of a Tcl command to invoke to change the view in the 
+widget associated with the tabset. When a user selects a tab, a Tcl command 
+is invoked. The actual command consists of this option followed by a space 
+and a number. The number is the numerical index of the tab that has been 
+selected.
+<P>
+<table>
+Name:                   <B>equalTabs</B>
+Class:                  <B>EqualTabs</B>
+Command-Line Switch:   <B>-equaltabs</B>
+</pre>
+<UL>
+Specifies whether to force tabs to be equal sized or not. A value 
+of <B>true</B> means constrain tabs to be equal sized. A value 
+of <B>false</B> allows each tab to size based on the text label size. The 
+value may have any of the forms accepted by the <B>Tcl_GetBoolean</B>, such 
+as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<UL>
+For horizontally positioned tabs (<B>tabPos</B> is either <B>s</B> 
+or <B>n</B>), <B>true</B> forces all tabs to be equal width (the width being 
+equal to the longest label plus any padX specified). Horizontal tabs are 
+always equal in height. 
+</UL>
+<UL>
+For vertically positioned tabs (<B>tabPos</B> is either <B>w</B> or <B>e</B>), 
+<B>true</B> forces all tabs to be equal height (the height being equal to 
+the height of the label with the largest font). Vertically oriented tabs are 
+always equal in width.
+</UL>
+<P>
+<pre>
+Name:                   <B>gap</B>
+Class:                  <B>Gap</B>
+Command-Line Switch:   <B>-gap</B>
+</pre>
+<UL>
+Specifies the amount of pixel space to place between each tab. Value may 
+be any pixel offset value. In addition, a special keyword <B>overlap</B> 
+can be used as the value to achieve a standard overlap of tabs. This value 
+may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>margin</B>
+Class:                  <B>Margin</B>
+Command-Line Switch:   <B>-margin</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the outside edge of the 
+tabset and the outside edge of its tabs. If <B>tabPos</B> is <B>s</B>, this 
+is the amount of space between the bottom edge of the tabset and the 
+bottom edge of the set of tabs. If <B>tabPos</B> is <B>n</B>, this is the 
+amount of space between the top edge of the tabset and the top edge of the 
+set of tabs. If <B>tabPos</B> is <B>e</B>, this is the amount of space between 
+the right edge of the tabset and the right edge of the set of tabs. 
+If <B>tabPos</B> is <B>w</B>, this is the amount of space between the left 
+edge of the tabset and the left edge of the set of tabs. This value may 
+have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>padX</B>
+Class:                  <B>PadX</B>
+Command-Line Switch:   <B>-padx</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request for 
+a tab around its label in the X-direction. When computing how large a 
+window it needs, the tab will add this amount to the width it would normally 
+need The tab will end up with extra internal space to the left and right of 
+its text label. This value may have any of the forms acceptable 
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>padY</B>
+Class:                  <B>PadY</B>
+Command-Line Switch:   <B>-pady</B>
+</pre>
+<UL>
+Specifies a non-negative value indicating how much extra space to request 
+for a tab around its label in the Y-direction. When computing how large a 
+window it needs, the tab will add this amount to the height it would 
+normally need The tab will end up with extra internal space to the top and 
+bottom of its text label. This value may have any of the forms acceptable 
+to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>raiseSelect</B>
+Class:                  <B>RaiseSelect</B>
+Command-Line Switch:   <B>-raiseselect</B>
+</pre>
+<UL>
+Specifes whether to slightly raise the selected tab from the rest of the 
+tabs. The selected tab is drawn 2 pixels closer to the outside edge of the 
+tabset than the unselected tabs. A value of true says to raise selected 
+tabs, a value of false turns this off. The default is false. The value may 
+have any of the forms accepted by the <B>Tcl_GetBoolean</B>, such 
+as <B>true</B>, <B>false</B>, <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>start</B>
+Class:                  <B>Start</B>
+Command-Line Switch:   <B>-start</B>
+</pre>
+<UL>
+Specifies the amount of space to place between the left or top edge of the 
+tabset and the starting edge of its tabs. For horizontally positioned tabs, 
+this is the amount of space between the left edge of the tabset and the left 
+edge of the first tab. For vertically positioned tabs, this is the amount 
+of space between the top of the tabset and the top of the first tab. This 
+value may change if the user performs a MButton-2 scroll on the tabs. This 
+value may have any of the forms acceptable to <B>Tk_GetPixels</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>state</B>
+Class:                  <B>State</B>
+Command-Line Switch:   <B>-state</B>
+</pre>
+<UL>
+Sets the active state of the tabset. Specifying <B>normal</B> allows all 
+tabs to be selectable. Specifying <B>disabled</B> disables the tabset 
+causing all tabs to be drawn in the disabledForeground color.
+</UL>
+<P>
+<pre>
+Name:                   <B>tabBorders</B>
+Class:                  <B>TabBorders</B>
+Command-Line Switch:   <B>-tabborders</B>
+</pre>
+<UL>
+Specifies whether to draw the borders of tabs that are not selected. 
+Specifying true (the default) draws these borders, specifying false 
+draws only the border around the selected tab. The value may have any 
+of the forms accepted by the <B>Tcl_GetBoolean</B>, such 
+as <B>true</B>, <B>false,</B> <B>0</B>, <B>1</B>, <B>yes</B>, or <B>no</B>.
+</UL>
+<P>
+<pre>
+Name:                   <B>tabPos</B>
+Class:                  <B>TabPos</B>
+Command-Line Switch:   <B>-tabpos</B>
+</pre>
+<UL>
+Specifies the location of the set of tabs in relation to another widget. Must 
+be <B>n</B>, <B>s</B>, <B>e</B>, or <B>w</B>. Defaults to <B>s</B>. North tabs 
+open downward, South tabs open upward. West tabs open to the right, east 
+tabs open to the left.
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+<P>
+The <B>tabset</B> command creates a new window (given by the pathName 
+argument) and makes it into a <B>tabset</B> widget. Additional <I>options</I>, 
+described above may be specified on the command line or in the option 
+database to configure aspects of the tabset such as its colors, font, and 
+text. The <B>tabset</B> command returns its <I>pathName</I> argument. At the 
+time this command is invoked, there must not exist a window 
+named <I>pathName</I>, but pathName's parent must exist.
+<P>
+A <B>tabset</B> is a widget that contains a set of Tab buttons. It displays 
+these tabs in a row or column depending on it tabpos. When a tab is 
+clicked on, it becomes the only tab in the tab set that is selected. All 
+other tabs are deselected. The Tcl command prefix associated with this 
+tab (through the command tab configure option) is invoked with the tab 
+index number appended to its argument list. This allows the tabset to 
+control another widget such as a Notebook.
+</pre><H2>TABS</H2>
+Tabs are drawn to appear attached to another widget. The tabset draws an 
+edge boundary along one of its edges. This edge is known as the attachment 
+edge. This edge location is dependent on the value of <B>tabPos</B>. For 
+example, if <B>tabPos</B> is <B>s</B>, the attachment edge wil be on the 
+top side of the tabset (in order to attach to the bottom or south side of 
+its attached widget). The selected tab is draw with a 3d relief to appear 
+above the other tabs. This selected tab "opens" toward attachment edge. 
+<P>
+Tabs can be controlled in their location along the edges, the angle that 
+tab sides are drawn with, gap between tabs, starting margin of tabs, 
+internal padding around labels in a tab, the font, and its text or bitmap.
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The <B>tabset</B> command creates a new Tcl command whose name 
+is <I>pathName</I>. This command may be used to invoke various operations on 
+the widget. It has the following general form:
+<pre>
+<I>pathName option </I>?<I>arg arg ...</I>?
+</pre>
+<I>option</I> and the <I>arg</I>s
+determine the exact behavior of the command.
+<P>
+Many of the widget commands for a tabset take as one argument an indicator 
+of which tab of the tabset to operate on. These indicators are called indexes 
+and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the tab numerically, where 0 corresponds to the first tab in 
+the tab set, 1 to the second, and so on.
+</DL>
+<DL>
+<DT> <B>select</B>
+</I></B>
+<DD> Specifies the currently selected tab's index. If no tab is currently 
+selected, the value -1 is returned.
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last tab in the tabset's index. If the tabset is empty this 
+will return -1.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy any of the above forms, then this form is 
+used. Pattern is pattern-matched against the label of each tab in the 
+tabset, in order from the first to the last tab, until a matching entry is 
+found. The rules of Tcl_StringMatch are used.
+</DL>
+<P>
+'.............................................................................
+The following commands are possible for tabset widgets:
+<UL>
+<DL>
+<DT> <I>pathName</I> <B>add</B> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Add a new tab at the end of the tabset. Returns the child 
+site <I>pathName</I>. If additional arguments are present, they specify 
+any of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-angle</B> <I>value</I>
+</I></B>
+<DD> Specifes the angle of slope from the inner edge to the outer edge of 
+the tab. An angle of 0 specifies square tabs. Valid ranges are 0 to 
+45 degrees inclusive. Default is 15 degrees. If this option is specified as 
+an empty string (the default), then the angle option for the overall tabset 
+is used.
+</DL>
+<DL>
+<DT> <B>-background</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying tabs when they are in 
+their normal state (unselected). If this option is specified as an empty 
+string (the default), then the background option for the overall tabset is 
+used.
+</DL>
+<DL>
+<DT> <B>-bevelamount</B> <I>value</I>
+</I></B>
+<DD> Specifes the size of tab corners. A value of 0 with angle set to 0 results 
+in square tabs. A bevelAmount of 4, means that the tab will be drawn with 
+angled corners that cut in 4 pixels from the edge of the tab. The default is 
+0. This is generally only set at the tabset configuration level. Tabs 
+normally will want to share the same bevelAmount.
+</DL>
+<DL>
+<DT> <B>-bitmap</B> <I>value</I>
+</I></B>
+<DD> If label is a non-empty string, specifies a bitmap to display in the 
+tab. Bitmap may be of any of the forms accepted by Tk_GetBitmap. 
+</DL>
+<DL>
+<DT> <B>-disabledforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs are 
+in their disable state. If this option is specified as an empty 
+string (the default), then the disabledforeground option for the overall 
+tabset is used.
+</DL>
+<DL>
+<DT> <B>-font</B> <I>value</I>
+</I></B>
+<DD> Specifies the font to use when drawing the label on a tab. If this option 
+is specified as an empty string then the font option for the overall 
+tabset is used.
+</DL>
+<DL>
+<DT> <B>-foreground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying tab labels when tabs 
+are in their normal unselected state. If this option is specified as an 
+empty string (the default), then the foreground option for the overall 
+tabset is used.
+</DL>
+<DL>
+<DT> <B>-image</B> <I>value</I>
+</I></B>
+<DD> If label is a non-empty string, specifies an image to display in the 
+tab. Image must have been created with the image create command. Typically, 
+if the image option is specified then it overrides other options that 
+specify a bitmap or textual value to display in the widget; the image 
+option may be reset to an empty string to re-enable a bitmap or text display. 
+</DL>
+<DL>
+<DT> <B>-label</B> <I>value</I>
+</I></B>
+<DD> Specifies a text string to be placed in the tabs label. If this value is 
+set, the bitmap option is overridden and this option is used instead. This 
+label serves as an additional identifier used to reference the tab. This 
+label may be used for the index value in widget commands.
+</DL>
+<DL>
+<DT> <B>-selectbackground</B> <I>value</I>
+</I></B>
+<DD> Specifies a background color to use for displaying the selected tab. If 
+this option is specified as an empty string (the default), then the 
+selectBackground option for the overall tabset is used.
+</DL>
+<DL>
+<DT> <B>-selectforeground</B> <I>value</I>
+</I></B>
+<DD> Specifies a foreground color to use for displaying the selected tab. If 
+this option is specified as an empty string (the default), then the 
+selectForeground option for the overall tabset is used.
+</DL>
+<DL>
+<DT> <B>-padx</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request 
+for a tab around its label in the X-direction. When computing how large 
+a window it needs, the tab will add this amount to the width it would 
+normally need The tab will end up with extra internal space to the left 
+and right of its text label. This value may have any of the forms acceptable 
+to Tk_GetPixels. If this option is specified as an empty string (the 
+default), then the padX option for the overall tabset is used
+</DL>
+<DL>
+<DT> <B>-pady</B> <I>value</I>
+</I></B>
+<DD> Specifies a non-negative value indicating how much extra space to request 
+for a tab around its label in the Y-direction. When computing how large 
+a window it needs, the tab will add this amount to the height it would 
+normally need The tab will end up with extra internal space to the top 
+and bottom of its text label. This value may have any of the forms 
+acceptable to Tk_GetPixels. If this option is specified as an empty 
+string (the default), then the padY option for the overall tabset is used
+</DL>
+<DL>
+<DT> <B>-state</B> <I>value</I>
+</I></B>
+<DD> Sets the state of the tab. Specifying normal allows this tab to be 
+selectable. Specifying disabled disables the this tab causing its tab label 
+to be drawn in the disabledForeground color. The tab will not respond to 
+events until the state is set back to normal.
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Query or modify the configuration options of the widget. If no <I>option</I> 
+is specified, returns a list describing all of the available options 
+for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for information on the 
+format of this list). If option is specified with no value, then the 
+command returns a list describing the one named option (this list will be 
+identical to the corresponding sublist of the value returned if no option 
+is specified). If one or more option-value pairs are specified, then the 
+command modifies the given widget option(s) to have the given value(s); in 
+this case the command returns an empty string. <I>Option</I> may have any 
+of the values accepted by the tabset command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index1</I> ?<I>index2</I>?
+</I></B>
+<DD> Delete all of the tabs between <I>index1</I> and <I>index2</I> inclusive. 
+If <I>index2</I> is omitted then it defaults to <I>index1</I>. Returns an 
+empty string.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the numerical index corresponding to <I>index</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>index</I> ?<I>option</I> <I>value</I> <I>option</I> <I>value</I> ...?
+</I></B>
+<DD> Insert a new tab in the tabset before the tab specified by <I>index</I>. The 
+additional arguments are the same as for the <B>add</B> command. Returns 
+the tab's <I>pathName</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>next</B>
+</I></B>
+<DD> Advances the selected tab to the next tab (order is determined by insertion 
+order). If the currently selected tab is the last tab in the tabset, the 
+selection wraps around to the first tab. It behaves as if the user 
+selected the next tab.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>tabconfigure</B> <I>index</I> ?<I>option</I>? ?<I>value</I>?
+</I></B>
+<DD> This command is similar to the <B>configure</B> command, except that it 
+applies to the options for an individual tab, whereas configure applies to 
+the options for the tabset as a whole. Options may have any of the values 
+accepted by the <B>add</B> widget command. If options are specified, options 
+are modified as indicated in the command and the command returns an empty 
+string. If no options are specified, returns a list describing the current 
+options for tab index (see <B>Tk_ConfigureInfo</B> for information on 
+the format of this list).
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>prev</B>
+</I></B>
+<DD> Moves the selected tab to the previous tab (order is determined by insertion 
+order). If the currently selected tab is the first tab in the tabset, the 
+selection wraps around to the last tab in the tabset. It behaves as if 
+the user selected the previous tab.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>select</B> <I>index</I>
+</I></B>
+<DD> Selects the tab specified by <I>index</I> as the currently selected tab. It 
+behaves as if the user selected the new tab.
+
+</DL>
+</pre><H2>EXAMPLE </H2>
+<P>
+Following is an example that creates a tabset with two tabs and a list box 
+that the tabset controls. In addition selecting an item from the list 
+also selects the corresponding tab.
+<P>
+<table cellpadding=5>
+<td valign=top>
+<UL><br>
+a<br>
+how<br>
+item<br>
+list<br>
+from<br>
+callback.<br>
+item<br>
+selection<br>
+.l<br>
+.l<br>
+<UL><br>
+proc<br>
+to<br>
+#<br>
+pixel<br>
+list..<br>
+y<br>
+whichItem<br>
+.ts<br>
+</UL><br>
+a<br>
+items<br>
+#<br>
+1<br>
+selectTab<br>
+-selectmode<br>
+.l<br>
+.l<br>
+.l<br>
+pack<br>
+&lt;ButtonPress-1&gt;<br>
+}<br>
+Create<br>
+its<br>
+selectItem<br>
+labels<br>
+(one<br>
+.ts<br>
+add<br>
+add<br>
+select<br>
+-fill<br>
+</UL><br>
+</td>
+<td valign=top>
+</UL><br>
+proc<br>
+to<br>
+#<br>
+given<br>
+the<br>
+proc<br>
+}<br>
+clear<br>
+selection<br>
+see<br>
+#<br>
+that<br>
+select<br>
+given<br>
+coordinate<br>
+proc<br>
+}<br>
+[.l<br>
+select<br>
+<UL><br>
+listbox<br>
+(one<br>
+and<br>
+press<br>
+procedure.<br>
+single<br>
+insert<br>
+insert<br>
+selection<br>
+.l<br>
+{<br>
+</UL><br>
+a<br>
+-command<br>
+#<br>
+to<br>
+and<br>
+-command<br>
+-label<br>
+-label<br>
+0<br>
+x<br>
+</td>
+<td valign=top>
+#<br>
+that<br>
+select<br>
+from<br>
+an<br>
+tabset<br>
+selectItem<br>
+{<br>
+[.l<br>
+set<br>
+$item<br>
+Define<br>
+knows<br>
+a<br>
+a<br>
+from<br>
+selectTab<br>
+{<br>
+nearest<br>
+$whichItem<br>
+#<br>
+with<br>
+and<br>
+bind<br>
+to<br>
+listbox<br>
+-exportselection<br>
+end<br>
+end<br>
+set<br>
+bind<br>
+selectTab<br>
+<UL><br>
+tabset,<br>
+to<br>
+Add<br>
+the<br>
+two).<br>
+selectItem<br>
+1<br>
+2<br>
+pack<br>
+-expand<br>
+</td>
+<td valign=top>
+Define<br>
+knows<br>
+an<br>
+a<br>
+index<br>
+-command<br>
+{<br>
+.l<br>
+curselection]<br>
+$item<br>
+}<br>
+a<br>
+how<br>
+tab<br>
+y<br>
+the<br>
+{<br>
+set<br>
+$y]<br>
+}<br>
+Create<br>
+two<br>
+two)<br>
+button<br>
+the<br>
+.l<br>
+false<br>
+one<br>
+two<br>
+0<br>
+.l<br>
+%y<br>
+#<br>
+set<br>
+call<br>
+two<br>
+tabset<br>
+tabset<br>
+.ts<br>
+.ts<br>
+.ts<br>
+.ts<br>
+no<br>
+</td>
+</table>
+</pre><H2>AUTHOR</H2>
+Bill W. Scott
+</pre><H2>KEYWORDS</H2>
+tab tabset notebook tabnotebook
index 4292c0d..456fd67 100644 (file)
-<HTML>
-<HEAD>
-<TITLE>iwidgets2.2.0 User Commands - toolbar</TITLE>
-</HEAD>
-<BODY BGCOLOR="#FFFFFF">
-<H1>iwidgets2.2.0 User Commands - toolbar</H1>
-<HR>
-<PRE>
+<TITLE><B>toolbar</B> - Create and manipulate a tool bar</TITLE>
+<H1><B>toolbar</B> - Create and manipulate a tool bar</H1>
+
+</pre><H2>SYNOPSIS</H2>
+<B>toolbar</B> <I>pathName</I> ?<I>options</I>?
+</pre><H2>STANDARD OPTIONS</H2>
+<P>
+<table cellpadding=5>
+<td valign=top>
+<B>activeBackground</B><br>
+<B>activeForeground</B><br>
+<B>background</B><br>
+<B>borderWidth</B><br>
+<B>cursor</B><br>
+</td>
+<td valign=top>
+<B>disabledForeground</B><br>
+<B>font</B><br>
+<B>foreground</B><br>
+<B>highlightBackground</B><br>
+<B>highlightColor</B><br>
+</td>
+<td valign=top>
+<B>highlightThickness</B><br>
+<B>insertBackground</B><br>
+<B>insertForeground</B><br>
+<B>orient</B><br>
+<B>selectBackground</B><br>
+</td>
+<td valign=top>
+<B>selectBorderWidth</B><br>
+<B>selectColor</B><br>
+<B>selectForeground</B><br>
+<B>state</B><br>
+<B>troughColor</B><br>
+</td>
+</table>
+<P>
+See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options. For widgets
+added to the toolbar, these options will be propogated if the widget supports
+the option. For example, all widgets that support a font option will be changed
+if the the toolbar's font option is configured. 
+</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
+<P>
+<pre>
+Name:                   <B>balloonBackground</B>
+Class:                  <B>BalloonBackground</B>
+Command-Line Switch:   <B>-ballooonbackground</B>
+</pre>
+<UL>
+Specifies the background color of the balloon help displayed at the bottom 
+center of a widget on the toolbar that has a non empty string for its 
+balloonStr option. The default color is yellow.
+</UL>
+<P>
+<pre>
+Name:                   <B>balloonDelay1</B>
+Class:                  <B>BalloonDelay1</B>
+Command-Line Switch:   <B>-balloondelay1</B>
+</pre>
+<UL>
+Specifies the length of time (in milliseconds) to wait before initially 
+posting a balloon help hint window. This delay is in effect whenever 1) 
+the mouse leaves the toolbar, or 2) a toolbar item is selected with the 
+mouse button.
+</UL>
+<P>
+<pre>
+Name:                   <B>balloonDelay2</B>
+Class:                  <B>BalloonDelay2</B>
+Command-Line Switch:   <B>-balloondelay2</B>
+</pre>
+<UL>
+Specifies the length of time (in milliseconds) to wait before continuing to 
+post balloon help hint windows. This delay is in effect after the first 
+time a balloon hint window is activated. It remains in effect until 1) the 
+mouse leaves the toolbar, or 2) a toolbar item is selected with the mouse 
+button.
+</UL>
+<P>
+<pre>
+Name:                   <B>balloonFont</B>
+Class:                  <B>BalloonFont</B>
+Command-Line Switch:   <B>-balloonfont</B>
+</pre>
+<UL>
+Specifies the font of the balloon help text displayed at the bottom center 
+of a widget on the toolbar that has a non empty string for its 
+balloonStr option. The default font is 6x10.
+</UL>
+<P>
+<pre>
+Name:                   <B>balloonForeground</B>
+Class:                  <B>BalloonForeground</B>
+Command-Line Switch:   <B>-ballooonforeground</B>
+</pre>
+<UL>
+Specifies the foreground color of the balloon help displayed at the 
+bottom center of a widget on the toolbar that has a non empty string for 
+its balloonStr option. The default color is black.
+</UL>
+<P>
+<pre>
+Name:                   <B>helpVariable</B>
+Class:                  <B>HelpVariable</B>
+Command-Line Switch:   <B>-helpvariable</B>
+</pre>
+<UL>
+Specifies the global variable to update whenever the mouse is in motion 
+over a toolbar widget. This global variable is updated with the current 
+value of the active widget's helpStr. Other widgets can "watch" this 
+variable with the trace command, or as is the case with entry or label 
+widgets, they can set their textVariable to the same global variable. This 
+allows for a simple implementation of a help status bar. Whenever the 
+mouse leaves a menu entry, the helpVariable is set to the empty string {}.
+</UL>
+<P>
+<pre>
+Name:                   <B>orient</B>
+Class:                  <B>Orient</B>
+Command-Line Switch:   <B>-orient</B>
+</pre>
+<UL>
+Specifies the orientation of the toolbar. Must be either horizontal or
+vertical. 
+</UL>
+</pre><HR>
+</pre><H2>DESCRIPTION</H2>
+The <B>toolbar</B> command creates a new window (given by the pathName 
+argument) and makes it into a <B>toolbar</B> widget. Additional options, 
+described above may be specified on the command line or in the option 
+database to configure aspects of the toolbar such as its colors, font, 
+and orientation. The <B>toolbar</B> command returns its pathName argument. At 
+the time this command is invoked, there must not exist a window named 
+pathName, but pathName's parent must exist. 
+<P>
+A <B>toolbar</B> is a widget that displays a collection of widgets arranged 
+either in a row or a column (depending on the value of the -orient option). 
+This collection of widgets is usually for user convenience to give access 
+to a set of commands or settings. Any widget may be placed on a toolbar. 
+However, command or value-oriented widgets (such as button, radiobutton, 
+etc.) are usually the most useful kind of widgets to appear on a toolbar.  
+<P>
+In addition, the toolbar adds two new options to all widgets that are added to
+it. These are the <B>helpStr</B> and <B>balloonStr</B> options. See the 
+discussion for the widget command add below.
+
+</pre><H2>WIDGET-SPECIFIC METHODS</H2>
+<P>
+The toolbar command creates a new Tcl command whose name is pathName. This
+command may be used to invoke various operations on the widget. It has the
+following general form:
+<pre>
+<I>pathName</I> <I>option</I> <I>?arg arg ...?</I>
+</pre>
+Option and args determine the exact behavior of the command. 
+<P>
+Many of the widget commands for a toolbar take as one argument an indicator of
+which widget item of the toolbar to operate on. The indicator is called 
+an <B>index</B> and may be specified in any of the following forms:
+<DL>
+<DT> <I>number</I>
+</I></B>
+<DD> Specifies the widget numerically, where 0 corresponds to the first
+widget in the notebook, 1 to the second, and so on. (For horizontal, 0 is the
+leftmost; for vertical, 0 is the topmost). 
+</DL>
+<DL>
+<DT> <B>end</B>
+</I></B>
+<DD> Specifes the last widget in the toolbar's index. If the toolbar is
+empty this will return -1. 
+</DL>
+<DL>
+<DT> <B>last</B>
+</I></B>
+<DD> Same as end.
+</DL>
+<DL>
+<DT> <I>pattern</I>
+</I></B>
+<DD> If the index doesn't satisfy any of the above forms, then this form is
+used. Pattern is pattern-matched against the widgetName of each widget in the
+toolbar, in order from the first to the last widget, until a matching entry is
+found. An exact match must occur. 
+</DL>
+<P>
+The following commands are possible for toolbar widgets:
+<DL>
+<DT> <I>pathName</I> <B>add</B> <I>widgetCommand</I> <I>widgetName</I> <I>?option value?</I>
+</I></B>
+<DD> Adds a widget with the command widgetCommand whose name is widgetName to the
+toolbar. If widgetCommand is radiobutton or checkbutton, its packing is
+slightly padded to match the geometry of button widgets. In addition, the
+indicatorOn option is false by default and the selectColor is that of the
+toolbar background by default. This allows Radiobutton and Checkbutton widgets
+to be added as icons by simply setting their bitmap or image options. If 
+additional arguments are present, they are the set of available options
+that the widget type of <I>widgetCommand</I> supports. In addition they may
+also be one of the following options:
+</DL>
+<UL>
+<DL>
+<DT> <B>-helpstr</B> <I>value</I>
+</I></B>
+<DD> Specifes the help string to associate with the widget. When the mouse moves
+over the widget, the variable denoted by <B>helpVariable</B> is set 
+to <B>helpStr</B>. Another widget can bind to the helpVariable and thus 
+track status help. 
+</DL>
+<DL>
+<DT> <B>-balloonstr</B> <I>value</I>
+</I></B>
+<DD> Specifes the string to display in a balloon window for this widget. A 
+balloon window is a small popup window centered at the bottom of the 
+widget. Usually the <B>balloonStr</B> value is the name of the item on the 
+toolbar. It is sometimes known as a hint window.
+<UL>
+When the mouse moves into an item on the toolbar, a timer is set based on 
+the value of <B>balloonDelay1</B>. If the mouse stays inside the item 
+for <B>balloonDelay1</B>, the balloon window will pop up displaying 
+the <B>balloonStr</B> value. Once the balloon window is posted, a new 
+timer based on <B>balloonDelay2</B> is set. This is typically a shorter 
+timer. If the mouse is moved to another item, the window is unposted and 
+a new window will be posted over the item if the shorter delay time is 
+satisfied. 
+</UL>
+<UL>
+While the balloon window is posted, it can also be unposted if the item 
+is selected. In this case the timer is reset to <B>balloonDelay1</B>. 
+Whenever the mouse leaves the toolbar, the timer is also reset 
+to <B>balloonDelay1</B>.
+</UL>
+<UL>
+This window posting/unposting model is the same model used in the 
+Windows95 environment.
+</UL>
+</DL>
+</UL>
+<DL>
+<DT> <I>pathName</I> <B>cget</B> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I>.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>configure</B> ?<I>option</I> <I>value</I>?
+</I></B>
+<DD> Query or modify the configuration options of the widget. If no <I>option</I> is
+specified, returns a list describing all of the available options for pathName
+(see Tk_ConfigureInfo for information on the format of this list). If 
+<I>option</I> is specified with no value, then the command returns a 
+list describing the one
+named option (this list will be identical to the corresponding sublist of the
+value returned if no option is specified). If one or more option-value pairs
+are specified, then the command modifies the given widget option(s) to have the
+given value(s); in this case the command returns an empty string. 
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>delete</B> <I>index</I> ?<I>index2</I>?
+</I></B>
+<DD> This command deletes all items between <I>index</I> and <I>index2</I> 
+inclusive. If <I>index2</I> is omitted then it defaults to <I>index</I>. 
+Returns an empty string. 
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>index</B> <I>index</I>
+</I></B>
+<DD> Returns the widget's numerical index for the entry corresponding 
+to <I>index</I>. If <I>index</I> is not found, -1 is returned. 
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>insert</B> <I>beforeIndex</I> <I>widgetCommand</I> <I>widgetName</I> <I>?option value?</I>
+</DL>
+<DL>
+<DT> Insert a new item named <I>widgetName</I> with the 
+</I></B>
+<DD> command <I>widgetCommand</I> before the item specified by <I>beforeIndex</I>. 
+If <I>widgetCommand</I> is <B>radiobutton</B> or <B>checkbutton</B>, its 
+packing is slightly padded to match the geometry of button widgets. In 
+addition, the <B>indicatorOn</B> option is <B>false</B> by default and the
+<B>selectColor</B> is that of the toolbar background by default. This allows
+<B>Radiobutton</B> and <B>Checkbutton</B> widgets to be added as icons by 
+simply setting their <B>bitmap</B> or <B>image</B> options. The set of 
+available options is the same as specified in the <B>ad</B> command.
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>itemcget</B> <I>index</I> <I>option</I>
+</I></B>
+<DD> Returns the current value of the configuration option given by <I>option</I> for
+index. The item type of <I>index</I> determines the valid available options. 
+</DL>
+<DL>
+<DT> <I>pathName</I> <B>itemconfigure</B> <I>index</I> <I>?option value?</I>
+</I></B>
+<DD> Query or modify the configuration options of the widget of the toolbar
+specified by <I>index</I>. If no option is specified, 
+returns a list describing all of
+the available options for <I>index</I> 
+(see <B>Tk_ConfigureInfo</B> for information on the
+format of this list). If <I>option</I> is specified with no value, 
+then the command
+returns a list describing the one named option (this list will be identical to
+the corresponding sublist of the value returned if no option is specified). If
+one or more option-value pairs are specified, then the command modifies the
+given widget option(s) to have the given value(s); in this case the command
+returns an empty string. The item type of <I>index</I> determines the valid
+available options. The set of available options is the same as specified 
+in the <B>ad</B> command.
+</DL>
+</pre><H2>EXAMPLE</H2>
+<pre>
+ toolbar .tb -helpvariable statusVar
+
+ .tb add button item1 \\
+    -helpstr "Save It" -bitmap @./icons/Tool_32_box.xbm \\
+    -balloonstr "Save" -command {puts 1}
+ .tb add button item2 \\
+    -helpstr "Save It" -bitmap @./icons/Tool_32_brush.xbm \\
+    -balloonstr "Save" -command {puts 1}
+ .tb add button item3 \\
+    -helpstr "Save It" -bitmap @./icons/Tool_32_cut.xbm \\
+    -balloonstr "Save" -command {puts 1}
+ .tb add button item4 \\
+    -helpstr "Save It" -bitmap @./icons/Tool_32_draw.xbm \\
+    -balloonstr "Save" -command {puts 1}
+ .tb add button item5 \\
+    -bitmap @./icons/Tool_32_erase.xbm -helpstr "Play It" \\
+    -command {puts 2}
+ .tb add frame filler \\
+    -borderwidth 1 -width 10 -height 10
+ .tb add radiobutton item6 \\
+    -bitmap @./icons/Tool_32_oval.xbm -command {puts 4} \\
+    -variable result -value OPEN -helpstr "Radio Button # 1" \\
+    -balloonstr "Radio"
+ .tb add radiobutton item7 \\
+    -bitmap @./icons/Tool_32_line.xbm -command {puts 5} \\
+    -variable result -value CLOSED
+ .tb add checkbutton item8 \\
+    -bitmap @./icons/Tool_32_text.xbm -command {puts 6} \\
+    -variable checkit -onvalue yes -offvalue no    
+ .tb add checkbutton check2 \\
+    -bitmap @./icons/Tool_32_points.xbm -command {puts 7} \\
+     -variable checkit2 -onvalue yes -offvalue no    
+
+ pack .tb -side top -anchor nw
+</pre>
+</pre><H2>AUTHOR</H2>
+Bill Scott
+</pre><H2>KEYWORDS</H2>
+toolbar, button, radiobutton, checkbutton, iwidgets, widget
 
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>NAME</H2><PRE>
-     <STRONG>toolbar</STRONG> - Create and manipulate a tool bar
-
-
-</PRE>
-<H2>SYNOPSIS</H2><PRE>
-     <STRONG>toolbar</STRONG> <EM>pathName</EM> ?<EM>options</EM>?
-
-
-</PRE>
-<H2>STANDARD OPTIONS</H2><PRE>
-     <STRONG>activeBackground</STRONG>               <STRONG>font</STRONG>            <STRONG>insertForegroundselectForeground</STRONG>
-     <STRONG>activeForeground</STRONG>               <STRONG>foreground</STRONG>      <STRONG>orientstate</STRONG>
-     <STRONG>background</STRONG>      <STRONG>highlightBackground</STRONG>            <STRONG>relieftroughColor</STRONG>
-     <STRONG>borderWidth</STRONG>     <STRONG>highlightColor</STRONG> <STRONG>selectBackgroundcursor</STRONG>
-     <STRONG>highlightThickness</STRONG>             <STRONG>selectBorderWidthdisabledForegroundinsertBackground</STRONG>
-     <STRONG>selectColor</STRONG>
-
-     See the "options" manual entry for details on  the  standard
-     options.  For  widgets  added  to the toolbar, these options
-     will be propogated if the widget supports  the  option.  For
-     example,  all  widgets  that  support  a font option will be
-     changed if the the toolbar's font option is configured.
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
-     Name:           <STRONG>balloonBackground</STRONG>
-     Class:          <STRONG>BalloonBackground</STRONG>
-     Command-Line Switch:           <STRONG>-ballooonbackground</STRONG>
-
-          Specifies the background  color  of  the  balloon  help
-          displayed at the bottom center of a widget on the tool-
-          bar that has a non  empty  string  for  its  balloonStr
-          option. The default color is yellow.
-
-     Name:           <STRONG>balloonDelay1</STRONG>
-     Class:          <STRONG>BalloonDelay1</STRONG>
-     Command-Line Switch:           <STRONG>-balloondelay1</STRONG>
-
-          Specifies the length of time (in milliseconds) to  wait
-          before  initially  posting  a balloon help hint window.
-          This delay is in effect whenever 1)  the  mouse  leaves
-          the  toolbar, or 2) a toolbar item is selected with the
-          mouse button.
-
-     Name:           <STRONG>balloonDelay2</STRONG>
-     Class:          <STRONG>BalloonDelay2</STRONG>
-     Command-Line Switch:           <STRONG>-balloondelay2</STRONG>
-
-          Specifies the length of time (in milliseconds) to  wait
-          before  continuing  to  post balloon help hint windows.
-          This delay is in effect after the first time a  balloon
-          hint window is activated. It remains in effect until 1)
-          the mouse leaves the toolbar, or 2) a toolbar  item  is
-          selected with the mouse button.
-
-     Name:           <STRONG>balloonFont</STRONG>
-     Class:          <STRONG>BalloonFont</STRONG>
-     Command-Line Switch:           <STRONG>-balloonfont</STRONG>
-
-          Specifies the font of the balloon help  text  displayed
-          at  the  bottom  center of a widget on the toolbar that
-          has a non empty string for its balloonStr  option.  The
-          default font is 6x10.
-
-     Name:           <STRONG>balloonForeground</STRONG>
-     Class:          <STRONG>BalloonForeground</STRONG>
-     Command-Line Switch:           <STRONG>-ballooonforeground</STRONG>
-
-          Specifies the foreground  color  of  the  balloon  help
-          displayed at the bottom center of a widget on the tool-
-          bar that has a non  empty  string  for  its  balloonStr
-          option. The default color is black.
-
-     Name:           <STRONG>helpVariable</STRONG>
-     Class:          <STRONG>HelpVariable</STRONG>
-     Command-Line Switch:           <STRONG>-helpvariable</STRONG>
-
-          Specifies the global variable to  update  whenever  the
-          mouse  is  in motion over a toolbar widget. This global
-          variable is updated  with  the  current  value  of  the
-          active widget's helpStr. Other widgets can "watch" this
-          variable with the trace command, or as is the case with
-          entry or label widgets, they can set their textVariable
-          to the same global variable. This allows for  a  simple
-          implementation of a help status bar. Whenever the mouse
-          leaves a menu entry, the helpVariable  is  set  to  the
-          empty string {}.
-
-     Name:           <STRONG>orient</STRONG>
-     Class:          <STRONG>Orient</STRONG>
-     Command-Line Switch:           <STRONG>-orient</STRONG>
-
-          Specifies the  orientation  of  the  toolbar.  Must  be
-          either horizontal or vertical.
-
-</PRE>
-<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>
-
-
-</PRE>
-<H2>DESCRIPTION</H2><PRE>
-     The <STRONG>toolbar</STRONG> command creates a new window (given by the path-
-     Name  argument)  and  makes  it into a <STRONG>toolbar</STRONG> widget. Addi-
-     tional options, described above may be specified on the com-
-     mand  line or in the option database to configure aspects of
-     the toolbar such as its colors, font, and  orientation.  The
-     <STRONG>toolbar</STRONG>  command  returns its pathName argument. At the time
-     this command is invoked, there must not exist a window named
-     pathName, but pathName's parent must exist.
-
-
-     A <STRONG>toolbar</STRONG> is a widget that displays a collection of  widgets
-     arranged either in a row or a column (depending on the value
-     of the -orient option). This collection of widgets  is  usu-
-     ally  for  user  convenience to give access to a set of com-
-     mands or settings. Any widget may be placed  on  a  toolbar.
-     However,  command or value-oriented widgets (such as button,
-     radiobutton, etc.) are usually the most useful kind of widg-
-     ets to appear on a toolbar.
-
-     In addition, the toolbar adds two new options to all widgets
-     that  are  added to it. These are the <STRONG>helpStr</STRONG> and <STRONG>balloonStr</STRONG>
-     options. See the  discussion  for  the  widget  command  add
-     below.
-
-
-
-</PRE>
-<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
-     The toolbar command creates a new Tcl command whose name  is
-     pathName.  This command may be used to invoke various opera-
-     tions on the widget. It has the following general form:
-
-          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?
-
-     Option and args determine the exact behavior of the command.
-
-     Many of the widget commands for a toolbar take as one  argu-
-     ment  an  indicator  of  which widget item of the toolbar to
-     operate on. The indicator is called  an  <STRONG>index</STRONG>  and  may  be
-     specified in any of the following forms:
-
-     <EM>number</EM>
-          Specifies the widget numerically, where  0  corresponds
-          to  the  first widget in the notebook, 1 to the second,
-          and so on. (For horizontal,  0  is  the  leftmost;  for
-          vertical, 0 is the topmost).
-
-     <STRONG>end</STRONG>  Specifes the last widget in the toolbar's index. If the
-          toolbar is empty this will return -1.
-
-     <STRONG>last</STRONG> Same as end.
-
-     <EM>pattern</EM>
-          If the index doesn't satisfy any of  the  above  forms,
-          then  this  form  is  used.  Pattern is pattern-matched
-          against the widgetName of each widget in  the  toolbar,
-          in  order  from  the  first to the last widget, until a
-          matching entry is found. An exact match must occur.
-
-     The following commands are possible for toolbar widgets:
-
-     <EM>pathName</EM> <STRONG>add</STRONG> <EM>widgetCommand</EM> <EM>widgetName</EM> ?<EM>option</EM> <EM>value</EM>?
-          Adds a widget with the command widgetCommand whose name
-          is  widgetName  to  the  toolbar.  If  widgetCommand is
-          radiobutton or checkbutton,  its  packing  is  slightly
-          padded  to  match  the  geometry  of button widgets. In
-          addition, the indicatorOn option is  false  by  default
-          and  the  selectColor is that of the toolbar background
-          by default. This  allows  Radiobutton  and  Checkbutton
-          widgets  to  be  added as icons by simply setting their
-          bitmap or image options. If  additional  arguments  are
-          present, they are the set of available options that the
-          widget type of <EM>widgetCommand</EM> supports. In addition they
-          may also be one of the following options:
-
-          <STRONG>-helpstr</STRONG> <EM>value</EM>
-               Specifes the help string  to  associate  with  the
-               widget.  When the mouse moves over the widget, the
-               variable  denoted  by  <STRONG>helpVariable</STRONG>  is   set   to
-               <STRONG>helpStr</STRONG>.  Another widget can bind to the helpVari-
-               able and thus track status help.
-
-          <STRONG>-balloonstr</STRONG> <EM>value</EM>
-               Specifes the string to display in a balloon window
-               for this widget. A balloon window is a small popup
-               window centered at the bottom of the widget.  Usu-
-               ally  the <STRONG>balloonStr</STRONG> value is the name of the item
-               on the toolbar. It is sometimes known  as  a  hint
-               window.
-
-               When the mouse moves into an item on the  toolbar,
-               a  timer  is  set based on the value of <STRONG>balloonDe-</STRONG>
-               <STRONG>lay1</STRONG>. If the mouse stays inside the item for  <STRONG>bal-</STRONG>
-               <STRONG>loonDelay1</STRONG>,   the   balloon  window  will  pop  up
-               displaying the <STRONG>balloonStr</STRONG> value. Once the  balloon
-               window  is posted, a new timer based on <STRONG>balloonDe-</STRONG>
-               <STRONG>lay2</STRONG> is set. This is typically a shorter timer. If
-               the  mouse is moved to another item, the window is
-               unposted and a new window will be posted over  the
-               item if the shorter delay time is satisfied.
-
-               While the balloon window is posted, it can also be
-               unposted if the item is selected. In this case the
-               timer is  reset  to  <STRONG>balloonDelay1</STRONG>.  Whenever  the
-               mouse  leaves the toolbar, the timer is also reset
-               to <STRONG>balloonDelay1</STRONG>.
-
-               This window posting/unposting model  is  the  same
-               model used in the Windows95 environment.
-
-     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given by <EM>option</EM>.
-
-     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM> <EM>value</EM>?
-          Query  or  modify  the  configuration  options  of  the
-          widget.  If  no  <EM>option</EM>  is  specified,  returns a list
-          describing all of the available  options  for  pathName
-          (see  Tk_ConfigureInfo for information on the format of
-          this list). If <EM>option</EM> is specified with no value,  then
-          the  command  returns  a  list describing the one named
-          option (this list will be identical to the  correspond-
-          ing  sublist  of  the  value  returned  if no option is
-          specified). If  one  or  more  option-value  pairs  are
-          specified,  then  the command modifies the given widget
-          option(s) to have the given value(s); in this case  the
-          command returns an empty string.
-
-     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>index</EM> ?<EM>index2</EM>?
-          This command deletes all items between <EM>index</EM> and <EM>index2</EM>
-          inclusive.  If  <EM>index2</EM>  is  omitted then it defaults to
-          <EM>index</EM>. Returns an empty string.
-
-     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
-          Returns the widget's  numerical  index  for  the  entry
-          corresponding  to  <EM>index</EM>.  If <EM>index</EM> is not found, -1 is
-          returned.
-
-
-</PRE>
-<H2>value?</H2><PRE>
-     <EM>pathName</EM>  <STRONG>insert</STRONG>  <EM>beforeIndex</EM>  <EM>widgetCommand</EM>  <EM>widgetName</EM>  ?<EM>option</EM>
-
-     Insert a new item named <EM>widgetName</EM> with the
-          command <EM>widgetCommand</EM>  before  the  item  specified  by
-          <EM>beforeIndex</EM>.  If <EM>widgetCommand</EM> is <STRONG>radiobutton</STRONG> or <STRONG>check-</STRONG>
-          <STRONG>button</STRONG>, its packing is slightly  padded  to  match  the
-          geometry  of  button  widgets. In addition, the <STRONG>indica-</STRONG>
-          <STRONG>torOn</STRONG> option is <STRONG>false</STRONG> by default and the <STRONG>selectColor</STRONG> is
-          that  of the toolbar background by default. This allows
-          <STRONG>Radiobutton</STRONG> and <STRONG>Checkbutton</STRONG>  widgets  to  be  added  as
-          icons  by simply setting their <STRONG>bitmap</STRONG> or <STRONG>image</STRONG> options.
-          The set of available options is the same  as  specified
-          in the <STRONG>ad</STRONG> command.
-
-     <EM>pathName</EM> <STRONG>itemcget</STRONG> <EM>index</EM> <EM>option</EM>
-          Returns the current value of the  configuration  option
-          given  by  <EM>option</EM>  for  index.  The  item type of <EM>index</EM>
-          determines the valid available options.
-
-     <EM>pathName</EM> <STRONG>itemconfigure</STRONG> <EM>index</EM> ?<EM>option</EM> <EM>value</EM>?
-          Query or modify the configuration options of the widget
-          of  the  toolbar  specified  by  <EM>index</EM>. If no option is
-          specified, returns a list describing all of the  avail-
-          able options for <EM>index</EM> (see <STRONG>Tk_ConfigureInfo</STRONG> for infor-
-          mation on the format of this list). If <EM>option</EM> is speci-
-          fied  with  no  value,  then the command returns a list
-          describing the one named  option  (this  list  will  be
-          identical  to  the  corresponding  sublist of the value
-          returned if no option is specified).  If  one  or  more
-          option-value  pairs  are  specified,  then  the command
-          modifies the given widget option(s) to have  the  given
-          value(s);  in  this  case  the command returns an empty
-          string. The item type of  <EM>index</EM>  determines  the  valid
-          available  options. The set of available options is the
-          same as specified in the <STRONG>ad</STRONG> command.
-
-
-</PRE>
-<H2>EXAMPLE</H2><PRE>
-           toolbar .tb -helpvariable statusVar
-
-           .tb add button item1 \
-              -helpstr "Save It" -bitmap @./icons/Tool_32_box.xbm \
-              -balloonstr "Save" -command {puts 1}
-           .tb add button item2 \
-              -helpstr "Save It" -bitmap @./icons/Tool_32_brush.xbm \
-              -balloonstr "Save" -command {puts 1}
-           .tb add button item3 \
-              -helpstr "Save It" -bitmap @./icons/Tool_32_cut.xbm \
-              -balloonstr "Save" -command {puts 1}
-           .tb add button item4 \
-              -helpstr "Save It" -bitmap @./icons/Tool_32_draw.xbm \
-              -balloonstr "Save" -command {puts 1}
-           .tb add button item5 \
-              -bitmap @./icons/Tool_32_erase.xbm -helpstr "Play It" \
-              -command {puts 2}
-           .tb add frame filler \
-              -borderwidth 1 -width 10 -height 10
-           .tb add radiobutton item6 \
-              -bitmap @./icons/Tool_32_oval.xbm -command {puts 4} \
-              -variable result -value OPEN -helpstr "Radio Button # 1" \
-              -balloonstr "Radio"
-           .tb add radiobutton item7 \
-              -bitmap @./icons/Tool_32_line.xbm -command {puts 5} \
-              -variable result -value CLOSED
-           .tb add checkbutton item8 \
-              -bitmap @./icons/Tool_32_text.xbm -command {puts 6} \
-              -variable checkit -onvalue yes -offvalue no
-           .tb add checkbutton check2 \
-              -bitmap @./icons/Tool_32_points.xbm -command {puts 7} \
-               -variable checkit2 -onvalue yes -offvalue no
-
-           pack .tb -side top -anchor nw
-
-
-
-</PRE>
-<H2>AUTHOR</H2><PRE>
-     Bill Scott
-
-
-</PRE>
-<H2>KEYWORDS</H2><PRE>
-     toolbar, button, radiobutton, checkbutton, iwidgets, widget
-
-
-
-</PRE>
-</BODY>
-</HTML>
index b049342..9cc9863 100644 (file)
@@ -9,6 +9,7 @@ package require Iwidgets 3.0
 #
 # Demo script for the Mainwindow class
 #
+wm withdraw .
 iwidgets::mainwindow .mw
 
 set imagedir [file join ${iwidgets::library} demos images]
@@ -33,7 +34,7 @@ set imagedir [file join ${iwidgets::library} demos images]
               -helpstr "Close the file"
           separator sep2
           command exit -label "Exit" -underline 1 \
-              -helpstr "Exit this application" -command ::exit
+              -helpstr "Exit this application" 
     }
 
 #
@@ -78,39 +79,39 @@ set imagedir [file join ${iwidgets::library} demos images]
 .mw toolbar add frame filler1 -width 108 -relief raised -borderwidth 2
 
 .mw toolbar add button new \
-    -image [image create photo new-img -file [file join $imagedir new.gif]] \
+    -image [image create photo -file [file join $imagedir new.gif]] \
     -helpstr "Create a new file" \
     -balloonstr "New"
 
 .mw toolbar add button open \
-    -image [image create photo open-img -file [file join $imagedir open.gif]] \
+    -image [image create photo -file [file join $imagedir open.gif]] \
     -helpstr "Open an existing file" \
     -balloonstr "Open"
 
 .mw toolbar add button close \
-    -image [image create photo close-img -file [file join $imagedir close.gif]] \
+    -image [image create photo -file [file join $imagedir close.gif]] \
     -helpstr "Close the file" \
     -balloonstr "Close"
 
 .mw toolbar add frame filler2 -width 20 -relief raised -borderwidth 2
 
 .mw toolbar add button cut \
-    -image [image create photo cut-img -file [file join $imagedir cut.gif]] \
+    -image [image create photo -file [file join $imagedir cut.gif]] \
     -helpstr "Cut the selection into the cut buffer" \
     -balloonstr "Cut"
 
 .mw toolbar add button copy \
-    -image [image create photo copy-img -file [file join $imagedir copy.gif]] \
+    -image [image create photo -file [file join $imagedir copy.gif]] \
     -helpstr "Copy the selection to the cut buffer" \
     -balloonstr "Copy"
 
 .mw toolbar add button paste \
-    -image [image create photo paste-img -file [file join $imagedir paste.gif]] \
+    -image [image create photo -file [file join $imagedir paste.gif]] \
     -helpstr "Paste the cut buffer to the current point" \
     -balloonstr "Paste"
 
 .mw toolbar add button clear \
-    -image [image create photo clear-img -file [file join $imagedir clear.gif]] \
+    -image [image create photo -file [file join $imagedir clear.gif]] \
     -helpstr "Clear the selection" \
     -balloonstr "Clear"
 
@@ -120,28 +121,28 @@ set imagedir [file join ${iwidgets::library} demos images]
 # Add items to the menubar.
 #
 .mw mousebar add button save \
-    -image [image create photo save-img -file [file join $imagedir save.gif]] \
+    -image [image create photo -file [file join $imagedir save.gif]] \
     -helpstr "Save the current file"
 
 .mw mousebar add button print \
-    -image [image create photo print-img -file [file join $imagedir print.gif]] \
+    -image [image create photo -file [file join $imagedir print.gif]] \
     -helpstr "Print the file"
 
 .mw mousebar add button find \
-    -image [image create photo find-img -file [file join $imagedir find.gif]] \
+    -image [image create photo -file [file join $imagedir find.gif]] \
     -helpstr "Search the text"
 
 .mw mousebar add frame filler1 -height 20 -relief raised -borderwidth 2
 
 .mw mousebar add button help \
-    -image [image create photo help-img -file [file join $imagedir help.gif]] \
+    -image [image create photo -file [file join $imagedir help.gif]] \
     -helpstr "Obtain help for this window"
 
 .mw mousebar add frame filler2 -relief raised -borderwidth 2
 
 .mw mousebar add button exit \
-    -image [image create photo exit-img -file [file join $imagedir exit.gif]] \
-    -helpstr "Exit this application" -command ::exit
+    -image [image create photo -file [file join $imagedir exit.gif]] \
+    -helpstr "Exit this application"
 
 .mw mousebar add frame filler3 -height 5
 
@@ -163,3 +164,6 @@ pack [.mw childsite].st -fill both -expand yes
 # Activate the main window.
 #
 .mw activate
+
+
+
index 5875fda..c926d93 100644 (file)
@@ -12,7 +12,8 @@ iwidgets::watch .w -state disabled -showampm no -width 155 -height 155
 pack .w -padx 10 -pady 10 -fill both -expand yes
 
 proc fix_time {} {
+    if {! [winfo exists .w]} return
     .w show
-    after 1000 {catch fix_time}
+    after 1000 fix_time
 }
 fix_time
index aa1b6a0..c3b8b76 100755 (executable)
@@ -46,6 +46,16 @@ Command-Line Switch:    \fB-command\fR
 Specifies a Tcl command procedure to be evaluated following a  change in 
 the current check box selection.
 .LP
+.nf
+Name:   \fBorient\fR
+Class:  \fBOrient\fR
+Command-Line Switch:    \fB-orient\fR
+Default Value:  \fBvertical\fR
+.fi
+.IP
+Specifies the orientation of the checkbuttons within the checkbox.  Valid
+values are either "horizontal" or "vertical".
+.LP
 .BE
 
 .SH DESCRIPTION
index 6ced214..2392d49 100644 (file)
@@ -115,6 +115,16 @@ Name of font to use for display of text in entryfield.  The value
 may be given in any of the forms acceptable to \fBTk_GetFont\fR.
 .LP
 .nf
+Name:  \fBpasting\fR
+Class: \fBBehavior\fR
+Command-Line Switch:   \fB-pasting\fR
+.fi
+.IP
+Option to enable/disable pasting into the entry component of the
+entryfield.  Valid values are 0 (disabled) or 1 (enabled).
+Defaults to 1.
+.LP
+.nf
 Name:  \fBvalidate\fR
 Class: \fBCommand\fR
 Command-Line Switch:   \fB-validate\fR
index a03e392..650b87c 100644 (file)
@@ -78,6 +78,17 @@ provided, then a folder icon will be generated, pixmap if possible,
 bitmap otherwise.
 .LP
 .nf
+Name:  \fBdblClickCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch:   \fB-dblclickcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user double clicking via mouse button
+one of the text label of an entry. If this command contains "%n", it is
+replaced with the name of the selected node. Should it contain "%s" then a
+boolean indicator of the node's current selection status is substituted.
+.LP
+.nf
 Name:  \fBexpanded\fR
 Class: \fBExpanded\fR
 Command-Line Switch:   \fB-expanded\fR
@@ -124,6 +135,48 @@ it is replaced with the name of the node the icon belongs to.  Should it
 contain "%i" then the icon name is  substituted.
 .LP
 .nf
+Name:  \fBiconDblCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch:   \fB-icondblcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user double clicking via mouse button
+one of the icon of an entry. If this command contains "%n", it is replaced
+with the name of the node the icon belongs to. Should it contain "%i" then
+the icon name is substituted.
+.LP
+.nf
+Name:  \fBimageCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch:   \fB-imagecommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user selecting an image of an entry.
+If this command contains "%n", it is replaced with the name of the selected
+node. Should it contain "%s" then a boolean indicator of the node's current
+selection status is substituted.
+.LP
+.nf
+Name:  \fBimageDblCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch:   \fB-imagedblcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user double clicking via mouse button
+one of the image of an entry. If this command contains "%n", it is replaced
+with the name of the node the icon belongs to. Should it contain "%i" then
+the icon name is substituted.
+.LP
+.nf
+Name:  \fBimageMenuLoadCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch:   \fB-imagemenuloadcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user selection via mouse button three,
+on the image or icon, that will dynamically load the itemMenu for the widget.
+.LP
+.nf
 Name:  \fBmarkBackground\fR
 Class: \fBForeground\fR
 Command-Line Switch:   \fB-markbackground\fR
@@ -263,6 +316,15 @@ Command-Line Switch:       \fB-textfont\fR
 Specifies the font to be used in the text portion of the hierarchy.
 .LP
 .nf
+Name:  \fBtextMenuLoadCommand\fR
+Class: \fBCommand\fR
+Command-Line Switch:   \fB-textmenuloadcommand\fR
+.fi
+.IP
+Specifies a command to be executed upon user selection via mouse button three,
+that will dynamically load the itemMenu for the widget.
+.LP
+.nf
 Name:  \fBvisibleitems\fR
 Class: \fBVisibleItems\fR
 Command-Line Switch:   \fB-visibleitems\fR
@@ -308,6 +370,8 @@ the height causes the value given for the visibleitems option
 to be applied which administers geometry constraints in a different
 manner.  The default width is zero.
 .LP
+
+
 .BE
 
 .SH DESCRIPTION
@@ -396,6 +460,13 @@ Expands the hierarchy beneath the node with the specified unique id by
 one level.  Since this can take a moment for large hierarchies, the cursor 
 will be changed to a watch during the expansion.
 .TP
+\fIpathName \fBexpanded\fR \fIuid\fR
+Returns the current state of expansion for the node with the specified unique
+id.
+.TP
+\fIpathName \fBexpState\fR
+Returns a list of all expanded nodes in the tree.
+.TP
 \fIpathName \fBmark\fR \fIoption ?arg arg ...?\fR
 This command is used to manipulate marks which is quite similar to 
 selection, adding a secondary means of hilighting an item in the 
index d6f2c4c..fe11c0d 100644 (file)
@@ -43,9 +43,19 @@ Class:  \fBCommand\fR
 Command-Line Switch:    \fB-command\fR
 .fi
 .IP
-Specifies a Tcl command procedure to be evaluated following a  change in 
+Specifies a Tcl command procedure to be evaluated following a change in 
 the current radio box selection.
 .LP
+.nf
+Name:   \fBorient\fR
+Class:  \fBOrient\fR
+Command-Line Switch:    \fB-orient\fR
+Default Value: \fBvertical\fR
+.fi
+.IP
+Specifies the orientation of the radiobuttons within the radiobox.  Valid
+values are either "horizontal" or "vertical".
+.LP
 .BE
 
 .SH DESCRIPTION
index 24f44e0..b7eee5d 100644 (file)
@@ -30,7 +30,7 @@ See the "options" manual entry for details on the standard options.
 .LP
 .nf
 .ta 4c 8c 12c
-\fBselectMode\fR
+\fBselectMode\fR       \fBlistvariable\fR
 .fi
 .LP
 See the "listbox" widget manual entry for details on the above
@@ -257,9 +257,9 @@ The following widget commands are possible for scrolledlistbox widgets:
 .nf
 .ta 4c 8c 12c
 \fBactivate\fR \fBbbox\fR      \fBcurselection\fR      \fBdelete\fR
-\fBget\fR      \fBindex\fR     \fBinsert\fR    \fBnearest\fR
-\fBscan\fR     \fBsee\fR       \fBselection\fR \fBsize\fR
-\fBxview\fR    \fByview\fR
+\fBget\fR      \fBindex\fR     \fBinsert\fR    \fBitemconfigure\fR
+\fBnearest\fR  \fBscan\fR      \fBsee\fR       \fBselection\fR
+\fBsize\fR     \fBxview\fR     \fByview\fR
 .fi
 .LP
 See the "listbox" manual entry for details on the associated methods.
index 1229236..2ea307a 100644 (file)
@@ -193,9 +193,10 @@ commands are possible for scrolledtext widgets:
 .nf
 .ta 4c 8c 12c
 \fBbbox\fR     \fBcompare\fR   \fBdebug\fR     \fBdelete\fR    
-\fBdlineinfo\fR        \fBget\fR       \fBindex\fR     \fBinsert\fR
-\fBmark\fR     \fBscan\fR      \fBsearch\fR    \fBsee\fR
-\fBtag\fR      \fBwindow\fR    \fBxview\fR     \fByview\fR
+\fBdlineinfo\fR        \fBget\fR       \fBimage\fR     \fBindex\fR
+\fBinsert\fR   \fBmark\fR      \fBscan\fR      \fBsearch\fR
+\fBsee\fR      \fBtag\fR       \fBwindow\fR    \fBxview\fR
+\fByview\fR
 .fi
 .LP
 See the "text" manual entry for details on the standard methods.
index da48f16..7f1e851 100644 (file)
@@ -20,7 +20,7 @@
 .ta 4c 8c 12c
 \fBactiveBackground\fR \fBfont\fR      \fBinsertForeground\fR  \fBselectForeground\fR
 \fBactiveForeground\fR \fBforeground\fR        \fBorient\fR    \fBstate\fR
-\fBbackground\fR       \fBhighlightBackground\fR       \fBrelief\fR    \fBtroughColor\fR
+\fBbackground\fR       \fBhighlightBackground\fR       \fBtroughColor\fR
 \fBborderWidth\fR      \fBhighlightColor\fR    \fBselectBackground\fR  \fBcursor\fR
 \fBhighlightThickness\fR       \fBselectBorderWidth\fR \fBdisabledForeground\fR        \fBinsertBackground\fR
 \fBselectColor\fR
index 7c35487..a7b0363 100644 (file)
@@ -378,7 +378,7 @@ configbody iwidgets::Calendar::buttonforeground {
                    -foreground $itk_option(-buttonforeground)
            }
        } else {
-           $itk_option(-forwardimage) configure \
+           $itk_component(forward) configure \
                    -foreground $itk_option(-buttonforeground)
        }
        
@@ -388,7 +388,7 @@ configbody iwidgets::Calendar::buttonforeground {
                    -foreground $itk_option(-buttonforeground)
            }
        } else {
-           $itk_option(-backwardimage) configure \
+           $itk_component(-backward) configure \
                    -foreground $itk_option(-buttonforeground)
        }
     }
@@ -890,7 +890,7 @@ body iwidgets::Calendar::_select {date_} {
            -width $itk_option(-selectthickness)
         $itk_component(page) raise $date-sensor
     } else {
-        set $_time $time
+        set _time $time
         _redraw 
     }
 }
index 20a566a..64ced04 100644 (file)
@@ -239,6 +239,7 @@ configbody iwidgets::Canvasprintbox::pagesize {
        if {[lsearch $lst $opt] == -1} {
                error "bad option \"pagesize\": should be one of: [ezPaperInfo types]"
        }
+       $itk_component(paperom) select "*[string range $opt 1 end]"
        _update_canvas
 }
 
index 30fa700..d1498d1 100755 (executable)
@@ -46,8 +46,7 @@ option add *Checkbox.relief           groove  widgetDefault
 # Usual options.
 #
 itk::usual Checkbox {
-    keep -background -borderwidth -cursor -disabledforeground \
-       -foreground -labelfont -selectcolor
+    keep -background -borderwidth -cursor -foreground -labelfont
 }
 
 # ------------------------------------------------------------------
@@ -58,10 +57,7 @@ class iwidgets::Checkbox {
 
     constructor {args} {}
 
-    itk_option define -disabledforeground \
-       disabledForeground DisabledForeground {}
-    itk_option define -selectcolor selectColor Background {}
-    itk_option define -command command Command {}
+    itk_option define -orient orient Orient vertical
 
     public {
       method add {tag args}
@@ -107,11 +103,26 @@ body iwidgets::Checkbox::constructor {args} {
 # ------------------------------------------------------------------
 
 # ------------------------------------------------------------------
-# OPTION: -command
+# OPTION: -orient
 #
-# Specifies a command to be evaluated upon change in the checkbox
+# Allows the user to orient the checkbuttons either horizontally
+# or vertically.  Added by Chad Smith (csmith@adc.com) 3/10/00.
 # ------------------------------------------------------------------
-configbody iwidgets::Checkbox::command {}
+configbody iwidgets::Checkbox::orient {
+  if {$itk_option(-orient) == "horizontal"} {
+    foreach tag $_buttons {
+      pack $itk_component($tag) -side left -anchor nw -padx 4 -expand 1
+    }
+  } elseif {$itk_option(-orient) == "vertical"} {
+    foreach tag $_buttons {
+      pack $itk_component($tag) -side top -anchor w -padx 4 -expand 0
+    }
+  } else {
+    error "Bad orientation: $itk_option(-orient).  Should be\
+      \"horizontal\" or \"vertical\"."
+  }
+}
+
 
 # ------------------------------------------------------------------
 #                            METHODS
@@ -168,10 +179,17 @@ body iwidgets::Checkbox::add {tag args} {
             $args
     } { 
       usual
+      keep -command -disabledforeground -selectcolor -state
       ignore -highlightthickness -highlightcolor
       rename -font -labelfont labelFont Font
     }
-    pack $itk_component($tag) -anchor w -padx 4
+
+    # Redraw the buttons with the proper orientation.
+    if {$itk_option(-orient) == "vertical"} {
+      pack $itk_component($tag) -side top -anchor w -padx 4 -expand 0
+    } else {
+      pack $itk_component($tag) -side left -anchor nw -expand 1
+    }
 
     lappend _buttons $tag
 
@@ -233,6 +251,17 @@ body iwidgets::Checkbox::delete {index} {
 # ------------------------------------------------------------------
 body iwidgets::Checkbox::select {index} {
     set tag [gettag $index]
+    #-----------------------------------------------------------
+    # BUG FIX: csmith (Chad Smith: csmith@adc.com), 3/30/99
+    #-----------------------------------------------------------
+    # This method should only invoke the checkbutton if it's not
+    # already selected.  Check its associated variable, and if
+    # it's set, then just ignore and return.
+    #-----------------------------------------------------------
+    if {[set [scope buttonVar($this,$tag)]] == 
+       [[component $tag] cget -onvalue]} {
+      return
+    }
     $itk_component($tag) invoke
 }
 
@@ -310,4 +339,3 @@ body iwidgets::Checkbox::buttonconfigure {index args} {
 body iwidgets::Checkbox::gettag {index} {
     return [lindex $_buttons [index $index]]
 }
-
index 45b79b0..ab70ba9 100644 (file)
@@ -360,7 +360,7 @@ configbody iwidgets::Combobox::state {
                                   must be normal  or disabled"
        }
     }
-    if {[info exists itk_component(arrowBtn)]} {
+    if {[winfo exists itk_component(arrowBtn)]} {
        $itk_component(arrowBtn) configure -state $itk_option(-state)
     }
 }
@@ -435,6 +435,9 @@ body iwidgets::Combobox::curselection {} {
 body iwidgets::Combobox::delete {component first {last {}}} {
     switch -- $component {
        entry {
+           if {$last == {}} {
+             set last [expr $first + 1]
+           }
            iwidgets::Entryfield::delete $first $last
        }
        list {
@@ -656,7 +659,25 @@ body iwidgets::Combobox::_createComponents {} {
        # --- build a dropdown combobox ---
 
        # make the arrow childsite be on the right hand side
-       configure -childsitepos e -command [code $this _addToList]
+
+       #-------------------------------------------------------------
+       # BUG FIX: csmith (Chad Smith: csmith@adc.com), 3/4/99
+       #-------------------------------------------------------------
+       # The following commented line of code overwrites the -command
+       # option when passed into the constructor.  The order of calls
+       # in the constructor is:
+       #       1) eval itk_initalize $args (initializes -command)
+       #       2) _doLayout
+       #       3) _createComponents (overwrites -command)
+       # The solution is to only set the -command option if it hasn't
+       # already been set.  The following 4 lines of code do this.
+       #-------------------------------------------------------------
+       # ** configure -childsitepos e -command [code $this _addToList]
+       #-------------------------------------------------------------
+       configure -childsitepos e
+       if ![llength [cget -command]] {
+         configure -command [code $this _addToList]
+       }
        
        # arrow button to popup the list
        itk_component add arrowBtn {
index a6dff9e..5cf648c 100644 (file)
@@ -403,6 +403,5 @@ body iwidgets::Dateentry::_releaseGrab {} {
     grab release $itk_component(popup)
     $itk_component(iconbutton) configure -relief raised
     destroy $itk_component(popup) 
-    unset itk_component(popup)
     bind $itk_component(iconbutton) <Button-1> [code $this _popup]
 }
index 5f40399..1234eae 100755 (executable)
@@ -50,9 +50,6 @@
 #
 # Default resources.
 #
-
-set tk_strictMotif 1
-
 option add *Disjointlistbox.lhsLabelText       Available       widgetDefault
 option add *Disjointlistbox.rhsLabelText       Current         widgetDefault
 option add *Disjointlistbox.lhsButtonLabel     {Insert >>}     widgetDefault
index 065e6a5..bf38800 100644 (file)
@@ -56,6 +56,7 @@ class iwidgets::Entryfield {
     itk_option define -fixed fixed Fixed 0
     itk_option define -focuscommand focusCommand Command {}
     itk_option define -invalid invalid Command {bell}
+    itk_option define -pasting pasting Behavior 1
     itk_option define -validate validate Command {}
     
     public {
@@ -192,6 +193,40 @@ configbody iwidgets::Entryfield::validate {
 configbody iwidgets::Entryfield::invalid {}
 
 # ------------------------------------------------------------------
+# OPTION: -pasting
+#
+# Allows the developer to enable and disable pasting into the entry
+# component of the entryfield.  This is done to avoid potential stack
+# dumps when using the -validate configuration option.  Plus, it's just
+# a good idea to have complete control over what you allow the user
+# to enter into the entryfield.
+# ------------------------------------------------------------------
+configbody iwidgets::Entryfield::pasting {
+  set oldtags [bindtags $itk_component(entry)]
+  set firsttag [lindex $oldtags 0]
+
+  if ($itk_option(-pasting)) {
+    if {$firsttag == "pastetag"} {
+      bindtags $itk_component(entry) [lreplace $oldtags 0 0]
+    }
+
+  } else {
+    if {$firsttag == "pastetag"} {
+      # Ignore this if it's already set.
+      return
+    }
+    bindtags $itk_component(entry) [linsert $oldtags 0 pastetag] 
+    bind pastetag <ButtonRelease-2> {break}
+    bind pastetag <KeyPress> {
+      # Disable function keys > F9 and the 'Insert' key.
+      if {[regexp {^F[1,2][0-9]+$} "%K"] || "%K" == "Insert"} {
+       break
+      }
+    }
+  }
+}
+
+# ------------------------------------------------------------------
 # OPTION: -fixed
 #
 # Restrict entry to 0 (unlimited) chars.  The value is the maximum 
@@ -475,10 +510,31 @@ body iwidgets::Entryfield::_keyPress {char sym state} {
     # means a modifier was used such as a control, meta key, or control
     # or meta key with numlock down.
     #
-    if {($char == "") || \
-           ($state == 4) || ($state == 8) || \
-           ($state == 36) || ($state == 40)} {
-       return -code continue 1
+    #-----------------------------------------------------------
+    # BUG FIX: csmith (Chad Smith: csmith@adc.com), 3/15/99
+    #-----------------------------------------------------------
+    # The following conditional used to hardcode specific state values, such
+    # as "4" and "8".  These values are used to detect <Ctrl>, <Shift>, etc.
+    # key combinations.  On the windows platform, the <Alt> key is state
+    # 16, and on the unix platform, the <Alt> key is state 8.  All <Ctrl>
+    # and <Alt> combinations should be masked out, regardless of the
+    # <NumLock> or <CapsLock> status, and regardless of platform.
+    #-----------------------------------------------------------
+    set CTRL 4
+    global tcl_platform
+    if {$tcl_platform(platform) == "unix"} {
+      set ALT 8
+    } elseif {$tcl_platform(platform) == "windows"} {
+      set ALT 16
+    } else {
+      # This is something other than UNIX or WINDOWS.  Default to the
+      # old behavior (UNIX).
+      set ALT 8
+    }
+    # Thanks to Rolf Schroedter for the following elegant conditional.  This
+    # masks out all <Ctrl> and <Alt> key combinations.
+    if {($char == "") || ($state & ($CTRL | $ALT))} {
+      return -code continue 1
     }
 
     #
index 34c9ddb..0b04fcf 100644 (file)
@@ -81,20 +81,17 @@ class iwidgets::Extfileselectionbox {
        method filter {}
     }
 
-    public {
-       method _selectDir {}
-       method _dblSelectDir {}
-       method _selectFile {}
-       method _selectSelection {}
-       method _selectFilter {}
-    }
-
     protected {
        method _packComponents {{when later}}
        method _updateLists {{when later}}
     }
 
     private {
+       method _selectDir {}
+       method _dblSelectDir {}
+       method _selectFile {}
+       method _selectSelection {}
+       method _selectFilter {}
        method _setFilter {}
        method _setSelection {}
        method _setDirList {}
@@ -716,6 +713,8 @@ body iwidgets::Extfileselectionbox::_setSelection {} {
            } else {
                set selection [file join $_pwd ..]
            }
+       } else {
+           set selection [file join $_pwd $selection]
        }
 
        #
index b41b29c..b164afb 100644 (file)
@@ -674,6 +674,8 @@ body iwidgets::Fileselectionbox::_setSelection {} {
            } else {
                set selection [file join $_pwd ..]
            }
+       } else {
+           set selection [file join $_pwd $selection]
        }
 
        #
@@ -683,6 +685,7 @@ body iwidgets::Fileselectionbox::_setSelection {} {
             regsub {^/(tmp_mnt|export)} $selection {} selection;
         }
 
+       $itk_component(selection) delete 0 end
         $itk_component(selection) insert 0 $selection
     }
 
index b237153..894d0db 100755 (executable)
@@ -251,7 +251,7 @@ body ::iwidgets::Finddialog::clear {} {
     }
 
     if {$itk_option(-clearcommand) != {}} {
-       $itk_option(-clearcommand)
+       eval $itk_option(-clearcommand)
     }
 }
 
@@ -423,7 +423,7 @@ body ::iwidgets::Finddialog::find {} {
     # If a match command is defined, then call it with the match point.
     #
     if {$itk_option(-matchcommand) != {}} {
-       $itk_option(-matchcommand) $matchPoint
+       [subst $itk_option(-matchcommand)] $matchPoint
     }
 
     #
index 79bad19..f315fd0 100644 (file)
@@ -80,12 +80,17 @@ class iwidgets::Hierarchy {
 
     itk_option define -alwaysquery alwaysQuery AlwaysQuery 0
     itk_option define -closedicon closedIcon Icon {}
+    itk_option define -dblclickcommand dblClickCommand Command {}
     itk_option define -expanded expanded Expanded 0 
     itk_option define -filter filter Filter 0 
     itk_option define -font font Font \
        -*-Courier-Medium-R-Normal--*-120-*-*-*-*-*-* 
     itk_option define -height height Height 0
     itk_option define -iconcommand iconCommand Command {}
+    itk_option define -icondblcommand iconDblCommand Command {}
+    itk_option define -imagecommand imageCommand Command {}
+    itk_option define -imagedblcommand imageDblCommand Command {}
+    itk_option define -imagemenuloadcommand imageMenuLoadCommand Command {}
     itk_option define -markbackground markBackground Foreground #a0a0a0 
     itk_option define -markforeground markForeground Background Black 
     itk_option define -nodeicon nodeIcon Icon {}
@@ -94,63 +99,77 @@ class iwidgets::Hierarchy {
     itk_option define -selectcommand selectCommand Command {}
     itk_option define -selectbackground selectBackground Foreground #c3c3c3 
     itk_option define -selectforeground selectForeground Background Black 
+    itk_option define -textmenuloadcommand textMenuLoadCommand Command {}
     itk_option define -visibleitems visibleItems VisibleItems 80x24
     itk_option define -width width Width 0
 
-    public method clear {}
-    public method collapse {node}
-    public method current {}
-    public method draw {{when -now}}
-    public method expand {node}
-    public method mark {op args}
-    public method prune {node}
-    public method refresh {node}
-    public method selection {op args}
-    public method toggle {node}
-
-    public method bbox {index} 
-    public method compare {index1 op index2} 
-    public method debug {args} {eval $args}
-    public method delete {first {last {}}} 
-    public method dlineinfo {index} 
-    public method dump {args}
-    public method get {index1 {index2 {}}} 
-    public method index {index} 
-    public method insert {args} 
-    public method scan {option args} 
-    public method search {args} 
-    public method see {index} 
-    public method tag {op args} 
-    public method window {option args} 
-    public method xview {args}
-    public method yview {args}
-
-    protected method _contents {uid}
-    protected method _iconSelect {node icon}
-    protected method _post {x y}
-    protected method _drawLevel {node indent}
-    protected method _select {x y}
-    protected method _deselectSubNodes {uid}
-    protected method _deleteNodeInfo {uid}
-    protected method _getParent {uid}
-    protected method _getHeritage {uid}
-    protected method _isInternalTag {tag}
-
-    private variable _filterCode ""  ;# Compact view flag.
-    private variable _hcounter 0     ;# Counter for hierarchy icons
-    private variable _icons          ;# Array of user icons by uid
-    private variable _images         ;# Array of our icons by uid
-    private variable _indents        ;# Array of indentation by uid
-    private variable _marked         ;# Array of marked nodes by uid
-    private variable _markers ""     ;# List of markers for level being drawn
-    private variable _nodes          ;# List of subnodes by uid
-    private variable _pending ""     ;# Pending draw flag
-    private variable _posted ""      ;# List of tags at posted menu position
-    private variable _selected       ;# Array of selected nodes by uid
-    private variable _tags           ;# Array of user tags by uid
-    private variable _text           ;# Array of displayed text by uid
-    private variable _states         ;# Array of selection state by uid
-    private variable _ucounter 0     ;# Counter for user icons
+    public {
+       method clear {}
+       method collapse {node}
+       method current {}
+       method draw {{when -now}}
+       method expand {node}
+       method expanded {node}
+       method expState { }
+       method mark {op args}
+       method prune {node}
+       method refresh {node}
+       method selection {op args}
+       method toggle {node}
+       
+       method bbox {index} 
+       method compare {index1 op index2} 
+       method debug {args} {eval $args}
+       method delete {first {last {}}} 
+       method dlineinfo {index} 
+       method dump {args}
+       method get {index1 {index2 {}}} 
+       method index {index} 
+       method insert {args} 
+       method scan {option args} 
+       method search {args} 
+       method see {index} 
+       method tag {op args} 
+       method window {option args} 
+       method xview {args}
+       method yview {args}
+    }
+
+    protected {
+       method _contents {uid}
+       method _post {x y}
+       method _drawLevel {node indent}
+       method _select {x y}
+       method _deselectSubNodes {uid}
+       method _deleteNodeInfo {uid}
+       method _getParent {uid}
+       method _getHeritage {uid}
+       method _isInternalTag {tag}
+       method _iconSelect {node icon}
+       method _iconDblSelect {node icon}
+       method _imageSelect {node}
+       method _imageDblClick {node}
+       method _imagePost {node image type x y}
+       method _double {x y}
+    }
+    
+    private {
+       variable _filterCode ""  ;# Compact view flag.
+       variable _hcounter 0     ;# Counter for hierarchy icons
+       variable _icons          ;# Array of user icons by uid
+       variable _images         ;# Array of our icons by uid
+       variable _indents        ;# Array of indentation by uid
+       variable _marked         ;# Array of marked nodes by uid
+       variable _markers ""     ;# List of markers for level being drawn
+       variable _nodes          ;# List of subnodes by uid
+       variable _pending ""     ;# Pending draw flag
+       variable _posted ""      ;# List of tags at posted menu position
+       variable _selected       ;# Array of selected nodes by uid
+       variable _tags           ;# Array of user tags by uid
+       variable _text           ;# Array of displayed text by uid
+       variable _states         ;# Array of selection state by uid
+       variable _ucounter 0     ;# Counter for user icons
+    }
 }
 
 #
@@ -275,6 +294,9 @@ body iwidgets::Hierarchy::constructor {args} {
     bind $itk_component(list) <ButtonPress-1> \
             [code $this _select %x %y]
 
+    bind $itk_component(list) <Double-1> \
+            [code $this _double %x %y]
+
     bind $itk_component(list) <ButtonPress-3> \
             [code $this _post %x %y]
     
@@ -407,6 +429,20 @@ configbody iwidgets::Hierarchy::selectcommand {
 }
 
 # ------------------------------------------------------------------
+# OPTION: -dblclickcommand
+#
+# Command executed to double click an item in the list.  If this command
+# contains "%n", it is replaced with the name of the selected node.  
+# If it contains a "%s", it is replaced with a boolean indicator of 
+# the node's current selection status, where a value of 1 denotes
+# that the node is currently selected and 0 that it is not.
+#
+# Douglas R. Howard, Jr.
+# ------------------------------------------------------------------
+configbody iwidgets::Hierarchy::dblclickcommand {
+}
+
+# ------------------------------------------------------------------
 # OPTION: -iconcommand
 #
 # Command executed upon selection of user icons.  If this command 
@@ -418,6 +454,44 @@ configbody iwidgets::Hierarchy::iconcommand {
 }
 
 # ------------------------------------------------------------------
+# OPTION: -icondblcommand
+#
+# Command executed upon double selection of user icons.  If this command 
+# contains "%n", it is replaced with the name of the node the icon
+# belongs to.  Should it contain "%i" then the icon name is 
+# substituted.
+#
+# Douglas R. Howard, Jr.
+# ------------------------------------------------------------------
+configbody iwidgets::Hierarchy::icondblcommand {
+}
+
+# ------------------------------------------------------------------
+# OPTION: -imagecommand
+#
+# Command executed upon selection of image icons.  If this command 
+# contains "%n", it is replaced with the name of the node the icon
+# belongs to.  Should it contain "%i" then the icon name is 
+# substituted.
+#
+# Douglas R. Howard, Jr.
+# ------------------------------------------------------------------
+configbody iwidgets::Hierarchy::imagecommand {
+}
+
+# ------------------------------------------------------------------
+# OPTION: -imagedblcommand
+#
+# Command executed upon double selection of user icons.  If this command 
+# contains "%n", it is replaced with the name of the node the icon
+# belongs to.
+#
+# Douglas R. Howard, Jr.
+# ------------------------------------------------------------------
+configbody iwidgets::Hierarchy::imagedblcommand {
+}
+
+# ------------------------------------------------------------------
 # OPTION: -alwaysquery
 #
 # Boolean flag which tells the hierarchy widget weather or not
@@ -524,10 +598,8 @@ configbody iwidgets::Hierarchy::openicon {
                        0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
                }
            }
-
-           set itk_option(-openicon) openFolder
        }
-
+       set itk_option(-openicon) openFolder
     } else {
        if {[lsearch [image names] $itk_option(-openicon)] == -1} {
            error "bad openicon option \"$itk_option(-openicon)\":\
@@ -582,10 +654,8 @@ configbody iwidgets::Hierarchy::closedicon {
                        0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
                }
            }
-
-           set itk_option(-closedicon) closedFolder
        }
-
+       set itk_option(-closedicon) closedFolder
     } else {
        if {[lsearch [image names] $itk_option(-closedicon)] == -1} {
            error "bad closedicon option \"$itk_option(-closedicon)\":\
@@ -640,10 +710,8 @@ configbody iwidgets::Hierarchy::nodeicon {
                        0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
                }
            }
-
-           set itk_option(-nodeicon) nodeFolder
        }
-
+       set itk_option(-nodeicon) nodeFolder
     } else {
        if {[lsearch [image names] $itk_option(-nodeicon)] == -1} {
            error "bad nodeicon option \"$itk_option(-nodeicon)\":\
@@ -761,6 +829,25 @@ configbody iwidgets::Hierarchy::visibleitems {
 }
 
 # ------------------------------------------------------------------
+# OPTION: -textmenuloadcommand
+#
+# Dynamically loads the popup menu based on what was selected.
+#
+# Douglas R. Howard, Jr.
+# ------------------------------------------------------------------
+configbody iwidgets::Hierarchy::textmenuloadcommand {}
+
+# ------------------------------------------------------------------
+# OPTION: -imagemenuloadcommand
+#
+# Dynamically loads the popup menu based on what was selected.
+#
+# Douglas R. Howard, Jr.
+# ------------------------------------------------------------------
+configbody iwidgets::Hierarchy::imagemenuloadcommand {}
+
+
+# ------------------------------------------------------------------
 #                         PUBLIC METHODS
 # ------------------------------------------------------------------
 
@@ -1255,6 +1342,47 @@ body iwidgets::Hierarchy::yview {args} {
     return [eval $itk_component(list) yview $args]
 }
 
+# ----------------------------------------------------------------------
+# PUBLIC METHOD: expanded node
+#
+# Tells if a node is expanded or collapsed
+#
+# Douglas R. Howard, Jr.
+# ----------------------------------------------------------------------
+body iwidgets::Hierarchy::expanded {node} {
+    if {! [info exists _states($node)]} {
+       error "bad collapse node argument: \"$node\", the node doesn't exist"
+    }
+    
+    return $_states($node)
+}
+
+# ----------------------------------------------------------------------
+# PUBLIC METHOD: expState
+#
+# Returns a list of all expanded nodes
+#
+# Douglas R. Howard, Jr.
+# ----------------------------------------------------------------------
+body iwidgets::Hierarchy::expState {} {
+    set nodes [_contents ""]
+    set open ""
+    set i 0
+    while {1} {
+       if {[info exists _states([lindex $nodes $i])] &&
+       $_states([lindex $nodes $i])} {
+           lappend open [lindex $nodes $i]
+           foreach child [_contents [lindex $nodes $i]] {
+               lappend nodes $child
+           }
+       }
+       incr i
+       if {$i >= [llength $nodes]} {break}
+    }
+    
+    return $open
+}
+
 # ------------------------------------------------------------------
 #                       PROTECTED METHODS
 # ------------------------------------------------------------------
@@ -1331,7 +1459,13 @@ body iwidgets::Hierarchy::_drawLevel {node indent} {
            # its expanded/collapsed state.
            #
            label $_images($child) -image $icon -background $bg 
-           bind $_images($child) <ButtonPress-1> [code $this toggle $child]
+           # DRH - enhanced and added features that handle image clicking,
+           # double clicking, and right clicking behavior
+           bind $_images($child) <ButtonPress-1> \
+             "[code $this toggle $child]; [code $this _imageSelect $child]"
+           bind $_images($child) <Double-1> [code $this _imageDblClick $child]
+           bind $_images($child) <ButtonPress-3> \
+             [code $this _imagePost $child $_images($child) $type %x %y]
            $itk_component(list) window create insert -window $_images($child)
 
            #
@@ -1351,8 +1485,14 @@ body iwidgets::Hierarchy::_drawLevel {node indent} {
                        label $wid -image $image -background $bg 
                    }
 
+                   # DRH - this will bind events to the icons to allow
+                   # clicking, double clicking, and right clicking actions.
                    bind $wid <ButtonPress-1> \
-                       [code $this _iconSelect $child $image]
+                           [code $this _iconSelect $child $image]
+                   bind $wid <Double-1> \
+                           [code $this _iconDblSelect $child $image]
+                   bind $wid <ButtonPress-3> \
+                           [code $this _imagePost $child $wid $type %x %y]
                    $itk_component(list) window create insert -window $wid
                }
            }
@@ -1508,6 +1648,12 @@ body iwidgets::Hierarchy::_post {x y} {
     # If we have tags then do the popup at this position.
     #
     if {$_posted != {}} {
+       # DRH - here is where the user's function for dynamic popup
+       # menu loading is done, if the user has specified to do so with the
+       # "-textmenuloadcommand"
+       if {$itk_option(-textmenuloadcommand) != {}} {
+           eval $itk_option(-textmenuloadcommand)
+       }
        tk_popup $itk_component(itemMenu) $rx $ry
     } else {
        tk_popup $itk_component(bgMenu) $rx $ry
@@ -1515,6 +1661,38 @@ body iwidgets::Hierarchy::_post {x y} {
 }
 
 # ----------------------------------------------------------------------
+# PROTECTED METHOD: _imagePost node image type x y
+#
+# Used internally to post the popup menu at the coordinate (x,y)
+# relative to the widget.  If (x,y) is on an image, then the itemMenu
+# component is posted.
+#
+# Douglas R. Howard, Jr.
+# ----------------------------------------------------------------------
+body iwidgets::Hierarchy::_imagePost {node image type x y} {
+    set rx [expr [winfo rootx $image]+$x]
+    set ry [expr [winfo rooty $image]+$y]
+
+    #
+    # The posted variable will hold the list of tags which exist at
+    # this x,y position that will be passed back to the user.  They
+    # don't need to know about our internal tags, info, hilite, and
+    # lowlite, so remove them from the list.
+    # 
+    set _posted {}
+
+    lappend _posted $node $type
+
+    #
+    # If we have tags then do the popup at this position.
+    #
+    if {$itk_option(-imagemenuloadcommand) != {}} {
+       eval $itk_option(-imagemenuloadcommand)
+    }
+    tk_popup $itk_component(itemMenu) $rx $ry
+}
+
+# ----------------------------------------------------------------------
 # PROTECTED METHOD: _select x y
 #
 # Used internally to select an item at the coordinate (x,y) relative 
@@ -1551,10 +1729,50 @@ body iwidgets::Hierarchy::_select {x y} {
 }
 
 # ----------------------------------------------------------------------
+# PROTECTED METHOD: _double x y
+#
+# Used internally to double click an item at the coordinate (x,y) relative 
+# to the widget.  The command associated with the -dblclickcommand
+# option is execute following % character substitutions.  If %n
+# appears in the command, the selected node is substituted.  If %s
+# appears, a boolean value representing the current selection state
+# will be substituted.
+#
+# Douglas R. Howard, Jr.
+# ----------------------------------------------------------------------
+body iwidgets::Hierarchy::_double {x y} {
+    if {$itk_option(-dblclickcommand) != {}} {
+       if {[set seltags [$itk_component(list) tag names @$x,$y]] != {}} {
+           foreach tag $seltags {
+               if {![_isInternalTag $tag]} {
+                   lappend node $tag
+               }
+           }
+
+           if {[lsearch $seltags "hilite"] == -1} {
+               set selectstatus 0
+           } else {
+               set selectstatus 1
+           }
+
+           set cmd $itk_option(-dblclickcommand)
+           regsub -all {%n} $cmd [list $node] cmd
+           regsub -all {%s} $cmd [list $selectstatus] cmd
+
+           uplevel #0 $cmd
+       }
+    }
+
+    return
+}
+
+# ----------------------------------------------------------------------
 # PROTECTED METHOD: _iconSelect node icon
 #
 # Used internally to upon selection of user icons.  The -iconcommand
 # is executed after substitution of the node for %n and icon for %i.
+#
+# Douglas R. Howard, Jr.
 # ----------------------------------------------------------------------
 body iwidgets::Hierarchy::_iconSelect {node icon} {
     set cmd $itk_option(-iconcommand)
@@ -1567,6 +1785,62 @@ body iwidgets::Hierarchy::_iconSelect {node icon} {
 }
 
 # ----------------------------------------------------------------------
+# PROTECTED METHOD: _iconDblSelect node icon
+#
+# Used internally to upon double selection of user icons.  The 
+# -icondblcommand is executed after substitution of the node for %n and 
+# icon for %i.
+#
+# Douglas R. Howard, Jr.
+# ----------------------------------------------------------------------
+body iwidgets::Hierarchy::_iconDblSelect {node icon} {
+    if {$itk_option(-icondblcommand) != {}} {
+       set cmd $itk_option(-icondblcommand)
+       regsub -all {%n} $cmd [list $node] cmd
+       regsub -all {%i} $cmd [list $icon] cmd
+       
+       uplevel \#0 $cmd
+    }
+    return {}
+}
+
+# ----------------------------------------------------------------------
+# PROTECTED METHOD: _imageSelect node icon
+#
+# Used internally to upon selection of user icons.  The -imagecommand
+# is executed after substitution of the node for %n.
+#
+# Douglas R. Howard, Jr.
+# ----------------------------------------------------------------------
+body iwidgets::Hierarchy::_imageSelect {node} {
+    if {$itk_option(-imagecommand) != {}} {
+       set cmd $itk_option(-imagecommand)
+       regsub -all {%n} $cmd [list $node] cmd
+       
+       uplevel \#0 $cmd
+    }
+    return {}
+}
+
+# ----------------------------------------------------------------------
+# PROTECTED METHOD: _imageDblClick node
+#
+# Used internally to upon double selection of images.  The 
+# -imagedblcommand is executed.
+#
+# Douglas R. Howard, Jr.
+# ----------------------------------------------------------------------
+body iwidgets::Hierarchy::_imageDblClick {node} {
+    if {$itk_option(-imagedblcommand) != {}} {
+       set cmd $itk_option(-imagedblcommand)
+       regsub -all {%n} $cmd [list $node] cmd
+       
+       uplevel \#0 $cmd
+    }
+    return {}
+}
+
+# ----------------------------------------------------------------------
 # PROTECTED METHOD: _deselectSubNodes uid
 #
 # Used internally to recursively deselect all the nodes beneath a 
index e3f4a05..8eb5e80 100644 (file)
@@ -261,9 +261,8 @@ configbody iwidgets::Hyperhelp::title {
 # Set location of help files
 # ------------------------------------------------------------------
 configbody iwidgets::Hyperhelp::helpdir {
-    if {[string index [file dirname $itk_option(-helpdir)] 0] != "/" && \
-        [string index [file dirname $itk_option(-helpdir)] 0] != "~"} {
-      configure -helpdir [pwd]/$itk_option(-helpdir)
+    if {[file pathtype $itk_option(-helpdir)] == "relative"} {
+      configure -helpdir [file join [pwd] $itk_option(-helpdir)]
     } else {
       set _history {}
       set _history_len 0
index 19b8540..0291c20 100644 (file)
@@ -105,14 +105,20 @@ class iwidgets::Labeledframe {
   public method clientHandlesConfigure {{yes 1}}
 
   #
-  # Private methods
+  # Protected methods
   #
-  private {
-    method smt {value} { _setMarginThickness $value }
+
+  protected {
     method _positionLabel {{when later}}
     method _collapseMargin {}
     method _setMarginThickness {value}
+    method smt {value} { _setMarginThickness $value }
+  }
 
+  #
+  # Private methods/data
+  #
+  private {
     proc _initTable {}
 
     variable _reposition ""  ;# non-null => _positionLabel pending
index 35f1a66..1b6e0b2 100644 (file)
@@ -109,8 +109,6 @@ class iwidgets::Menubar {
        method path { args } { }
        method type { path } { }
        method yposition { entryPath } { }
-
-       method _helpHandler { menuPath } { }
     }
 
     private {
@@ -121,6 +119,7 @@ class iwidgets::Menubar {
        method radiobutton { radName args } { }
        method separator { sepName args } { }
        method cascade { casName args } { }
+       method _helpHandler { menuPath } { }
        method _addMenuButton { buttonName args} { }
        method _insertMenuButton { beforeMenuPath buttonName args} { }
        method _makeMenuButton {buttonName args} { }
@@ -2114,7 +2113,7 @@ body iwidgets::Menubar::_getSymbolicPath { parent segment } {
 
 # -------------------------------------------------------------
 # 
-# PROTECTED METHOD: _helpHandler
+# PRIVATE METHOD: _helpHandler
 #
 # Bound to the <Motion> event on a menu pane. This puts the
 # help string associated with the menu entry into the 
@@ -2207,7 +2206,12 @@ body iwidgets::Menubar::_getCallerLevel { } {
 # in frames.  Since our menubuttons are within the Menubar class, the
 # default proc won't find them during menu traversal.  This proc
 # redefines the default proc to remedy the problem.
-#
+#-----------------------------------------------------------
+# BUG FIX: csmith (Chad Smith: csmith@adc.com), 3/30/99
+#-----------------------------------------------------------
+# The line, "set qchild ..." below had a typo.  It should be
+# "info command $child" instead of "winfo command $child".
+#-----------------------------------------------------------
 proc tkMenuFind {w char} {
     global tkPriv
     set char [string tolower $char]
@@ -2215,7 +2219,7 @@ proc tkMenuFind {w char} {
     foreach child [winfo child $w] {
        switch [winfo class $child] {
            Menubutton {
-               set qchild [winfo command $child]
+               set qchild [info command $child]
                set char2 [string index [$qchild cget -text] \
                        [$qchild cget -underline]]
                if {([string compare $char [string tolower $char2]] == 0)
index 072f4d3..ba1927a 100644 (file)
@@ -39,6 +39,7 @@
 #
 itk::usual Messagedialog {
     keep -background -cursor -font -foreground -modality
+    keep -wraplength -justify
 }
 
 # ------------------------------------------------------------------
@@ -88,6 +89,7 @@ body iwidgets::Messagedialog::constructor {args} {
        label $itk_interior.message
     } {
        keep -background -cursor -font -foreground -text 
+       keep -wraplength -justify
 
        rename -padx -textpadx textPadX Pad
        rename -pady -textpady textPadY Pad
index 78a470c..a83a798 100644 (file)
@@ -764,7 +764,7 @@ body iwidgets::Notebook::_deletePages { fromPage toPage } {
     
     # If we deleted a selected page set our selection to none
     if { $_currPage >= $fromPage && $_currPage <= $toPage } {
-       set $_currPage -1
+       set _currPage -1
     }
     
     # make sure _currPage stays in sync with new numbering...
index cfc700f..f0fd8b9 100644 (file)
@@ -123,7 +123,7 @@ body iwidgets::Optionmenu::constructor {args} {
     component hull configure -highlightthickness 0
 
     itk_component add menuBtn {
-       menubutton $itk_interior.menuBtn -relief raised -indicator on \
+       menubutton $itk_interior.menuBtn -relief raised -indicatoron on \
             -textvariable [scope _currentItem] -takefocus 1 \
             -menu $itk_interior.menuBtn.menu
     } {
@@ -411,6 +411,9 @@ body iwidgets::Optionmenu::insert {index string args} {
 # ------------------------------------------------------------------
 body iwidgets::Optionmenu::select {index} {
     set index [index $index]
+    if {$index > [expr $_numitems - 1]} {
+      incr index -1 
+    }
     _setItem [lindex $_items $index]
 }
 
@@ -601,7 +604,24 @@ body iwidgets::Optionmenu::_setitems {items_} {
     #
     if {$first != ""} {
         set i [lsearch -exact $_items $savedCurrentItem]
-        select [expr {$i != -1 ? $savedCurrentItem : $first}]
+       #-------------------------------------------------------------
+       # BEGIN BUG FIX: csmith (Chad Smith: csmith@adc.com), 11/18/99
+       #-------------------------------------------------------------
+       # The previous code fragment:
+       #   <select [expr {$i != -1 ? $savedCurrentItem : $first}]>
+       # is faulty because of exponential numbers.  For example,
+       # 2e-4 is numerically equal to 2e-04, but the string representation
+       # is of course different.  As a result, the select invocation
+       # fails, and an error message is printed.
+       #-------------------------------------------------------------
+       if {$i != -1} {
+         select $savedCurrentItem
+       } else {
+         select $first
+       }
+       #-------------------------------------------------------------
+       # END BUG FIX
+       #-------------------------------------------------------------
     } else {
        _setItem ""
     }
index dd1baa2..b7260f3 100644 (file)
@@ -97,7 +97,7 @@ configbody iwidgets::Pane::minimum {
     set pixels \
            [winfo pixels $itk_component(hull) $itk_option(-minimum)]
     
-    set $itk_option(-minimum) $pixels
+    set itk_option(-minimum) $pixels
 }
 
 # ------------------------------------------------------------------
index 6ed1165..644d1d6 100644 (file)
@@ -151,7 +151,7 @@ configbody iwidgets::Panedwindow::orient {
     if {$_initialized} {
        switch $itk_option(-orient) {
            vertical {
-               for {set i 1} {$i < [llength $_panes]} {incr i} {
+               for {set i 1} {$i < [llength $_activePanes]} {incr i} {
                    bind $itk_component(sash$i) <Button-1> \
                            [code $this _startGrip %x $i]
                    bind $itk_component(sash$i) <B1-Motion> \
@@ -168,7 +168,7 @@ configbody iwidgets::Panedwindow::orient {
            }
            
            horizontal {
-               for {set i 1} {$i < [llength $_panes]} {incr i} {
+               for {set i 1} {$i < [llength $_activePanes]} {incr i} {
                    bind $itk_component(sash$i) <Button-1> \
                            [code $this _startGrip %y $i]
                    bind $itk_component(sash$i) <B1-Motion> \
@@ -204,7 +204,7 @@ configbody iwidgets::Panedwindow::sashborderwidth {
     set itk_option(-sashborderwidth) $pixels
     
     if {$_initialized} {
-       for {set i 1} {$i < [llength $_panes]} {incr i} {
+       for {set i 1} {$i < [llength $_activePanes]} {incr i} {
            $itk_component(sash$i) configure \
                    -borderwidth $itk_option(-sashborderwidth)
        }
@@ -218,9 +218,8 @@ configbody iwidgets::Panedwindow::sashborderwidth {
 # ------------------------------------------------------------------
 configbody iwidgets::Panedwindow::sashcursor {
     if {$_initialized} {
-       for {set i 1} {$i < [llength $_panes]} {incr i} {
-           $itk_component(sash$i) configure \
-                   -cursor $itk_option(-sashcursor)
+       for {set i 1} {$i < [llength $_activePanes]} {incr i} {
+           $itk_component(sash$i) configure -cursor $itk_option(-sashcursor)
        }
     }
 }
@@ -236,7 +235,7 @@ configbody iwidgets::Panedwindow::sashwidth {
     set itk_option(-sashwidth) $pixels
     
     if {$_initialized} {
-       for {set i 1} {$i < [llength $_panes]} {incr i} {
+       for {set i 1} {$i < [llength $_activePanes]} {incr i} {
            $itk_component(sash$i) configure \
                    -width $itk_option(-sashwidth)
        }
@@ -254,7 +253,7 @@ configbody iwidgets::Panedwindow::sashheight {
     set itk_option(-sashheight) $pixels
     
     if {$_initialized} {
-       for {set i 1} {$i < [llength $_panes]} {incr i} {
+       for {set i 1} {$i < [llength $_activePanes]} {incr i} {
            $itk_component(sash$i) configure \
                    -height $itk_option(-sashheight)
        }
@@ -274,7 +273,7 @@ configbody iwidgets::Panedwindow::thickness {
     set itk_option(-thickness) $pixels
     
     if {$_initialized} {
-       for {set i 1} {$i < [llength $_panes]} {incr i} {
+       for {set i 1} {$i < [llength $_activePanes]} {incr i} {
            $itk_component(separator$i) configure \
                    -height $itk_option(-thickness)
            $itk_component(separator$i) configure \
@@ -283,7 +282,7 @@ configbody iwidgets::Panedwindow::thickness {
                    -borderwidth [expr $itk_option(-thickness) / 2]
        }
        
-       for {set i 1} {$i < [llength $_panes]} {incr i} {
+       for {set i 1} {$i < [llength $_activePanes]} {incr i} {
            _placeSash $i
        }
     }
@@ -304,7 +303,7 @@ configbody iwidgets::Panedwindow::sashindent {
     set itk_option(-sashindent) $pixels
     
     if {$_initialized} {
-       for {set i 1} {$i < [llength $_panes]} {incr i} {
+       for {set i 1} {$i < [llength $_activePanes]} {incr i} {
            _placeSash $i
        }
     }
index 797dc59..7ec9a31 100644 (file)
@@ -53,6 +53,7 @@ class iwidgets::Radiobox {
        disabledForeground DisabledForeground {}
     itk_option define -selectcolor selectColor Background {}
     itk_option define -command command Command {}
+    itk_option define -orient orient Orient vertical
 
     public {
       method add {tag args}
@@ -119,6 +120,22 @@ body iwidgets::Radiobox::constructor {args} {
 configbody iwidgets::Radiobox::command {}
 
 # ------------------------------------------------------------------
+# OPTION: -orient
+#
+# Allows the user to orient the radiobuttons either horizontally
+# or vertically.
+# ------------------------------------------------------------------
+configbody iwidgets::Radiobox::orient {
+  if {$itk_option(-orient) == "horizontal" ||
+      $itk_option(-orient) == "vertical"} {
+    _rearrange
+  } else {
+    error "Bad orientation: $itk_option(-orient).  Should be\
+      \"horizontal\" or \"vertical\"."
+  }
+}
+
+# ------------------------------------------------------------------
 #                            METHODS
 # ------------------------------------------------------------------
 
@@ -216,20 +233,29 @@ body iwidgets::Radiobox::insert {index tag args} {
 # ------------------------------------------------------------------
 # METHOD: _rearrange
 #
-# Rearrange the buttons in the childsite frame using
-# the grid geometry manager.
+# Rearrange the buttons in the childsite frame using the grid
+# geometry manager.  This method was modified by Chad Smith on 3/9/00
+# to take into consideration the newly added -orient config option.
 # ------------------------------------------------------------------
 body iwidgets::Radiobox::_rearrange {} {
-    set index 0
-    set master $itk_component(childsite)
-    
     if {[set count [llength $_buttons]] > 0} {
-       foreach tag $_buttons {
-           grid configure $itk_component($tag) -row $index -sticky nw
-           grid rowconfigure $master $index -weight 0
-           incr index
+       if {$itk_option(-orient) == "vertical"} {
+            set row 0
+           foreach tag $_buttons {
+               grid configure $itk_component($tag) -col 0 -row $row -sticky nw
+               grid rowconfigure $itk_component(childsite) $row -weight 0
+               incr row
+           }
+           grid rowconfigure $itk_component(childsite) [expr $count-1] \
+             -weight 1
+       } else {
+            set col 0
+           foreach tag $_buttons {
+               grid configure $itk_component($tag) -col $col -row 0 -sticky nw
+               grid columnconfigure $itk_component(childsite) $col -weight 1
+               incr col
+           }
        }
-       grid rowconfigure $master [expr $count-1] -weight 1
     }
 }
 
index c8222b9..87f371a 100644 (file)
@@ -79,6 +79,7 @@ class iwidgets::Scrolledlistbox {
     public method sort {{mode ascending}} 
     public method xview {args} 
     public method yview {args} 
+    public method itemconfigure {args}
 
     protected method _makeSelection {} 
     protected method _dblclick {} 
@@ -154,6 +155,9 @@ body iwidgets::Scrolledlistbox::constructor {args} {
        usual
 
        keep -borderwidth -exportselection -relief -selectmode
+
+       # This option was added in Tk 8.3
+       catch {keep -listvariable}
        
        rename -font -textfont textFont Font
        rename -background -textbackground textBackground Background
@@ -700,6 +704,16 @@ body iwidgets::Scrolledlistbox::yview {args} {
 }
 
 # ------------------------------------------------------------------
+# METHOD: itemconfigure args
+#
+# This is a wrapper method around the new tk8.3 itemconfigure command
+# for the listbox.
+# ------------------------------------------------------------------
+body iwidgets::Scrolledlistbox::itemconfigure {args} {
+    return [eval $itk_component(listbox) itemconfigure $args]
+}
+
+# ------------------------------------------------------------------
 # PROTECTED METHOD: _makeSelection 
 #
 # Evaluate the selection command.
index f595aa1..86fc7f3 100644 (file)
@@ -81,6 +81,7 @@ class iwidgets::Scrolledtext {
     public method delete {first {last {}}} 
     public method dlineinfo {index} 
     public method get {index1 {index2 {}}} 
+    public method image {option args}
     public method index {index} 
     public method insert {args} 
     public method mark {option args} 
@@ -392,6 +393,17 @@ body iwidgets::Scrolledtext::get {index1 {index2 {}}} {
 }
 
 # ------------------------------------------------------------------
+# METHOD image option ?arg arg ...?
+#
+# Manipulate images dependent on options.
+#
+# ------------------------------------------------------------------
+body iwidgets::Scrolledtext::image {option args} {
+  return [eval $itk_component(text) image $option $args]
+}
+
+
+# ------------------------------------------------------------------
 # METHOD index index
 #
 # Return position corresponding to index.
@@ -433,7 +445,14 @@ body iwidgets::Scrolledtext::scan {option args} {
 # Searches the text for characters matching a pattern.
 # ------------------------------------------------------------------
 body iwidgets::Scrolledtext::search {args} {
-    return [eval $itk_component(text) search $args]
+    #-----------------------------------------------------------
+    # BUG FIX: csmith (Chad Smith: csmith@adc.com), 11/18/99
+    #-----------------------------------------------------------
+    # Need to run this command up one level on the stack since
+    # the text widget may modify one of the arguments, which is
+    # the case when -count is specified.
+    #-----------------------------------------------------------
+    return [uplevel eval $itk_component(text) search $args]
 }
 
 # ------------------------------------------------------------------
index 05a91e4..78ef19c 100644 (file)
@@ -240,8 +240,8 @@ body iwidgets::Shell::activate {} {
     } 
 
     set _wait($this) 0
-    wm deiconify $itk_component(hull)
     raise $itk_component(hull)
+    wm deiconify $itk_component(hull)
     tkwait visibility $itk_component(hull)
     
     if {$itk_option(-modality) == "application"} {
index 0d9cda1..215c031 100644 (file)
@@ -572,14 +572,6 @@ body iwidgets::Spindate::_packDate {{when later}} {
        grid columnconfigure $_interior $i -minsize 0
     }
 
-    #
-    # Get some boolean 1/0 values for the -monthon and -dayon options.
-    # We need this later so that Tcl doesn't complain about operands
-    # of || being strings.
-    #
-    set monthon [expr {$itk_option(-monthon) == "1"}]
-    set dayon [expr {$itk_option(-dayon) == "1"}]
-
     set _repack ""
 
     #
@@ -610,7 +602,7 @@ body iwidgets::Spindate::_packDate {{when later}} {
            }
            
            if {$itk_option(-yearon)} {
-               if {$monthon || $dayon} {
+               if {$itk_option(-monthon) || $itk_option(-dayon)} {
                    grid rowconfigure $_interior [incr row] \
                        -minsize $itk_option(-datemargin)
                }
@@ -650,7 +642,7 @@ body iwidgets::Spindate::_packDate {{when later}} {
            }
            
            if {$itk_option(-yearon)} {
-               if {$monthon || $dayon} {
+               if {$itk_option(-monthon) || $itk_option(-dayon)} {
                    grid columnconfigure $_interior [incr column] \
                        -minsize $itk_option(-datemargin)
                }
index 2c33103..9dc819c 100644 (file)
@@ -163,33 +163,14 @@ body iwidgets::Spinint::up {} {
        #
        if {$val >= $min_range && $val < $max_range} {
            incr val $itk_option(-step)
-           
-           #
-           # Re-check boundaries.
-           #
-           if {$val >= $min_range && $val <= $max_range} {
-               $itk_component(entry) delete 0 end
-               $itk_component(entry) insert 0 $val
-           } else {
-               
-               #
-               # This is wrap when -step > 1.
-               #
-               if {$itk_option(-wrap)} {
-                   if {$val > $max_range} {
-                       $itk_component(entry) delete 0 end
-                       $itk_component(entry) insert 0 $min_range
-                   } else {
-                       uplevel #0 $itk_option(-invalid)
-                   }
-               } else {
-                   uplevel #0 $itk_option(-invalid)
-               }
-           }
-           
+           $itk_component(entry) delete 0 end
+           $itk_component(entry) insert 0 $val
        } else {
            if {$itk_option(-wrap)} {
-               if {$val == $max_range} {
+               if {$val >= $max_range} {
+                   $itk_component(entry) delete 0 end
+                   $itk_component(entry) insert 0 $min_range 
+               } elseif {$val < $min_range} {
                    $itk_component(entry) delete 0 end
                    $itk_component(entry) insert 0 $min_range 
                } else {
@@ -227,33 +208,14 @@ body iwidgets::Spinint::down {} {
        #
        if {$val > $min_range && $val <= $max_range} {
            incr val -$itk_option(-step)
-           
-           #
-           # Re-check boundaries.
-           #
-           if {$val >= $min_range && $val <= $max_range} {
-               $itk_component(entry) delete 0 end
-               $itk_component(entry) insert 0 $val
-           } else {
-               
-               #
-               # This is wrap when -step > 1.
-               #
-               if {$itk_option(-wrap)} {
-                   if {$val < $min_range} {
-                       $itk_component(entry) delete 0 end
-                       $itk_component(entry) insert 0 $max_range
-                   } else {
-                       uplevel #0 $itk_option(-invalid)
-                   }
-               } else {
-                   uplevel #0 $itk_option(-invalid)
-               }
-           }
-           
+           $itk_component(entry) delete 0 end
+           $itk_component(entry) insert 0 $val
        } else {
            if {$itk_option(-wrap)} {
-               if {$val == $min_range} {
+               if {$val <= $min_range} {
+                   $itk_component(entry) delete 0 end
+                   $itk_component(entry) insert 0 $max_range
+               } elseif {$val > $max_range} {
                    $itk_component(entry) delete 0 end
                    $itk_component(entry) insert 0 $max_range
                } else {
index 20fb4c7..8366e52 100644 (file)
@@ -394,6 +394,5 @@ body iwidgets::Timeentry::_releaseGrab {} {
     grab release $itk_component(popup)
     $itk_component(iconbutton) configure -relief raised
     destroy $itk_component(popup) 
-    unset itk_component(popup)
     bind $itk_component(iconbutton) <Button-1> [code $this _popup]
 }
index a30ffc3..c9b8c54 100644 (file)
@@ -59,6 +59,8 @@ class iwidgets::Timefield {
     itk_option define -seconds seconds Seconds on
     itk_option define -format format Format civilian
     itk_option define -iq iq Iq high
+    itk_option define -gmt gmt GMT no
+    itk_option define -state state State normal
 
     public {
       method get {{format "-string"}}
@@ -84,11 +86,10 @@ class iwidgets::Timefield {
       variable _numFields 4
       variable _forward {}
       variable _backward {}
+      variable _timeVar ""
 
       common _militaryFields {hour minute second}
       common _civilianFields {hour minute second ampm}
-
-      common _timeVar
     }
 }
 
@@ -105,18 +106,15 @@ proc iwidgets::timefield {pathName args} {
 body iwidgets::Timefield::constructor {args} {
     component hull configure -borderwidth 0
     
-    set _timeVar($this) ""
-
     #
     # Create an entry field for entering the time.
     #
     itk_component add time {
-      entry $itk_interior.time \
-            -textvariable [scope _timeVar($this)]
+      entry $itk_interior.time
     } {
       keep -borderwidth -cursor -exportselection \
           -foreground -highlightcolor -highlightthickness \
-          -insertbackground -justify -relief
+          -insertbackground -justify -relief -textvariable
       
       rename -font -textfont textFont Font
       rename -highlightbackground -background background Background
@@ -136,6 +134,7 @@ body iwidgets::Timefield::constructor {args} {
     #
     bind $itk_component(time) <FocusIn>   [code $this _focusIn]
     bind $itk_component(time) <KeyPress>  [code $this _keyPress %A %K %s]
+    bind $itk_component(time) <1> "focus $itk_component(time); break"
 
     #
     # Disable some mouse button event bindings:
@@ -291,10 +290,47 @@ configbody iwidgets::Timefield::format {
   # Update the current contents of the entry field to reflect
   # the configured format.
   #
-  show $_timeVar($this)
+  show $_timeVar
 }
 
 # ------------------------------------------------------------------
+# OPTION: -gmt
+#
+# This option is used for GMT time.  Must be a boolean value.
+# ------------------------------------------------------------------
+configbody iwidgets::Timefield::gmt {
+  switch $itk_option(-gmt) {
+    0 - no - false - off { }
+    1 - yes - true - on { }
+    default {
+      error "bad gmt option \"$itk_option(-gmt)\": should be boolean"
+    }
+  }
+}
+
+# ------------------------------------------------------------------
+# OPTION: -state
+#
+# Disable the 
+# ------------------------------------------------------------------
+configbody iwidgets::Timefield::state {
+  switch -- $itk_option(-state) {
+    normal {
+      $itk_component(time) configure -state normal
+    }
+    disabled {
+      focus $itk_component(hull)
+      $itk_component(time) configure -state disabled
+    }
+    default {
+      error "Invalid value for -state: $itk_option(-state).  Should be\
+        \"normal\" or \"disabled\"."
+    }
+  }
+}
+
+
+# ------------------------------------------------------------------
 #                            METHODS
 # ------------------------------------------------------------------
 
@@ -308,13 +344,14 @@ configbody iwidgets::Timefield::format {
 # formats.
 # ------------------------------------------------------------------
 body iwidgets::Timefield::get {{format "-string"}} {
+  set _timeVar [$itk_component(time) get]
 
   switch -- $format {
     "-string" {
-      return $_timeVar($this)
+      return $_timeVar
     }
     "-clicks" {
-      return [::clock scan $_timeVar($this)]
+      return [::clock scan $_timeVar -gmt $itk_option(-gmt)]
     }
     default {
       error "bad format option \"$format\":\
@@ -332,6 +369,7 @@ body iwidgets::Timefield::get {{format "-string"}} {
 # information on obtaining times and their formats.
 # ------------------------------------------------------------------
 body iwidgets::Timefield::show {{time "now"}} {
+  set icursor [$itk_component(time) index insert]
 
   if {$time == {}} {
     set time "now"
@@ -344,7 +382,7 @@ body iwidgets::Timefield::show {{time "now"}} {
     }
 
     {^[0-9]+$} {
-      if { [catch {::clock format $time}] } {
+      if { [catch {::clock format $time -gmt $itk_option(-gmt)}] } {
         error "bad time: \"$time\", must be a valid time \
            string, clock clicks value or the keyword now"
       }
@@ -352,14 +390,21 @@ body iwidgets::Timefield::show {{time "now"}} {
     }
 
     default {
-      if {[catch {set seconds [::clock scan $time]}]} {
+      if {[catch {set seconds [::clock scan $time -gmt $itk_option(-gmt)]}]} {
         error "bad time: \"$time\", must be a valid time \
            string, clock clicks value or the keyword now"
       }
     }
   }
 
-  set _timeVar($this) [::clock format $seconds -format $_formatString]
+  set _timeVar [::clock format $seconds -format $_formatString \
+    -gmt $itk_option(-gmt)]
+
+  $itk_component(time) delete 0 end
+  $itk_component(time) insert end $_timeVar
+  $itk_component(time) icursor $icursor
+
+  return $_timeVar
 }
 
 # ------------------------------------------------------------------
@@ -370,8 +415,8 @@ body iwidgets::Timefield::show {{time "now"}} {
 # 26:59:59 is invalid.
 # ------------------------------------------------------------------
 body iwidgets::Timefield::isvalid {} {
-
-  return [expr ([catch {::clock scan $_timeVar($this)}] == 0)]
+  set _timeVar [$itk_component(time) get]
+  return [expr ([catch {::clock scan $_timeVar -gmt $itk_option(-gmt)}] == 0)]
 }
 
 # ------------------------------------------------------------------
@@ -410,9 +455,9 @@ body iwidgets::Timefield::_keyPress {char sym state} {
   set icursor [$itk_component(time) index insert]
   set lastField [lindex $_fields end]
 
-  set prevtime $_timeVar($this)
+  set prevtime $_timeVar
   regexp {^([0-9])([0-9]):([0-9])([0-9]):([0-9])([0-9]).*$} \
-        $_timeVar($this) dummy \
+        $_timeVar dummy \
         hour1 hour2 minute1 minute2 second1 second2
   set hour     "$hour1$hour2"
   set minute   "$minute1$minute2"
@@ -592,6 +637,7 @@ body iwidgets::Timefield::_keyPress {char sym state} {
       }
     }
 
+    set _timeVar [$itk_component(time) get]
     return -code break
   }
 
@@ -621,10 +667,8 @@ body iwidgets::Timefield::_keyPress {char sym state} {
         _toggleAmPm
       } else {
         set newclicks [::clock scan "$prevtime 1 $_cfield"]
-        set newtime   [::clock format $newclicks -format $_formatString]
-        set _timeVar($this) $newtime
+        show [::clock format $newclicks -format $_formatString]
       }
-      return -code continue
     }
 
     minus - Down {
@@ -636,10 +680,8 @@ body iwidgets::Timefield::_keyPress {char sym state} {
         _toggleAmPm
       } else {
         set newclicks [::clock scan "$prevtime 1 $_cfield ago"]
-        set newtime   [::clock format $newclicks -format $_formatString]
-        set _timeVar($this) $newtime
+        show [::clock format $newclicks -format $_formatString]
       }
-      return -code continue
     }
 
     Tab {
@@ -709,10 +751,11 @@ body iwidgets::Timefield::_keyPress {char sym state} {
 # between "AM" and "PM" when format is "civilian".
 # ------------------------------------------------------------------
 body iwidgets::Timefield::_toggleAmPm {} {
-  set firstChar  [string index $_timeVar($this) 9]
+  set firstChar  [string index $_timeVar 9]
   $itk_component(time) delete 9 10
   $itk_component(time) insert 9 [expr {($firstChar == "A") ? "P" : "A"}]
   $itk_component(time) icursor 9
+  set _timeVar [$itk_component(time) get]
 }
 
 # ------------------------------------------------------------------
index 22d6cd7..c9e2be2 100644 (file)
@@ -578,6 +578,9 @@ body iwidgets::Toolbar::_resetBalloonTimer {} {
 #
 # -------------------------------------------------------------
 body iwidgets::Toolbar::_startBalloonDelay {window} {
+    if {$_balloonAfterID != 0} {
+       after cancel $_balloonAfterID
+    }
     set _balloonAfterID [after $_balloonTimer [code $this showBalloon $window]]
 }
 
index afd90a3..bfe662e 100755 (executable)
@@ -594,7 +594,7 @@ configbody ::iwidgets::Watch::secondcolor {
 # Configure the color of the ticks.
 #
 configbody ::iwidgets::Watch::tickcolor {
-    watch itemconfigure tick -fill $itk_option(-tickcolor)
+    watch itemconfigure tick -outline $itk_option(-tickcolor)
 }
 
 # ------------------------------------------------------------------
index 4494103..8581c5a 100644 (file)
@@ -3,6 +3,11 @@
 # in this directory.
 #
 # @(#) all 1.2 94/08/10 15:52:50
+# ------------------------------------------------------------------
+# THIS SCRIPT IS NOW DEPRECATED!  It is kept for older Tcl
+# installations that don't have the "tcltest" package.
+# Instead, use the "all.tcl" script to run the test suite.
+# ------------------------------------------------------------------
 
 foreach i [lsort [glob *.test]] {
     if [string match l.*.test $i] {
index ece1f3b..dde9783 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -181,3 +184,6 @@ test Buttonbox-1.$c {Buttonbox destruction} {
     destroy .bb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 1da4a0b..0608d35 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -151,3 +154,6 @@ test Calendar-1.$c {Calendar destruction} {
     destroy .cal
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index f19cf95..984bbd7 100644 (file)
@@ -12,6 +12,9 @@
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 #
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -144,3 +147,6 @@ test Canvasprintbox-1.$c {Canvasprintbox destruction} {
     destroy .cpb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index b603f9c..0571316 100644 (file)
@@ -13,6 +13,9 @@
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 #
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -163,3 +166,6 @@ test Canvasprintdialog-1.$c {Canvasprintdialog destruction} {
     destroy .cpd
     update
 } {}
+
+::tcltest::cleanupTests
+exit
index fcd3333..51615eb 100755 (executable)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -42,7 +45,7 @@ incr c
 #
 test Checkbox-2.$o {configuration option} {
     llength [.cb configure]
-} {18}
+} {16}
 
 incr o
 
@@ -143,3 +146,6 @@ test Checkbox-1.$c {Checkbox destruction} {
     destroy .cb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 273da82..6abde80 100644 (file)
@@ -11,6 +11,9 @@
 # See the file "license.terms" for information on usage and redistribution
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -41,7 +44,7 @@ incr c
 #
 test Combobox-2.$o {configuration option} {
     llength [.cb configure]
-} {50}
+} {51}
 
 incr o
 
@@ -141,7 +144,7 @@ foreach test {
     {-margin bogus {bad screen distance "bogus"}}
     {-popupcursor bogus {bad cursor spec "bogus"}}
     {-selectborderwidth bogus {bad screen distance "bogus"}}
-    {-state bogus {bad state value "bogus": must be normal or disabled}}
+    {-state bogus {bad state "bogus": must be disabled or normal}}
     {-unique bogus {bad unique value "bogus": should be boolean}}
     {-vscrollmode bogus {bad vscrollmode option "bogus": should be static, dynamic, or none}}
     {-width bogus {expected integer but got "bogus"}} } {
@@ -295,3 +298,6 @@ test Combobox-4.5 {Combobox destruction} {
     destroy .cb4
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index d071a8e..801c9ad 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -181,3 +184,6 @@ test Dateentry-1.$c {Dateentry destruction} {
     destroy .de
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 890ec11..e1e08eb 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -166,3 +169,6 @@ test Datefield-1.$c {Datefield destruction} {
     destroy .df
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 09dd45b..d2ac67b 100644 (file)
@@ -9,6 +9,11 @@
 # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 #
 # @(#) defs 1.7 94/12/17 15:53:52
+# ------------------------------------------------------------------
+# THIS SCRIPT IS NOW DEPRECATED!  It is kept for older Tcl
+# installations that don't have the "tcltest" package.
+# Instead, use "package require tcltest" in the test suite.
+# ------------------------------------------------------------------
 
 package require Iwidgets
 
index 0d8524c..a3f7bfd 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -129,3 +132,6 @@ test Dialog-1.$c {Dialog destruction} {
     destroy .dlg
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index b1adbe2..a3e4dd5 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -222,3 +225,6 @@ test Dialogshell-1.$c {Dialogshell destruction} {
     destroy .ds
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 2e0d8a5..adbe185 100755 (executable)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -96,3 +99,6 @@ test Disjointlistbox-1.$c {Disjointlistbox construction} {
     destroy .lf
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 89c995f..4d051f6 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -43,7 +46,7 @@ incr c
 #
 test Entryfield-2.$o {configuration option} {
     llength [.ef configure]
-} {38}
+} {39}
 
 incr o
 
@@ -85,6 +88,7 @@ foreach test {
     {-labelpos s s} 
     {-labelpos sw sw} 
     {-labeltext Label Label} 
+    {-pasting 1 1} 
     {-relief raised raised} 
     {-relief sunken sunken} 
     {-state disabled disabled} 
@@ -170,3 +174,6 @@ test Entryfield-1.$c {Entryfield destruction} {
     destroy .ef
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 0d65d36..72720a0 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -190,3 +193,6 @@ test Extfileselectionbox-1.$o {Extfileselectionbox -childsitepos} {
     update
     destroy .fsb
 } {}
+
+::tcltest::cleanupTests
+exit
index f14db49..b30486b 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -198,3 +201,6 @@ test Extfileselectiondialog-1.$o {Extfileselectiondialog -childsitepos} {
     update
     destroy .fsd
 } {}
+
+::tcltest::cleanupTests
+exit
index a39011a..4a799bb 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id: feedback.test
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -130,3 +133,6 @@ test Feedback-1.$c {Feedback destruction} {
     update 
 } {}
 
+
+::tcltest::cleanupTests
+exit
index 5913996..2633f88 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -193,3 +196,6 @@ test Fileselectionbox-1.$o {Fileselectionbox -childsitepos} {
     update
     destroy .fsb
 } {}
+
+::tcltest::cleanupTests
+exit
index 8b5766d..efc1c6b 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -201,3 +204,6 @@ test Fileselectiondialog-1.$o {Fileselectiondialog -childsitepos} {
     update
     destroy .fsd
 } {}
+
+::tcltest::cleanupTests
+exit
index 0e2e516..e199909 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -150,3 +153,6 @@ test Finddialog-1.$c {Finddialog destruction} {
     destroy .fd
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 74fbfc1..4fa1a3a 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -78,7 +81,7 @@ incr c
 #
 test Hierarchy-2.$o {configuration option} {
     llength [.h configure]
-} {51}
+} {57}
 
 incr o
 
@@ -279,3 +282,6 @@ test Hierarchy-1.$c {Hierarchy destruction} {
 } {}
 
 cd $cdir
+
+::tcltest::cleanupTests
+exit
index a60d2b4..63b1d1b 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id: hyperhelp.test
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -160,3 +163,6 @@ test Hyperhelp-1.$c {Hyperhelp destruction} {
     destroy .h
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index d64a6ee..d69b5ce 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -176,3 +179,6 @@ test Labeledframe-1.$c {Labeledframe construction} {
 } {}
 
 
+
+::tcltest::cleanupTests
+exit
index fa25e58..8410e41 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -145,3 +148,6 @@ test Labeledwidget-1.$c {Labeledwidget construction} {
     destroy .lw
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index aa00b19..282b89e 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -221,9 +224,9 @@ foreach test {
                {}}
        {{.mb configure -menubuttons {
                menubutton file -text File -menu {
-                       options -tearoff $tearoff
-                       command ok -label $okLabel
-                       command quit -label $quitLabel
+                       options -tearoff on
+                       command ok -label "OK"
+                       command quit -label "Quit"
                        }
                }}
                {}}
@@ -305,9 +308,15 @@ foreach test {
        } {
        set method [lindex [lindex $test 0] 1]
        set method_invoke [lindex $test 0]
-       test_pattern Menubar-4.$m "\[$method_invoke\]" {
-           list [catch {eval [lindex $test 0]} msg] $msg
-       } [list 0 [lindex $test 1]]
+
+       set testContents "set msg {}\n"
+       append testContents \
+           "set result \[catch \{[lindex $test 0]\} msg\]\n"
+       append testContents \
+           "lappend result \[regexp -- \{[lindex $test 1]\} \$msg\] \n"
+       append testContents "set result\n"
+       test Menubar-4.$m "\[$method_invoke\]" $testContents \
+               [list 0 1]
        update 
        incr m
 }
@@ -317,74 +326,81 @@ foreach test {
 # Specifically, deals with method invocation on empty menubar.
 #
 foreach test {
-               {{.mb delete .0 .last} 
+               {{.mb delete .0 .last} 
                        {bad path:}}
-               {{.mb index .0} 
+               {{.mb index .0} 
                        {-1}}
-               {{.mb index .end} 
+               {{.mb index .end} 
                        {-1}}
-               {{.mb index .last} 
+               {{.mb index .last} 
                        {-1}}
-               {{.mb index .help} 
+               {{.mb index .help} 
                        {-1}}
-               {{.mb delete .0} 
+               {{.mb delete .0} 
                        {bad path:}}
-               {{.mb delete .end} 
+               {{.mb delete .end} 
                        {bad path:}}
-               {{.mb delete .last} 
+               {{.mb delete .last} 
                        {bad path:}}
-               {{.mb delete .help} 
+               {{.mb delete .help} 
                        {bad path:}}
-               {{.mb insert .0 menubutton file -text File} 
+               {{.mb insert .0 menubutton file -text File} 
                        {bad path:}}
-               {{.mb insert .end menubutton file -text File} 
+               {{.mb insert .end menubutton file -text File} 
                        {bad path:}}
-               {{.mb insert .last menubutton file -text File} 
+               {{.mb insert .last menubutton file -text File} 
                        {bad path:}}
-               {{.mb insert .help menubutton file -text File} 
+               {{.mb insert .help menubutton file -text File} 
                        {bad path:}}
-               {{.mb invoke .0.0} 
+               {{.mb invoke .0.0} 
                        {bad path:}}
-               {{.mb invoke .end.0} 
+               {{.mb invoke .end.0} 
                        {bad path:}}
-               {{.mb invoke .last.0} 
+               {{.mb invoke .last.0} 
                        {bad path:}}
-               {{.mb invoke .help.0} 
+               {{.mb invoke .help.0} 
                        {bad path:}}
-               {{.mb menucget .0 -text} 
+               {{.mb menucget .0 -text} 
                        {bad path:}}
-               {{.mb menucget .end -text} 
+               {{.mb menucget .end -text} 
                        {bad path:}}
-               {{.mb menucget .last -text} 
+               {{.mb menucget .last -text} 
                        {bad path:}}
-               {{.mb menucget .help -text} 
+               {{.mb menucget .help -text} 
                        {bad path:}}
-               {{.mb menuconfigure .0 -text} 
+               {{.mb menuconfigure .0 -text} 
                        {bad path:}}
-               {{.mb menuconfigure .end -text} 
+               {{.mb menuconfigure .end -text} 
                        {bad path:}}
-               {{.mb menuconfigure .last -text} 
+               {{.mb menuconfigure .last -text} 
                        {bad path:}}
-               {{.mb menuconfigure .help -text} 
+               {{.mb menuconfigure .help -text} 
                        {bad path:}}
-               {{.mb path *quit} 
+               {{.mb path *quit} 
                        {}}
-               {{.mb type .0.0} 
+               {{.mb type .0.0} 
                        {bad path:}}
-               {{.mb type .0.end} 
+               {{.mb type .0.end} 
                        {bad path:}}
-               {{.mb type .0.last} 
+               {{.mb type .0.last} 
                        {bad path:}}
-               {{.mb type .0.new} 
+               {{.mb type .0.new} 
                        {bad path:}}
-               {{.mb yposition .0.new} 
+               {{.mb yposition .0.new} 
                        {bad path:}}
        } {
-               set method [lindex [lindex $test 0] 1]
-               set method_invoke [lindex $test 0]
-               test_pattern Menubar-5.$m "\[$method_invoke\]" {
-                       list [catch {eval [lindex $test 0]} msg] $msg
-               } [list 1 [lindex $test 1]]
+               set method_status [lindex $test 0]
+               set method_invoke [lindex $test 1]
+               set method [lindex $method_invoke 1]
+
+               set testContents "set msg {}\n"
+               append testContents \
+                   "set result \[catch \{$method_invoke\} msg\]\n"
+               append testContents \
+                   "lappend result \[regexp -- \{[lindex $test 2]\} \$msg\] \n"
+               append testContents "set result\n"
+               test Menubar-5.$m "\[$method_invoke\]" $testContents \
+                       [list $method_status 1]
        incr m
        }
 
@@ -392,7 +408,7 @@ foreach test {
 # Method tests which fail and produce errors or results
 # On a non-empty menubar...
 foreach test {
-               {{.mb configure -menubuttons {
+               {{.mb configure -menubuttons {
                        menubutton file -text File -menu {
                                options -tearoff no
                                command ok -label "Ok"
@@ -400,70 +416,77 @@ foreach test {
                        }
                }}
                        {}}
-               {{.mb delete .file.hello} 
+               {{.mb delete .file.hello} 
                        {bad path}}
-               {{.mb index .0.hello} 
+               {{.mb index .0.hello} 
                        {-1}}
-               {{.mb index .0.quit} 
+               {{.mb index .0.quit} 
                        {1}}
-               {{.mb index 0.end} 
+               {{.mb index 0.end} 
                        {1}}
-               {{.mb index .file.last} 
+               {{.mb index .file.last} 
                        {1}}
-               {{.mb index .file.ok} 
+               {{.mb index .file.ok} 
                        {0}}
-               {{.mb delete .view .file}
+               {{.mb delete .view .file}
                        {bad path:}}
-               {{.mb delete .file .help}
+               {{.mb delete .file .help}
                        {bad path:}}
-               {{.mb add command .file.menu}
+               {{.mb add command .file.menu}
                        {bad name}}
-               {{.mb add command .file.last}
+               {{.mb add command .file.last}
                        {bad name}}
-               {{.mb add command .file.end}
+               {{.mb add command .file.end}
                        {bad name}}
-               {{.mb add command .file.2}
+               {{.mb add command .file.2}
                        {bad name}}
-               {{.mb insert .0 menu view -text View} 
+               {{.mb insert .0 menu view -text View} 
                        {bad type}}
-               {{.mb insert .file command view -text View} 
+               {{.mb insert .file command view -text View} 
                        {bad entry path}}
-               {{.mb insert .file menubutton view -text View} 
+               {{.mb insert .file menubutton view -text View} 
                        {[.]mb[.]menubar[.]view}}
-               {{.mb invoke .0.quit} 
+               {{.mb invoke .0.quit} 
                        {bad path}}
-               {{.mb menucget .0 -text} 
+               {{.mb menucget .0 -text} 
                        {View}}
-               {{.mb menucget .end -text} 
+               {{.mb menucget .end -text} 
                        {File}}
-               {{.mb menucget .last -text} 
+               {{.mb menucget .last -text} 
                        {File}}
-               {{.mb menucget .help -text} 
+               {{.mb menucget .help -text} 
                        {bad path}}
-               {{.mb menuconfigure .0 -text} 
+               {{.mb menuconfigure .0 -text} 
                        {-text text Text {} View}}
-               {{.mb menuconfigure .end.last -label} 
+               {{.mb menuconfigure .end.last -label} 
                        {-label {} {} {} Quit}}
-               {{.mb menuconfigure .last -text} 
+               {{.mb menuconfigure .last -text} 
                        {-text text Text {} File}}
-               {{.mb menuconfigure .help -text} 
+               {{.mb menuconfigure .help -text} 
                        {bad path}}
-               {{.mb path *quit} 
+               {{.mb path *quit} 
                        {[.]file[.]quit}}
-               {{.mb type .end.0} 
+               {{.mb type .end.0} 
                        {command}}
-               {{.mb type .end.end} 
+               {{.mb type .end.end} 
                        {command}}
-               {{.mb type .end.last} 
+               {{.mb type .end.last} 
                        {command}}
-               {{.mb type .0.new} 
+               {{.mb type .0.new} 
                        {bad path}}
        } {
-               set method [lindex [lindex $test 0] 1]
-               set method_invoke [lindex $test 0]
-               test_pattern Menubar-5.$m "\[$method_invoke\]" {
-                       list [catch {eval [lindex $test 0]} msg] $msg
-               } [list 1 [lindex $test 1]]
+               set method_status [lindex $test 0]
+               set method_invoke [lindex $test 1]
+               set method [lindex $method_invoke 1]
+
+               set testContents "set msg {}\n"
+               append testContents \
+                   "set result \[catch \{$method_invoke\} msg\]\n"
+               append testContents \
+                   "lappend result \[regexp -- \{[lindex $test 2]\} \$msg\] \n"
+               append testContents "set result\n"
+               test Menubar-5.$m "\[$method_invoke\]" $testContents \
+                       [list $method_status 1]
        incr m
        }
 
@@ -522,3 +545,6 @@ test Menubar-1.$c {Menubar destruction} {
        destroy .mb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index b128d6a..f601fef 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -177,3 +180,6 @@ test Messagebox-1.$c {Messagebox destruction} {
     destroy .mb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 3f99bea..5a76c0b 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -43,7 +46,7 @@ incr c
 #
 test Messagedialog-2.$o {configuration option} {
     llength [.md configure]
-} {24}
+} {26}
 
 incr o
 
@@ -145,3 +148,6 @@ test Messagedialog-1.$c {Messagedialog construction} {
     destroy .md
     update
 } {}
+
+::tcltest::cleanupTests
+exit
index f19d4a4..b5bbd36 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -108,110 +111,117 @@ foreach test {
 # Method tests which are successful.
 #
 foreach test {
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add -label Never} 
+    {{.nb add -label Never} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-       {{.nb add -label "Hello World" -disabledforeground gray} 
+       {{.nb add -label "Hello World" -disabledforeground gray} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb childsite Never} 
+    {{.nb childsite Never} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb childsite 0} 
+    {{.nb childsite 0} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb childsite end} 
+    {{.nb childsite end} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb index end} 
+    {{.nb index end} 
                {[0-9]+}}
-    {{.nb index Never} 
+    {{.nb index Never} 
                {[0-9]+}}
-    {{.nb index 0} 
+    {{.nb index 0} 
                {0}}
-    {{.nb select 0} 
+    {{.nb select 0} 
                {0}}
-    {{.nb select select} 
+    {{.nb select select} 
                {0}}
-    {{.nb select end} 
+    {{.nb select end} 
                {[0-9]+}}
-    {{.nb select "Hello World"} 
+    {{.nb select "Hello World"} 
                {[0-9]+}}
-    {{.nb insert 0} 
+    {{.nb insert 0} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb insert select -label "An Insert"} 
+    {{.nb insert select -label "An Insert"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb insert end -label "Next To Last"} 
+    {{.nb insert end -label "Next To Last"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb select 0} 
+    {{.nb select 0} 
                {0}}
-    {{.nb next} 
+    {{.nb next} 
                {1}}
-    {{.nb next} 
+    {{.nb next} 
                {2}}
-    {{.nb prev} 
+    {{.nb prev} 
                {1}}
-    {{.nb prev} 
+    {{.nb prev} 
                {0}}
-    {{.nb delete Never} 
+    {{.nb delete Never} 
                {}}
-    {{.nb delete 1 2} 
+    {{.nb delete 1 2} 
                {}}
-    {{.nb delete 0 "Hello World"} 
+    {{.nb delete 0 "Hello World"} 
                {}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb delete 0 end} 
+    {{.nb delete 0 end} 
                {}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add} 
+    {{.nb add} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb select 2} 
+    {{.nb select 2} 
                {[-]*[0-9]+}}
-    {{.nb delete select end} 
+    {{.nb delete select end} 
                {}}
-    {{.nb delete 0 end} 
+    {{.nb delete 0 end} 
                {}}
-    {{.nb add -label "First Page"} 
+    {{.nb add -label "First Page"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add -label "Second Page"} 
+    {{.nb add -label "Second Page"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add -label "Third Page"} 
+    {{.nb add -label "Third Page"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add -label "Fourth Page"} 
+    {{.nb add -label "Fourth Page"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add -label "Fifth Page"} 
+    {{.nb add -label "Fifth Page"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb add -label "Sixth Page"} 
+    {{.nb add -label "Sixth Page"} 
                {[.]nb[.]cs[.]page[0-9]+[.]cs}}
-    {{.nb select "First Page"} 
+    {{.nb select "First Page"} 
                {[-]*[0-9]+}}
-    {{.nb delete select "Second Page"} 
+    {{.nb delete select "Second Page"} 
                {}}
-    {{.nb delete "Third Page" 1} 
+    {{.nb delete "Third Page" 1} 
                {}}
-    {{.nb delete "Fifth Page" "Sixth Page"} 
+    {{.nb delete "Fifth Page" "Sixth Page"} 
                {}}
        } {
-       set method [lindex [lindex $test 0] 1]
-       set method_invoke [lindex $test 0]
-       test_pattern Notebook-3.$m "\[$method_invoke\]" {
-           list [catch {eval [lindex $test 0]} msg] $msg
-       } [list 0 [lindex $test 1]]
+       set method_status [lindex $test 0]
+       set method_invoke [lindex $test 1]
+       set method [lindex $method_invoke 1]
+
+       set testContents "set msg {}\n"
+       append testContents \
+           "set result \[catch \{$method_invoke\} msg\]\n"
+       append testContents \
+           "lappend result \[regexp -- \{[lindex $test 2]\} \$msg\] \n"
+       append testContents "set result\n"
+       test Notebook-3.$m "\[$method_invoke\]" $testContents \
+               [list $method_status 1]
        update 
        incr m
 }
@@ -219,48 +229,56 @@ foreach test {
 #
 # Method tests which fail and produce errors
 #
+set m 1
 foreach test {
-               {{.nb delete 0 end} {}}
-               {{.nb childsite 0} {can't get childsite, no pages}}
-               {{.nb add} {}}
-               {{.nb childsite 1} {bad Notebook page index in childsite method}}
-               {{.nb childsite -1} {bad Notebook page index in childsite method}}
-               {{.nb delete 0} {}}
-               {{.nb delete 0} {can't delete page, no pages}}
-               {{.nb add} {}}
-               {{.nb delete 1} {bad Notebook page index in delete method:}}
-               {{.nb delete select} {bad Notebook page index in delete method:}}
-               {{.nb delete 0} {}}
-               {{.nb add} {}}
-               {{.nb delete 0 1} {bad Notebook page index2 in delete method:}}
-               {{.nb delete 1 4} {bad Notebook page index1 in delete method:}}
-               {{.nb add} {}}
-               {{.nb delete 1 0} {bad Notebook page index1 in delete method: index1 is greater than index2}}
-               {{.nb delete 0 1} {}}
-               {{.nb add} {}}
-               {{.nb delete 0 1 4 5 6} {wrong # args}}
-               {{.nb delete} {wrong # args}}
-               {{.nb delete 0} {}}
-               {{.nb delete 0} {can't delete page}}
-               {{.nb delete select} {can't delete page}}
-               {{.nb insert 0} {can't insert page}}
-               {{.nb add} {}}
-               {{.nb add} {}}
-               {{.nb insert 2} {bad Notebook page index in insert method:}}
-               {{.nb insert -1} {bad Notebook page index}}
-               {{.nb delete 0 end} {}}
-               {{.nb next} {can't move to next page, no pages in the notebook}}
-               {{.nb prev} {can't move to previous page, no pages in the notebook}}
-               {{.nb select 0} {can't select page}}
-               {{.nb add} {}}
-               {{.nb select 1} {bad Notebook page index in select method:}}
-               {{.nb delete 0} {}}
+               {1 {.nb delete 0 end} {can't delete page}}
+               {{.nb childsite 0} {can't get childsite, no pages}}
+               {{.nb add} {}}
+               {{.nb childsite 1} {bad Notebook page index in childsite method}}
+               {{.nb childsite -1} {bad Notebook page index in childsite method}}
+               {{.nb delete 0} {}}
+               {{.nb delete 0} {can't delete page, no pages}}
+               {{.nb add} {}}
+               {{.nb delete 1} {bad Notebook page index in delete method:}}
+               {{.nb delete select} {bad Notebook page index in delete method:}}
+               {{.nb delete 0} {}}
+               {{.nb add} {}}
+               {{.nb delete 0 1} {bad Notebook page index2 in delete method:}}
+               {{.nb delete 1 4} {bad Notebook page index1 in delete method:}}
+               {{.nb add} {}}
+               {{.nb delete 1 0} {bad Notebook page index1 in delete method: index1 is greater than index2}}
+               {{.nb delete 0 1} {}}
+               {{.nb add} {}}
+               {{.nb delete 0 1 4 5 6} {wrong # args}}
+               {{.nb delete} {wrong # args}}
+               {{.nb delete 0} {}}
+               {{.nb delete 0} {can't delete page}}
+               {{.nb delete select} {can't delete page}}
+               {{.nb insert 0} {can't insert page}}
+               {{.nb add} {}}
+               {{.nb add} {}}
+               {{.nb insert 2} {bad Notebook page index in insert method:}}
+               {{.nb insert -1} {bad Notebook page index}}
+               {{.nb delete 0 end} {}}
+               {{.nb next} {can't move to next page, no pages in the notebook}}
+               {{.nb prev} {can't move to previous page, no pages in the notebook}}
+               {{.nb select 0} {can't select page}}
+               {{.nb add} {}}
+               {{.nb select 1} {bad Notebook page index in select method:}}
+               {{.nb delete 0} {}}
        } {
-               set method [lindex [lindex $test 0] 1]
-               set method_invoke [lindex $test 0]
-               test_pattern Notebook-3.$m "\[$method_invoke\]" {
-                       list [catch {eval [lindex $test 0]} msg] $msg
-               } [list 1 [lindex $test 1]]
+               set method_status [lindex $test 0]
+               set method_invoke [lindex $test 1]
+               set method [lindex $method_invoke 1]
+
+               set testContents "set msg {}\n"
+               append testContents \
+                   "set result \[catch \{$method_invoke\} msg\]\n"
+               append testContents \
+                   "lappend result \[regexp -- \{[lindex $test 2]\} \$msg\] \n"
+               append testContents "set result\n"
+               test Notebook-4.$m "\[$method_invoke\]" $testContents \
+                       [list $method_status 1]
        incr m
        }
 
@@ -292,3 +310,6 @@ test Notebook-1.$c {Notebook destruction} {
        destroy .nb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 72d00d5..fc19d73 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -174,3 +177,6 @@ test Optionmenu-1.$c {Optionmenu destruction} {
     destroy .om
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 3cb78bb..75eb837 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -155,3 +158,6 @@ test Panedwindow-1.$c {Panedwindow destruction} {
     destroy .pw
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index e519dba..619083a 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -157,3 +160,6 @@ test Promptdialog-1.$c {Promptdialog destruction} {
     destroy .pd
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 4f34123..cbe40b7 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -134,3 +137,6 @@ test Pushbutton-1.$c {Pushbutton destruction} {
     destroy .pb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 4f385c8..4a835d4 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -42,7 +45,7 @@ incr c
 #
 test Radiobox-2.$o {configuration option} {
     llength [.rb configure]
-} {18}
+} {19}
 
 incr o
 
@@ -135,3 +138,6 @@ test Radiobox-1.$c {Radiobox destruction} {
     destroy .rb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 9a17a26..91e3994 100755 (executable)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -170,3 +173,6 @@ test Regexpfield-1.$c {Regexpfield destruction} {
     destroy .ef
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 24d999f..04eafe3 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -167,3 +170,6 @@ test Scrolledcanvas-1.$c {Scrolledcanvas destruction} {
     destroy .sc
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 8b06235..73b60b9 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -196,3 +199,6 @@ test Scrolledframe-1.$c {Scrolledframe destruction} {
     destroy .sf
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index c4862cd..2ee30e9 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id: scrolledhtml.test
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -42,7 +45,7 @@ incr c
 #
 test Scrolledhtml-2.$o {configuration option} {
     llength [.sh configure]
-} {57}
+} {58}
 
 incr o
 
@@ -195,3 +198,6 @@ test Scrolledhtml-1.$c {Scrolledhtml destruction} {
     destroy .sh
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 0504b1d..67d813d 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -43,7 +46,7 @@ incr c
 #
 test Scrolledlistbox-2.$o {configuration option} {
     llength [.slb configure]
-} {38}
+} {39}
 
 incr o
 
@@ -198,3 +201,6 @@ test Scrolledlistbox-1.$c {Scrolledlistbox destruction} {
     destroy .slb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 761e6cc..3367155 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -163,3 +166,6 @@ test Scrolledtext-1.$c {Scrolledtext destruction} {
     destroy .st
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 6c40047..b305498 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -172,3 +175,6 @@ test Selectionbox-1.$c {Selectionbox destruction} {
     destroy .sb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 6474fe5..288b7cd 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -184,3 +187,6 @@ test Selectiondialog-1.$c {Selectiondialog destruction} {
     destroy .sd
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 48a9dae..a96a203 100644 (file)
@@ -14,6 +14,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -194,3 +197,6 @@ test Shell-1.$c {Shell destruction} {
     destroy .sh
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 7c541a1..310187f 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -154,3 +157,6 @@ test Spindate-1.$c {Spindate destruction} {
     destroy .sd
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index a17087f..8a62338 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -42,7 +45,7 @@ incr c
 #
 test Spinint-2.$o {configuration option} {
     llength [.spi configure]
-} {46}
+} {47}
 
 incr o
 
@@ -164,3 +167,6 @@ test Spinint-1.$c {Spinint destruction} {
     destroy .spi 
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index f0c8154..535773e 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -41,7 +44,7 @@ incr c
 #
 test Spinner-2.$o {configuration option} {
     llength [.sp configure]
-} {43}
+} {44}
 
 incr o
 
@@ -146,3 +149,6 @@ test Spinner-1.$c {Spinner destruction} {
     destroy .sp
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index ec1b4b3..84bc91e 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -138,3 +141,6 @@ test Spintime-1.$c {Spintime destruction} {
     destroy .st 
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index bb21c58..b5a7244 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -228,9 +231,15 @@ foreach test {
        } {
        set method [lindex [lindex $test 0] 1]
        set method_invoke [lindex $test 0]
-       test_pattern Tabnotebook-3.$m "\[$method_invoke\]" {
-           list [catch {eval [lindex $test 0]} msg] $msg
-       } [list 0 [lindex $test 1]]
+
+       set testContents "set msg {}\n"
+       append testContents \
+           "set result \[catch \{[lindex $test 0]\} msg\]\n"
+       append testContents \
+           "lappend result \[regexp -- \{[lindex $test 1]\} \$msg\] \n"
+       append testContents "set result\n"
+       test Tabnotebook-3.$m "\[$method_invoke\]" $testContents \
+               [list 0 1]
        update 
        incr m
 }
@@ -238,48 +247,56 @@ foreach test {
 #
 # Method tests which fail and produce errors
 #
+set m 1
 foreach test {
-               {{.tn delete 0 end} {}}
-               {{.tn childsite 0} {can't get childsite, no pages}}
-               {{.tn add} {}}
-               {{.tn childsite 1} {bad Notebook page index in childsite method}}
-               {{.tn childsite -1} {bad Notebook page index in childsite method}}
-               {{.tn delete 0} {}}
-               {{.tn delete 0} {can't delete page, no pages}}
-               {{.tn add} {}}
-               {{.tn delete 1} {bad Notebook page index in delete method:}}
-               {{.tn delete select} {bad Notebook page index in delete method:}}
-               {{.tn delete 0} {}}
-               {{.tn add} {}}
-               {{.tn delete 0 1} {bad Notebook page index2 in delete method:}}
-               {{.tn delete 1 4} {bad Notebook page index1 in delete method:}}
-               {{.tn add} {}}
-               {{.tn delete 1 0} {bad Notebook page index1 in delete method: index1 is greater than index2}}
-               {{.tn delete 0 1} {}}
-               {{.tn add} {}}
-               {{.tn delete 0 1 4 5 6} {wrong # args}}
-               {{.tn delete} {wrong # args}}
-               {{.tn delete 0} {}}
-               {{.tn delete 0} {can't delete page}}
-               {{.tn delete select} {can't delete page}}
-               {{.tn insert 0} {can't insert page}}
-               {{.tn add} {}}
-               {{.tn add} {}}
-               {{.tn insert 2} {bad Notebook page index in insert method:}}
-               {{.tn insert -1} {bad Notebook page index}}
-               {{.tn delete 0 end} {}}
-               {{.tn next} {can't move to next page, no pages in the notebook}}
-               {{.tn prev} {can't move to previous page, no pages in the notebook}}
-               {{.tn select 0} {can't select page}}
-               {{.tn add} {}}
-               {{.tn select 1} {bad Notebook page index in select method:}}
-               {{.tn delete 0} {}}
+               {1 {.tn delete 0 end} {can't delete page}}
+               {{.tn childsite 0} {can't get childsite, no pages}}
+               {{.tn add} {}}
+               {{.tn childsite 1} {bad Notebook page index in childsite method}}
+               {{.tn childsite -1} {bad Notebook page index in childsite method}}
+               {{.tn delete 0} {}}
+               {{.tn delete 0} {can't delete page, no pages}}
+               {{.tn add} {}}
+               {{.tn delete 1} {bad Notebook page index in delete method:}}
+               {{.tn delete select} {bad Notebook page index in delete method:}}
+               {{.tn delete 0} {}}
+               {{.tn add} {}}
+               {{.tn delete 0 1} {bad Notebook page index2 in delete method:}}
+               {{.tn delete 1 4} {bad Notebook page index1 in delete method:}}
+               {{.tn add} {}}
+               {{.tn delete 1 0} {bad Notebook page index1 in delete method: index1 is greater than index2}}
+               {{.tn delete 0 1} {}}
+               {{.tn add} {}}
+               {{.tn delete 0 1 4 5 6} {wrong # args}}
+               {{.tn delete} {wrong # args}}
+               {{.tn delete 0} {}}
+               {{.tn delete 0} {can't delete page}}
+               {{.tn delete select} {can't delete page}}
+               {{.tn insert 0} {can't insert page}}
+               {{.tn add} {}}
+               {{.tn add} {}}
+               {{.tn insert 2} {bad Notebook page index in insert method:}}
+               {{.tn insert -1} {bad Notebook page index}}
+               {{.tn delete 0 end} {}}
+               {{.tn next} {can't move to next page, no pages in the notebook}}
+               {{.tn prev} {can't move to previous page, no pages in the notebook}}
+               {{.tn select 0} {can't select page}}
+               {{.tn add} {}}
+               {{.tn select 1} {bad Notebook page index in select method:}}
+               {{.tn delete 0} {}}
        } {
-               set method [lindex [lindex $test 0] 1]
-               set method_invoke [lindex $test 0]
-               test_pattern Tabnotebook-3.$m "\[$method_invoke\]" {
-                       list [catch {eval [lindex $test 0]} msg] $msg
-               } [list 1 [lindex $test 1]]
+               set method_status [lindex $test 0]
+               set method_invoke [lindex $test 1]
+               set method [lindex $method_invoke 1]
+
+               set testContents "set msg {}\n"
+               append testContents \
+                   "set result \[catch \{$method_invoke\} msg\]\n"
+               append testContents \
+                   "lappend result \[regexp -- \{[lindex $test 2]\} \$msg\] \n"
+               append testContents "set result\n"
+               test Tabnotebook-4.$m "\[$method_invoke\]" $testContents \
+                       [list $method_status 1]
        incr m
        }
 
@@ -311,3 +328,6 @@ test Tabnotebook-1.$c {Tabnotebook destruction} {
        destroy .tn
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 425bd32..0731be4 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -237,9 +240,15 @@ foreach test {
        } {
        set method [lindex [lindex $test 0] 1]
        set method_invoke [lindex $test 0]
-       test_pattern Tabset-3.$m "\[$method_invoke\]" {
-           list [catch {eval [lindex $test 0]} msg] $msg
-       } [list 0 [lindex $test 1]]
+
+       set testContents "set msg {}\n"
+       append testContents \
+           "set result \[catch \{[lindex $test 0]\} msg\]\n"
+       append testContents \
+           "lappend result \[regexp -- \{[lindex $test 1]\} \$msg\] \n"
+       append testContents "set result\n"
+       test Tabset-3.$m "\[$method_invoke\]" $testContents \
+               [list 0 1]
        update 
        incr m
 }
@@ -247,44 +256,52 @@ foreach test {
 #
 # Method tests which fail and produce errors
 #
+set m 1
 foreach test {
-               {{.ts delete 0 end} {}}
-               {{.ts add} {}}
-               {{.ts delete 0} {}}
-               {{.ts delete 0} {can't delete tabs, no tabs}}
-               {{.ts add} {}}
-               {{.ts delete 1} {bad value for index1}}
-               {{.ts delete select} {bad value for index1}}
-               {{.ts delete 0} {}}
-               {{.ts add} {}}
-               {{.ts delete 0 1} {bad value for index2}}
-               {{.ts delete 1 4} {bad value for index1}}
-               {{.ts add} {}}
-               {{.ts delete 0 1} {}}
-               {{.ts add} {}}
-               {{.ts delete 0 1 4 5 6} {wrong # args}}
-               {{.ts delete} {wrong # args}}
-               {{.ts delete 0} {}}
-               {{.ts delete 0} {can't delete tabs}}
-               {{.ts delete select} {can't delete tabs}}
-               {{.ts insert 0} {no tab to insert before, tabset}}
-               {{.ts add} {}}
-               {{.ts add} {}}
-               {{.ts insert 2} {bad value}}
-               {{.ts insert -1} {bad option}}
-               {{.ts delete 0 end} {}}
-               {{.ts next} {can't goto next tab, no tabs in the tabset}}
-               {{.ts prev} {can't goto previous tab, no tabs in the tabset}}
-               {{.ts select 0} {can't activate a tab, no tabs in the tabset}}
-               {{.ts add} {}}
-               {{.ts select 1} {bad value}}
-               {{.ts delete 0} {}}
+               {1 {.ts delete 0 end} {can't delete tab}}
+               {{.ts add} {}}
+               {{.ts delete 0} {}}
+               {{.ts delete 0} {can't delete tabs, no tabs}}
+               {{.ts add} {}}
+               {{.ts delete 1} {bad value for index1}}
+               {{.ts delete select} {bad value for index1}}
+               {{.ts delete 0} {}}
+               {{.ts add} {}}
+               {{.ts delete 0 1} {bad value for index2}}
+               {{.ts delete 1 4} {bad value for index1}}
+               {{.ts add} {}}
+               {{.ts delete 0 1} {}}
+               {{.ts add} {}}
+               {{.ts delete 0 1 4 5 6} {wrong # args}}
+               {{.ts delete} {wrong # args}}
+               {{.ts delete 0} {}}
+               {{.ts delete 0} {can't delete tabs}}
+               {{.ts delete select} {can't delete tabs}}
+               {{.ts insert 0} {no tab to insert before, tabset}}
+               {{.ts add} {}}
+               {{.ts add} {}}
+               {{.ts insert 2} {bad value}}
+               {{.ts insert -1} {bad option}}
+               {{.ts delete 0 end} {}}
+               {{.ts next} {can't goto next tab, no tabs in the tabset}}
+               {{.ts prev} {can't goto previous tab, no tabs in the tabset}}
+               {{.ts select 0} {can't activate a tab, no tabs in the tabset}}
+               {{.ts add} {}}
+               {{.ts select 1} {bad value}}
+               {{.ts delete 0} {}}
        } {
-               set method [lindex [lindex $test 0] 1]
-               set method_invoke [lindex $test 0]
-               test_pattern Tabset-3.$m "\[$method_invoke\]" {
-                       list [catch {eval [lindex $test 0]} msg] $msg
-               } [list 1 [lindex $test 1]]
+               set method_status [lindex $test 0]
+               set method_invoke [lindex $test 1]
+               set method [lindex $method_invoke 1]
+
+               set testContents "set msg {}\n"
+               append testContents \
+                   "set result \[catch \{$method_invoke\} msg\]\n"
+               append testContents \
+                   "lappend result \[regexp -- \{[lindex $test 2]\} \$msg\] \n"
+               append testContents "set result\n"
+               test Tabset-4.$m "\[$method_invoke\]" $testContents \
+                       [list $method_status 1]
        incr m
        }
 
@@ -315,3 +332,6 @@ test Tabset-1.$c {Tabset destruction} {
        destroy .ts
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 752203d..1e999a3 100755 (executable)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -42,7 +45,7 @@ incr c
 #
 test Timeentry-2.$o {configuration option} {
     llength [.te configure]
-} {43}
+} {45}
 
 incr o
 
@@ -176,3 +179,6 @@ test Timeentry-1.$c {Timeentry destruction} {
     destroy .te
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 1dc6005..8e4d281 100755 (executable)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -42,7 +45,7 @@ incr c
 #
 test Timefield-2.$o {configuration option} {
     llength [.tf configure]
-} {27}
+} {29}
 
 incr o
 
@@ -161,3 +164,6 @@ test Timefield-1.$c {Timefield destruction} {
     destroy .tf
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 49e0394..f731244 100644 (file)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -187,9 +190,15 @@ foreach test {
        } {
        set method [lindex [lindex $test 0] 1]
        set method_invoke [lindex $test 0]
-       test_pattern Toolbar-4.$m "\[$method_invoke\]" {
-           list [catch {eval [lindex $test 0]} msg] $msg
-       } [list 0 [lindex $test 1]]
+
+       set testContents "set msg {}\n"
+       append testContents \
+           "set result \[catch \{[lindex $test 0]\} msg\]\n"
+       append testContents \
+           "lappend result \[regexp -- \{[lindex $test 1]\} \$msg\] \n"
+       append testContents "set result\n"
+       test Toolbar-4.$m "\[$method_invoke\]" $testContents \
+               [list 0 1]
        update 
        incr m
 }
@@ -198,36 +207,43 @@ foreach test {
 # Method tests which fail and produce errors
 #
 foreach test {
-               {{.tb delete 0 end} {}}
-               {{.tb add button item1} {}}
-               {{.tb delete 0} {}}
-               {{.tb delete 0} {can't delete widget, no widgets in the Toolbar}}
-               {{.tb add button item1} {}}
-               {{.tb delete 1} {bad Toolbar widget index in delete method}}
-               {{.tb delete 0} {}}
-               {{.tb add button item1} {}}
-               {{.tb delete 0 1} {bad Toolbar widget index2 in delete method}}
-               {{.tb delete 1 4} {bad Toolbar widget index1 in delete method}}
-               {{.tb add button item2} {}}
-               {{.tb delete 1 0} {bad Toolbar widget index1 in delete method}}
-               {{.tb delete 0 1} {}}
-               {{.tb add button item1} {}}
-               {{.tb delete 0 1 4 5 6} {wrong # args}}
-               {{.tb delete} {wrong # args}}
-               {{.tb delete 0} {}}
-               {{.tb delete 0} {can't delete widget, no widgets in the Toolbar}}
-               {{.tb insert 0 button itemA} {}}
-               {{.tb add button item1} {}}
-               {{.tb add button item2} {}}
-               {{.tb insert 0 button itemAA} {}}
-               {{.tb insert -1 button bogus} {bad toolbar entry index -1}}
-               {{.tb delete 0 end} {}}
+               {{.tb delete 0 end} {}}
+               {{.tb add button item1} {}}
+               {{.tb delete 0} {}}
+               {{.tb delete 0} {can't delete widget, no widgets in the Toolbar}}
+               {{.tb add button item1} {}}
+               {{.tb delete 1} {bad Toolbar widget index in delete method}}
+               {{.tb delete 0} {}}
+               {{.tb add button item1} {}}
+               {{.tb delete 0 1} {bad Toolbar widget index2 in delete method}}
+               {{.tb delete 1 4} {bad Toolbar widget index1 in delete method}}
+               {{.tb add button item2} {}}
+               {{.tb delete 1 0} {bad Toolbar widget index1 in delete method}}
+               {{.tb delete 0 1} {}}
+               {{.tb add button item1} {}}
+               {{.tb delete 0 1 4 5 6} {wrong # args}}
+               {{.tb delete} {wrong # args}}
+               {{.tb delete 0} {}}
+               {{.tb delete 0} {can't delete widget, no widgets in the Toolbar}}
+               {{.tb insert 0 button itemA} {}}
+               {{.tb add button item1} {}}
+               {{.tb add button item2} {}}
+               {{.tb insert 0 button itemAA} {}}
+               {{.tb insert -1 button bogus} {bad toolbar entry index -1}}
+               {{.tb delete 0 end} {}}
        } {
-               set method [lindex [lindex $test 0] 1]
-               set method_invoke [lindex $test 0]
-               test_pattern Toolbar-5.$m "\[$method_invoke\]" {
-                       list [catch {eval [lindex $test 0]} msg] $msg
-               } [list 1 [lindex $test 1]]
+               set method_status [lindex $test 0]
+               set method_invoke [lindex $test 1]
+               set method [lindex $method_invoke 1]
+
+               set testContents "set msg {}\n"
+               append testContents \
+                   "set result \[catch \{$method_invoke\} msg\]\n"
+               append testContents \
+                   "lappend result \[regexp -- \{[lindex $test 2]\} \$msg\] \n"
+               append testContents "set result\n"
+               test Toolbar-5.$m "\[$method_invoke\]" $testContents \
+                       [list $method_status 1]
        incr m
        }
 
@@ -259,3 +275,6 @@ test Toolbar-1.$c {Toolbar destruction} {
        destroy .tb
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 0762d1e..cf65bda 100644 (file)
@@ -9,6 +9,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -51,3 +54,6 @@ foreach file [glob *.test] {
         } $name
     }
 }
+
+::tcltest::cleanupTests
+exit
index 204ca98..a132a37 100755 (executable)
@@ -13,6 +13,9 @@
 #
 # @(#) $Id$
 
+package require tcltest
+namespace import -force ::tcltest::*
+
 package require Iwidgets 3.0
 
 if {[string compare test [info procs test]] == 1} {
@@ -147,3 +150,6 @@ test Watch-1.$c {Watch destruction} {
     destroy .w 
     update 
 } {}
+
+::tcltest::cleanupTests
+exit
index 5771c69..296de7f 100644 (file)
@@ -1,4 +1,4 @@
-This software is copyrighted by Lucent Technologies, Inc., and other
+This software is copyrighted by Cadence Design Systems, Inc., and other
 parties.  The following terms apply to all files associated with the
 software unless explicitly disclaimed in individual files.
 
index 609a4a7..d5d8e23 100644 (file)
@@ -3,64 +3,57 @@
 #
 
 # This is the main Visual C++ makefile for the Windows distribution
-# of [incr Tcl] version 2.2.  To compile the distribution using Visual
+# of [incr Tcl] version 3.0.  To compile the distribution using Visual
 # C++, copy "makefile.vc" to "makefile".  Then set the macros for the
-# location of the source tree, the target directory, and the Microsoft
-# Compilers.  You may then "make dist" to build the distribution, and
-# "make dist-install" to install it to the target directory you specify
-# below.
+# location of the source directory, installation directory, and the
+# Microsoft Compilers.  You may then "make dist" to build the distribution,
+# and "make dist-install" to install it to the target directory you specify
+# below, and "make dist-clean" to clean up.
 
 #
-# There are three primary targets for the distribution:
+# Project directories
 #
-# dist: build the entire distribution: Tcl, Tk, Itcl, Itk
+# ROOT    = top of source tree
 #
-# dist-install: moves built files to target directory
-#
-# dist-clean: erases built files in source tree
-
+# TMPDIR  = location where .obj files should be stored during build
 #
 # TOOLS32 = location of VC++ 32-bit development tools. Note that the
 #          VC++ 2.0 header files are broken, so you need to use the
 #          ones that come with the developer network CD's, or later
 #          versions of VC++.
 #
-# TOOLS16 = location of VC++ 1.5 16-bit tools, needed to build thunking
-#          library.  This information is optional; if the 16-bit compiler
-#          is not available, then the 16-bit code will not be built.
-#          Tcl will still run without the 16-bit code, but...
-#              A. Under Windows 3.X you will any calls to the exec command
-#                 will return an error.
-#              B. A 16-bit program to test the behavior of the exec
-#                 command under NT and 95 will not be built.
-#
-# TARGET_ROOT -- Target Directory for installation
-#
-# SOURCE_ROOT -- Path to root of source tree
+# INSTALLDIR = where the install- targets should copy the binaries and
+#          support files
 #
 
-TOOLS32                = c:\msdev
-TOOLS16                = c:\msvc
-TARGET_ROOT    = c:\Program files\Itcl2.2
-SOURCE_ROOT    = c:\itcl2.2
+TOOLS32                = c:\progra~1\devstudio\vc
+TOOLS32_rc     = c:\progra~1\devstudio\sharedide
+
+SOURCE_ROOT = \ws\incrTcl
+INSTALLDIR     = c:\progra~1\Tcl
+TCLDIR          = \ws\tcl8.1
+TKDIR           = \ws\tk8.1
+TCLSH           = $(TCLDIR)\win\Release\tclsh81.exe
+
+# Set this to the appropriate value of /MACHINE: for your platform
+MACHINE        = IX86
+
+# Set NODEBUG to 0 to compile with symbols
+NODEBUG = 1
+
+# uncomment one of the following lines to compile with TCL_MEM_DEBUG, 
+# TCL_MEM_DEBUG, or TCL_COMPILE_DEBUG
+#DEBUGDEFINES  = -DTCL_MEM_DEBUG
+#DEBUGDEFINES  = -DTCL_MEM_DEBUG -DTCL_COMPILE_DEBUG
+#DEBUGDEFINES  = -DTCL_MEM_DEBUG -DTCL_COMPILE_STATS
+#DEBUGDEFINES  = -DTCL_MEM_DEBUG -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
 
-#
-# You should not have to modify anything further in this makefile
-#
 
 #
-# Borland C++ tools
+# You should not have to modify anything further in this makefile
 #
 
-cc32           = $(TOOLS32)\bin\cl.exe 
-link32         = $(TOOLS32)\bin\link.exe
-rc32           = $(TOOLS32)\bin\rc.exe
-include32      = -I$(TOOLS32)\include
 
-cc16           = $(TOOLS16)\bin\cl.exe
-link16         = $(TOOLS16)\bin\link.exe
-rc16           = $(TOOLS16)\bin\rc.exe
-include16      = -I$(TOOLS16)\include
 MAKE           = $(TOOLS32)\bin\nmake -fmakefile.vc
 
 #
@@ -74,73 +67,28 @@ MKDIR               = -mkdir
 #
 # Source and Build Paths
 #
-
-TCLDIR                 = $(SOURCE_ROOT)\Tcl7.6
-TKDIR          = $(SOURCE_ROOT)\Tk4.2
 ITCLDIR                = $(SOURCE_ROOT)\Itcl
 ITKDIR         = $(SOURCE_ROOT)\Itk
-IWIDGETSDIR    = $(SOURCE_ROOT)\Iwidgets2.2.0
-
-#
-# Target Paths
-#
-
-TARGET_BIN     = $(TARGET_ROOT)\Bin
-TARGET_LIB_ROOT = $(TARGET_ROOT)\Lib
-TARGET_LIB     = $(TARGET_LIB_ROOT)\Itcl
-TARGET_INCLUDE_ROOT = $(TARGET_ROOT)\Include
-TARGET_INCLUDE = $(TARGET_INCLUDE_ROOT)\Itcl
-TARGET_DOC     = $(TARGET_ROOT)\Html
-
-#
-# Shared Target Files:
-#
-
-TCLLIB         = Tcl76i.lib
-TCLDLL         = Tcl76i.dll
-TKLIB          = Tk42i.lib
-TKDLL          = Tk42i.dll
-ITCLLIB                = Itcl22.lib
-ITCLDLL                = Itcl22.dll
-ITKLIB         = Itk22.lib
-ITKDLL         = Itk22.dll
-
-#
-# Paths to Build locations of libraries
-#
-TCLLIBDIR      = $(TCLDIR)\Win
-TKLIBDIR       = $(TKDIR)\Win
-ITCLLIBDIR     = $(ITCLDIR)\Win
-ITKLIBDIR      = $(ITKDIR)\Win
-
+IWIDGETS2DIR   = $(SOURCE_ROOT)\Iwidgets2.2.0
+IWIDGETS3DIR   = $(SOURCE_ROOT)\Iwidgets3.0.0
 
 dist:
-   cd $(TCLDIR)\Win
-   $(MAKE) all
-   cd $(TKDIR)\Win
-   $(MAKE) all
    cd $(ITCLDIR)\Win
    $(MAKE) all
    cd $(ITKDIR)\Win
    $(MAKE) all
 
 dist-install:
-   cd $(TCLDIR)\Win
-   $(MAKE) install
-   cd $(TKDIR)\Win
-   $(MAKE) install
    cd $(ITCLDIR)\Win
    $(MAKE) install
    cd $(ITKDIR)\Win
    $(MAKE) install
-   cd $(IWIDGETSDIR)\Win
+   cd $(IWIDGETS2DIR)\Win
+   $(MAKE) install
+   cd $(IWIDGETS3DIR)\Win
    $(MAKE) install
 
 dist-clean:
-   cd $(TCLDIR)\Win
-   $(MAKE) clean
-   cd $(TKDIR)\Win
-   $(MAKE) clean
    cd $(ITCLDIR)\Win
    $(MAKE) clean
    cd $(ITKDIR)\Win