Пример #1
0
def windowbounds(preferredsize, minsize=None):
    "Return sensible window bounds"

    global _windowcounter
    if len(preferredsize) == 4:
        bounds = l, t, r, b = preferredsize
        desktopRgn = Win.GetGrayRgn()
        tempRgn = Qd.NewRgn()
        Qd.RectRgn(tempRgn, bounds)
        union = Qd.UnionRgn(tempRgn, desktopRgn, tempRgn)
        equal = Qd.EqualRgn(tempRgn, desktopRgn)
        Qd.DisposeRgn(tempRgn)
        if equal:
            return bounds
        else:
            preferredsize = r - l, b - t
    if not minsize:
        minsize = preferredsize
    minwidth, minheight = minsize
    width, height = preferredsize

    sl, st, sr, sb = screenbounds = Qd.InsetRect(
        Qd.GetQDGlobalsScreenBits().bounds, 4, 4)
    l, t = getnextwindowpos()
    if (l + width) > sr:
        _windowcounter = 0
        l, t = getnextwindowpos()
    r = l + width
    b = t + height
    if (t + height) > sb:
        b = sb
        if (b - t) < minheight:
            b = t + minheight
    return l, t, r, b
Пример #2
0
        while 1:
            n = ModalDialog(None)
            if n == 1:
                return default
            if n == 2:
                return 1
            if n == 3:
                return 0
            if n == 4:
                return -1

        return


try:
    screenbounds = Qd.GetQDGlobalsScreenBits().bounds
except AttributeError:
    raise ImportError('QuickDraw APIs not available')

screenbounds = (screenbounds[0] + 4, screenbounds[1] + 4, screenbounds[2] - 4,
                screenbounds[3] - 4)
kControlProgressBarIndeterminateTag = 'inde'


class ProgressBar:
    def __init__(self, title='Working...', maxval=0, label='', id=263):
        self.w = None
        self.d = None
        _initialize()
        self.d = GetNewDialog(id, -1)
        self.w = self.d.GetDialogWindow()
Пример #3
0
 def getwindowbounds(self, size, minsize=None):
     screenbounds = sl, st, sr, sb = Qd.GetQDGlobalsScreenBits().bounds
     w, h = size
     l = sl + (sr - sl - w) / 2
     t = st + (sb - st - h) / 3
     return l, t, l + w, t + h