All Downloads are FREE. Search and download functionalities are using the official Maven repository.

lib-python.2.5.plat-mac.Carbon.ControlAccessor.py Maven / Gradle / Ivy

Go to download

Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform.

There is a newer version: 2.7.4
Show newest version
# Accessor functions for control properties

from Controls import *
import struct

# These needn't go through this module, but are here for completeness
def SetControlData_Handle(control, part, selector, data):
    control.SetControlData_Handle(part, selector, data)

def GetControlData_Handle(control, part, selector):
    return control.GetControlData_Handle(part, selector)

_accessdict = {
    kControlPopupButtonMenuHandleTag: (SetControlData_Handle, GetControlData_Handle),
}

_codingdict = {
    kControlPushButtonDefaultTag : ("b", None, None),

    kControlEditTextTextTag: (None, None, None),
    kControlEditTextPasswordTag: (None, None, None),

    kControlPopupButtonMenuIDTag: ("h", None, None),

    kControlListBoxDoubleClickTag: ("b", None, None),
}

def SetControlData(control, part, selector, data):
    if _accessdict.has_key(selector):
        setfunc, getfunc = _accessdict[selector]
        setfunc(control, part, selector, data)
        return
    if not _codingdict.has_key(selector):
        raise KeyError, ('Unknown control selector', selector)
    structfmt, coder, decoder = _codingdict[selector]
    if coder:
        data = coder(data)
    if structfmt:
        data = struct.pack(structfmt, data)
    control.SetControlData(part, selector, data)

def GetControlData(control, part, selector):
    if _accessdict.has_key(selector):
        setfunc, getfunc = _accessdict[selector]
        return getfunc(control, part, selector, data)
    if not _codingdict.has_key(selector):
        raise KeyError, ('Unknown control selector', selector)
    structfmt, coder, decoder = _codingdict[selector]
    data = control.GetControlData(part, selector)
    if structfmt:
        data = struct.unpack(structfmt, data)
    if decoder:
        data = decoder(data)
    if type(data) == type(()) and len(data) == 1:
        data = data[0]
    return data




© 2015 - 2024 Weber Informatics LLC | Privacy Policy