imported Itcl 3.3
[gdb/archer.git] / itcl / itk / TODO
blob8183f73c10d5d7f77ddaacfcd5d5beebc2794fab
1 =======================================================================
2  Following is a list of notes describing things which might be
3  fixed or changed in a future release of [incr Tcl]
4 =======================================================================
6 Handle this case more elegantly:
8 class Foo {
9     constructor {args} {
10         _init
11     }
12     proc _init {} {
13         puts "once!"
14         proc _init {} {}
15     }
17 Foo #auto
18 Foo #auto
21 itcl "wish" list
22 ------------------------------------------------------------------
23 - add virtual inheritance
24 - add "border" type to canvas widget
25 - add "validate" and "valid" commands for type validation
26 - add "unknownvar" and provide access to object data members: "obj.var"
27 - check namespace [info class] {...} as a replacement for "virtual"
28 - fix "auto_load_all" problem in Tcl-DP
29   (Their implementation uses "info commands" to verify that a command
30   has been successfully autoloaded, but absolute command names like
31   "::iwidgets::fileselectiondialog" don't show up.)
32 - fix "auto_load" mechanism to be extensible like "unknown"
33 - fix Itcl_RegisterC() to support ClientData
34 - core dump with "cmdtrace" (tclX thing?)
36 - ideas from Nelson Macy:
37   - add "delegate" keyword for inheritance via composition?
38   - add "forward" keyword for implementing error handlers
39   - add "get" code to public variables for "cget" access
41 - equivalent of constructor/destructor for classes
42 - protected/private recognized for constructor/destructor
43 - add something like Tk_CreateWidgetCommand() for widget developers
46 itcl documentation cleanup
47 ------------------------------------------------------------------
48 - add "Finance: Trading Systems" to commercial uses of Itcl (Deshaw)
49 - update doc:  "config" code also gets invoked on startup for itk widgets
50 - update doc:  add to FAQ:  class with common array interacts with Tk widget
52 itcl "to do" list
53 ------------------------------------------------------------------
55 - write "auto_load_all" proc for Tcl-DP
57 - bad errorInfo:
58   > More specifically, the constructor for the class did the following:
59   >
60   >         set hull [info namespace tail $this]
61   >         ::frame $hull
62   >
63   > One of the class variables had a configuration script:
64   >
65   >     public variable textvariable "" {
66   >         if { $textvariable != "" } {
67   >             regsub "\\(.*\\)" $textvariable "" global
68   >             global ::$global
69   >             trace variable $textvariable w "$hull adjust"
70   >         }
71   >     }
73 - add "@body" in as many places as possible to support Tcl compiler
75 - check out itcl with Tix:
76      lappend auto_path $env(TIX_LIBRARY)
77      source "$env(IWIDGETS_LIBRARY)/init.iwidgets"
79      iwidgets::Dialog ._Arcattributes -title "Code: Arc Annotations"
80      -modality application
82      set attrframe [._Arcattributes childsite]
84      tixScrolledHList $attrframe.ports
85      [$attrframe.ports subwidget hlist] configure -selectmode browse
87      pack $attrframe.ports -expand yes -fill both -padx 10 -pady 10
89      ._Arcattributes activate