commit a copy of snit
[scpubgit/TenDotTcl.git] / snit / dictionary.txt
diff --git a/snit/dictionary.txt b/snit/dictionary.txt
new file mode 100644 (file)
index 0000000..e2a739a
--- /dev/null
@@ -0,0 +1,125 @@
+Last updated: Snit V1.0
+
+TYPE VARIABLES
+
+Snit_info               Introspection Array.  Keys and values are as
+                        follows:
+    
+    hasinstances        Boolean. Normally T, but F if pragma -hasinstances no
+    simpledispatch      Uses a very simple method dispatcher.
+    canreplace          Boolean. Normally F, but T if pragma -canreplace yes
+    counter            Integer counter.  Used to generate unique names.
+    widgetclass         Tk widget class name for snit::widgets
+    hulltype            Hull widget type (frame or toplevel) for
+                        snit::widgets.
+    ns                 The type namespace, "$type::". UNUSED.
+    exceptmethods       Method names excluded from delegate method *.
+    excepttypemethods   Typemethod names excluded from delegate typemethod *.
+    tvardecs            Type variable declarations--for dynamic
+                        methods.
+    ivardecs            Instance variable declarations--for dynamic
+                        methods.
+    isWidget            Boolean; true if object is a widget or
+                        widgetadaptor.
+    isWidgetAdaptor     Boolean; true if object is a widgetadaptor
+
+Snit_methods            List of method names; defined only when
+                        -simpledispatch yes.
+
+Snit_typemethodInfo     Array(method name) = {<flag> ?<pattern> <compName>?}
+                        where <flag> is 1 if the method has submethods
+                        (in which case the other fields
+                        are missing) and 0 if it doesn't.
+                        <compName> is "" for normal typemethods
+                        and "method name" can be "*".  Used in
+                        typemethod cache lookup to create the command
+                        for the named typemethod.
+
+Snit_typecomponents     Array(typecomponent name) = command_name
+                        Used whenever we need to retrieve the 
+                        typecomponent's command.
+
+Snit_methodInfo         Array(method name) = {<flag> ?<pattern> <compName>?}
+                        where <flag> is 1 if the method has submethods
+                        (in which case the other fields
+                        are missing) and 0 if it doesn't.
+                        <compName> is "" for normal methods and
+                        "method name" can be "*".  Used in 
+                        method cache lookup to create the command for
+                        the named method.
+
+Snit_optionInfo         An array of option data.  The keys are as follows:
+
+  General fields:
+
+    local               List of local option names.
+
+    delegated           List of explicitly delegated option names.
+
+    starcomp           Name of component for "delegate option *" or ""
+
+    except              List of option names explicitly NOT delegated 
+                        by "delegate option *".
+
+  Fields defined for all locally defined and explicitly delegated options:
+
+    islocal-$opt         1 if local, 0 otherwise.  Currently undefined
+                         for "delegate option *" options.
+
+    resource-$opt        The option's resource name.
+                
+    class-$opt           The option's class name.
+
+  Fields defined only for locally defined options
+
+    default-$localOpt    Default value.
+
+    validate-$localOpt   The name of the validate method, or "".
+
+    configure-$localOpt  The name of the configure method, or "".
+
+    cget-$localOpt       The name of the cget method, or "".
+
+    readonly-$localOpt   true or false.  (false is the default).
+
+    typespec-$localOpt   Validation type specification (object name or
+                         construction list)
+
+    typeobj-$localOpt    Validation type object
+
+  Fields defined only for delegated options
+
+    delegated-$comp      List of option names delegated to this component.
+
+    target-$opt         [list component targetOptionName].
+
+
+INSTANCE VARIABLES
+
+Snit_iinfo              Array, instance info.  At some point,
+                        Snit_instance and Snit_components should
+                        probably be consolidated into it.  The fields
+                        are:
+
+    constructed         0 during instance construction, and 1 after.
+
+Snit_instance           Current name of the instance command.
+
+Snit_components         Array(component name) = command_name
+                        Used whenever we need to retrieve the
+                        component's command.
+
+Consider consolidating the following arrays into a single array, since
+they are all cleared at the same time.
+
+Snit_cgetCache          Array(option name) = cached command.
+                        Used by $self cget.
+
+Snit_configureCache     Array(option name) = cached command.
+                        Used by $self configurelist.
+
+Snit_validateCache      Array(option name) = cached command.
+                        Used by $self configurelist.  The entry is ""
+                        if there is no validate command.
+
+