chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
-mvcmd="$mvprog"
+mvcmd="$mvprog -f"
src=""
dst=""
.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
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
.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
'\" 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
* 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:
*
/*
- * 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 */
# 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.
} 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
*/
if (contextObj) {
contextNs = contextObj->classDefn->namesp;
+ } else {
+ assert(contextClass != NULL);
+ assert(contextClass->namesp != NULL);
+ contextNs = contextClass->namesp;
}
if (contextNs->parentPtr == activeNs) {
* 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;
}
/*
+ * 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);
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
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
/*
* ------------------------------------------------------------------------
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.
/*
* 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;
* ------------------------------------------------------------------------
* 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.
* ------------------------------------------------------------------------
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;
}
/*
- * 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) {
}
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;
* ------------------------------------------------------------------------
* 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.
* ------------------------------------------------------------------------
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;
}
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;
}
}
/*
- * 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) {
}
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;
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 {
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 */
if (prevArgObj) {
objPtr = Tcl_DuplicateObj(prevArgObj);
+ Tcl_IncrRefCount(objPtr);
copyPtr->internalRep.twoPtrValue.ptr2 = (VOID *) 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.
#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
*/
}
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 */
}
*/
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;
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);
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);
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 {
*/
return TCL_CONTINUE;
}
+
+
\f
/*
* ------------------------------------------------------------------------
* message and abruptly exits.
* ------------------------------------------------------------------------
*/
-#ifndef NDEBUG
void
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
/*
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"
};
# 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]
# 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] {
# 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
# ----------------------------------------------------------------------
} ""
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} {
} {::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} {
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
# ----------------------------------------------------------------------
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
# 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]
} {{} {} {} {}}
} {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} {} {}}
# ----------------------------------------------------------------------
test basic-6.8 {common variables can be redefined} {
test_arrays0 do set undefined "scalar"
} {scalar}
+
+::tcltest::cleanupTests
+return
# 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 {}
} {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} {
} {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} {
} {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}}
# 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 {}
}
} {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
} ""
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} {
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}}}
# 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"
}
} {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
# 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
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# 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
# 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
# 'echo' etc available.
catch {unset testConfig}
+
+package require Itcl
+
if {$tcl_platform(platform) == "unix"} {
set testConfig(unixOnly) 1
set testConfig(tempNotPc) 1
# 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
# ----------------------------------------------------------------------
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*]
} {{} {} {} {} {}}
# ----------------------------------------------------------------------
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} {
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} {
eval $deletecommand
}
method killme {code} {
- delete object $this
+ itcl::delete object $this
eval $code
}
}
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
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
# 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"
}
}
} ""
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"
}
} ""
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"
}
}
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"
}
}
} {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
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"
}
}
} {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"
}
test_numbers three x y z
test_numbers two x y
...and others described on the man page}}
+
+::tcltest::cleanupTests
+return
# 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} {
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
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# Clean up
# ----------------------------------------------------------------------
-delete class test_info test_info_base
+itcl::delete class test_info test_info_base
+
+::tcltest::cleanupTests
+return
# 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
# ----------------------------------------------------------------------
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} {
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} {
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
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
[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
[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
} {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}
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"
} {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
} {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}"
"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 {
} 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
# 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
# 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]...
}
interp delete slave
} {}
+
+::tcltest::cleanupTests
+return
# 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"
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"
} {{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
# 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
# ----------------------------------------------------------------------
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"
}
[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
# Should be able to handle simple class definitions, even if
# they are prefaced with white space.
#
+namespace import itcl::*
namespace import blt::*
class Simple1 {
# 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,
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} {}
# 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
# ----------------------------------------------------------------------
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
# 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
}
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} {
} {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
# 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
# ----------------------------------------------------------------------
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"
} 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
# 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
# ----------------------------------------------------------------------
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
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
#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.
// 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
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
-// 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
-# 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)
# 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]
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
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
/*
* ------------------------------------------------------------------------
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.
}
/*
- * 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) {
/*
* 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;
# 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
# 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@'
"::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"
};
# 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]
# 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] {
# 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
# 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
# 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]...
}
interp delete slave
} {}
+
+::tcltest::cleanupTests
+exit
# 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
# ----------------------------------------------------------------------
} {.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} {
# Clean up
# ----------------------------------------------------------------------
itcl::delete class TestOptComp TestOptWidget
+
+::tcltest::cleanupTests
+exit
# 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
# ----------------------------------------------------------------------
# Clean up
# ----------------------------------------------------------------------
itcl::delete class TestPrivacy TestMorePrivacy
+
+::tcltest::cleanupTests
+exit
# 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
# ----------------------------------------------------------------------
# Clean up
# ----------------------------------------------------------------------
itcl::delete class TestPublic test_public_base
+
+::tcltest::cleanupTests
+exit
* 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__ */
/*
*----------------------------------------------------------------------
.path.obj=$(TMPDIR)
ITKWISHOBJS = \
- $(TKLIBDIR)\tkConsole.obj \
$(TMPDIR)\winMain.obj
ITKOBJS = \
ITKNAMEPREFIX = itk
WISHNAMEPREFIX = itkwish
-VERSION = 30
-DOTVERSION = 3.0
+VERSION = 31
+DOTVERSION = 3.1
+STUBPREFIX = $(ITKNAMEPREFIX)stub
BINROOT = .
!IF "$(NODEBUG)" == "1"
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
# 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
!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
# 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) @<<
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
# 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]
-// 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"
-// 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
#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:
* called to attach the console to a text widget.
*/
- TkConsoleCreate();
-
setargv(&argc, &argv);
/*
* application.
*/
- if (TkConsoleInit(interp) == TCL_ERROR) {
+ if (Tk_CreateConsoleWindow(interp) == TCL_ERROR) {
goto error;
}
>> 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
______________________________________________________________________________
_/ _/ _/ _/ _/ _/ _/ ulferts@swbell.net
_/ _/_/ _/ _/ _/ _/ mulferts@austin.dsccc.com
_/ _/ _/ _/ _/_/_/ _/ _/_/_/_/ _/ DSC Communications Corp, Austin Texas
- ____________________________________________________________________________
\ No newline at end of file
# 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
-<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 <- 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 <- 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
-<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 <- 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 <- 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
-<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 <- Dialogshell <- Dialog <- 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 <- Dialogshell <- Dialog <- 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
-<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 <- LabeledWidget <- Entryfield <- 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 <space> and <Return> 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 <Return>
- and <space> 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 <- LabeledWidget <- Entryfield <- 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 <space> and <Return> 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 <Return> and <space> 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
-<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 <- Shell <- Dialogshell <- 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 <- Shell <- Dialogshell <- 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
-<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 <- Shell <- 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 <- Shell <- 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
-<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 <- LabeledWidget <- 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 <- LabeledWidget <- 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
-<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 <- Labeledwidget <- 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 < 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 <- Labeledwidget <- 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 < 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
-<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 <- 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 <- 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
-<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 <- Shell <- Dialogshell <- Dialog <-
- 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 <- Shell <- Dialogshell <- Dialog <- 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
-<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 <- shell <- 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 <- shell <- 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
-<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 <- 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 <- 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
-<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 <- 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 <- 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>
-<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 <- Shell <- Dialogshell <- Dialog <- 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 <- Shell <- Dialogshell <- Dialog <- 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
-<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 <- 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 <- 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
-<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 <- Labeledwidget <- 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 & 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 <- Labeledwidget <- 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 & 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
-<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 <- 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 <hildjj@fuentez.com>
-
- 07/25/94 - Posted first multipane version to
- comp.lang.tcl
-
- 07/28/94 - Added support for vertical panes
-
- Ken Copeland <ken@hilco.com>
-
- 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 <- 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 <hildjj@fuentez.com>
+<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 <ken@hilco.com>
+<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
-<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 <- dialogshell <- dialog <- 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 <- dialogshell <- dialog <- 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
-<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 <- 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 <- 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
-<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 <- labeledwidget <- 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 <- labeledframe <- 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
-<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 <- Labeledwidget <- 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 <- Labeledwidget <- Scrolledwidget <- 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
-<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 <- Labeledwidget <- 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 <- Labeledwidget <-Scrolledwidget <- 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
-<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 <- Labeledwidget <- Scrolledtext <- 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 <pre>...</pre> or
- <tt>...</tt>.) 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
- <title>...</title> 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 <- Labeledwidget <- Scrolledtext <- 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><number of
+characters remaining></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 <pre>...</pre> or <tt>...</tt>.) 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 <title>...</title>
+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 <br> 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:
+ <table border width="100%">
+ <tr><td>cell1</td><td align=right rowspan=2>cell2</td></tr>
+ <tr><td colspan=2>cell3 w/ overlap</td>
+ </table>
+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
-<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 <- Labeledwidget <- 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 <- Labeledwidget <- Scrolledwidget <- 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
-<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 <- Labeledwidget <- 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 <- Labeledwidget <- Scrolledwidget <- 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
-<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 <- 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 <- 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
-<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 <- Shell <- Dialogshell <- Dialog <- 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 <- Shell <- Dialogshell <- Dialog <- 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>
-<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 <- 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 <- 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
-<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 <- 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 <- 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>
-<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 <- Labeledwidget <- Spinner <- 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 <- Labeledwidget <- Spinner <- 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
-<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 <- Labeledwidget <- 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 < 0} {set index 11}
- if {$index > 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 <ken@hilco.com>
-
- 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 <- Labeledwidget <- 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 < 0} {set index 11}
+ if {$index > 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 <ken@hilco.com>
+<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
-<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 <- 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 <- 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>
-<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 <- 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 <- 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> '>>>>>>>>>>
+</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
-<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 <- 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 <ButtonPress-1> { 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 <- 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>
+<ButtonPress-1><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
-<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>
#
# Demo script for the Mainwindow class
#
+wm withdraw .
iwidgets::mainwindow .mw
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"
}
#
.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"
# 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
# Activate the main window.
#
.mw activate
+
+
+
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
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
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
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
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
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
to be applied which administers geometry constraints in a different
manner. The default width is zero.
.LP
+
+
.BE
.SH DESCRIPTION
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
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
.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
.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.
.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.
.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
-foreground $itk_option(-buttonforeground)
}
} else {
- $itk_option(-forwardimage) configure \
+ $itk_component(forward) configure \
-foreground $itk_option(-buttonforeground)
}
-foreground $itk_option(-buttonforeground)
}
} else {
- $itk_option(-backwardimage) configure \
+ $itk_component(-backward) configure \
-foreground $itk_option(-buttonforeground)
}
}
-width $itk_option(-selectthickness)
$itk_component(page) raise $date-sensor
} else {
- set $_time $time
+ set _time $time
_redraw
}
}
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
}
# Usual options.
#
itk::usual Checkbox {
- keep -background -borderwidth -cursor -disabledforeground \
- -foreground -labelfont -selectcolor
+ keep -background -borderwidth -cursor -foreground -labelfont
}
# ------------------------------------------------------------------
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}
# ------------------------------------------------------------------
# ------------------------------------------------------------------
-# 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
$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
# ------------------------------------------------------------------
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
}
body iwidgets::Checkbox::gettag {index} {
return [lindex $_buttons [index $index]]
}
-
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)
}
}
body iwidgets::Combobox::delete {component first {last {}}} {
switch -- $component {
entry {
+ if {$last == {}} {
+ set last [expr $first + 1]
+ }
iwidgets::Entryfield::delete $first $last
}
list {
# --- 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 {
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]
}
#
# Default resources.
#
-
-set tk_strictMotif 1
-
option add *Disjointlistbox.lhsLabelText Available widgetDefault
option add *Disjointlistbox.rhsLabelText Current widgetDefault
option add *Disjointlistbox.lhsButtonLabel {Insert >>} widgetDefault
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 {
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
# 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
}
#
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 {}
} else {
set selection [file join $_pwd ..]
}
+ } else {
+ set selection [file join $_pwd $selection]
}
#
} else {
set selection [file join $_pwd ..]
}
+ } else {
+ set selection [file join $_pwd $selection]
}
#
regsub {^/(tmp_mnt|export)} $selection {} selection;
}
+ $itk_component(selection) delete 0 end
$itk_component(selection) insert 0 $selection
}
}
if {$itk_option(-clearcommand) != {}} {
- $itk_option(-clearcommand)
+ eval $itk_option(-clearcommand)
}
}
# 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
}
#
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 {}
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
+ }
}
#
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]
}
# ------------------------------------------------------------------
+# 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
}
# ------------------------------------------------------------------
+# 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
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)\":\
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)\":\
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)\":\
}
# ------------------------------------------------------------------
+# 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
# ------------------------------------------------------------------
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
# ------------------------------------------------------------------
# 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)
#
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
}
}
# 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
}
# ----------------------------------------------------------------------
+# 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
}
# ----------------------------------------------------------------------
+# 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)
}
# ----------------------------------------------------------------------
+# 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
# 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
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
method path { args } { }
method type { path } { }
method yposition { entryPath } { }
-
- method _helpHandler { menuPath } { }
}
private {
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} { }
# -------------------------------------------------------------
#
-# 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
# 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]
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)
#
itk::usual Messagedialog {
keep -background -cursor -font -foreground -modality
+ keep -wraplength -justify
}
# ------------------------------------------------------------------
label $itk_interior.message
} {
keep -background -cursor -font -foreground -text
+ keep -wraplength -justify
rename -padx -textpadx textPadX Pad
rename -pady -textpady textPadY Pad
# 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...
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
} {
# ------------------------------------------------------------------
body iwidgets::Optionmenu::select {index} {
set index [index $index]
+ if {$index > [expr $_numitems - 1]} {
+ incr index -1
+ }
_setItem [lindex $_items $index]
}
#
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 ""
}
set pixels \
[winfo pixels $itk_component(hull) $itk_option(-minimum)]
- set $itk_option(-minimum) $pixels
+ set itk_option(-minimum) $pixels
}
# ------------------------------------------------------------------
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> \
}
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> \
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)
}
# ------------------------------------------------------------------
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)
}
}
}
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)
}
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)
}
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 \
-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
}
}
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
}
}
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}
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
# ------------------------------------------------------------------
# ------------------------------------------------------------------
# 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
}
}
public method sort {{mode ascending}}
public method xview {args}
public method yview {args}
+ public method itemconfigure {args}
protected method _makeSelection {}
protected method _dblclick {}
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
}
# ------------------------------------------------------------------
+# 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.
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}
}
# ------------------------------------------------------------------
+# 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.
# 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]
}
# ------------------------------------------------------------------
}
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"} {
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 ""
#
}
if {$itk_option(-yearon)} {
- if {$monthon || $dayon} {
+ if {$itk_option(-monthon) || $itk_option(-dayon)} {
grid rowconfigure $_interior [incr row] \
-minsize $itk_option(-datemargin)
}
}
if {$itk_option(-yearon)} {
- if {$monthon || $dayon} {
+ if {$itk_option(-monthon) || $itk_option(-dayon)} {
grid columnconfigure $_interior [incr column] \
-minsize $itk_option(-datemargin)
}
#
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 {
#
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 {
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]
}
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"}}
variable _numFields 4
variable _forward {}
variable _backward {}
+ variable _timeVar ""
common _militaryFields {hour minute second}
common _civilianFields {hour minute second ampm}
-
- common _timeVar
}
}
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
#
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:
# 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
# ------------------------------------------------------------------
# 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\":\
# 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"
}
{^[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"
}
}
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
}
# ------------------------------------------------------------------
# 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)]
}
# ------------------------------------------------------------------
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"
}
}
+ set _timeVar [$itk_component(time) get]
return -code break
}
_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 {
_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 {
# 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]
}
# ------------------------------------------------------------------
#
# -------------------------------------------------------------
body iwidgets::Toolbar::_startBalloonDelay {window} {
+ if {$_balloonAfterID != 0} {
+ after cancel $_balloonAfterID
+ }
set _balloonAfterID [after $_balloonTimer [code $this showBalloon $window]]
}
# Configure the color of the ticks.
#
configbody ::iwidgets::Watch::tickcolor {
- watch itemconfigure tick -fill $itk_option(-tickcolor)
+ watch itemconfigure tick -outline $itk_option(-tickcolor)
}
# ------------------------------------------------------------------
# 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] {
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .bb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .cal
update
} {}
+
+::tcltest::cleanupTests
+exit
# 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} {
destroy .cpb
update
} {}
+
+::tcltest::cleanupTests
+exit
# 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} {
destroy .cpd
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Checkbox-2.$o {configuration option} {
llength [.cb configure]
-} {18}
+} {16}
incr o
destroy .cb
update
} {}
+
+::tcltest::cleanupTests
+exit
# 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} {
#
test Combobox-2.$o {configuration option} {
llength [.cb configure]
-} {50}
+} {51}
incr o
{-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"}} } {
destroy .cb4
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .de
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .df
update
} {}
+
+::tcltest::cleanupTests
+exit
# 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
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .dlg
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .ds
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .lf
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Entryfield-2.$o {configuration option} {
llength [.ef configure]
-} {38}
+} {39}
incr o
{-labelpos s s}
{-labelpos sw sw}
{-labeltext Label Label}
+ {-pasting 1 1}
{-relief raised raised}
{-relief sunken sunken}
{-state disabled disabled}
destroy .ef
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
update
destroy .fsb
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
update
destroy .fsd
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id: feedback.test
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
update
destroy .fsb
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
update
destroy .fsd
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .fd
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Hierarchy-2.$o {configuration option} {
llength [.h configure]
-} {51}
+} {57}
incr o
} {}
cd $cdir
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id: hyperhelp.test
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .h
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .lw
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
{}}
{{.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"
}
}}
{}}
} {
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
}
# Specifically, deals with method invocation on empty menubar.
#
foreach test {
- {{.mb delete .0 .last}
+ {1 {.mb delete .0 .last}
{bad path:}}
- {{.mb index .0}
+ {0 {.mb index .0}
{-1}}
- {{.mb index .end}
+ {0 {.mb index .end}
{-1}}
- {{.mb index .last}
+ {0 {.mb index .last}
{-1}}
- {{.mb index .help}
+ {0 {.mb index .help}
{-1}}
- {{.mb delete .0}
+ {1 {.mb delete .0}
{bad path:}}
- {{.mb delete .end}
+ {1 {.mb delete .end}
{bad path:}}
- {{.mb delete .last}
+ {1 {.mb delete .last}
{bad path:}}
- {{.mb delete .help}
+ {1 {.mb delete .help}
{bad path:}}
- {{.mb insert .0 menubutton file -text File}
+ {1 {.mb insert .0 menubutton file -text File}
{bad path:}}
- {{.mb insert .end menubutton file -text File}
+ {1 {.mb insert .end menubutton file -text File}
{bad path:}}
- {{.mb insert .last menubutton file -text File}
+ {1 {.mb insert .last menubutton file -text File}
{bad path:}}
- {{.mb insert .help menubutton file -text File}
+ {1 {.mb insert .help menubutton file -text File}
{bad path:}}
- {{.mb invoke .0.0}
+ {1 {.mb invoke .0.0}
{bad path:}}
- {{.mb invoke .end.0}
+ {1 {.mb invoke .end.0}
{bad path:}}
- {{.mb invoke .last.0}
+ {1 {.mb invoke .last.0}
{bad path:}}
- {{.mb invoke .help.0}
+ {1 {.mb invoke .help.0}
{bad path:}}
- {{.mb menucget .0 -text}
+ {1 {.mb menucget .0 -text}
{bad path:}}
- {{.mb menucget .end -text}
+ {1 {.mb menucget .end -text}
{bad path:}}
- {{.mb menucget .last -text}
+ {1 {.mb menucget .last -text}
{bad path:}}
- {{.mb menucget .help -text}
+ {1 {.mb menucget .help -text}
{bad path:}}
- {{.mb menuconfigure .0 -text}
+ {1 {.mb menuconfigure .0 -text}
{bad path:}}
- {{.mb menuconfigure .end -text}
+ {1 {.mb menuconfigure .end -text}
{bad path:}}
- {{.mb menuconfigure .last -text}
+ {1 {.mb menuconfigure .last -text}
{bad path:}}
- {{.mb menuconfigure .help -text}
+ {1 {.mb menuconfigure .help -text}
{bad path:}}
- {{.mb path *quit}
+ {0 {.mb path *quit}
{}}
- {{.mb type .0.0}
+ {1 {.mb type .0.0}
{bad path:}}
- {{.mb type .0.end}
+ {1 {.mb type .0.end}
{bad path:}}
- {{.mb type .0.last}
+ {1 {.mb type .0.last}
{bad path:}}
- {{.mb type .0.new}
+ {1 {.mb type .0.new}
{bad path:}}
- {{.mb yposition .0.new}
+ {1 {.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
}
# Method tests which fail and produce errors or results
# On a non-empty menubar...
foreach test {
- {{.mb configure -menubuttons {
+ {0 {.mb configure -menubuttons {
menubutton file -text File -menu {
options -tearoff no
command ok -label "Ok"
}
}}
{}}
- {{.mb delete .file.hello}
+ {1 {.mb delete .file.hello}
{bad path}}
- {{.mb index .0.hello}
+ {0 {.mb index .0.hello}
{-1}}
- {{.mb index .0.quit}
+ {0 {.mb index .0.quit}
{1}}
- {{.mb index 0.end}
+ {0 {.mb index 0.end}
{1}}
- {{.mb index .file.last}
+ {0 {.mb index .file.last}
{1}}
- {{.mb index .file.ok}
+ {0 {.mb index .file.ok}
{0}}
- {{.mb delete .view .file}
+ {1 {.mb delete .view .file}
{bad path:}}
- {{.mb delete .file .help}
+ {1 {.mb delete .file .help}
{bad path:}}
- {{.mb add command .file.menu}
+ {1 {.mb add command .file.menu}
{bad name}}
- {{.mb add command .file.last}
+ {1 {.mb add command .file.last}
{bad name}}
- {{.mb add command .file.end}
+ {1 {.mb add command .file.end}
{bad name}}
- {{.mb add command .file.2}
+ {1 {.mb add command .file.2}
{bad name}}
- {{.mb insert .0 menu view -text View}
+ {1 {.mb insert .0 menu view -text View}
{bad type}}
- {{.mb insert .file command view -text View}
+ {1 {.mb insert .file command view -text View}
{bad entry path}}
- {{.mb insert .file menubutton view -text View}
+ {0 {.mb insert .file menubutton view -text View}
{[.]mb[.]menubar[.]view}}
- {{.mb invoke .0.quit}
+ {1 {.mb invoke .0.quit}
{bad path}}
- {{.mb menucget .0 -text}
+ {0 {.mb menucget .0 -text}
{View}}
- {{.mb menucget .end -text}
+ {0 {.mb menucget .end -text}
{File}}
- {{.mb menucget .last -text}
+ {0 {.mb menucget .last -text}
{File}}
- {{.mb menucget .help -text}
+ {1 {.mb menucget .help -text}
{bad path}}
- {{.mb menuconfigure .0 -text}
+ {0 {.mb menuconfigure .0 -text}
{-text text Text {} View}}
- {{.mb menuconfigure .end.last -label}
+ {0 {.mb menuconfigure .end.last -label}
{-label {} {} {} Quit}}
- {{.mb menuconfigure .last -text}
+ {0 {.mb menuconfigure .last -text}
{-text text Text {} File}}
- {{.mb menuconfigure .help -text}
+ {1 {.mb menuconfigure .help -text}
{bad path}}
- {{.mb path *quit}
+ {0 {.mb path *quit}
{[.]file[.]quit}}
- {{.mb type .end.0}
+ {0 {.mb type .end.0}
{command}}
- {{.mb type .end.end}
+ {0 {.mb type .end.end}
{command}}
- {{.mb type .end.last}
+ {0 {.mb type .end.last}
{command}}
- {{.mb type .0.new}
+ {1 {.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
}
destroy .mb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .mb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Messagedialog-2.$o {configuration option} {
llength [.md configure]
-} {24}
+} {26}
incr o
destroy .md
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
# Method tests which are successful.
#
foreach test {
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add -label Never}
+ {0 {.nb add -label Never}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add -label "Hello World" -disabledforeground gray}
+ {0 {.nb add -label "Hello World" -disabledforeground gray}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb childsite Never}
+ {0 {.nb childsite Never}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb childsite 0}
+ {0 {.nb childsite 0}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb childsite end}
+ {0 {.nb childsite end}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb index end}
+ {0 {.nb index end}
{[0-9]+}}
- {{.nb index Never}
+ {0 {.nb index Never}
{[0-9]+}}
- {{.nb index 0}
+ {0 {.nb index 0}
{0}}
- {{.nb select 0}
+ {0 {.nb select 0}
{0}}
- {{.nb select select}
+ {0 {.nb select select}
{0}}
- {{.nb select end}
+ {0 {.nb select end}
{[0-9]+}}
- {{.nb select "Hello World"}
+ {0 {.nb select "Hello World"}
{[0-9]+}}
- {{.nb insert 0}
+ {0 {.nb insert 0}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb insert select -label "An Insert"}
+ {0 {.nb insert select -label "An Insert"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb insert end -label "Next To Last"}
+ {0 {.nb insert end -label "Next To Last"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb select 0}
+ {0 {.nb select 0}
{0}}
- {{.nb next}
+ {0 {.nb next}
{1}}
- {{.nb next}
+ {0 {.nb next}
{2}}
- {{.nb prev}
+ {0 {.nb prev}
{1}}
- {{.nb prev}
+ {0 {.nb prev}
{0}}
- {{.nb delete Never}
+ {0 {.nb delete Never}
{}}
- {{.nb delete 1 2}
+ {0 {.nb delete 1 2}
{}}
- {{.nb delete 0 "Hello World"}
+ {0 {.nb delete 0 "Hello World"}
{}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb delete 0 end}
+ {0 {.nb delete 0 end}
{}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add}
+ {0 {.nb add}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb select 2}
+ {0 {.nb select 2}
{[-]*[0-9]+}}
- {{.nb delete select end}
+ {0 {.nb delete select end}
{}}
- {{.nb delete 0 end}
+ {0 {.nb delete 0 end}
{}}
- {{.nb add -label "First Page"}
+ {0 {.nb add -label "First Page"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add -label "Second Page"}
+ {0 {.nb add -label "Second Page"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add -label "Third Page"}
+ {0 {.nb add -label "Third Page"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add -label "Fourth Page"}
+ {0 {.nb add -label "Fourth Page"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add -label "Fifth Page"}
+ {0 {.nb add -label "Fifth Page"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb add -label "Sixth Page"}
+ {0 {.nb add -label "Sixth Page"}
{[.]nb[.]cs[.]page[0-9]+[.]cs}}
- {{.nb select "First Page"}
+ {0 {.nb select "First Page"}
{[-]*[0-9]+}}
- {{.nb delete select "Second Page"}
+ {0 {.nb delete select "Second Page"}
{}}
- {{.nb delete "Third Page" 1}
+ {0 {.nb delete "Third Page" 1}
{}}
- {{.nb delete "Fifth Page" "Sixth Page"}
+ {0 {.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
}
#
# 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}}
+ {1 {.nb childsite 0} {can't get childsite, no pages}}
+ {0 {.nb add} {}}
+ {1 {.nb childsite 1} {bad Notebook page index in childsite method}}
+ {1 {.nb childsite -1} {bad Notebook page index in childsite method}}
+ {0 {.nb delete 0} {}}
+ {1 {.nb delete 0} {can't delete page, no pages}}
+ {0 {.nb add} {}}
+ {1 {.nb delete 1} {bad Notebook page index in delete method:}}
+ {1 {.nb delete select} {bad Notebook page index in delete method:}}
+ {0 {.nb delete 0} {}}
+ {0 {.nb add} {}}
+ {1 {.nb delete 0 1} {bad Notebook page index2 in delete method:}}
+ {1 {.nb delete 1 4} {bad Notebook page index1 in delete method:}}
+ {0 {.nb add} {}}
+ {1 {.nb delete 1 0} {bad Notebook page index1 in delete method: index1 is greater than index2}}
+ {0 {.nb delete 0 1} {}}
+ {0 {.nb add} {}}
+ {1 {.nb delete 0 1 4 5 6} {wrong # args}}
+ {1 {.nb delete} {wrong # args}}
+ {0 {.nb delete 0} {}}
+ {1 {.nb delete 0} {can't delete page}}
+ {1 {.nb delete select} {can't delete page}}
+ {1 {.nb insert 0} {can't insert page}}
+ {0 {.nb add} {}}
+ {0 {.nb add} {}}
+ {1 {.nb insert 2} {bad Notebook page index in insert method:}}
+ {1 {.nb insert -1} {bad Notebook page index}}
+ {0 {.nb delete 0 end} {}}
+ {1 {.nb next} {can't move to next page, no pages in the notebook}}
+ {1 {.nb prev} {can't move to previous page, no pages in the notebook}}
+ {1 {.nb select 0} {can't select page}}
+ {0 {.nb add} {}}
+ {1 {.nb select 1} {bad Notebook page index in select method:}}
+ {0 {.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
}
destroy .nb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .om
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .pw
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .pd
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .pb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Radiobox-2.$o {configuration option} {
llength [.rb configure]
-} {18}
+} {19}
incr o
destroy .rb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .ef
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .sc
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .sf
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id: scrolledhtml.test
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Scrolledhtml-2.$o {configuration option} {
llength [.sh configure]
-} {57}
+} {58}
incr o
destroy .sh
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Scrolledlistbox-2.$o {configuration option} {
llength [.slb configure]
-} {38}
+} {39}
incr o
destroy .slb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .st
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .sb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .sd
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .sh
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .sd
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Spinint-2.$o {configuration option} {
llength [.spi configure]
-} {46}
+} {47}
incr o
destroy .spi
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Spinner-2.$o {configuration option} {
llength [.sp configure]
-} {43}
+} {44}
incr o
destroy .sp
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .st
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
} {
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
}
#
# 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}}
+ {1 {.tn childsite 0} {can't get childsite, no pages}}
+ {0 {.tn add} {}}
+ {1 {.tn childsite 1} {bad Notebook page index in childsite method}}
+ {1 {.tn childsite -1} {bad Notebook page index in childsite method}}
+ {0 {.tn delete 0} {}}
+ {1 {.tn delete 0} {can't delete page, no pages}}
+ {0 {.tn add} {}}
+ {1 {.tn delete 1} {bad Notebook page index in delete method:}}
+ {1 {.tn delete select} {bad Notebook page index in delete method:}}
+ {0 {.tn delete 0} {}}
+ {0 {.tn add} {}}
+ {1 {.tn delete 0 1} {bad Notebook page index2 in delete method:}}
+ {1 {.tn delete 1 4} {bad Notebook page index1 in delete method:}}
+ {0 {.tn add} {}}
+ {1 {.tn delete 1 0} {bad Notebook page index1 in delete method: index1 is greater than index2}}
+ {0 {.tn delete 0 1} {}}
+ {0 {.tn add} {}}
+ {1 {.tn delete 0 1 4 5 6} {wrong # args}}
+ {1 {.tn delete} {wrong # args}}
+ {0 {.tn delete 0} {}}
+ {1 {.tn delete 0} {can't delete page}}
+ {1 {.tn delete select} {can't delete page}}
+ {1 {.tn insert 0} {can't insert page}}
+ {0 {.tn add} {}}
+ {0 {.tn add} {}}
+ {1 {.tn insert 2} {bad Notebook page index in insert method:}}
+ {1 {.tn insert -1} {bad Notebook page index}}
+ {0 {.tn delete 0 end} {}}
+ {1 {.tn next} {can't move to next page, no pages in the notebook}}
+ {1 {.tn prev} {can't move to previous page, no pages in the notebook}}
+ {1 {.tn select 0} {can't select page}}
+ {0 {.tn add} {}}
+ {1 {.tn select 1} {bad Notebook page index in select method:}}
+ {0 {.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
}
destroy .tn
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
} {
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
}
#
# 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}}
+ {0 {.ts add} {}}
+ {0 {.ts delete 0} {}}
+ {1 {.ts delete 0} {can't delete tabs, no tabs}}
+ {0 {.ts add} {}}
+ {1 {.ts delete 1} {bad value for index1}}
+ {1 {.ts delete select} {bad value for index1}}
+ {0 {.ts delete 0} {}}
+ {0 {.ts add} {}}
+ {1 {.ts delete 0 1} {bad value for index2}}
+ {1 {.ts delete 1 4} {bad value for index1}}
+ {0 {.ts add} {}}
+ {0 {.ts delete 0 1} {}}
+ {0 {.ts add} {}}
+ {1 {.ts delete 0 1 4 5 6} {wrong # args}}
+ {1 {.ts delete} {wrong # args}}
+ {0 {.ts delete 0} {}}
+ {1 {.ts delete 0} {can't delete tabs}}
+ {1 {.ts delete select} {can't delete tabs}}
+ {1 {.ts insert 0} {no tab to insert before, tabset}}
+ {0 {.ts add} {}}
+ {0 {.ts add} {}}
+ {1 {.ts insert 2} {bad value}}
+ {1 {.ts insert -1} {bad option}}
+ {0 {.ts delete 0 end} {}}
+ {1 {.ts next} {can't goto next tab, no tabs in the tabset}}
+ {1 {.ts prev} {can't goto previous tab, no tabs in the tabset}}
+ {1 {.ts select 0} {can't activate a tab, no tabs in the tabset}}
+ {0 {.ts add} {}}
+ {1 {.ts select 1} {bad value}}
+ {0 {.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
}
destroy .ts
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Timeentry-2.$o {configuration option} {
llength [.te configure]
-} {43}
+} {45}
incr o
destroy .te
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
#
test Timefield-2.$o {configuration option} {
llength [.tf configure]
-} {27}
+} {29}
incr o
destroy .tf
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
} {
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
}
# 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} {}}
+ {1 {.tb delete 0 end} {}}
+ {0 {.tb add button item1} {}}
+ {0 {.tb delete 0} {}}
+ {1 {.tb delete 0} {can't delete widget, no widgets in the Toolbar}}
+ {0 {.tb add button item1} {}}
+ {1 {.tb delete 1} {bad Toolbar widget index in delete method}}
+ {0 {.tb delete 0} {}}
+ {0 {.tb add button item1} {}}
+ {1 {.tb delete 0 1} {bad Toolbar widget index2 in delete method}}
+ {1 {.tb delete 1 4} {bad Toolbar widget index1 in delete method}}
+ {0 {.tb add button item2} {}}
+ {1 {.tb delete 1 0} {bad Toolbar widget index1 in delete method}}
+ {0 {.tb delete 0 1} {}}
+ {0 {.tb add button item1} {}}
+ {1 {.tb delete 0 1 4 5 6} {wrong # args}}
+ {1 {.tb delete} {wrong # args}}
+ {0 {.tb delete 0} {}}
+ {1 {.tb delete 0} {can't delete widget, no widgets in the Toolbar}}
+ {1 {.tb insert 0 button itemA} {}}
+ {0 {.tb add button item1} {}}
+ {0 {.tb add button item2} {}}
+ {0 {.tb insert 0 button itemAA} {}}
+ {1 {.tb insert -1 button bogus} {bad toolbar entry index -1}}
+ {0 {.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
}
destroy .tb
update
} {}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
} $name
}
}
+
+::tcltest::cleanupTests
+exit
#
# @(#) $Id$
+package require tcltest
+namespace import -force ::tcltest::*
+
package require Iwidgets 3.0
if {[string compare test [info procs test]] == 1} {
destroy .w
update
} {}
+
+::tcltest::cleanupTests
+exit
-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.
#
# 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
#
#
# 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