Yes, only one command with one button.
Is this what you want?
-----------------------
text .t
entry .e1 -textvariable ::value1
entry .e2 -textvariable ::value2
entry .e3 -textvariable ::value3
button .b -text submit -command myProc
pack .t -pady 10
pack .e1 -pady 10
pack .e2 -pady 10
pack .e3 -pady 10
pack .b -pady 10
proc myProc {} { myProc1; myProc2; myProc3 }
proc myProc1 {} { .t insert end $::value1\n }
proc myProc2 {} { .t insert end $::value2\n }
proc myProc3 {} { .t insert end $::value3\n }
----------------------
myProc calls all 3 procs.
Eventually you can add some condition before calling each one.
Unfortunatly entry widgets do not have a modified flag.
But, if you need to be alerted at each modification, you can add a trace to each global variable like this:
-----------------------
trace add variable ::value1 w myProc1
proc myProc1 {name key op} { .t insert end "value1 modified\n" }
-----------------------
Each time the global variable ::value1 is modified (by the entry widget) Tcl will call myProc value1 "" w.
ulis