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

📄 tkmacmenus.c

📁 linux系统下的音频通信
💻 C
字号:
/*  * tkMacMenus.c -- * *	These calls set up and manage the menubar for the *	Macintosh version of Tk. * * Copyright (c) 1995-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: @(#) tkMacMenus.c 1.38 97/10/31 17:37:03 */#include "tcl.h"#include "tclMacInt.h"#include "tk.h"#include "tkInt.h"#include "tkMacInt.h"/* * The define Status defined by Xlib.h conflicts with the function Status * defined by Devices.h.  We undefine it here to compile. */#undef Status#include <Devices.h>#include <Menus.h>#include <Memory.h>#include <SegLoad.h>#include <StandardFile.h>#include <ToolUtils.h>#include <Balloons.h>#define kAppleMenu		256#define kAppleAboutItem		1#define kFileMenu		2#define kEditMenu		3#define kSourceItem		1#define kCloseItem		2#define kQuitItem		4#define EDIT_CUT		1#define EDIT_COPY		2#define EDIT_PASTE		3#define EDIT_CLEAR		4MenuHandle tkAppleMenu;MenuHandle tkFileMenu;MenuHandle tkEditMenu;static Tcl_Interp *	gInterp;	/* Interpreter for this application. */static void GenerateEditEvent _ANSI_ARGS_((int flag));static void SourceDialog _ANSI_ARGS_((void));/* *---------------------------------------------------------------------- * * TkMacHandleMenuSelect -- * *	Handles events that occur in the Menu bar. * * Results: *	None. * * Side effects: *	None. * *---------------------------------------------------------------------- */void TkMacHandleMenuSelect(    long mResult,    int optionKeyPressed){    short theItem = LoWord(mResult);    short theMenu = HiWord(mResult);    Str255 name;    Tk_Window tkwin;    Window window;    if (mResult == 0) {    	TkMacHandleTearoffMenu();	TkMacClearMenubarActive();	return;    }    switch (theMenu) {		case kAppleMenu:	    switch (theItem) {		case kAppleAboutItem:		    {			Tcl_CmdInfo dummy;						if (optionKeyPressed || gInterp == NULL ||			    Tcl_GetCommandInfo(gInterp,				    "tkAboutDialog", &dummy) == 0) {			    TkAboutDlg();			} else {			    Tcl_Eval(gInterp, "tkAboutDialog");			}			break;		    }		default:		    GetItem(tkAppleMenu, theItem, name);		    HiliteMenu(0);		    OpenDeskAcc(name);		    return;	    }	    break;	case kFileMenu:	    switch (theItem) {		case kSourceItem:		    /* TODO: source script */		    SourceDialog();		    break;		case kCloseItem:		    /* Send close event */		    window = TkMacGetXWindow(FrontWindow());		    tkwin = Tk_IdToWindow(tkDisplayList->display, window);		    TkGenWMDestroyEvent(tkwin);		    break;		case kQuitItem:		    /* Exit */		    if (optionKeyPressed || gInterp == NULL) {			Tcl_Exit(0);		    } else {			Tcl_Eval(gInterp, "exit");		    }		    break;	    }	    break;	case kEditMenu:	    /*	     * This implementation just send keysyms	     * the Tk thinks are associated with function keys that	     * do Cut, Copy & Paste on a Sun keyboard.	     */	    GenerateEditEvent(theItem);	    break;	default:	    TkMacDispatchMenuEvent(theMenu, theItem);	    TkMacClearMenubarActive();	    break;    }    /*     * Finally we unhighlight the menu.     */    HiliteMenu(0);} /* TkMacHandleMenuSelect *//* *---------------------------------------------------------------------- * * TkMacInitMenus -- * *	This procedure initializes the Macintosh menu bar. * * Results: *	None. * * Side effects: *	None. * *---------------------------------------------------------------------- */void TkMacInitMenus(    Tcl_Interp 	*interp){    gInterp = interp;    /*      * At this point, InitMenus() should have already been called.      */    if (TkMacUseMenuID(256) != TCL_OK) {    	panic("Menu ID 256 is already in use!");    }    tkAppleMenu = NewMenu(256, "\p\024");    if (tkAppleMenu == NULL) {	panic("memory - menus");    }    InsertMenu(tkAppleMenu, 0);    AppendMenu(tkAppleMenu, "\pAbout Tcl & Tk

⌨️ 快捷键说明

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