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())
Exemple #9
0
def refreshDesktopSize():
    global __desktop_size
    width, height = _graphics.getDesktopSize()
    width = pixelsToPoints(width)
    height = pixelsToPoints(height)
    __desktop_size = Size(width, height)
Exemple #10
0
def getDesktopSize():
    width, height = _graphics.getDesktopSize()
    width = pixelsToPoints(width)
    height = pixelsToPoints(height)
    return (width, height)
Exemple #11
0
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)
Exemple #14
0
def refreshWorkareaSize():
    global __workarea_size
    width, height = _graphics.getWorkareaSize()
    width = pixelsToPoints(width)
    height = pixelsToPoints(height)
    __workarea_size = Size(width, height)
Exemple #15
0
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() )
Exemple #19
0
def getDesktopSize():
    width, height = _graphics.getDesktopSize()
    width = pixelsToPoints(width)
    height = pixelsToPoints(height)
    return (width, height)
 def getMaxHeight( self ):
     return pixelsToPoints( self._impl.getMaxHeight() )
Exemple #21
0
def getDesktopOffset():
    left, top = _graphics.getDesktopOffset()
    left = pixelsToPoints(left)
    top = pixelsToPoints(top)
    return (left, top)
Exemple #22
0
def refreshDesktopOffset():
    global __desktop_offset
    left, top = _graphics.getDesktopOffset()
    left = pixelsToPoints(left)
    top = pixelsToPoints(top)
    __desktop_offset = Position(left, top)