automatically resize ChoiceBox
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 2 Mar 2006 00:34:25 +0000 (00:34 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Thu, 2 Mar 2006 00:34:25 +0000 (00:34 +0000)
data/skin.xml

index c309aeea4c8ee6e8ec9a280c9225ad173604c35b..4367b4135b82f513721a2fa5064311c3b1c1e17d 100644 (file)
                <screen name="ChoiceBox" position="100,100" size="550,400" title="Input" >
                        <widget name="text" position="0,0" size="550,25" font="Regular;20" />
                        <widget name="list" position="0,30" size="550,335" />
                <screen name="ChoiceBox" position="100,100" size="550,400" title="Input" >
                        <widget name="text" position="0,0" size="550,25" font="Regular;20" />
                        <widget name="list" position="0,30" size="550,335" />
+                       <applet type="onLayoutFinish">
+# this should be factored out into some helper code, but currently demonstrates applets.
+from enigma import eSize, ePoint
+
+orgwidth = self.instance.size().width()
+orgpos = self.instance.position()
+textsize = self["text"].getSize()
+
+# y size still must be fixed in font stuff...
+textsize = (textsize[0] + 50, textsize[1] + 50)
+offset = 60
+wsizex = textsize[0] + 60
+wsizey = textsize[1] + offset
+if (280 > wsizex):
+       wsizex = 280
+wsize = (wsizex, wsizey)
+
+
+# resize
+self.instance.resize(eSize(*wsize))
+
+# resize label
+self["text"].instance.resize(eSize(*textsize))
+
+# move list
+listsize = (wsizex, 50)
+self["list"].instance.move(ePoint(0, textsize[1]))
+self["list"].instance.resize(eSize(*listsize))
+
+# center window
+newwidth = wsize[0]
+self.instance.move(ePoint(orgpos.x() + (orgwidth - newwidth)/2, orgpos.y()))
+                       </applet>                       
                </screen>
                <screen name="TimerEdit" position="70,100" size="590,335" title="Timer Edit">
                        <widget name="description" position="10,10" size="580,40" font="Regular;25" />
                </screen>
                <screen name="TimerEdit" position="70,100" size="590,335" title="Timer Edit">
                        <widget name="description" position="10,10" size="580,40" font="Regular;25" />