source: branches/active/gui_enhancements/engine/python/fife/extensions/pychan/widgets/iconprogressbar.py @ 3990

Revision 3990, 4.3 KB checked in by vdaras, 6 years ago (diff)

Added some methods to pychan's IconProgressBar?. [t:721]

Line 
1# -*- coding: utf-8 -*-
2
3# ####################################################################
4#  Copyright (C) 2005-2011 by the FIFE team
5#  http://www.fifengine.net
6#  This file is part of FIFE.
7#
8#  FIFE is free software; you can redistribute it and/or
9#  modify it under the terms of the GNU Lesser General Public
10#  License as published by the Free Software Foundation; either
11#  version 2.1 of the License, or (at your option) any later version.
12#
13#  This library is distributed in the hope that it will be useful,
14#  but WITHOUT ANY WARRANTY; without even the implied warranty of
15#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16#  Lesser General Public License for more details.
17#
18#  You should have received a copy of the GNU Lesser General Public
19#  License along with this library; if not, write to the
20#  Free Software Foundation, Inc.,
21#  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22# ####################################################################
23
24from common import *
25from widget import Widget
26from fife.extensions.pychan.properties import ImageProperty
27
28class IconProgressBar(Widget):
29   """
30   An image icon.
31
32   New Attributes
33   ==============
34
35     - image: String or GuiImage: The source location of the Image or a direct GuiImage
36   """
37   ATTRIBUTES = Widget.ATTRIBUTES + [ Attr('image'), 
38                              IntAttr('max_icons'),
39                              IntAttr('orientation'),
40                              BoolAttr('opaque')
41                            ]
42
43   DEFAULT_OPAQUE = True
44                           
45   def __init__(self, 
46             parent = None, 
47             name = None,
48             size = None,
49             min_size = None, 
50             max_size = None, 
51             helptext = None, 
52             position = None, 
53             style = None, 
54             hexpand = None,
55             vexpand = None,
56             font = None,
57             base_color = None,
58             background_color = None,
59             foreground_color = None,
60             selection_color = None,
61             border_size = None,
62             position_technique = None,
63             is_focusable = None,
64             comment = None,
65             image = None,
66             max_icons = None,
67             orientation = None,
68             opaque = None):
69             
70      self.real_widget = fifechan.IconProgressBar() 
71      self.opaque = opaque or DEFAULT_OPAQUE
72     
73      super(IconProgressBar,self).__init__(parent=parent, 
74                          name=name, 
75                          size=size, 
76                          min_size=min_size, 
77                          max_size=max_size,
78                          helptext=helptext, 
79                          position=position,
80                          style=style, 
81                          hexpand=hexpand, 
82                          vexpand=vexpand,
83                          font=font,
84                          base_color=base_color,
85                          background_color=background_color,
86                          foreground_color=foreground_color,
87                          selection_color=selection_color,
88                          border_size=border_size,
89                          position_technique=position_technique,
90                          is_focusable=is_focusable,
91                          comment=comment)
92      if image is not None: self.image = image
93      if max_icons is not None: self.max_icons = max_icons
94
95   def clone(self, prefix):
96      iconClone = IconProgressBar(None,
97            self._createNameWithPrefix(prefix),
98            self.size,
99            self.min_size, 
100            self.max_size, 
101            self.helptext, 
102            self.position, 
103            self.style, 
104            self.hexpand,
105            self.vexpand,
106            self.font,
107            self.base_color,
108            self.background_color,
109            self.foreground_color,
110            self.selection_color,
111            self.border_size,
112            self.position_technique,
113            self.is_focusable,
114            self.comment,
115            self.image,
116            self.max_icons)
117             
118     
119      return iconClone
120     
121   _image = ImageProperty("Image")
122
123   def advance(self):
124      self.real_widget.advance()
125     
126   def reset(self):
127      self.real_widget.reset()
128   
129   def _setImage(self,source):
130      self._image = source
131
132   def _getImage(self):
133      return self._image
134   image = property(_getImage,_setImage)
135   
136   def _setMaxIcons(self, maxIcons):
137      if type(maxIcons) != int:
138         raise RuntimeError("IconProgressBar max icons should be an integer")
139      self.real_widget.setMaxIcons(maxIcons)
140     
141   def _getMaxIcons(self):
142      return self.real_widget.getMaxIcons()
143   max_icons = property(_getMaxIcons, _setMaxIcons)
144   
145   def _setOrientation(self, orientation):
146      self.real_widget.setOrientation(orientation)
147   
148   def _getOrientation(self):
149      return self.real_widget.getOrientation()
150   orientation = property(_getOrientation, _setOrientation)
151   
152   def _setOpaque(self,opaque): 
153      self.real_widget.setOpaque(opaque)
154   def _getOpaque(self): 
155      return self.real_widget.isOpaque()
156   opaque = property(_getOpaque,_setOpaque)
Note: See TracBrowser for help on using the repository browser.