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

Revision 3988, 4.0 KB checked in by vdaras, 6 years ago (diff)

Exposed fifechan's IconProgressBar? to pychan. [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                            ]
41
42   def __init__(self, 
43             parent = None, 
44             name = None,
45             size = None,
46             min_size = None, 
47             max_size = None, 
48             helptext = None, 
49             position = None, 
50             style = None, 
51             hexpand = None,
52             vexpand = None,
53             font = None,
54             base_color = None,
55             background_color = None,
56             foreground_color = None,
57             selection_color = None,
58             border_size = None,
59             position_technique = None,
60             is_focusable = None,
61             comment = None,
62             image = None,
63             max_icons = None,
64             orientation = None):
65             
66      self.real_widget = fifechan.IconProgressBar() 
67     
68      super(IconProgressBar,self).__init__(parent=parent, 
69                          name=name, 
70                          size=size, 
71                          min_size=min_size, 
72                          max_size=max_size,
73                          helptext=helptext, 
74                          position=position,
75                          style=style, 
76                          hexpand=hexpand, 
77                          vexpand=vexpand,
78                          font=font,
79                          base_color=base_color,
80                          background_color=background_color,
81                          foreground_color=foreground_color,
82                          selection_color=selection_color,
83                          border_size=border_size,
84                          position_technique=position_technique,
85                          is_focusable=is_focusable,
86                          comment=comment)
87      if image is not None: self.image = image
88      if max_icons is not None: self.max_icons = max_icons
89
90   def clone(self, prefix):
91      iconClone = IconProgressBar(None,
92            self._createNameWithPrefix(prefix),
93            self.size,
94            self.min_size, 
95            self.max_size, 
96            self.helptext, 
97            self.position, 
98            self.style, 
99            self.hexpand,
100            self.vexpand,
101            self.font,
102            self.base_color,
103            self.background_color,
104            self.foreground_color,
105            self.selection_color,
106            self.border_size,
107            self.position_technique,
108            self.is_focusable,
109            self.comment,
110            self.image,
111            self.max_icons)
112             
113     
114      return iconClone
115     
116   _image = ImageProperty("Image")
117
118   def advance(self):
119      self.real_widget.advance()
120     
121   def reset(self):
122      self.real_widget.reset()
123   
124   def _setImage(self,source):
125      self._image = source
126
127   def _getImage(self):
128      return self._image
129   image = property(_getImage,_setImage)
130   
131   def _setMaxIcons(self, maxIcons):
132      if type(maxIcons) != int:
133         raise RuntimeError("IconProgressBar max icons should be an integer")
134      self.real_widget.setMaxIcons(maxIcons)
135     
136   def _getMaxIcons(self):
137      return self.real_widget.getMaxIcons()
138   max_icons = property(_getMaxIcons, _setMaxIcons)
139   
140   def _setOrientation(self, orientation):
141      self.real_widget.setOrientation(orientation)
142   
143   def _getOrientation(self):
144      return self.real_widget.getOrientation()
145   orientation = property(_getOrientation, _setOrientation)
Note: See TracBrowser for help on using the repository browser.