////////////////////////////////////////////////////////////////////// ///////////////// The Bindings to the Tcl buttons //////////////////// int PocsNextIterCmd(ClentData clientdata, TclInterp *interp, int argc, char* argv[] ); int AdpwNextIterCmd(ClentData clientdata, TclInterp *interp, int argc, char* argv[] ); int MarNextIterCmd(ClentData clientdata, TclInterp *interp, int argc, char* argv[] ); int StartCmd(ClentData clientdata, TclInterp *interp,int argc, char* argv[]); int ToggleFreqCmd(ClentData clientdata, TclInterp *interp, int argc, char* argv[]); int FileCmd(ClentData clientdata, TclInterp *interp, int argc, char* argv[]); int ZoomInCmd(ClentData clientdata, TclInterp *interp, int argc, char* argv[]); int ZoomOutCmd(ClentData clientdata, TclInterp *interp, int argc, char* argv[]); ////////////////////////////////////////////////////////////////////// int Tcl_AppInit(Tcl_Interp *interp) { if(Tcl_Init(interp) == TCL_ERROR) return TCL_ERROR; if(Tk_Init(interp) == TCL_ERROR) return TCL_ERROR; Tcl_SetVar(interp,"tcl_interactive",0,TCL_GLOBAL_ONLY); Tcl_CreateCommand(interp,"PocsNextIterCmd",PocsNextIterCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_CreateCommand(interp,"AdpwNextIterCmd",AdpwNextIterCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_CreateCommand(interp,"MarNextIterCmd",MarNextIterCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_CreateCommand(interp,"StartCmd",StartCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_CreateCommand(interp,"ToggleFreqCmd",ToggleFreqCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_CreateCommand(interp,"FileCmd",FileCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_CreateCommand(interp,"ZoomInCmd",ZoomInCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_CreateCommand(interp,"ZoomOutCmd",ZoomOutCmd,(ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); Tcl_EvalFile(interp,"test.tcl"); Tk_MainLoop(); // This will make Tk go in to the event loop return TCL_OK; }