⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tkunixdialog.c

📁 linux系统下的音频通信
💻 C
字号:
/* * tkUnixDialog.c -- * *	Contains the Unix implementation of the common dialog boxes: * * Copyright (c) 1996 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: @(#) tkUnixDialog.c 1.5 96/08/28 21:21:01 * */ #include "tkPort.h"#include "tkInt.h"#include "tkUnixInt.h"/* *---------------------------------------------------------------------- * * EvalArgv -- * *	Invokes the Tcl procedure with the arguments. argv[0] is set by *	the caller of this function. It may be different than cmdName. *	The TCL command will see argv[0], not cmdName, as its name if it *	invokes [lindex [info level 0] 0] * * Results: *	TCL_ERROR if the command does not exist and cannot be autoloaded. *	Otherwise, return the result of the evaluation of the command. * * Side effects: *	The command may be autoloaded. * *---------------------------------------------------------------------- */static int EvalArgv(interp, cmdName, argc, argv)    Tcl_Interp *interp;		/* Current interpreter. */    char * cmdName;		/* Name of the TCL command to call */    int argc;			/* Number of arguments. */    char **argv;		/* Argument strings. */{    Tcl_CmdInfo cmdInfo;    if (!Tcl_GetCommandInfo(interp, cmdName, &cmdInfo)) {	char * cmdArgv[2];	/*	 * This comand is not in the interpreter yet -- looks like we	 * have to auto-load it	 */	if (!Tcl_GetCommandInfo(interp, "auto_load", &cmdInfo)) {	    Tcl_ResetResult(interp);	    Tcl_AppendResult(interp, "cannot execute command \"auto_load\"",		NULL);	    return TCL_ERROR;	}	cmdArgv[0] = "auto_load";	cmdArgv[1] = cmdName;	if ((*cmdInfo.proc)(cmdInfo.clientData, interp, 2, cmdArgv)!= TCL_OK){ 	    return TCL_ERROR;	}	if (!Tcl_GetCommandInfo(interp, cmdName, &cmdInfo)) {	    Tcl_ResetResult(interp);	    Tcl_AppendResult(interp, "cannot auto-load command \"",		cmdName, "\"",NULL);	    return TCL_ERROR;	}    }    return (*cmdInfo.proc)(cmdInfo.clientData, interp, argc, argv);}/* *---------------------------------------------------------------------- * * Tk_ChooseColorCmd -- * *	This procedure implements the color dialog box for the Unix *	platform. See the user documentation for details on what it *	does. * * Results: *	See user documentation. * * Side effects: *	A dialog window is created the first time this procedure is called. *	This window is not destroyed and will be reused the next time the *	application invokes the "tk_chooseColor" command. * *---------------------------------------------------------------------- */intTk_ChooseColorCmd(clientData, interp, argc, argv)    ClientData clientData;	/* Main window associated with interpreter. */    Tcl_Interp *interp;		/* Current interpreter. */    int argc;			/* Number of arguments. */    char **argv;		/* Argument strings. */{    return EvalArgv(interp, "tkColorDialog", argc, argv);}/* *---------------------------------------------------------------------- * * Tk_GetOpenFileCmd -- * *	This procedure implements the "open file" dialog box for the *	Unix platform. See the user documentation for details on what *	it does. * * Results: *	See user documentation. * * Side effects: *	A dialog window is created the first this procedure is called. *	This window is not destroyed and will be reused the next time *	the application invokes the "tk_getOpenFile" or *	"tk_getSaveFile" command. * *---------------------------------------------------------------------- */intTk_GetOpenFileCmd(clientData, interp, argc, argv)    ClientData clientData;	/* Main window associated with interpreter. */    Tcl_Interp *interp;		/* Current interpreter. */    int argc;			/* Number of arguments. */    char **argv;		/* Argument strings. */{    Tk_Window tkwin = (Tk_Window)clientData;    if (Tk_StrictMotif(tkwin)) {	return EvalArgv(interp, "tkMotifFDialog", argc, argv);    } else {	return EvalArgv(interp, "tkFDialog", argc, argv);    }}/* *---------------------------------------------------------------------- * * Tk_GetSaveFileCmd -- * *	Same as Tk_GetOpenFileCmd but opens a "save file" dialog box *	instead * * Results: *	Same as Tk_GetOpenFileCmd. * * Side effects: *	Same as Tk_GetOpenFileCmd. * *---------------------------------------------------------------------- */intTk_GetSaveFileCmd(clientData, interp, argc, argv)    ClientData clientData;	/* Main window associated with interpreter. */    Tcl_Interp *interp;		/* Current interpreter. */    int argc;			/* Number of arguments. */    char **argv;		/* Argument strings. */{    Tk_Window tkwin = (Tk_Window)clientData;    if (Tk_StrictMotif(tkwin)) {	return EvalArgv(interp, "tkMotifFDialog", argc, argv);    } else {	return EvalArgv(interp, "tkFDialog", argc, argv);    }}/* *---------------------------------------------------------------------- * * Tk_MessageBoxCmd -- * *	This procedure implements the MessageBox window for the *	Unix platform. See the user documentation for details on what *	it does. * * Results: *	See user documentation. * * Side effects: *	None. The MessageBox window will be destroy before this procedure *	returns. * *---------------------------------------------------------------------- */intTk_MessageBoxCmd(clientData, interp, argc, argv)    ClientData clientData;	/* Main window associated with interpreter. */    Tcl_Interp *interp;		/* Current interpreter. */    int argc;			/* Number of arguments. */    char **argv;		/* Argument strings. */{    return EvalArgv(interp, "tkMessageBox", argc, argv);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -