mirror of https://github.com/python/cpython
First bits and pieces of appearance support: an init routine, a global flag PyMac_AppearanceCompliant (exported thru MacOS). If USE_APPEARANCE
is off the code is disabled (but the variables are still there, set to 0).
This commit is contained in:
parent
cbdff766d2
commit
8f5725af60
|
@ -72,6 +72,7 @@ extern char PyMac_ApplicationPath[]; /* Application location (from macargv.c) *
|
||||||
extern OSErr PyMac_init_application_location Py_PROTO((void)); /* Init the above */
|
extern OSErr PyMac_init_application_location Py_PROTO((void)); /* Init the above */
|
||||||
extern OSErr PyMac_GetFullPath Py_PROTO((FSSpec *, char *)); /* convert fsspec->path (macargv.c) */
|
extern OSErr PyMac_GetFullPath Py_PROTO((FSSpec *, char *)); /* convert fsspec->path (macargv.c) */
|
||||||
extern int PyMac_GetArgv Py_PROTO((char ***, int)); /* Get argc, argv (from macargv.c) */
|
extern int PyMac_GetArgv Py_PROTO((char ***, int)); /* Get argc, argv (from macargv.c) */
|
||||||
|
extern int PyMac_AppearanceCompliant; /* True if in appearance support mode */
|
||||||
|
|
||||||
extern PyObject *PyMac_OSErrException; /* Exception for OSErr */
|
extern PyObject *PyMac_OSErrException; /* Exception for OSErr */
|
||||||
PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */
|
PyObject *PyMac_GetOSErrException(void); /* Initialize & return it */
|
||||||
|
|
|
@ -41,24 +41,26 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
** shared ppc python, in the core dynamic library)
|
** shared ppc python, in the core dynamic library)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define BASE_ID 228
|
||||||
|
|
||||||
/* The alert for "No Python directory, where is it?" (OBSOLETE) */
|
/* The alert for "No Python directory, where is it?" (OBSOLETE) */
|
||||||
#define NOPYTHON_ALERT 228
|
#define NOPYTHON_ALERT BASE_ID+0
|
||||||
#define YES_ITEM 1
|
#define YES_ITEM 1
|
||||||
#define NO_ITEM 2
|
#define NO_ITEM 2
|
||||||
#define CURWD_ITEM 3
|
#define CURWD_ITEM 3
|
||||||
|
|
||||||
/* The alert for "this is an applet template" */
|
/* The alert for "this is an applet template" */
|
||||||
#define NOPYC_ALERT 229
|
#define NOPYC_ALERT BASE_ID+1
|
||||||
|
|
||||||
/* The dialog for our GetDirectory and PromptGetFile call */
|
/* The dialog for our GetDirectory and PromptGetFile call */
|
||||||
#define GETDIR_ID 230 /* Resource ID for our "get directory" */
|
#define GETDIR_ID BASE_ID+2 /* Resource ID for our "get directory" */
|
||||||
#define GETFILEPROMPT_ID 232 /* Resource id for prompted get file */
|
#define GETFILEPROMPT_ID BASE_ID+4 /* Resource id for prompted get file */
|
||||||
#define PROMPT_ITEM 10 /* The prompt, at the top */
|
#define PROMPT_ITEM 10 /* The prompt, at the top */
|
||||||
#define SELECTCUR_ITEM 11 /* "Select current directory" button */
|
#define SELECTCUR_ITEM 11 /* "Select current directory" button */
|
||||||
|
|
||||||
|
|
||||||
/* The dialog for interactive options */
|
/* The dialog for interactive options */
|
||||||
#define OPT_DIALOG 231 /* Resource ID for dialog */
|
#define OPT_DIALOG BASE_ID+3 /* Resource ID for dialog */
|
||||||
#define OPT_OK 1
|
#define OPT_OK 1
|
||||||
#define OPT_CANCEL 2
|
#define OPT_CANCEL 2
|
||||||
#define OPT_INSPECT 3
|
#define OPT_INSPECT 3
|
||||||
|
@ -74,21 +76,21 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#define OPT_HELP 16
|
#define OPT_HELP 16
|
||||||
|
|
||||||
/* Dialog for 'No preferences directory' */
|
/* Dialog for 'No preferences directory' */
|
||||||
#define NOPREFDIR_ID 233
|
#define NOPREFDIR_ID BASE_ID+5
|
||||||
|
|
||||||
/* Dialog for 'Bad or outdated preferences' */
|
/* Dialog for 'Bad or outdated preferences' */
|
||||||
#define BADPREFERENCES_ID 234
|
#define BADPREFERENCES_ID BASE_ID+6
|
||||||
#define BADPREF_DELETE 1
|
#define BADPREF_DELETE 1
|
||||||
#define BADPREF_CONTINUE 2
|
#define BADPREF_CONTINUE 2
|
||||||
#define BADPREF_QUIT 3
|
#define BADPREF_QUIT 3
|
||||||
/* Dialog for 'Bad preference file' */
|
/* Dialog for 'Bad preference file' */
|
||||||
#define BADPREFFILE_ID 235
|
#define BADPREFFILE_ID BASE_ID+7
|
||||||
|
|
||||||
/* About box */
|
/* About box */
|
||||||
#define ABOUT_ID 236
|
#define ABOUT_ID BASE_ID+8
|
||||||
|
|
||||||
/* No preferences file name resource */
|
/* No preferences file name resource */
|
||||||
#define NOPREFNAME_ID 237
|
#define NOPREFNAME_ID BASE_ID+9
|
||||||
|
|
||||||
/* EditPythonPrefs range. Needed here to forestall conflicts with applets */
|
/* EditPythonPrefs range. Needed here to forestall conflicts with applets */
|
||||||
#define EDITPYTHONPREFS_MIN 508
|
#define EDITPYTHONPREFS_MIN 508
|
||||||
|
|
|
@ -734,5 +734,8 @@ initMacOS()
|
||||||
if( PyDict_SetItemString(d, "string_id_to_buffer", Py_BuildValue("i", off)) != 0)
|
if( PyDict_SetItemString(d, "string_id_to_buffer", Py_BuildValue("i", off)) != 0)
|
||||||
Py_FatalError("Can't define MacOS.string_id_to_buffer");
|
Py_FatalError("Can't define MacOS.string_id_to_buffer");
|
||||||
}
|
}
|
||||||
|
if (PyDict_SetItemString(d, "AppearanceCompliant",
|
||||||
|
Py_BuildValue("i", PyMac_AppearanceCompliant)) != 0)
|
||||||
|
Py_FatalError("can't define MacOS.AppearanceCompliant");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -155,6 +155,11 @@ static int upp_inited = 0;
|
||||||
*/
|
*/
|
||||||
static PyObject *python_event_handler;
|
static PyObject *python_event_handler;
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Set to true if we're appearance-compliant
|
||||||
|
*/
|
||||||
|
int PyMac_AppearanceCompliant;
|
||||||
|
|
||||||
#ifdef USE_GUSI
|
#ifdef USE_GUSI
|
||||||
/*
|
/*
|
||||||
** GUSI (1.6.0 and earlier, at the least) do not set the MacOS idea of
|
** GUSI (1.6.0 and earlier, at the least) do not set the MacOS idea of
|
||||||
|
|
|
@ -37,6 +37,10 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
#include <Fonts.h>
|
#include <Fonts.h>
|
||||||
#include <Balloons.h>
|
#include <Balloons.h>
|
||||||
|
#ifdef USE_APPEARANCE
|
||||||
|
#include <Gestalt.h>
|
||||||
|
#include <Appearance.h>
|
||||||
|
#endif /* USE_APPEARANCE */
|
||||||
#ifdef __MWERKS__
|
#ifdef __MWERKS__
|
||||||
#include <SIOUX.h>
|
#include <SIOUX.h>
|
||||||
#define USE_SIOUX
|
#define USE_SIOUX
|
||||||
|
@ -64,6 +68,21 @@ PyMac_PrefRecord options;
|
||||||
static void Py_Main Py_PROTO((int, char **)); /* Forward */
|
static void Py_Main Py_PROTO((int, char **)); /* Forward */
|
||||||
void PyMac_Exit Py_PROTO((int)); /* Forward */
|
void PyMac_Exit Py_PROTO((int)); /* Forward */
|
||||||
|
|
||||||
|
static void init_appearance()
|
||||||
|
{
|
||||||
|
#ifdef USE_APPEARANCE
|
||||||
|
OSErr err;
|
||||||
|
SInt32 response;
|
||||||
|
|
||||||
|
err = Gestalt(gestaltAppearanceAttr,&response);
|
||||||
|
if ( err ) goto no_appearance;
|
||||||
|
if ( !(response&(1<<gestaltAppearanceExists)) ) goto no_appearance;
|
||||||
|
/* XXXX Should we check the version? Compat-mode? */
|
||||||
|
PyMac_AppearanceCompliant = 1;
|
||||||
|
no_appearance:
|
||||||
|
return;
|
||||||
|
#endif /* USE_APPEARANCE */
|
||||||
|
}
|
||||||
/* Initialize the Mac toolbox world */
|
/* Initialize the Mac toolbox world */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -80,6 +99,7 @@ init_mac_world()
|
||||||
InitDialogs((long)0);
|
InitDialogs((long)0);
|
||||||
InitMenus();
|
InitMenus();
|
||||||
InitCursor();
|
InitCursor();
|
||||||
|
init_appearance();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#define USE_MALLOC_DEBUG /* Enable range checking and other malloc debugging */
|
#define USE_MALLOC_DEBUG /* Enable range checking and other malloc debugging */
|
||||||
/* #define USE_GDBM /* Include the gdbm module */
|
/* #define USE_GDBM /* Include the gdbm module */
|
||||||
/* #define USE_ZLIB /* Include the zlib module */
|
/* #define USE_ZLIB /* Include the zlib module */
|
||||||
|
#define USE_APPEARANCE /* Enable Appearance support */
|
||||||
#ifdef __powerc
|
#ifdef __powerc
|
||||||
#define USE_CACHE_ALIGNED 8 /* Align on 32-byte boundaries for 604 */
|
#define USE_CACHE_ALIGNED 8 /* Align on 32-byte boundaries for 604 */
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue