WHAT'S NEW with version 0.1.0: - Integrated patches from Alexandre. - Minor bug fix in if1632.S WHAT'S NEW with version 0.0.5: - Patches from Alexandre Julliard. Some integration with Tcl. - Generic interface for callback procedures. This will allow callbacks into DLLs. - MakeProcInstance() has been implemented but untested. WHAT'S NEW with version 0.0.4: - Eric Youngdale modified wine.c and selector.c to allow loading of Windows DLLs. - Added global memory allocation routines (GlobalAlloc, GlobalFree, and GlobalLock) - Bitmap resource loading into global memory.
91 lines
1.9 KiB
Tcl
Executable file
91 lines
1.9 KiB
Tcl
Executable file
# Windows Tcl/Tk emulation scripts
|
|
# Initial implementation by Peter MacDonald pmacdona@sanjuan.uvic.ca
|
|
|
|
proc CreateWindow { f t x y h w } {
|
|
global baseframe
|
|
set baseframe $f
|
|
wm title . "$t"
|
|
frame .$f
|
|
pack append . .$f {top}
|
|
canvas .$f.canvas1 -scrollregion " $x $y $h $w " -width 15c -height 10c
|
|
pack append .$f .$f.canvas1 {top}
|
|
}
|
|
|
|
proc CreateMenuEntry { fn t x } {
|
|
global baseframe
|
|
menubutton .$fn -text "$t" -underline $x -menu .$fn.m
|
|
pack append .$baseframe .$fn left
|
|
menu .$fn.m
|
|
}
|
|
|
|
proc CreateMenuBar { f } {
|
|
global allmenus
|
|
global baseframe
|
|
set allmenus ""
|
|
frame .$f -relief raised -borderwidth 1
|
|
pack before .$baseframe .$f {top fillx}
|
|
}
|
|
|
|
proc AppendMenu { a b c d x } {
|
|
global allmenus
|
|
global baseframe
|
|
if { ($b == 0x10) } {
|
|
.$c configure -text "$d" -underline "$x"
|
|
pack append .$a .$c left
|
|
set allmenus "$allmenus $c"
|
|
tk_menuBar .$a $allmenus
|
|
tk_bindForTraversal .$baseframe.canvas1
|
|
} else { if { ($b == 0x0800) } {
|
|
.$a.m add separator
|
|
} else {
|
|
.$a.m add command -label "$d" -command "wincallback menu $a $b $c $d" -underline $x
|
|
}}
|
|
}
|
|
|
|
####################################################################
|
|
# Misc unimplemented stuff
|
|
####################################################################
|
|
|
|
proc LoadIcon { wind name } {
|
|
echo "LoadIcon"
|
|
}
|
|
|
|
proc LoadBitmap { wind name } {
|
|
echo "LoadBitmap"
|
|
}
|
|
|
|
proc LoadCursor { wind name } {
|
|
echo "LoadCursor"
|
|
}
|
|
|
|
proc GetObject { obj count ptr } {
|
|
echo "GetObject $obj $count $ptr"
|
|
}
|
|
|
|
proc GetStockObject { wind } {
|
|
echo "GetStockObject $wind"
|
|
}
|
|
|
|
proc DefWindowProc { a b c d } {
|
|
echo "DefWindowProc $a $b $c $d"
|
|
}
|
|
|
|
proc GetMenu { a } {
|
|
echo "GetMenu $a"
|
|
}
|
|
|
|
proc SetMenu { a b } {
|
|
echo "SetMenu $a $b"
|
|
}
|
|
|
|
proc MessageBeep {a } {
|
|
echo "MessageBeep $a"
|
|
}
|
|
|
|
proc MessageBox { wind msg title type } {
|
|
echo "MessageBox '$msg'"
|
|
}
|
|
|
|
proc DrawText { f t top left right bottom } {
|
|
.$f.canvas1 create text $top $left -text "$t" -anchor n
|
|
}
|