Exemplo n.º 1
0
 def get_system_mouse_cursor(self, name):
     # It would make a lot more sense for most of this code to be
     # inside the CocoaMouseCursor class, but all of the CURSOR_xxx
     # constants are defined as properties of BaseWindow.
     if name == self.CURSOR_DEFAULT:
         return DefaultMouseCursor()
     cursors = {
         self.CURSOR_CROSSHAIR: 'crosshairCursor',
         self.CURSOR_HAND: 'pointingHandCursor',
         self.CURSOR_HELP: 'arrowCursor',
         self.CURSOR_NO: 'operationNotAllowedCursor',  # Mac OS 10.6
         self.CURSOR_SIZE: 'arrowCursor',
         self.CURSOR_SIZE_UP: 'resizeUpCursor',
         self.CURSOR_SIZE_UP_RIGHT: 'arrowCursor',
         self.CURSOR_SIZE_RIGHT: 'resizeRightCursor',
         self.CURSOR_SIZE_DOWN_RIGHT: 'arrowCursor',
         self.CURSOR_SIZE_DOWN: 'resizeDownCursor',
         self.CURSOR_SIZE_DOWN_LEFT: 'arrowCursor',
         self.CURSOR_SIZE_LEFT: 'resizeLeftCursor',
         self.CURSOR_SIZE_UP_LEFT: 'arrowCursor',
         self.CURSOR_SIZE_UP_DOWN: 'resizeUpDownCursor',
         self.CURSOR_SIZE_LEFT_RIGHT: 'resizeLeftRightCursor',
         self.CURSOR_TEXT: 'IBeamCursor',
         self.CURSOR_WAIT: 'arrowCursor',  # No wristwatch cursor in Cocoa
         self.CURSOR_WAIT_ARROW:
         'arrowCursor',  # No wristwatch cursor in Cocoa
     }
     if name not in cursors:
         raise RuntimeError('Unknown cursor name "%s"' % name)
     return CocoaMouseCursor(cursors[name])
Exemplo n.º 2
0
    def get_system_mouse_cursor(self, name):
        if name == self.CURSOR_DEFAULT:
            return DefaultMouseCursor()

        themes = {
            self.CURSOR_CROSSHAIR:       kThemeCrossCursor,
            self.CURSOR_HAND:            kThemePointingHandCursor,
            self.CURSOR_HELP:            kThemeArrowCursor,
            self.CURSOR_NO:              kThemeNotAllowedCursor,
            self.CURSOR_SIZE:            kThemeArrowCursor,
            self.CURSOR_SIZE_UP:         kThemeResizeUpCursor,
            self.CURSOR_SIZE_UP_RIGHT:   kThemeArrowCursor,
            self.CURSOR_SIZE_RIGHT:      kThemeResizeRightCursor,
            self.CURSOR_SIZE_DOWN_RIGHT: kThemeArrowCursor,
            self.CURSOR_SIZE_DOWN:       kThemeResizeDownCursor,
            self.CURSOR_SIZE_DOWN_LEFT:  kThemeArrowCursor,
            self.CURSOR_SIZE_LEFT:       kThemeResizeLeftCursor,
            self.CURSOR_SIZE_UP_LEFT:    kThemeArrowCursor,
            self.CURSOR_SIZE_UP_DOWN:    kThemeResizeUpDownCursor,
            self.CURSOR_SIZE_LEFT_RIGHT: kThemeResizeLeftRightCursor,
            self.CURSOR_TEXT:            kThemeIBeamCursor,
            self.CURSOR_WAIT:            kThemeWatchCursor,
            self.CURSOR_WAIT_ARROW:      kThemeWatchCursor,
        }
        if name not in themes:
            raise CarbonException('Unknown cursor name "%s"' % name)
        return CarbonMouseCursor(themes[name])
Exemplo n.º 3
0
    def get_system_mouse_cursor(self, name):
        if name == self.CURSOR_DEFAULT:
            return DefaultMouseCursor()

        names = {
            self.CURSOR_CROSSHAIR: IDC_CROSS,
            self.CURSOR_HAND: IDC_HAND,
            self.CURSOR_HELP: IDC_HELP,
            self.CURSOR_NO: IDC_NO,
            self.CURSOR_SIZE: IDC_SIZEALL,
            self.CURSOR_SIZE_UP: IDC_SIZENS,
            self.CURSOR_SIZE_UP_RIGHT: IDC_SIZENESW,
            self.CURSOR_SIZE_RIGHT: IDC_SIZEWE,
            self.CURSOR_SIZE_DOWN_RIGHT: IDC_SIZENWSE,
            self.CURSOR_SIZE_DOWN: IDC_SIZENS,
            self.CURSOR_SIZE_DOWN_LEFT: IDC_SIZENESW,
            self.CURSOR_SIZE_LEFT: IDC_SIZEWE,
            self.CURSOR_SIZE_UP_LEFT: IDC_SIZENWSE,
            self.CURSOR_SIZE_UP_DOWN: IDC_SIZENS,
            self.CURSOR_SIZE_LEFT_RIGHT: IDC_SIZEWE,
            self.CURSOR_TEXT: IDC_IBEAM,
            self.CURSOR_WAIT: IDC_WAIT,
            self.CURSOR_WAIT_ARROW: IDC_APPSTARTING,
        }
        if name not in names:
            raise RuntimeError('Unknown cursor name "%s"' % name)
        cursor = _user32.LoadCursorW(None, MAKEINTRESOURCE(names[name]))
        return Win32MouseCursor(cursor)
Exemplo n.º 4
0
    def get_system_mouse_cursor(self, name):
        if name == self.CURSOR_DEFAULT:
            return DefaultMouseCursor()

        # NQR means default shape is not pretty... surely there is another
        # cursor font?
        cursor_shapes = {
            self.CURSOR_CROSSHAIR:       cursorfont.XC_crosshair,
            self.CURSOR_HAND:            cursorfont.XC_hand2,
            self.CURSOR_HELP:            cursorfont.XC_question_arrow,  # NQR
            self.CURSOR_NO:              cursorfont.XC_pirate,          # NQR
            self.CURSOR_SIZE:            cursorfont.XC_fleur,
            self.CURSOR_SIZE_UP:         cursorfont.XC_top_side,
            self.CURSOR_SIZE_UP_RIGHT:   cursorfont.XC_top_right_corner,
            self.CURSOR_SIZE_RIGHT:      cursorfont.XC_right_side,
            self.CURSOR_SIZE_DOWN_RIGHT: cursorfont.XC_bottom_right_corner,
            self.CURSOR_SIZE_DOWN:       cursorfont.XC_bottom_side,
            self.CURSOR_SIZE_DOWN_LEFT:  cursorfont.XC_bottom_left_corner,
            self.CURSOR_SIZE_LEFT:       cursorfont.XC_left_side,
            self.CURSOR_SIZE_UP_LEFT:    cursorfont.XC_top_left_corner,
            self.CURSOR_SIZE_UP_DOWN:    cursorfont.XC_sb_v_double_arrow,
            self.CURSOR_SIZE_LEFT_RIGHT: cursorfont.XC_sb_h_double_arrow,
            self.CURSOR_TEXT:            cursorfont.XC_xterm,
            self.CURSOR_WAIT:            cursorfont.XC_watch,
            self.CURSOR_WAIT_ARROW:      cursorfont.XC_watch,           # NQR
        }
        if name not in cursor_shapes:
            raise MouseCursorException('Unknown cursor name "%s"' % name)
        cursor = xlib.XCreateFontCursor(self._x_display, cursor_shapes[name])
        return XlibMouseCursor(cursor)