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