annotate engine/extensions/pychan/widgets/buttons.py @ 377:fe6fb0e0ed23

Adding freebsd8 build support. Thanks to varnie.
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Wed, 09 Dec 2009 17:01:52 +0000
parents dfd48d49c044
children
rev   line source
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
1 # -*- coding: utf-8 -*-
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
2
331
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
3 # ####################################################################
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
4 # Copyright (C) 2005-2009 by the FIFE team
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
5 # http://www.fifengine.de
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
6 # This file is part of FIFE.
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
7 #
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
8 # FIFE is free software; you can redistribute it and/or
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
9 # modify it under the terms of the GNU Lesser General Public
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
10 # License as published by the Free Software Foundation; either
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
11 # version 2.1 of the License, or (at your option) any later version.
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
12 #
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
13 # This library is distributed in the hope that it will be useful,
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
16 # Lesser General Public License for more details.
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
17 #
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
18 # You should have received a copy of the GNU Lesser General Public
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
19 # License along with this library; if not, write to the
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
20 # Free Software Foundation, Inc.,
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
21 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
22 # ####################################################################
48c99636453e Added Licence header to all pypthon modules in extension/
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 255
diff changeset
23
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
24 from common import *
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
25 from basictextwidget import BasicTextWidget
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
26 from pychan.properties import ImageProperty
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
27
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
28 class Button(BasicTextWidget):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
29 """
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
30 A basic push button.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
31 """
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
32 def __init__(self,**kwargs):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
33 self.real_widget = fife.Button("")
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
34 super(Button,self).__init__(**kwargs)
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
35
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
36 class ImageButton(BasicTextWidget):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
37 """
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
38 A basic push button with three different images for the up, down and hover state.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
39
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
40 B{Work in progress.}
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
41
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
42 New Attributes
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
43 ==============
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
44
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
45 - up_image: String: The source location of the Image for the B{unpressed} state.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
46 - down_image: String: The source location of the Image for the B{pressed} state.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
47 - hover_image: String: The source location of the Image for the B{unpressed hovered} state.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
48 """
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
49
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
50 ATTRIBUTES = BasicTextWidget.ATTRIBUTES + [Attr('up_image'),Attr('down_image'),PointAttr('offset'),Attr('hover_image')]
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
51
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
52 def __init__(self,up_image="",down_image="",hover_image="",offset=(0,0),**kwargs):
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
53 self.real_widget = kwargs.get("real_widget", fife.TwoButton())
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
54 super(ImageButton,self).__init__(**kwargs)
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
55
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
56 self.up_image = up_image
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
57 self.down_image = down_image
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
58 self.hover_image = hover_image
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
59 self.offset = offset
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
60
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
61 up_image = ImageProperty("UpImage")
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
62 down_image = ImageProperty("DownImage")
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
63 hover_image = ImageProperty("HoverImage")
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
64
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
65 def _setOffset(self, offset):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
66 self.real_widget.setDownOffset(offset[0], offset[1])
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
67 def _getOffset(self):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
68 return (self.real_widget.getDownXOffset(), self.real_widget.getDownYOffset())
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
69 offset = property(_getOffset,_setOffset)
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
70
255
51cc05d862f2 Merged editor_rewrite branch to trunk.
cheesesucker@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 248
diff changeset
71 def resizeToContent(self, recurse=True):
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
72 th, tw = 0, 0
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
73 if self.text:
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
74 th = self.real_font.getHeight()#+self.real_font.getSpacing()
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
75 tw = self.real_font.getWidth(text2gui(self.text))#+self.real_font.getSpacing()
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
76 self.height = max(
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
77 self._prop_upimage["image"].getHeight(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
78 self._prop_downimage["image"].getHeight(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
79 self._prop_hoverimage["image"].getHeight(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
80 th) + self.margins[1]*2
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
81 self.width = max(
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
82 self._prop_upimage["image"].getWidth(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
83 self._prop_downimage["image"].getWidth(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
84 self._prop_hoverimage["image"].getWidth(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
85 tw) + self.margins[0]*2
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
86
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
87 class ToggleButton(ImageButton):
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
88 """
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
89 A basic push button that can be toggled.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
90
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
91 Unfortunately a bit of code duplication from ImageButton.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
92
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
93 New Attributes
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
94 ==============
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
95
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
96 - group: String: The group the button belongs to. Only one button in each group will be toggled at one time.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
97 - toggled: Boolean: Whether the button is toggled or not.
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
98 """
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
99
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
100 ATTRIBUTES = BasicTextWidget.ATTRIBUTES + [
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
101 Attr('up_image'),Attr('down_image'),Attr('hover_image'),
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
102 PointAttr('offset'),Attr('group')
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
103 ]
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
104
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
105 def __init__(self,group="",**kwargs):
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
106
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
107 super(ToggleButton,self).__init__(real_widget = fife.ToggleButton(), **kwargs)
248
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
108 self.group = group
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
109
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
110 def _setGroup(self,group):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
111 self.real_widget.setGroup( group )
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
112
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
113 def _getGroup(self):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
114 return self.real_widget.getGroup()
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
115 group = property(_getGroup,_setGroup)
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
116
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
117 def _setToggled(self, toggled):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
118 self.real_widget.setToggled( toggled )
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
119
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
120 def _isToggled(self):
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
121 return self.real_widget.isToggled()
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
122 toggled = property(_isToggled, _setToggled)
a2d5e2721489 widgets.py split up.
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
123
255
51cc05d862f2 Merged editor_rewrite branch to trunk.
cheesesucker@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 248
diff changeset
124 def resizeToContent(self, recurse=True):
332
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
125 # NOTE: Figure out how the spacing comes into play
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
126 tw, th = 0, 0
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
127 if self.text:
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
128 th = self.real_font.getHeight() + self.real_widget.getSpacing()
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
129 tw = self.real_font.getWidth(text2gui(self.text)) + self.real_widget.getSpacing()
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
130 self.height = max(
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
131 self._prop_upimage["image"].getHeight(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
132 self._prop_downimage["image"].getHeight(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
133 self._prop_hoverimage["image"].getHeight(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
134 th) + self.margins[1]*2
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
135 self.width = max(
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
136 self._prop_upimage["image"].getWidth(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
137 self._prop_downimage["image"].getWidth(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
138 self._prop_hoverimage["image"].getWidth(),
457e626296ba Working on the XXX_image attributes to force consistent
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 331
diff changeset
139 tw) + self.margins[0]*2