summaryrefslogtreecommitdiffstats
path: root/generic/tkMenu.h
diff options
context:
space:
mode:
authordas <das>2005-11-27 02:36:13 (GMT)
committerdas <das>2005-11-27 02:36:13 (GMT)
commit3dadea6fa58518be89d8e48e340285cd5d916887 (patch)
tree98dfe1d79c84fe0819c1b167cb9764496c2c9a72 /generic/tkMenu.h
parentc0223b885cb724c64ed47ceefc90b7f883a6b4df (diff)
downloadtk-3dadea6fa58518be89d8e48e340285cd5d916887.zip
tk-3dadea6fa58518be89d8e48e340285cd5d916887.tar.gz
tk-3dadea6fa58518be89d8e48e340285cd5d916887.tar.bz2
* unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),
add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tcl/unix/tcl.m4. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tcl/unix/configure.in. * unix/Makefile.in: add CFLAGS to wish/tktest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of wish and compiling of tkTestInit.o during parallel make, fix dependencies and flags for building tkMacOSXInit.o (checkstubs, checkexports): dependency and Darwin fixes (dist): add new macosx files. * macosx/tkMacOSXEvent.c (TkMacOSXProcessEvent): * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): * macosx/tkMacOSXCarbonEvents.c: install standard application event handler, add & call functions to start and stop carbon even timer that runs the tcl event loop periodically during a nested carbon event loop in the toolbox (e.g. during menutracking) to ensure tcl timers etc continue to fire, register app event handler for menu tracking and HI command carbon events, move menu event handling to new handlers for those carbon events, no longer register for/handle appleevent carbon event (now dealt with by standard application event handler), event debugging code dynamically acquires carbon event debugging functions to allow use on Tiger where they are no longer exported from HIToolbox. * macosx/tkMacOSXFont.c (TkMacOSXUseAntialiasedText): * macosx/tkMacOSXKeyEvent.c (GetKeyboardLayout): * macosx/tkMacOSXCarbonEvents.c (TkMacOSXInitCarbonEvents): * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: abstract common code to dynamically acquire address of a named symbol (from a loaded dynamic library) into new function TkMacOSXGetNamedSymbol() and macro TkMacOSXInitNamedSymbol. * macosx/tkMacOSXMenu.c (TkpNewMenu): * macosx/tkMacOSXMenubutton.c (MenuButtonInitControl): * macosx/tkMacOSXMenus.c (TkMacOSXHandleMenuSelect): switch to modern utf8 aware menu manager API, remove obsolete code, add error handling. * macosx/tkMacOSXMouseEvent.c: define OSX 10.3 or later only constants if necessary to allow compilation on OSX 10.2 * macosx/tkMacOSXWm.c (UpdateSizeHints): remove code that is never executed. * xlib/xgc.c (XCreateGC): sync with core-8-4-branch change. * generic/tk.h: add/correct location of version numbers in macosx files. * generic/tkInt.h: clarify fat compile comment. * macosx/Wish.pbproj/default.pbxuser (new file): * macosx/Wish.pbproj/jingham.pbxuser: * macosx/Wish.pbproj/project.pbxproj: * macosx/Wish.xcode/default.pbxuser: * macosx/Wish.xcode/project.pbxproj: * macosx/Wish.xcodeproj/default.pbxuser (new file): * macosx/Wish.xcodeproj/project.pbxproj (new file): new/updated projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on 10.2, with native tktest targets and support for universal (fat) compiles. * macosx/Tk-Info.plist (removed): * macosx/Wish-Info.plist (removed): * macosx/buildTkConfig.tcl (removed): remove obsolete build files. * macosx/README: clarification/cleanup, document new Xcode projects and universal (fat) builds via CFLAGS (i.e. ppc and i386 at the same time). * unix/Makefile.in: * unix/aclocal.m4: * unix/configure.in: * macosx/configure.ac (new file): add support for inclusion of unix/configure.in by macosx/configure.ac, allows generation of a config headers enabled configure script in macosx (required by Xcode projects). * macosx/GNUmakefile: rename from Makefile to avoid overwriting by configure run in tk/macosx, add support for reusing configure cache, build target fixes. * generic/tk3d.h: * generic/tkButton.h: * generic/tkCanvas.c: * generic/tkCanvas.h: * generic/tkColor.h: * generic/tkEntry.h: * generic/tkFileFilter.h: * generic/tkFont.c: * generic/tkFont.h: * generic/tkImage.c: * generic/tkImgPhoto.c: * generic/tkInt.h: * generic/tkMenu.c: * generic/tkMenu.h: * generic/tkMenubutton.h: * generic/tkScale.h: * generic/tkScrollbar.h: * generic/tkSelect.h: * generic/tkStubInit.c: * generic/tkStubLib.c: * generic/tkText.h: * generic/tkUndo.h: * macosx/tkMacOSXButton.c: * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXInt.h: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXSend.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * unix/tkUnixButton.c: * unix/tkUnixMenu.c: * xlib/xgc.c: ensure externally visible symbols not contained in stubs table are declared as MODULE_SCOPE (or as static if not used outside of own source file), #ifdef out a few Xlib and aqua functions that are never called. These changes allow 'make checkstubs' to complete without error on Darwin with gcc 4. * macosx/tkMacOSXTest.c: * macosx/tkMacOSXPort.h: * win/tkWinTest.c: * generic/tkInt.decls: add functions needed by tktest to internal stubs table, correct signature of TkMacOSXHandleMenuSelect, add XSync to aqua Xlib stubs. * unix/tkUnixSend.c: * generic/tkText.c: * generic/tkTest.c: #ifdef unix only declarations. (TestmetricsCmd): unify win and mac implementation. (TestsendCmd): move to tkUnixSend.c to avoid access to global var. (TesttextCmd): move to tkText.c to avoid having to put all the internal text functions it uses into the stubs table. * generic/tkTextDisp.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXXStubs.c: fix gcc 4 warnings. * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXScrlbr.c: sync with core-8-4-branch. * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkStubInit.c: * unix/configure: * unix/tkConfig.h.in: regen.
Diffstat (limited to 'generic/tkMenu.h')
-rw-r--r--generic/tkMenu.h82
1 files changed, 41 insertions, 41 deletions
diff --git a/generic/tkMenu.h b/generic/tkMenu.h
index 630e748..1863c9d 100644
--- a/generic/tkMenu.h
+++ b/generic/tkMenu.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMenu.h,v 1.10 2005/11/14 22:44:11 dkf Exp $
+ * RCS: @(#) $Id: tkMenu.h,v 1.11 2005/11/27 02:36:14 das Exp $
*/
#ifndef _TKMENU
@@ -241,7 +241,7 @@ typedef struct TkMenuEntry {
* Menu states
*/
-EXTERN char *tkMenuStateStrings[];
+MODULE_SCOPE char *tkMenuStateStrings[];
#define ENTRY_ACTIVE 0
#define ENTRY_NORMAL 1
@@ -491,70 +491,70 @@ typedef struct TkMenuOptionTables {
* the outside world:
*/
-EXTERN int TkActivateMenuEntry(TkMenu *menuPtr, int index);
-EXTERN void TkBindMenu(Tk_Window tkwin, TkMenu *menuPtr);
-EXTERN TkMenuReferences*TkCreateMenuReferences(Tcl_Interp *interp,
+MODULE_SCOPE int TkActivateMenuEntry(TkMenu *menuPtr, int index);
+MODULE_SCOPE void TkBindMenu(Tk_Window tkwin, TkMenu *menuPtr);
+MODULE_SCOPE TkMenuReferences*TkCreateMenuReferences(Tcl_Interp *interp,
char *name);
-EXTERN void TkDestroyMenu(TkMenu *menuPtr);
-EXTERN void TkEventuallyRecomputeMenu(TkMenu *menuPtr);
-EXTERN void TkEventuallyRedrawMenu(TkMenu *menuPtr,
+MODULE_SCOPE void TkDestroyMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkEventuallyRecomputeMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkEventuallyRedrawMenu(TkMenu *menuPtr,
TkMenuEntry *mePtr);
-EXTERN TkMenuReferences*TkFindMenuReferences(Tcl_Interp *interp, char *name);
-EXTERN TkMenuReferences*TkFindMenuReferencesObj(Tcl_Interp *interp,
+MODULE_SCOPE TkMenuReferences*TkFindMenuReferences(Tcl_Interp *interp, char *name);
+MODULE_SCOPE TkMenuReferences*TkFindMenuReferencesObj(Tcl_Interp *interp,
Tcl_Obj *namePtr);
-EXTERN int TkFreeMenuReferences(TkMenuReferences *menuRefPtr);
-EXTERN Tcl_HashTable * TkGetMenuHashTable(Tcl_Interp *interp);
-EXTERN int TkGetMenuIndex(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE int TkFreeMenuReferences(TkMenuReferences *menuRefPtr);
+MODULE_SCOPE Tcl_HashTable *TkGetMenuHashTable(Tcl_Interp *interp);
+MODULE_SCOPE int TkGetMenuIndex(Tcl_Interp *interp, TkMenu *menuPtr,
Tcl_Obj *objPtr, int lastOK, int *indexPtr);
-EXTERN void TkMenuInitializeDrawingFields(TkMenu *menuPtr);
-EXTERN void TkMenuInitializeEntryDrawingFields(TkMenuEntry *mePtr);
-EXTERN int TkInvokeMenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE void TkMenuInitializeDrawingFields(TkMenu *menuPtr);
+MODULE_SCOPE void TkMenuInitializeEntryDrawingFields(TkMenuEntry *mePtr);
+MODULE_SCOPE int TkInvokeMenu(Tcl_Interp *interp, TkMenu *menuPtr,
int index);
-EXTERN void TkMenuConfigureDrawOptions(TkMenu *menuPtr);
-EXTERN int TkMenuConfigureEntryDrawOptions(
+MODULE_SCOPE void TkMenuConfigureDrawOptions(TkMenu *menuPtr);
+MODULE_SCOPE int TkMenuConfigureEntryDrawOptions(
TkMenuEntry *mePtr, int index);
-EXTERN void TkMenuFreeDrawOptions(TkMenu *menuPtr);
-EXTERN void TkMenuEntryFreeDrawOptions(TkMenuEntry *mePtr);
-EXTERN void TkMenuEventProc(ClientData clientData,
+MODULE_SCOPE void TkMenuFreeDrawOptions(TkMenu *menuPtr);
+MODULE_SCOPE void TkMenuEntryFreeDrawOptions(TkMenuEntry *mePtr);
+MODULE_SCOPE void TkMenuEventProc(ClientData clientData,
XEvent *eventPtr);
-EXTERN void TkMenuImageProc(ClientData clientData, int x, int y,
+MODULE_SCOPE void TkMenuImageProc(ClientData clientData, int x, int y,
int width, int height, int imgWidth,
int imgHeight);
-EXTERN void TkMenuInit(void);
-EXTERN void TkMenuSelectImageProc(ClientData clientData, int x,
+MODULE_SCOPE void TkMenuInit(void);
+MODULE_SCOPE void TkMenuSelectImageProc(ClientData clientData, int x,
int y, int width, int height, int imgWidth,
int imgHeight);
-EXTERN Tcl_Obj * TkNewMenuName(Tcl_Interp *interp,
+MODULE_SCOPE Tcl_Obj * TkNewMenuName(Tcl_Interp *interp,
Tcl_Obj *parentNamePtr, TkMenu *menuPtr);
-EXTERN int TkPostCommand(TkMenu *menuPtr);
-EXTERN int TkPostSubmenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE int TkPostCommand(TkMenu *menuPtr);
+MODULE_SCOPE int TkPostSubmenu(Tcl_Interp *interp, TkMenu *menuPtr,
TkMenuEntry *mePtr);
-EXTERN int TkPostTearoffMenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE int TkPostTearoffMenu(Tcl_Interp *interp, TkMenu *menuPtr,
int x, int y);
-EXTERN int TkPreprocessMenu(TkMenu *menuPtr);
-EXTERN void TkRecomputeMenu(TkMenu *menuPtr);
+MODULE_SCOPE int TkPreprocessMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkRecomputeMenu(TkMenu *menuPtr);
/*
* These routines are the platform-dependent routines called by the common
* code.
*/
-EXTERN void TkpComputeMenubarGeometry(TkMenu *menuPtr);
-EXTERN void TkpComputeStandardMenuGeometry(TkMenu *menuPtr);
-EXTERN int TkpConfigureMenuEntry(TkMenuEntry *mePtr);
-EXTERN void TkpDestroyMenu(TkMenu *menuPtr);
-EXTERN void TkpDestroyMenuEntry(TkMenuEntry *mEntryPtr);
-EXTERN void TkpDrawMenuEntry(TkMenuEntry *mePtr,
+MODULE_SCOPE void TkpComputeMenubarGeometry(TkMenu *menuPtr);
+MODULE_SCOPE void TkpComputeStandardMenuGeometry(TkMenu *menuPtr);
+MODULE_SCOPE int TkpConfigureMenuEntry(TkMenuEntry *mePtr);
+MODULE_SCOPE void TkpDestroyMenu(TkMenu *menuPtr);
+MODULE_SCOPE void TkpDestroyMenuEntry(TkMenuEntry *mEntryPtr);
+MODULE_SCOPE void TkpDrawMenuEntry(TkMenuEntry *mePtr,
Drawable d, Tk_Font tkfont,
CONST Tk_FontMetrics *menuMetricsPtr, int x,
int y, int width, int height, int strictMotif,
int drawArrow);
-EXTERN void TkpMenuInit(void);
-EXTERN int TkpMenuNewEntry(TkMenuEntry *mePtr);
-EXTERN int TkpNewMenu(TkMenu *menuPtr);
-EXTERN int TkpPostMenu(Tcl_Interp *interp, TkMenu *menuPtr,
+MODULE_SCOPE void TkpMenuInit(void);
+MODULE_SCOPE int TkpMenuNewEntry(TkMenuEntry *mePtr);
+MODULE_SCOPE int TkpNewMenu(TkMenu *menuPtr);
+MODULE_SCOPE int TkpPostMenu(Tcl_Interp *interp, TkMenu *menuPtr,
int x, int y);
-EXTERN void TkpSetWindowMenuBar(Tk_Window tkwin, TkMenu *menuPtr);
+MODULE_SCOPE void TkpSetWindowMenuBar(Tk_Window tkwin, TkMenu *menuPtr);
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT