Esempio n. 1
0
 def __set__(self, obj, color):
     if isinstance(color, tuple):
         color = fifechan.Color(*color)
     else:
         # Force a copy to get value semantics
         color = fifechan.Color(color.r, color.g, color.b, color.a)
     self._getSetter(obj)(color)
Esempio n. 2
0
 def _setColor(self, color):
     if isinstance(color, tuple):
         self._color = fifechan.Color(*color)
     else:
         # Force a copy to get value semantics
         self._color = fifechan.Color(color.r, color.g, color.b, color.a)
     if self.pie is not None:
         self.pie().update()
Esempio n. 3
0
    def removeSegment(self, start, stop, color):
        tmp_color = color
        if isinstance(color, tuple):
            tmp_color = fifechan.Color(*color)

        for s in self._segments:
            if s.start_angle == start and s.stop_angle == stop and s.color == tmp_color:
                self._segments.remove(s)
                self.update()
                break
Esempio n. 4
0
    def getToolbarAreaAt(self, x, y, mark=False):
        if self.dockareamarker is None:
            self.dockareamarker = pychan.widgets.Container()
            self.dockareamarker.base_color = fifechan.Color(200, 0, 0, 100)
        if mark is False:
            self.dockareamarker.hide()

        # Mouse wasn't over any dockwidgets. See if it is near any edge of the screen instead
        if x <= self._toolbarareas["left"].getAbsolutePos()[0] + 10:
            if mark:
                self.dockareamarker.position = self._toolbarareas[
                    "left"].getAbsolutePos()
                self.dockareamarker.size = (10,
                                            self._toolbarareas["left"].height)
                self.dockareamarker.show()
            return DOCKAREA["left"]

        elif x >= self._toolbarareas["right"].getAbsolutePos()[0] - 10:
            if mark:
                self.dockareamarker.position = self._toolbarareas[
                    "right"].getAbsolutePos()
                self.dockareamarker.size = (10,
                                            self._toolbarareas["right"].height)
                self.dockareamarker.x -= 10
                self.dockareamarker.show()
            return DOCKAREA["right"]

        elif y <= self._toolbarareas["top"].getAbsolutePos()[1] + 10:
            if mark:
                self.dockareamarker.position = self._toolbarareas[
                    "top"].getAbsolutePos()
                self.dockareamarker.size = (self._toolbarareas["top"].width,
                                            10)
                self.dockareamarker.show()
            return DOCKAREA["top"]

        elif y >= self._toolbarareas["bottom"].getAbsolutePos()[1] - 10:
            if mark:
                self.dockareamarker.position = self._toolbarareas[
                    "bottom"].getAbsolutePos()
                self.dockareamarker.y -= 10
                self.dockareamarker.size = (self._toolbarareas["bottom"].width,
                                            10)
                self.dockareamarker.show()
            return DOCKAREA["bottom"]

        if mark is True:
            self.dockareamarker.hide()
        return None
Esempio n. 5
0
from fife import fife, fifechan
from fife.extensions import pychan
from fife.extensions.pychan.tools import callbackWithArguments as cbwa
from fife.extensions.fife_timer import Timer

import scripts.test as test
""" 
For use with the styling example 
"""
STYLES = {
    'new default': {
        'default': {
            'border_size': 2,
            'margins': (0, 0),
            'base_color': fifechan.Color(128, 128, 128),
            'foreground_color': fifechan.Color(255, 255, 255),
            'background_color': fifechan.Color(55, 55, 55),
            'font': 'samanata_small'
        },
        'Button': {
            'border_size': 2,
            'margins': (20, 5),
            'min_size': (100, 20),
            'font': 'samanata_small'
        },
        'CheckBox': {
            'border_size': 0,
            'background_color': fifechan.Color(0, 0, 0, 0),
        },
        'RadioButton': {
Esempio n. 6
0
 def __get__(self, obj, objtype=None):
     color = self._getGetter(obj)()
     return fifechan.Color(color.r, color.g, color.b, color.a)
Esempio n. 7
0
    def getDockAreaAt(self, x, y, mark=False):
        """ returns the dock area at the given cursor coordinates (if possible)
		
			also used for highlighting the dock area (this method is used
			on drag mouse events of a B{Panel} widget)
		
		@type	x:	int
		@param	x:	cursor x coordinates
		@type	y:	int
		@param	y:	cursor y coordinates
		@type	mark:	bool
		@param	mark:	flag to wether show the dock area marker (red area indicator) or not
		@rtype	side:	str
		@return	side:	dockarea id (e.g. 'right', 'left' ...)
		"""
        side = None

        if self.dockareamarker is None:
            self.dockareamarker = pychan.widgets.Container()
            self.dockareamarker.base_color = fifechan.Color(200, 0, 0, 100)
        if mark is False:
            self.dockareamarker.hide()

        for key in DOCKAREA:
            side = DOCKAREA[key]

            dockarea = self._dockareas[side]
            #absX, absY = dockarea.getAbsolutePos()
            #if absX <= x and absY <= y \
            #		and absX+dockarea.width >= x and absX+dockarea.height >= y:
            #	return side
            placeIn, placeBefore, placeAfter = dockarea.getDockLocation(x, y)
            if placeIn or placeBefore or placeAfter:
                if mark is True:
                    if placeIn:
                        self.dockareamarker.position = placeIn.getAbsolutePos()
                        self.dockareamarker.size = placeIn.size
                    elif placeBefore:
                        self.dockareamarker.position = placeBefore.getAbsolutePos(
                        )
                        if side == "left" or side == "right":
                            self.dockareamarker.size = (placeBefore.width, 10)
                        else:
                            self.dockareamarker.size = (10, placeBefore.height)
                    elif placeAfter:
                        self.dockareamarker.position = placeAfter.getAbsolutePos(
                        )

                        if side == "left" or side == "right":
                            self.dockareamarker.size = (placeAfter.width, 10)
                            self.dockareamarker.y += placeAfter.height - 10
                        else:
                            self.dockareamarker.size = (10, placeAfter.height)
                            self.dockareamarker.x += placeAfter.width - 10

                    self.dockareamarker.show()
                return side

        # reset side, next attempt to find a new home
        side = None

        # Mouse wasn't over any dockwidgets. See if it is near any edge of the screen instead
        if x <= self._dockareas["left"].getAbsolutePos()[0] + 10:
            if mark:
                self.dockareamarker.position = self._dockareas[
                    "left"].getAbsolutePos()
                self.dockareamarker.size = (10, self._dockareas["left"].height)
                self.dockareamarker.show()
            side = DOCKAREA["left"]
            return side

        elif x >= self._dockareas["right"].getAbsolutePos()[0] - 10:
            if mark:
                self.dockareamarker.position = self._dockareas[
                    "right"].getAbsolutePos()
                self.dockareamarker.size = (10,
                                            self._dockareas["right"].height)
                self.dockareamarker.x -= 10
                self.dockareamarker.show()
            side = DOCKAREA["right"]
            return side

        elif y <= self._dockareas["top"].getAbsolutePos()[1] + 10:
            if mark:
                self.dockareamarker.position = self._dockareas[
                    "top"].getAbsolutePos()
                self.dockareamarker.size = (self._dockareas["top"].width, 10)
                self.dockareamarker.show()
            side = DOCKAREA["top"]
            return side

        elif y >= self._dockareas["bottom"].getAbsolutePos()[1] - 10:
            if mark:
                self.dockareamarker.position = self._dockareas[
                    "bottom"].getAbsolutePos()
                self.dockareamarker.y -= 10
                self.dockareamarker.size = (self._dockareas["bottom"].width,
                                            10)
                self.dockareamarker.show()
            side = DOCKAREA["bottom"]
            return side

        if mark is True:
            self.dockareamarker.hide()

        return side
Esempio n. 8
0
from scripts.gui.action import Action
from scripts.gui.panel import Panel

from scripts.events import postMapShown
from scripts.events import onObjectSelected
from scripts.events import onObjectsImported

# settings for gui
_POSITION = (30, 200)
_SIZE = (200, 500)
_MAX_PREVIEW_SIZE = (120, 120)
_MODE_TEXT = 0
_MODE_IMAGE = 1
_MODES = [_MODE_TEXT, _MODE_IMAGE]

_COLOR_STEP = fifechan.Color(10, 10, 10)
_MAX_PREVIEW_WRAPPER_SIZE = (140, 140)

_DEFAULT_BASE_COLOR = internal.DEFAULT_STYLE['default']['base_color']
_DEFAULT_SELECTION_COLOR = internal.DEFAULT_STYLE['default']['selection_color']

# plugin default settings
_PLUGIN_SETTINGS = {
    'module': "ObjectSelectorSettings",
    'items': {
        'dockarea': 'right',
        'docked': True,
    },
}

Esempio n. 9
0
 def _getColor(self):
     return fifechan.Color(self._color.r, self._color.g, self._color.b,
                           self._color.a)