From 176f3a9339637647831f124fa72205325699e809 Mon Sep 17 00:00:00 2001
From: Jack Jansen <jack.jansen@cwi.nl>
Date: Wed, 23 Oct 1996 15:43:46 +0000
Subject: Added support for tab hooks

---
 Mac/Modules/waste/wastemodule.c   | 51 +++++++++++++++++++++++++++++++++++++++
 Mac/Modules/waste/wastesupport.py |  8 ++++++
 2 files changed, 59 insertions(+)

diff --git a/Mac/Modules/waste/wastemodule.c b/Mac/Modules/waste/wastemodule.c
index 99e5675..7f74ff6 100644
--- a/Mac/Modules/waste/wastemodule.c
+++ b/Mac/Modules/waste/wastemodule.c
@@ -44,6 +44,7 @@ extern PyObject *WinObj_WhichWindow(WindowPtr);
 
 #include <WASTE.h>
 #include <WEObjectHandlers.h>
+#include <WETabs.h>
 
 /* Exported by Qdmodule.c: */
 extern PyObject *QdRGB_New(RGBColor *);
@@ -1448,6 +1449,50 @@ static PyObject *wasteObj_WEFeatureFlag(_self, _args)
 	return _res;
 }
 
+static PyObject *wasteObj_WEInstallTabHooks(_self, _args)
+	wasteObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = WEInstallTabHooks(_self->ob_itself);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *wasteObj_WERemoveTabHooks(_self, _args)
+	wasteObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	OSErr _err;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_err = WERemoveTabHooks(_self->ob_itself);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+
+static PyObject *wasteObj_WEIsTabHooks(_self, _args)
+	wasteObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	Boolean _rv;
+	if (!PyArg_ParseTuple(_args, ""))
+		return NULL;
+	_rv = WEIsTabHooks(_self->ob_itself);
+	_res = Py_BuildValue("b",
+	                     _rv);
+	return _res;
+}
+
 static PyMethodDef wasteObj_methods[] = {
 	{"WEGetText", (PyCFunction)wasteObj_WEGetText, 1,
 	 "() -> (Handle _rv)"},
@@ -1565,6 +1610,12 @@ static PyMethodDef wasteObj_methods[] = {
 	 "() -> None"},
 	{"WEFeatureFlag", (PyCFunction)wasteObj_WEFeatureFlag, 1,
 	 "(SInt16 feature, SInt16 action) -> (SInt16 _rv)"},
+	{"WEInstallTabHooks", (PyCFunction)wasteObj_WEInstallTabHooks, 1,
+	 "() -> None"},
+	{"WERemoveTabHooks", (PyCFunction)wasteObj_WERemoveTabHooks, 1,
+	 "() -> None"},
+	{"WEIsTabHooks", (PyCFunction)wasteObj_WEIsTabHooks, 1,
+	 "() -> (Boolean _rv)"},
 	{NULL, NULL, 0}
 };
 
diff --git a/Mac/Modules/waste/wastesupport.py b/Mac/Modules/waste/wastesupport.py
index ac41d64..14f9a14 100644
--- a/Mac/Modules/waste/wastesupport.py
+++ b/Mac/Modules/waste/wastesupport.py
@@ -52,6 +52,7 @@ LongRect_ptr = LongRect
 includestuff = includestuff + """
 #include <%s>""" % MACHEADERFILE + """
 #include <WEObjectHandlers.h>
+#include <WETabs.h>
 
 /* Exported by Qdmodule.c: */
 extern PyObject *QdRGB_New(RGBColor *);
@@ -389,6 +390,13 @@ inshandler_body = """
 stdhand = ManualGenerator("STDObjectHandlers", stdhandlers_body)
 inshand = ManualGenerator("WEInstallObjectHandler", inshandler_body)
 
+f = Method(OSErr, 'WEInstallTabHooks', (WEReference, 'we', InMode))
+methods.append(f)
+f = Method(OSErr, 'WERemoveTabHooks', (WEReference, 'we', InMode))
+methods.append(f)
+f = Method(Boolean, 'WEIsTabHooks', (WEReference, 'we', InMode))
+methods.append(f)
+
 # add the populated lists to the generator groups
 # (in a different wordl the scan program would generate this)
 for f in functions: module.add(f)
-- 
cgit v0.12

