~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Mac/Modules/drag/dragscan.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Scan <Drag.h>, generating draggen.py.
 
2
import sys
 
3
from bgenlocations import TOOLBOXDIR, BGENDIR, INCLUDEDIR
 
4
sys.path.append(BGENDIR)
 
5
 
 
6
from scantools import Scanner
 
7
 
 
8
MISSING_DEFINES="""
 
9
kDragHasLeftSenderWindow        = (1 << 0)
 
10
kDragInsideSenderApplication = (1 << 1)
 
11
kDragInsideSenderWindow         = (1 << 2)
 
12
kDragRegionAndImage                     = (1 << 4)
 
13
flavorSenderOnly                        = (1 << 0)
 
14
flavorSenderTranslated          = (1 << 1)
 
15
flavorNotSaved                          = (1 << 2)
 
16
flavorSystemTranslated          = (1 << 8)
 
17
"""
 
18
 
 
19
 
 
20
def main():
 
21
    input = INCLUDEDIR + "Drag.h"
 
22
    output = "draggen.py"
 
23
    defsoutput = TOOLBOXDIR + "Dragconst.py"
 
24
    scanner = MyScanner(input, output, defsoutput)
 
25
    scanner.scan()
 
26
    scanner.close()
 
27
    print "=== Testing definitions output code ==="
 
28
    execfile(defsoutput, {}, {})
 
29
    print "=== Done scanning and generating, now doing 'import dragsupport' ==="
 
30
    import dragsupport
 
31
    print "=== Done.  It's up to you to compile Dragmodule.c ==="
 
32
 
 
33
class MyScanner(Scanner):
 
34
 
 
35
    def destination(self, type, name, arglist):
 
36
        classname = "Function"
 
37
        listname = "functions"
 
38
        if arglist:
 
39
            t, n, m = arglist[0]
 
40
            if t in ('DragReference', 'DragRef') and m == "InMode":
 
41
                classname = "Method"
 
42
                listname = "methods"
 
43
        return classname, listname
 
44
 
 
45
    def writeinitialdefs(self):
 
46
        self.defsfile.write("def FOUR_CHAR_CODE(x): return x\n")
 
47
        self.defsfile.write("from Carbon.TextEdit import *\n")
 
48
        self.defsfile.write("from Carbon.QuickDraw import *\n")
 
49
        self.defsfile.write("fkDragActionAll = -1\n")
 
50
        self.defsfile.write("\n")
 
51
        # Defines unparseable in Drag.h
 
52
        self.defsfile.write(MISSING_DEFINES)
 
53
 
 
54
    def makeblacklistnames(self):
 
55
        return [
 
56
                "kDragActionAll",
 
57
                ]
 
58
 
 
59
    def makeblacklisttypes(self):
 
60
        return [
 
61
                "DragTrackingHandlerUPP",
 
62
                "DragReceiveHandlerUPP",
 
63
                "DragSendDataUPP",
 
64
                "DragInputUPP",
 
65
                "DragDrawingUPP",
 
66
                ]
 
67
 
 
68
    def makerepairinstructions(self):
 
69
        return [
 
70
                ([("void_ptr", "*", "InMode"), ("Size", "*", "InMode")],
 
71
                 [("OptionalInBuffer", "*", "*")]),
 
72
 
 
73
                ([("void", "*", "OutMode"), ("Size", "*", "OutMode")],
 
74
                 [("VarOutBuffer", "*", "InOutMode")]),
 
75
 
 
76
                ]
 
77
 
 
78
if __name__ == "__main__":
 
79
    main()