def getWorkareaOffset(): """ Return primary monitor workarea offset in points. Workarea is the desktop area not covered with taskbar and appbars. """ left, top = _graphics.getWorkareaOffset() left = pixelsToPoints(left) top = pixelsToPoints (top) return (left, top)
def getWorkareaSize(): """ Return primary monitor workarea size in points. Workarea is the desktop area not covered with taskbar and appbars. """ width, height = _graphics.getWorkareaSize() width = pixelsToPoints(width) height = pixelsToPoints(height) return (width, height)
def __onMouseMove(self): """ Checks whether x,y is inside any of the mini-windows. """ if not self.__mouseChanged: return self.__mouseChanged = False ptx, pty = [pixelsToPoints(c) for c in self.__mousePos] oldIndex = self.__mouseoverIndex newIndex = None for index in range(len(self.__visibleMessages)): miniWind = self.__visibleMessages[index] size = miniWind.getSize() pos = miniWind.getPos() if (ptx > pos[0] and ptx < (pos[0] + size[0])) and \ (pty > pos[1] and pty < (pos[1] + size[1])): # The mouse is inside this miniWindow if index == oldIndex: # Don't change the appearance; it's already # 'moused-over'. newIndex = oldIndex break else: newIndex = index break if oldIndex is not None and newIndex != oldIndex: # The mouse has changed. miniWind = self.__visibleMessages[oldIndex] miniWind._wind.setOpacity(255) miniWind._wind.update() self.__hideHelpMessage() if newIndex is not None and newIndex != oldIndex: miniWind = self.__visibleMessages[newIndex] xPos, yPos = miniWind.getPos() if newIndex == len(self.__visibleMessages): rounded = True else: rounded = False self.__showHelpMessage(xPos, yPos, rounded) miniWind._wind.setOpacity(0) miniWind._wind.update() self.__mouseoverIndex = newIndex
def __onMouseMove( self ): """ Checks whether x,y is inside any of the mini-windows. """ if not self.__mouseChanged: return self.__mouseChanged = False ptx, pty = [pixelsToPoints(c) for c in self.__mousePos] oldIndex = self.__mouseoverIndex newIndex = None for index in range( len(self.__visibleMessages) ): miniWind = self.__visibleMessages[index] size = miniWind.getSize() pos = miniWind.getPos() if ( ptx > pos[0] and ptx < (pos[0] + size[0]) ) \ and ( pty > pos[1] and pty < (pos[1] + size[1]) ): # The mouse is inside this miniWindow if index == oldIndex: # Don't change the appearance; it's already # 'moused-over'. newIndex = oldIndex break else: newIndex = index break if oldIndex != None and newIndex != oldIndex: # The mouse has changed. miniWind = self.__visibleMessages[oldIndex] miniWind._wind.setOpacity( 255 ) miniWind._wind.update() self.__hideHelpMessage() if newIndex != None and newIndex != oldIndex: miniWind = self.__visibleMessages[newIndex] xPos, yPos = miniWind.getPos() if newIndex == len( self.__visibleMessages ): rounded = True else: rounded = False self.__showHelpMessage( xPos, yPos, rounded ) miniWind._wind.setOpacity( 0 ) miniWind._wind.update() self.__mouseoverIndex = newIndex
from enso import config from enso import graphics from enso.graphics.measurement import pointsToPixels, pixelsToPoints from enso.graphics import rounded_rect from enso.messages.windows import MessageWindow, computeWidth from enso.messages.primarywindow import layoutMessageXml from enso.messages import Message # ---------------------------------------------------------------------------- # Constants # ---------------------------------------------------------------------------- MINI_WIND_SIZE = 256, 70 MINI_WIND_SIZE = [ pixelsToPoints( pixSize ) for pixSize in MINI_WIND_SIZE ] MINI_MARGIN = pixelsToPoints( 10 ) MINI_SCALE = [ 10, 12, 14 ] MINI_BG_COLOR = [ .12, .20, .00, .60 ] # Last one is opacity (in %) # ---------------------------------------------------------------------------- # Mini Message Queue # ---------------------------------------------------------------------------- class MiniMessageQueue: """ A class for controlling the behavior and animatior of mini messages. LONGTERM TODO: More documentation for this class and its methods. """
def getY(self): return pixelsToPoints(self._impl.getY())
def getMaxHeight(self): return pixelsToPoints(self._impl.getMaxHeight())
def getMaxWidth(self): return pixelsToPoints(self._impl.getMaxWidth())
def refreshDesktopSize(): global __desktop_size width, height = _graphics.getDesktopSize() width = pixelsToPoints(width) height = pixelsToPoints(height) __desktop_size = Size(width, height)
def getDesktopSize(): width, height = _graphics.getDesktopSize() width = pixelsToPoints(width) height = pixelsToPoints(height) return (width, height)
def getDesktopOffset(): left, top = _graphics.getDesktopOffset() left = pixelsToPoints(left) top = pixelsToPoints (top) return (left, top)
def getDesktopOffset(): """ Return primary monitor desktop offset in points. """ left, top = _graphics.getDesktopOffset() left = pixelsToPoints(left) top = pixelsToPoints (top) return (left, top)
def getDesktopSize(): """ Return primary monitor desktop size in points. """ width, height = _graphics.getDesktopSize() width = pixelsToPoints(width) height = pixelsToPoints(height) return (width, height)
def refreshWorkareaSize(): global __workarea_size width, height = _graphics.getWorkareaSize() width = pixelsToPoints(width) height = pixelsToPoints(height) __workarea_size = Size(width, height)
def refreshWorkareaOffset(): global __workarea_offset left, top = _graphics.getWorkareaOffset() left = pixelsToPoints(left) top = pixelsToPoints(top) __workarea_offset = Position(left, top)
def getY( self ): return pixelsToPoints( self._impl.getY() )
import logging from enso import config, graphics from enso.graphics import rounded_rect from enso.graphics.measurement import pixelsToPoints, pointsToPixels from enso.messages import Message from enso.messages.primarywindow import layoutMessageXml from enso.messages.windows import MessageWindow, computeWidth # ---------------------------------------------------------------------------- # Constants # ---------------------------------------------------------------------------- MINI_WIND_SIZE = 256, 70 MINI_WIND_SIZE = [pixelsToPoints(pixSize) for pixSize in MINI_WIND_SIZE] MINI_MARGIN = pixelsToPoints(10) MINI_SCALE = [10, 12, 14] MINI_BG_COLOR = [.12, .20, .00, .60] # Last one is opacity (in %) # ---------------------------------------------------------------------------- # Mini Message Queue # ---------------------------------------------------------------------------- class MiniMessageQueue(object): """ A class for controlling the behavior and animatior of mini messages. LONGTERM TODO: More documentation for this class and its methods. """
def getMaxWidth( self ): return pixelsToPoints( self._impl.getMaxWidth() )
def getMaxHeight( self ): return pixelsToPoints( self._impl.getMaxHeight() )
def getDesktopOffset(): left, top = _graphics.getDesktopOffset() left = pixelsToPoints(left) top = pixelsToPoints(top) return (left, top)
def refreshDesktopOffset(): global __desktop_offset left, top = _graphics.getDesktopOffset() left = pixelsToPoints(left) top = pixelsToPoints(top) __desktop_offset = Position(left, top)