예제 #1
0
파일: Button.py 프로젝트: YivDev/illumina
    def __CreateUI(self):
        self.__dictImages = {
            'LEFT': {
                _ButtonState.NORMAL: ImageBox(),
                _ButtonState.HOVER: ImageBox(),
                _ButtonState.ACTIVE: ImageBox(),
                _ButtonState.DISABLED: ImageBox()
            },
            'CENTER': {
                _ButtonState.NORMAL: ExpandedImageBox(),
                _ButtonState.HOVER: ExpandedImageBox(),
                _ButtonState.ACTIVE: ExpandedImageBox(),
                _ButtonState.DISABLED: ExpandedImageBox()
            },
            'RIGHT': {
                _ButtonState.NORMAL: ImageBox(),
                _ButtonState.HOVER: ImageBox(),
                _ButtonState.ACTIVE: ImageBox(),
                _ButtonState.DISABLED: ImageBox()
            }
        }

        self.__txtText = None

        for position, imageDictByState in self.__dictImages.iteritems():
            for state, image in imageDictByState.iteritems():
                image.SetParent(self)
                image.AddFlag("not_pick")
                image.LoadImage(self.IMAGES[position][state])
                image.Hide()
예제 #2
0
파일: Board.py 프로젝트: YivDev/illumina
    def _CreateUI(self):
        self._dictImages = {
            'CORNER': {
                'LEFTTOP': ImageBox(),
                'RIGHTTOP': ImageBox(),
                'LEFTBOTTOM': ImageBox(),
                'RIGHTBOTTOM': ImageBox()
            },
            'BAR': {
                'LEFT': ExpandedImageBox(),
                'TOP': ExpandedImageBox(),
                'RIGHT': ExpandedImageBox(),
                'BOTTOM': ExpandedImageBox()
            },
            'FILL': ExpandedImageBox()
        }

        for imageDictKey in (['CORNER', 'BAR']):
            for position, image in self._dictImages[imageDictKey].iteritems():
                image.SetParent(self)
                image.AddFlag("not_pick")
                image.LoadImage("%s/%s%s_%s.tga" %
                                (self.BASE_PATH, self.FILE_NAME_POSTFIX,
                                 imageDictKey.lower(), position.lower()))
                image.Show()

        self._dictImages['FILL'].SetParent(self)
        self._dictImages['FILL'].AddFlag("not_pick")
        self._dictImages['FILL'].LoadImage(
            "%s/%sfill.tga" % (self.BASE_PATH, self.FILE_NAME_POSTFIX))
        self._dictImages['FILL'].Show()
예제 #3
0
파일: Slider.py 프로젝트: YivDev/illumina
	def __CreateUI(self):
		self.__dictImages = {
			'LEFT' : ImageBox(),
			'CENTER' : ExpandedImageBox(),
			'RIGHT' : ImageBox()
		}

		for position, image in self.__dictImages.iteritems():
			image.SetParent(self)
			image.AddFlag("not_pick")
			image.LoadImage("%s/bg_%s.tga" % (self.BASE_PATH, position.lower()))
			image.Show()
		
		self.__imgRange = ExpandedImageBox()
		self.__imgRange.SetParent(self)
		self.__imgRange.SetPosition(4, self.GetHeight() / 2 - 1)
		self.__imgRange.LoadImage("%s/bg_range.tga" % Slider.BASE_PATH)
		self.__imgRange.Hide()

		self.__btnSlider = SimpleDragButton()
		self.__btnSlider.SetParent(self)
		self.__btnSlider.AddFlag("movable")
		self.__btnSlider.AddFlag("restrict_y")
		self.__btnSlider.SetPosition(0, 0)
		self.__btnSlider.SetUpVisual("%s/btn_01_normal.tga" % Slider.BASE_PATH)
		self.__btnSlider.SetOverVisual("%s/btn_02_hover.tga" % Slider.BASE_PATH)
		self.__btnSlider.SetDownVisual("%s/btn_01_normal.tga" % Slider.BASE_PATH)
		self.__btnSlider.Show()

		self.__dictImages['LEFT'].SetPosition(0, 6)
		self.__dictImages['CENTER'].SetPosition(3, 6)

		self.__btnSlider.AddEventListener(SimpleDragButton.Events.ON_MOVE, self.__OnMove)
예제 #4
0
	def __init__(self, layer = "UI"):
		ExpandedImageBox.__init__(self, layer)

		self.__width = 0

		self.__CreateUI()
		self.SetWidth(HorizontalBar.WIDTH)
예제 #5
0
    def __CreateUI(self):
        self.__dictImages = {
            'LEFT': ImageBox(),
            'CENTER': ExpandedImageBox(),
            'RIGHT': ImageBox()
        }

        for position, image in self.__dictImages.iteritems():
            image.SetParent(self)
            image.AddFlag("not_pick")
            image.LoadImage("%s/bg_%s.tga" %
                            (self.BASE_PATH, position.lower()))
            image.Show()

        self.__imgRange = ExpandedImageBox()
        self.__imgRange.SetParent(self)
        self.__imgRange.AddFlag("not_pick")
        self.__imgRange.LoadImage("%s/bg_range.tga" % self.BASE_PATH)
        self.__imgRange.Show()

        self.__liRangeSlider = [SimpleDragButton() for obj in xrange(2)]
        for rangeSlider in self.__liRangeSlider:
            rangeSlider.SetParent(self)
            rangeSlider.AddFlag("movable")
            rangeSlider.AddFlag("restrict_y")
            rangeSlider.SetPosition(0, 0)
            rangeSlider.SetUpVisual("%s/btn_01_normal.tga" %
                                    RangeSlider.BASE_PATH)
            rangeSlider.SetOverVisual("%s/btn_02_hover.tga" %
                                      RangeSlider.BASE_PATH)
            rangeSlider.SetDownVisual("%s/btn_01_normal.tga" %
                                      RangeSlider.BASE_PATH)
            rangeSlider.Show()
            self.__curValues.append(0)
            self.__rangeSliderWidth = rangeSlider.GetWidth()

        self.__liRangeSlider[0].AddEventListener(
            SimpleDragButton.Events.ON_MOVE,
            lambda: self.__OnMove(self.__liRangeSlider[0], 0))
        self.__liRangeSlider[1].AddEventListener(
            SimpleDragButton.Events.ON_MOVE,
            lambda: self.__OnMove(self.__liRangeSlider[1], 1))

        self.__dictImages['LEFT'].SetPosition(0, 6)
        self.__dictImages['CENTER'].SetPosition(3, 6)
예제 #6
0
파일: Expander.py 프로젝트: YivDev/illumina
	def __CreateUI(self):
		self.__dictImages = {
			'LEFT' : {
				ExpanderState.EXPANDED : ImageBox(),
				ExpanderState.COLLAPSED : ImageBox()
			},
			'CENTER' : {
				ExpanderState.EXPANDED : ExpandedImageBox(),
				ExpanderState.COLLAPSED : ExpandedImageBox()
			},
			'RIGHT' : {
				ExpanderState.EXPANDED : ImageBox(),
				ExpanderState.COLLAPSED : ImageBox()
			}
		}

		self.__txtText = None

		for position, imageDictByState in self.__dictImages.iteritems():
			for state, image in imageDictByState.iteritems():
				image.SetParent(self)
				image.AddFlag("not_pick")
				image.LoadImage("%s/%s" % (Expander.BASE_PATH, Expander.IMAGES[position][state]))
				image.Hide()

		self.__imgArrowBackground = ImageBox()
		self.__imgArrowBackground.SetParent(self)
		self.__imgArrowBackground.AddFlag("not_pick")
		self.__imgArrowBackground.SetPosition(0, 0)
		self.__imgArrowBackground.LoadImage("%s/arrow_bg.tga" % Expander.BASE_PATH)
		self.__imgArrowBackground.Show()

		self.__imgArrow = ExpandedImageBox()
		self.__imgArrow.SetParent(self.__imgArrowBackground)
		self.__imgArrow.AddFlag("not_pick")
		self.__imgArrow.SetPosition(0, 0)
		self.__imgArrow.LoadImage("%s/arrow.tga" % Expander.BASE_PATH)
		self.__imgArrow.SetHorizontalAlign(wndMgr.HORIZONTAL_ALIGN_CENTER)
		self.__imgArrow.SetVerticalAlign(wndMgr.VERTICAL_ALIGN_CENTER)
		self.__imgArrow.Show()
예제 #7
0
	def __CreateUI(self):
		self.__dictImages = {
			'LEFT' : ImageBox(),
			'CENTER' : ExpandedImageBox(),
			'RIGHT' : ImageBox()
		}

		for position, image in self.__dictImages.iteritems():
			image.SetParent(self)
			image.AddFlag("not_pick")
			image.LoadImage("%s/%s_%s.tga" % (self.BASE_PATH, self.FILE_NAME_PREFIX, position.lower()))
			image.Show()

		self.__dictImages['CENTER'].SetPosition(self.__dictImages['LEFT'].GetWidth(), 0)

		self.__txtInput = None
		self.__textAlign = _BaseInput.TextAlign.LEFT
예제 #8
0
파일: TitleBar.py 프로젝트: YivDev/illumina
    def __CreateUI(self):
        self.__dictImages = {
            'LEFT': ImageBox(),
            'CENTER': ExpandedImageBox(),
            'RIGHT': ImageBox()
        }

        self.__imgCloseButtonDecoration = None
        self.__btnClose = None
        self.__txtTitle = None

        for image in self.__dictImages.itervalues():
            image.SetParent(self)
            image.AddFlag("not_pick")
            image.Show()

        self.__dictImages['LEFT'].LoadImage("%s/left.tga" % TitleBar.BASE_PATH)
        self.__dictImages['CENTER'].LoadImage("%s/center.tga" %
                                              TitleBar.BASE_PATH)
        self.__dictImages['RIGHT'].LoadImage("%s/right.tga" %
                                             TitleBar.BASE_PATH)
예제 #9
0
    def __CreateUI(self):
        self.__dictImages = {
            'LEFT': ImageBox(),
            'CENTER': ExpandedImageBox(),
            'RIGHT': ImageBox()
        }

        for image in self.__dictImages.itervalues():
            image.SetParent(self)
            image.Show()

        self.__dictImages['LEFT'].LoadImage("%s/horizontal_left.tga" %
                                            HorizontalSeparator.BASE_PATH)
        self.__dictImages['CENTER'].LoadImage("%s/horizontal_center.tga" %
                                              HorizontalSeparator.BASE_PATH)
        self.__dictImages['RIGHT'].LoadImage("%s/horizontal_right.tga" %
                                             HorizontalSeparator.BASE_PATH)

        self.__dictImages['LEFT'].SetPosition(0, 0)
        self.__dictImages['CENTER'].SetPosition(
            HorizontalSeparator.WIDTHS['LEFT'], 0)
예제 #10
0
    def __CreateUI(self):
        self.__dictImages = {
            'TOP': ImageBox(),
            'CENTER': ExpandedImageBox(),
            'BOTTOM': ImageBox()
        }

        for image in self.__dictImages.itervalues():
            image.SetParent(self)
            image.Show()

        self.__dictImages['TOP'].LoadImage("%s/vertical_top.tga" %
                                           VerticalSeparator.BASE_PATH)
        self.__dictImages['CENTER'].LoadImage("%s/vertical_center.tga" %
                                              VerticalSeparator.BASE_PATH)
        self.__dictImages['BOTTOM'].LoadImage("%s/vertical_bottom.tga" %
                                              VerticalSeparator.BASE_PATH)

        self.__dictImages['TOP'].SetPosition(0, 0)
        self.__dictImages['CENTER'].SetPosition(
            0, VerticalSeparator.HEIGHTS['TOP'])
예제 #11
0
class RangeSlider(Window):
    BASE_PATH = "%s/controls/common/range/" % illumina.BASE_PATH

    HEIGHT = 17
    MIN_WIDTH = 17

    def __init__(self, layer="UI"):
        Window.__init__(self, layer)

        self.__maxValue = 1
        self.__curValues = []
        self.__rangeSliderWidth = 0
        self.__doMove = False

        self.__CreateUI()

    def __del__(self):
        Window.__del__(self)

    def __CreateUI(self):
        self.__dictImages = {
            'LEFT': ImageBox(),
            'CENTER': ExpandedImageBox(),
            'RIGHT': ImageBox()
        }

        for position, image in self.__dictImages.iteritems():
            image.SetParent(self)
            image.AddFlag("not_pick")
            image.LoadImage("%s/bg_%s.tga" %
                            (self.BASE_PATH, position.lower()))
            image.Show()

        self.__imgRange = ExpandedImageBox()
        self.__imgRange.SetParent(self)
        self.__imgRange.AddFlag("not_pick")
        self.__imgRange.LoadImage("%s/bg_range.tga" % self.BASE_PATH)
        self.__imgRange.Show()

        self.__liRangeSlider = [SimpleDragButton() for obj in xrange(2)]
        for rangeSlider in self.__liRangeSlider:
            rangeSlider.SetParent(self)
            rangeSlider.AddFlag("movable")
            rangeSlider.AddFlag("restrict_y")
            rangeSlider.SetPosition(0, 0)
            rangeSlider.SetUpVisual("%s/btn_01_normal.tga" %
                                    RangeSlider.BASE_PATH)
            rangeSlider.SetOverVisual("%s/btn_02_hover.tga" %
                                      RangeSlider.BASE_PATH)
            rangeSlider.SetDownVisual("%s/btn_01_normal.tga" %
                                      RangeSlider.BASE_PATH)
            rangeSlider.Show()
            self.__curValues.append(0)
            self.__rangeSliderWidth = rangeSlider.GetWidth()

        self.__liRangeSlider[0].AddEventListener(
            SimpleDragButton.Events.ON_MOVE,
            lambda: self.__OnMove(self.__liRangeSlider[0], 0))
        self.__liRangeSlider[1].AddEventListener(
            SimpleDragButton.Events.ON_MOVE,
            lambda: self.__OnMove(self.__liRangeSlider[1], 1))

        self.__dictImages['LEFT'].SetPosition(0, 6)
        self.__dictImages['CENTER'].SetPosition(3, 6)

    def __GetStep(self):
        return float(self.GetWidth() - self.__rangeSliderWidth) / float(
            self.__maxValue)

    def __OnMove(self, rangeSlider, rangeSliderIndex):
        self.__doMove = not self.__doMove
        if not self.__doMove:
            return

        step = self.__GetStep()

        curValue = int(round(rangeSlider.GetLocalX() / step))

        rangeSlider.SetPosition(curValue * step, 0)

        self.__curValues[rangeSliderIndex] = curValue

        self.UpdateRange()

        import dbg
        dbg.TraceError("%d (%d, %d)" %
                       (self.GetValue(), self.GetValue(0), self.GetValue(1)))

    def GetValue(self, index=-1):
        if index < 0 or index >= len(self.__curValues):
            return max(self.__curValues) - min(self.__curValues)
        else:
            return self.__curValues[index]

    def SetValue(self, index, value):
        if index < 0 or index >= len(self.__curValues) or index >= len(
                self.__liRangeSlider):
            return

        self.__curValues[index] = value
        self.__liRangeSlider[index].SetPosition(self.__GetStep() * value, 0)
        self.UpdateRange()

    def UpdateRange(self):
        startX = min(self.__liRangeSlider[0].GetLocalX(),
                     self.__liRangeSlider[1].GetLocalX())
        endX = max(self.__liRangeSlider[0].GetLocalX(),
                   self.__liRangeSlider[1].GetLocalX())

        self.__imgRange.SetPosition(
            startX + self.__liRangeSlider[0].GetWidth() / 2,
            self.GetHeight() / 2 - 1)
        self.__imgRange.SetScale(float(endX - startX), 1.0)
        self.__imgRange.SetTop()

    def SetWidth(self, width):
        width = max(RangeSlider.MIN_WIDTH, width)

        Window.SetSize(self, width, RangeSlider.HEIGHT)

        self.__dictImages['CENTER'].SetScale(
            float(width - (self.__dictImages['LEFT'].GetWidth() +
                           self.__dictImages['RIGHT'].GetWidth())), 1.0)
        self.__dictImages['RIGHT'].SetPosition(
            width - self.__dictImages['RIGHT'].GetWidth(), 6)

        self.__liRangeSlider[0].SetPosition(0, 0)
        self.__liRangeSlider[1].SetPosition(
            width - self.__liRangeSlider[1].GetWidth(), 0)
        for rangeSlider in self.__liRangeSlider:
            rangeSlider.SetRestrictMovementArea(0, 0, self.GetWidth(), 0)

        self.UpdateRange()

    def SetMaxValue(self, maxValue):
        self.__maxValue = maxValue  #min(max(1, maxValue), self.GetWidth() - self.__btnSlider.GetWidth())
        #self.__OnMove()

    ##################################################
    ## EVENTS

    class Events(Window.Events):
        pass
예제 #12
0
파일: Expander.py 프로젝트: YivDev/illumina
class Expander(Window):
	BASE_PATH = "%s/controls/common/expander/" % illumina.BASE_PATH

	IMAGES = {
		'LEFT' : {
			ExpanderState.COLLAPSED : "left_01_normal.tga",
			ExpanderState.EXPANDED : "left_02_hover.tga"
		},
		'CENTER' : {
			ExpanderState.COLLAPSED : "center_01_normal.tga",
			ExpanderState.EXPANDED : "center_02_hover.tga"
		},
		'RIGHT' : {
			ExpanderState.COLLAPSED : "right_01_normal.tga",
			ExpanderState.EXPANDED : "right_02_hover.tga"
		}
	}

	MIN_WIDTH = 30
	HEIGHT = 30

	def __init__(self, layer = "UI"):
		Window.__init__(self, layer)

		self.__state = ExpanderState.COLLAPSED
		self.__arrowRotation = 0.0
		
		self.__CreateUI()
		self.__SetEventListeners()

		self.SetWidth(0)
		self.SetState(ExpanderState.COLLAPSED)

	def __del__(self):
		Window.__del__(self)

	def __CreateUI(self):
		self.__dictImages = {
			'LEFT' : {
				ExpanderState.EXPANDED : ImageBox(),
				ExpanderState.COLLAPSED : ImageBox()
			},
			'CENTER' : {
				ExpanderState.EXPANDED : ExpandedImageBox(),
				ExpanderState.COLLAPSED : ExpandedImageBox()
			},
			'RIGHT' : {
				ExpanderState.EXPANDED : ImageBox(),
				ExpanderState.COLLAPSED : ImageBox()
			}
		}

		self.__txtText = None

		for position, imageDictByState in self.__dictImages.iteritems():
			for state, image in imageDictByState.iteritems():
				image.SetParent(self)
				image.AddFlag("not_pick")
				image.LoadImage("%s/%s" % (Expander.BASE_PATH, Expander.IMAGES[position][state]))
				image.Hide()

		self.__imgArrowBackground = ImageBox()
		self.__imgArrowBackground.SetParent(self)
		self.__imgArrowBackground.AddFlag("not_pick")
		self.__imgArrowBackground.SetPosition(0, 0)
		self.__imgArrowBackground.LoadImage("%s/arrow_bg.tga" % Expander.BASE_PATH)
		self.__imgArrowBackground.Show()

		self.__imgArrow = ExpandedImageBox()
		self.__imgArrow.SetParent(self.__imgArrowBackground)
		self.__imgArrow.AddFlag("not_pick")
		self.__imgArrow.SetPosition(0, 0)
		self.__imgArrow.LoadImage("%s/arrow.tga" % Expander.BASE_PATH)
		self.__imgArrow.SetHorizontalAlign(wndMgr.HORIZONTAL_ALIGN_CENTER)
		self.__imgArrow.SetVerticalAlign(wndMgr.VERTICAL_ALIGN_CENTER)
		self.__imgArrow.Show()

	
	def __SetEventListeners(self):
		self.AddEventListener(Expander.Events.ON_MOUSE_OVER_IN, lambda : self.__RefreshButton(ExpanderState.EXPANDED))
		self.AddEventListener(Expander.Events.ON_MOUSE_OVER_OUT, lambda : self.__RefreshButton(ExpanderState.COLLAPSED))
		self.AddEventListener(Expander.Events.ON_MOUSE_LEFT_BUTTON_UP, lambda : self.SetState(ExpanderState.EXPANDED if self.GetState() == ExpanderState.COLLAPSED else ExpanderState.COLLAPSED))

	def __RefreshButton(self, expandingState):
		for position, imageDictByState in self.__dictImages.iteritems():
			for state, image in imageDictByState.iteritems():
				if state != expandingState:
					image.Hide()
				else:
					image.Show()

		if self.GetState() == ExpanderState.COLLAPSED:
			self.__imgArrow.SetRotation(self.__arrowRotation)
		else:
			self.__imgArrow.SetRotation(180.0 + self.__arrowRotation)
	
	def GetState(self):
		return self.__state

	def SetState(self, state):
		self.__state = state
		self.__RefreshButton(self.__state)

	def SetWidth(self, width):
		width = max(Expander.MIN_WIDTH, width)

		self.SetSize(width, Expander.HEIGHT)

		for image in self.__dictImages['CENTER'].itervalues():
			image.SetPosition(5, 0)
			image.SetScale(float(width - 10), 1.0)

		for image in self.__dictImages['RIGHT'].itervalues():
			image.SetPosition(width - 5, 0)

		self.UpdateText()

	def SetArrowRotation(self, rotation):
		self.__arrowRotation = rotation
		self.__imgArrow.SetRotation(rotation)
	
	## Text
	def SetText(self, text):
		if not self.__txtText:
			self.__txtText = TextLine()
			self.__txtText.SetParent(self)
			self.__txtText.AddFlag("not_pick")
			self.__txtText.SetVerticalAlignCenter()
			self.__txtText.SetPackedFontColor(0xFFE6D0A2)
			self.__txtText.Show()

			self.UpdateText()

		self.__txtText.SetText(text)

	def GetText(self):
		if not self.__txtText:
			return ""
		
		return self.__txtText.GetText()

	def UpdateText(self):
		if not self.__txtText:
			return

		self.__txtText.SetPosition(35, self.GetHeight() / 2 - 2)

	##################################################
	## EVENTS

	class Events(Window.Events):
		ON_EXPAND = EventEnum()
		ON_COLLAPSE = EventEnum()
예제 #13
0
파일: Slider.py 프로젝트: YivDev/illumina
class Slider(Window):
	BASE_PATH = "%s/controls/common/slider/" % illumina.BASE_PATH

	HEIGHT = 17
	MIN_WIDTH = 17

	def __init__(self, layer = "UI"):
		Window.__init__(self, layer)

		self.__maxValue = 1
		self.__curValue = 0
		self.__doMove = False

		self.__CreateUI()

	def __del__(self):
		Window.__del__(self)

	def __CreateUI(self):
		self.__dictImages = {
			'LEFT' : ImageBox(),
			'CENTER' : ExpandedImageBox(),
			'RIGHT' : ImageBox()
		}

		for position, image in self.__dictImages.iteritems():
			image.SetParent(self)
			image.AddFlag("not_pick")
			image.LoadImage("%s/bg_%s.tga" % (self.BASE_PATH, position.lower()))
			image.Show()
		
		self.__imgRange = ExpandedImageBox()
		self.__imgRange.SetParent(self)
		self.__imgRange.SetPosition(4, self.GetHeight() / 2 - 1)
		self.__imgRange.LoadImage("%s/bg_range.tga" % Slider.BASE_PATH)
		self.__imgRange.Hide()

		self.__btnSlider = SimpleDragButton()
		self.__btnSlider.SetParent(self)
		self.__btnSlider.AddFlag("movable")
		self.__btnSlider.AddFlag("restrict_y")
		self.__btnSlider.SetPosition(0, 0)
		self.__btnSlider.SetUpVisual("%s/btn_01_normal.tga" % Slider.BASE_PATH)
		self.__btnSlider.SetOverVisual("%s/btn_02_hover.tga" % Slider.BASE_PATH)
		self.__btnSlider.SetDownVisual("%s/btn_01_normal.tga" % Slider.BASE_PATH)
		self.__btnSlider.Show()

		self.__dictImages['LEFT'].SetPosition(0, 6)
		self.__dictImages['CENTER'].SetPosition(3, 6)

		self.__btnSlider.AddEventListener(SimpleDragButton.Events.ON_MOVE, self.__OnMove)

	def __OnMove(self):
		self.__doMove = not self.__doMove
		if not self.__doMove:
			return

		oldValue = self.__curValue

		slideWidth = self.GetWidth() - self.__btnSlider.GetWidth()
		step = float(slideWidth) / float(self.__maxValue)

		self.__curValue = int(round(self.__btnSlider.GetLocalX() / step))
		
		self.__btnSlider.SetPosition(self.__curValue * step, 0)
		self.UpdateRangeEffect()
			
		if oldValue != self.__curValue:
			self.CallEventListener(Slider.Events.ON_SLIDE, self.__curValue)

	def SetWidth(self, width):
		width = max(Slider.MIN_WIDTH, width)

		Window.SetSize(self, width, Slider.HEIGHT)

		self.__dictImages['CENTER'].SetScale(float(width - (self.__dictImages['LEFT'].GetWidth() + self.__dictImages['RIGHT'].GetWidth())), 1.0)
		self.__dictImages['RIGHT'].SetPosition(width - self.__dictImages['RIGHT'].GetWidth(), 6)

		self.__btnSlider.SetRestrictMovementArea(0, 0, self.GetWidth(), 0)
		self.__imgRange.SetPosition(2, self.GetHeight() / 2 - 1)

	def SetMaxValue(self, maxValue):
		self.__maxValue = min(max(1, maxValue), self.GetWidth() - self.__btnSlider.GetWidth())
		self.__OnMove()

	## Range Effect
	def GetRangeEffect(self):
		return self.__imgRange

	def UpdateRangeEffect(self):
		self.__imgRange.SetScale(float(self.__btnSlider.GetLocalX() + self.__btnSlider.GetWidth() / 2 - self.__imgRange.GetLocalX()), 1.0)

	##################################################
	## EVENTS

	class Events(Window.Events):
		ON_SLIDE = EventEnum()

	def __OnSlide(self, value):
		self.CallEventListener(Slider.Events.ON_SLIDE, value)
예제 #14
0
	def __del__(self):
		ExpandedImageBox.__del__(self)