Changeset 3786


Ignore:
Timestamp:
10/28/11 17:02:19 (2 years ago)
Author:
prock
Message:

This should conclude my work on tickets fixes[t:520] and fixes[t:576]. All widgets should now take all configurable properties in their constructor. All clients should used named parameters when passing in values to the constructor.

I have added a "comment" attribute to all widgets. This should allow clients to easily store a bit of extra information about a widget for their own use.

I also changed Slider and PercentageBar? to conform to the pychan standard. To get and set values to them you can use their "value" property. I had to change some code in the PychanDemo? so chances are if you are using these widgets you'll need to do the same.

Fixed the editor and all demo's to work with these changes. Hopefully I got everything.

Some notes to clients: This commit MAY change some functionality of pychan depending on how you are using it. Any parameters passed to the constructors will override any attributes set in the style even if you specify a style in the constructor. Keep this in mind! Other than that it should be exactly the same.

Location:
trunk
Files:
27 edited

Legend:

Unmodified
Added
Removed
  • trunk/demos/pychan_demo/colortester.py

    r3587 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2010 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    6363                }) 
    6464                # alpha value needs to be set, otherwise you don't see colors ;-) 
    65                 self.widget.findChild(name="base_aslider").setValue(float(255)) 
    66                 self.widget.findChild(name="background_aslider").setValue(float(255)) 
    67                 self.widget.findChild(name="foreground_aslider").setValue(float(255)) 
    68                 self.widget.findChild(name="selection_aslider").setValue(float(255)) 
     65                self.widget.findChild(name="base_aslider").value = float(255) 
     66                self.widget.findChild(name="background_aslider").value = float(255) 
     67                self.widget.findChild(name="foreground_aslider").value = float(255) 
     68                self.widget.findChild(name="selection_aslider").value = float(255) 
    6969                 
    7070                # init stuff 
     
    7979                Update rgba base colors of all examples and show the values 
    8080                """ 
    81                 r = int(self.widget.findChild(name="base_rslider").getValue()) 
    82                 g = int(self.widget.findChild(name="base_gslider").getValue()) 
    83                 b = int(self.widget.findChild(name="base_bslider").getValue()) 
    84                 a = int(self.widget.findChild(name="base_aslider").getValue()) 
     81                r = int(self.widget.findChild(name="base_rslider").value) 
     82                g = int(self.widget.findChild(name="base_gslider").value) 
     83                b = int(self.widget.findChild(name="base_bslider").value) 
     84                a = int(self.widget.findChild(name="base_aslider").value) 
    8585 
    8686                # update slider labels 
     
    106106                Update rgba background colors of all examples and show the values 
    107107                """ 
    108                 r = int(self.widget.findChild(name="background_rslider").getValue()) 
    109                 g = int(self.widget.findChild(name="background_gslider").getValue()) 
    110                 b = int(self.widget.findChild(name="background_bslider").getValue()) 
    111                 a = int(self.widget.findChild(name="background_aslider").getValue()) 
     108                r = int(self.widget.findChild(name="background_rslider").value) 
     109                g = int(self.widget.findChild(name="background_gslider").value) 
     110                b = int(self.widget.findChild(name="background_bslider").value) 
     111                a = int(self.widget.findChild(name="background_aslider").value) 
    112112 
    113113                # update slider labels 
     
    133133                Update rgba selection colors of all examples and show the values 
    134134                """ 
    135                 r = int(self.widget.findChild(name="selection_rslider").getValue()) 
    136                 g = int(self.widget.findChild(name="selection_gslider").getValue()) 
    137                 b = int(self.widget.findChild(name="selection_bslider").getValue()) 
    138                 a = int(self.widget.findChild(name="selection_aslider").getValue()) 
     135                r = int(self.widget.findChild(name="selection_rslider").value) 
     136                g = int(self.widget.findChild(name="selection_gslider").value) 
     137                b = int(self.widget.findChild(name="selection_bslider").value) 
     138                a = int(self.widget.findChild(name="selection_aslider").value) 
    139139 
    140140                # update slider labels 
     
    160160                Update rgba foreground colors of all examples and show the values 
    161161                """ 
    162                 r = int(self.widget.findChild(name="foreground_rslider").getValue()) 
    163                 g = int(self.widget.findChild(name="foreground_gslider").getValue()) 
    164                 b = int(self.widget.findChild(name="foreground_bslider").getValue()) 
    165                 a = int(self.widget.findChild(name="foreground_aslider").getValue()) 
     162                r = int(self.widget.findChild(name="foreground_rslider").value) 
     163                g = int(self.widget.findChild(name="foreground_gslider").value) 
     164                b = int(self.widget.findChild(name="foreground_bslider").value) 
     165                a = int(self.widget.findChild(name="foreground_aslider").value) 
    166166 
    167167                # update slider labels 
  • trunk/demos/pychan_demo/poc_gui_animation.py

    r3543 r3786  
    7777                 
    7878                self.delay_slider = self.widget.findChild(name="delay") 
    79                 self.delay_slider.setValue(float(DEFAULT_DELAY)) 
     79                self.delay_slider.value = float(DEFAULT_DELAY) 
    8080                 
    8181                self.delay_display = self.widget.findChild(name="delay_label") 
     
    9797        def _set_delay_display(self): 
    9898                """ set delay display according to slider value """ 
    99                 value = self.delay_slider.getValue() 
     99                value = self.delay_slider.value 
    100100                self.delay_display.text = unicode(str(int(value)))               
    101101                 
     
    109109                self._reset_anim(type) 
    110110                kwargs = { 
    111                         'delay' : int(self.delay_slider.getValue()), 
     111                        'delay' : int(self.delay_slider.value), 
    112112                        'callback' : None, 
    113113                        'repeat' : 0, 
  • trunk/demos/pychan_demo/sliders.py

    r3441 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    5757                pbar = self.widget.findChild(name="pbar") 
    5858                 
    59                 pbar.value = int(pbarslider.getValue()) 
     59                pbar.value = int(pbarslider.value) 
  • trunk/engine/python/fife/extensions/pychan/__init__.py

    r3748 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
  • trunk/engine/python/fife/extensions/pychan/attrs.py

    r3541 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
  • trunk/engine/python/fife/extensions/pychan/internal.py

    r3697 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
  • trunk/engine/python/fife/extensions/pychan/properties.py

    r3541 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
  • trunk/engine/python/fife/extensions/pychan/widgets/__init__.py

    r3697 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
  • trunk/engine/python/fife/extensions/pychan/widgets/basictextwidget.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4444        DEFAULT_HEXPAND = 1 
    4545        DEFAULT_VEXPAND = 0 
     46        DEFAULT_MARGINS = 5,5 
     47        DEFAULT_TEXT = u"" 
    4648         
    4749        def __init__(self,  
    4850                                 parent = None,  
    49                                  name = Widget.DEFAULT_NAME, 
    50                                  size = Widget.DEFAULT_SIZE,  
    51                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    52                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    53                                  helptext = Widget.DEFAULT_HELPTEXT,  
    54                                  position = Widget.DEFAULT_POSITION, 
     51                                 name = None, 
     52                                 size = None, 
     53                                 min_size = None,  
     54                                 max_size = None,  
     55                                 helptext = None,  
     56                                 position = None,  
    5557                                 style = None,  
    56                                  hexpand = None,  
     58                                 hexpand = None, 
    5759                                 vexpand = None, 
    58                                  text = u""): 
     60                                 font = None, 
     61                                 base_color = None, 
     62                                 background_color = None, 
     63                                 foreground_color = None, 
     64                                 selection_color = None, 
     65                                 border_size = None, 
     66                                 position_technique = None, 
     67                                 is_focusable = None, 
     68                                 comment = None, 
     69                                 margins = None, 
     70                                 text = None): 
    5971                                  
    60                 self.margins = (5,5) 
    61                 self.text = text 
     72                self.margins = self.DEFAULT_MARGINS 
     73                self.text = self.DEFAULT_TEXT 
    6274                super(BasicTextWidget,self).__init__(parent=parent,  
    6375                                                                                         name=name,  
     
    6981                                                                                         style=style,  
    7082                                                                                         hexpand=hexpand,  
    71                                                                                          vexpand=vexpand) 
     83                                                                                         vexpand=vexpand, 
     84                                                                                         font=font, 
     85                                                                                         base_color=base_color, 
     86                                                                                         background_color=background_color, 
     87                                                                                         foreground_color=foreground_color, 
     88                                                                                         selection_color=selection_color, 
     89                                                                                         border_size=border_size, 
     90                                                                                         position_technique=position_technique, 
     91                                                                                         is_focusable=is_focusable, 
     92                                                                                         comment=comment) 
    7293 
    7394                # Prepare Data collection framework 
    7495                self.accepts_initial_data = True 
    7596                self._realSetInitialData = self._setText 
     97                 
     98                # Override anything set when stylize was called 
     99                if margins is not None: self.margins = margins 
     100                if text is not None: self.text = text 
    76101 
    77102        def _getText(self): return gui2text(self.real_widget.getCaption()) 
    78103        def _setText(self,text): self.real_widget.setCaption(text2gui(text)) 
     104 
    79105        text = property(_getText,_setText) 
    80106 
  • trunk/engine/python/fife/extensions/pychan/widgets/buttons.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    3232        def __init__(self,  
    3333                                 parent = None,  
    34                                  name = BasicTextWidget.DEFAULT_NAME, 
    35                                  size = BasicTextWidget.DEFAULT_SIZE,  
    36                                  min_size = BasicTextWidget.DEFAULT_MIN_SIZE,  
    37                                  max_size = BasicTextWidget.DEFAULT_MAX_SIZE, 
    38                                  helptext = BasicTextWidget.DEFAULT_HELPTEXT,  
    39                                  position = BasicTextWidget.DEFAULT_POSITION, 
     34                                 name = None, 
     35                                 size = None, 
     36                                 min_size = None,  
     37                                 max_size = None,  
     38                                 helptext = None,  
     39                                 position = None,  
    4040                                 style = None,  
    41                                  hexpand = None,  
     41                                 hexpand = None, 
    4242                                 vexpand = None, 
    43                                  text = u""): 
     43                                 font = None, 
     44                                 base_color = None, 
     45                                 background_color = None, 
     46                                 foreground_color = None, 
     47                                 selection_color = None, 
     48                                 border_size = None, 
     49                                 position_technique = None, 
     50                                 is_focusable = None, 
     51                                 comment = None, 
     52                                 margins = None, 
     53                                 text = None): 
    4454                                  
    4555                self.real_widget = fife.Button("") 
     
    5464                                                                        hexpand=hexpand,  
    5565                                                                        vexpand=vexpand, 
     66                                                                        font=font, 
     67                                                                        base_color=base_color, 
     68                                                                        background_color=background_color, 
     69                                                                        foreground_color=foreground_color, 
     70                                                                        selection_color=selection_color, 
     71                                                                        border_size=border_size, 
     72                                                                        position_technique=position_technique, 
     73                                                                        is_focusable=is_focusable, 
     74                                                                        comment=comment, 
     75                                                                        margins=margins, 
    5676                                                                        text=text) 
    5777 
     
    7696                                                                                          ] 
    7797 
     98        DEFAULT_UPIMAGE = "" 
     99        DEFAULT_DOWNIMAGE = "" 
     100        DEFAULT_HOVERIMAGE = "" 
     101        DEFAULT_OFFSET = 0,0 
    78102        def __init__(self,  
    79103                                 parent = None,  
    80                                  name = BasicTextWidget.DEFAULT_NAME, 
    81                                  size = BasicTextWidget.DEFAULT_SIZE,  
    82                                  min_size = BasicTextWidget.DEFAULT_MIN_SIZE,  
    83                                  max_size = BasicTextWidget.DEFAULT_MAX_SIZE, 
    84                                  helptext = BasicTextWidget.DEFAULT_HELPTEXT,  
    85                                  position = BasicTextWidget.DEFAULT_POSITION, 
     104                                 name = None, 
     105                                 size = None, 
     106                                 min_size = None,  
     107                                 max_size = None,  
     108                                 helptext = None,  
     109                                 position = None,  
    86110                                 style = None,  
    87                                  hexpand = None,  
     111                                 hexpand = None, 
    88112                                 vexpand = None, 
    89                                  text = u"", 
    90                                  up_image="", 
    91                                  down_image="", 
    92                                  hover_image="", 
    93                                  offset=(0,0), 
     113                                 font = None, 
     114                                 base_color = None, 
     115                                 background_color = None, 
     116                                 foreground_color = None, 
     117                                 selection_color = None, 
     118                                 border_size = None, 
     119                                 position_technique = None, 
     120                                 is_focusable = None, 
     121                                 comment = None, 
     122                                 margins = None, 
     123                                 text = None, 
     124                                 up_image=None, 
     125                                 down_image=None, 
     126                                 hover_image=None, 
     127                                 offset=None, 
    94128                                 real_widget=None): 
    95129 
     
    98132                else: 
    99133                        self.real_widget = real_widget 
    100                          
     134                 
     135                # set the defaulst 
     136                offset = self.DEFAULT_OFFSET 
     137                 
    101138                super(ImageButton,self).__init__(parent=parent,  
    102139                                                                                 name=name,  
     
    109146                                                                                 hexpand=hexpand,  
    110147                                                                                 vexpand=vexpand, 
     148                                                                                 font=font, 
     149                                                                                 base_color=base_color, 
     150                                                                                 background_color=background_color, 
     151                                                                                 foreground_color=foreground_color, 
     152                                                                                 selection_color=selection_color, 
     153                                                                                 border_size=border_size, 
     154                                                                                 position_technique=position_technique, 
     155                                                                                 is_focusable=is_focusable, 
     156                                                                                 comment=comment, 
     157                                                                                 margins=margins, 
    111158                                                                                 text=text) 
    112  
    113                 self.up_image = up_image 
    114                 self.down_image = down_image 
    115                 self.hover_image = hover_image 
    116                 self.offset = offset 
     159                 
     160                if up_image is not None:  
     161                        self.up_image = up_image 
     162                else: 
     163                        self.up_image = self.DEFAULT_UPIMAGE 
     164                         
     165                if down_image is not None:  
     166                        self.down_image = down_image 
     167                else: 
     168                        self.down_image = self.DEFAULT_DOWNIMAGE 
     169                         
     170                if hover_image is not None:  
     171                        self.hover_image = hover_image 
     172                else: 
     173                        self.hover_image = self.DEFAULT_HOVERIMAGE 
     174                 
     175                # Override anything set when stylize was called 
     176                if offset is not None: self.offset = offset 
    117177 
    118178        up_image = ImageProperty("UpImage") 
     
    161221                                                                                                Attr('group') 
    162222                                                                                          ] 
     223        DEFAULT_GROUP = "" 
    163224 
    164225        def __init__(self,  
    165226                                 parent = None,  
    166                                  name = BasicTextWidget.DEFAULT_NAME, 
    167                                  size = BasicTextWidget.DEFAULT_SIZE,  
    168                                  min_size = BasicTextWidget.DEFAULT_MIN_SIZE,  
    169                                  max_size = BasicTextWidget.DEFAULT_MAX_SIZE, 
    170                                  helptext = BasicTextWidget.DEFAULT_HELPTEXT,  
    171                                  position = BasicTextWidget.DEFAULT_POSITION, 
     227                                 name = None, 
     228                                 size = None, 
     229                                 min_size = None,  
     230                                 max_size = None,  
     231                                 helptext = None,  
     232                                 position = None,  
    172233                                 style = None,  
    173                                  hexpand = None,  
     234                                 hexpand = None, 
    174235                                 vexpand = None, 
    175                                  text = u"", 
    176                                  up_image = "", 
    177                                  down_image = "", 
    178                                  hover_image = "", 
    179                                  offset = (0,0),  
    180                                  group = ""): 
     236                                 font = None, 
     237                                 base_color = None, 
     238                                 background_color = None, 
     239                                 foreground_color = None, 
     240                                 selection_color = None, 
     241                                 border_size = None, 
     242                                 position_technique = None, 
     243                                 is_focusable = None, 
     244                                 comment = None, 
     245                                 margins = None, 
     246                                 text = None, 
     247                                 up_image = None, 
     248                                 down_image = None, 
     249                                 hover_image = None, 
     250                                 offset = None,  
     251                                 group = None): 
     252 
     253                group = self.DEFAULT_GROUP 
    181254 
    182255                super(ToggleButton,self).__init__(parent=parent,  
     
    190263                                                                                  hexpand=hexpand,  
    191264                                                                                  vexpand=vexpand, 
    192                                                                                   text=text,  
    193                                                                                   real_widget=fife.ToggleButton(), 
    194                                                                                   up_image=up_image,  
    195                                                                                   down_image=down_image,  
     265                                                                                  font=font, 
     266                                                                                  base_color=base_color, 
     267                                                                                  background_color=background_color, 
     268                                                                                  foreground_color=foreground_color, 
     269                                                                                  selection_color=selection_color, 
     270                                                                                  border_size=border_size, 
     271                                                                                  position_technique=position_technique, 
     272                                                                                  is_focusable=is_focusable, 
     273                                                                                  comment=comment, 
     274                                                                                  margins=margins, 
     275                                                                                  text=text, 
     276                                                                                  up_image=up_image, 
     277                                                                                  down_image=down_image, 
    196278                                                                                  hover_image=hover_image, 
    197                                                                                   offset=offset) 
    198                 self.group = group 
     279                                                                                  offset=offset, 
     280                                                                                  real_widget=fife.ToggleButton()) 
     281                                                                                   
     282                if group is not None: self.group = group 
    199283 
    200284        def _setGroup(self,group): 
    201                 self.real_widget.setGroup( group ) 
     285                if group is not None and group != "": 
     286                        self.real_widget.setGroup( group ) 
    202287 
    203288        def _getGroup(self): 
  • trunk/engine/python/fife/extensions/pychan/widgets/checkbox.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4141        ATTRIBUTES = BasicTextWidget.ATTRIBUTES + [ BoolAttr('marked') ] 
    4242 
     43        DEFAULT_MARKED = False 
     44 
    4345        def __init__(self,  
    4446                                 parent = None,  
    45                                  name = BasicTextWidget.DEFAULT_NAME, 
    46                                  size = BasicTextWidget.DEFAULT_SIZE,  
    47                                  min_size = BasicTextWidget.DEFAULT_MIN_SIZE,  
    48                                  max_size = BasicTextWidget.DEFAULT_MAX_SIZE, 
    49                                  helptext = BasicTextWidget.DEFAULT_HELPTEXT,  
    50                                  position = BasicTextWidget.DEFAULT_POSITION, 
     47                                 name = None, 
     48                                 size = None, 
     49                                 min_size = None,  
     50                                 max_size = None,  
     51                                 helptext = None,  
     52                                 position = None,  
    5153                                 style = None,  
    52                                  hexpand = None,  
     54                                 hexpand = None, 
    5355                                 vexpand = None, 
    54                                  text = u"", 
    55                                  marked = False): 
     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                                 margins = None, 
     66                                 text = None, 
     67                                 marked = None): 
    5668                                  
    5769                self.real_widget = fife.CheckBox() 
    58                 self.marked = marked 
     70                self.marked = self.DEFAULT_MARKED 
    5971                super(CheckBox,self).__init__(parent=parent,  
    6072                                                                          name=name,  
     
    6779                                                                          hexpand=hexpand,  
    6880                                                                          vexpand=vexpand, 
     81                                                                          font=font, 
     82                                                                          base_color=base_color, 
     83                                                                          background_color=background_color, 
     84                                                                          foreground_color=foreground_color, 
     85                                                                          selection_color=selection_color, 
     86                                                                          border_size=border_size, 
     87                                                                          position_technique=position_technique, 
     88                                                                          is_focusable=is_focusable, 
     89                                                                          comment=comment, 
     90                                                                          margins=margins, 
    6991                                                                          text=text) 
     92 
     93                if marked is not None:  
     94                        self.marked = marked 
    7095 
    7196                # Prepare Data collection framework 
     
    7499                self._realSetData = self._setMarked 
    75100 
    76                 # Initial data stuff inherited. 
    77  
    78101        def _isMarked(self): return self.real_widget.isSelected() 
    79102        def _setMarked(self,mark): self.real_widget.setSelected(mark) 
  • trunk/engine/python/fife/extensions/pychan/widgets/common.py

    r3541 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
  • trunk/engine/python/fife/extensions/pychan/widgets/containers.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    5050                                                                         ] 
    5151 
     52        DEFAULT_OPAQUE = True 
     53        DEFAULT_MARGINS = 5,5 
     54        DEFAULT_PADDING = 5 
     55        DEFAULT_BACKGROUND = None 
     56         
    5257        def __init__(self,  
    5358                                 parent = None,  
    54                                  name = Widget.DEFAULT_NAME, 
    55                                  size = Widget.DEFAULT_SIZE,  
    56                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    57                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    58                                  helptext = Widget.DEFAULT_HELPTEXT,  
    59                                  position = Widget.DEFAULT_POSITION, 
     59                                 name = None, 
     60                                 size = None, 
     61                                 min_size = None,  
     62                                 max_size = None,  
     63                                 helptext = None,  
     64                                 position = None,  
    6065                                 style = None,  
    61                                  hexpand = None,  
     66                                 hexpand = None, 
    6267                                 vexpand = None, 
    63                                  padding = 5, 
     68                                 font = None, 
     69                                 base_color = None, 
     70                                 background_color = None, 
     71                                 foreground_color = None, 
     72                                 selection_color = None, 
     73                                 border_size = None, 
     74                                 position_technique = None, 
     75                                 is_focusable = None, 
     76                                 comment = None, 
     77                                 padding = None, 
    6478                                 background_image = None, 
    65                                  opaque = True, 
    66                                  margins = (5,5), 
     79                                 opaque = None, 
     80                                 margins = None, 
    6781                                 _real_widget = None): 
    6882                                  
    6983                self.real_widget = _real_widget or fife.Container() 
    70                 self._background = [] 
    71                 self._background_image = None 
    72                 self.background_image = background_image  
    7384                self.children = [] 
    7485                self.children_position_cache = [] 
    7586                self.hidden_children = [] 
    76                 self.margins = margins 
    77                 self.padding = padding 
    78                 self.opaque = opaque 
     87                self._background = [] 
     88                self._background_image = None 
     89                self.background_image = self.DEFAULT_BACKGROUND 
     90                self.margins = self.DEFAULT_MARGINS 
     91                self.padding = self.DEFAULT_PADDING 
     92                self.opaque = self.DEFAULT_OPAQUE 
    7993 
    8094                super(Container,self).__init__(parent=parent,  
     
    87101                                                                           style=style,  
    88102                                                                           hexpand=hexpand,  
    89                                                                            vexpand=vexpand) 
     103                                                                           vexpand=vexpand, 
     104                                                                           font=font, 
     105                                                                           base_color=base_color, 
     106                                                                           background_color=background_color, 
     107                                                                           foreground_color=foreground_color, 
     108                                                                           selection_color=selection_color, 
     109                                                                           border_size=border_size, 
     110                                                                           position_technique=position_technique, 
     111                                                                           is_focusable=is_focusable, 
     112                                                                           comment=comment) 
     113                                                                            
     114                if margins is not None: self.margins = margins 
     115                if padding is not None: self.padding = padding 
     116                if opaque is not None: self.opaque = opaque 
     117                if background_image is not None: self.background_image = background_image 
    90118 
    91119        def addChild(self, widget): 
     
    209237                self._background = getattr(self,'_background',None) 
    210238                if image is None: 
    211                         self._background_image = image 
     239                        self._background_image = None 
    212240                        map(self.real_widget.remove,self._background) 
    213241                        self._background = [] 
     
    242270        DEFAULT_VEXPAND = 1 
    243271 
    244         def __init__(self, 
     272        def __init__(self,  
    245273                                 parent = None,  
    246                                  name = Widget.DEFAULT_NAME, 
    247                                  size = Widget.DEFAULT_SIZE,  
    248                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    249                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    250                                  helptext = Widget.DEFAULT_HELPTEXT,  
    251                                  position = Widget.DEFAULT_POSITION, 
     274                                 name = None, 
     275                                 size = None, 
     276                                 min_size = None,  
     277                                 max_size = None,  
     278                                 helptext = None,  
     279                                 position = None,  
    252280                                 style = None,  
    253                                  hexpand = None,  
     281                                 hexpand = None, 
    254282                                 vexpand = None, 
    255                                  padding = 5, 
     283                                 font = None, 
     284                                 base_color = None, 
     285                                 background_color = None, 
     286                                 foreground_color = None, 
     287                                 selection_color = None, 
     288                                 border_size = None, 
     289                                 position_technique = None, 
     290                                 is_focusable = None, 
     291                                 comment = None, 
     292                                 padding = None, 
    256293                                 background_image = None, 
    257                                  opaque = True, 
    258                                  margins = (5,5), 
     294                                 opaque = None, 
     295                                 margins = None, 
    259296                                 _real_widget = None): 
    260297                                  
     
    269306                                                                  hexpand=hexpand,  
    270307                                                                  vexpand=vexpand, 
     308                                                                  font=font, 
     309                                                                  base_color=base_color, 
     310                                                                  background_color=background_color, 
     311                                                                  foreground_color=foreground_color, 
     312                                                                  selection_color=selection_color, 
     313                                                                  border_size=border_size, 
     314                                                                  position_technique=position_technique, 
     315                                                                  is_focusable=is_focusable, 
     316                                                                  comment=comment, 
    271317                                                                  padding=padding, 
    272318                                                                  background_image=background_image, 
     
    274320                                                                  margins=margins, 
    275321                                                                  _real_widget=_real_widget) 
    276                 self.padding = padding 
    277322 
    278323 
     
    286331        DEFAULT_VEXPAND = 0 
    287332 
    288         def __init__(self, 
     333        def __init__(self,  
    289334                                 parent = None,  
    290                                  name = Widget.DEFAULT_NAME, 
    291                                  size = Widget.DEFAULT_SIZE,  
    292                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    293                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    294                                  helptext = Widget.DEFAULT_HELPTEXT,  
    295                                  position = Widget.DEFAULT_POSITION, 
     335                                 name = None, 
     336                                 size = None, 
     337                                 min_size = None,  
     338                                 max_size = None,  
     339                                 helptext = None,  
     340                                 position = None,  
    296341                                 style = None,  
    297                                  hexpand = None,  
     342                                 hexpand = None, 
    298343                                 vexpand = None, 
    299                                  padding = 5, 
     344                                 font = None, 
     345                                 base_color = None, 
     346                                 background_color = None, 
     347                                 foreground_color = None, 
     348                                 selection_color = None, 
     349                                 border_size = None, 
     350                                 position_technique = None, 
     351                                 is_focusable = None, 
     352                                 comment = None, 
     353                                 padding = None, 
    300354                                 background_image = None, 
    301                                  opaque = True, 
    302                                  margins = (5,5), 
     355                                 opaque = None, 
     356                                 margins = None, 
    303357                                 _real_widget = None): 
    304358                                  
     
    313367                                                                  hexpand=hexpand,  
    314368                                                                  vexpand=vexpand, 
     369                                                                  font=font, 
     370                                                                  base_color=base_color, 
     371                                                                  background_color=background_color, 
     372                                                                  foreground_color=foreground_color, 
     373                                                                  selection_color=selection_color, 
     374                                                                  border_size=border_size, 
     375                                                                  position_technique=position_technique, 
     376                                                                  is_focusable=is_focusable, 
     377                                                                  comment=comment, 
    315378                                                                  padding=padding, 
    316379                                                                  background_image=background_image, 
     
    318381                                                                  margins=margins, 
    319382                                                                  _real_widget=_real_widget) 
    320                 self.padding = padding 
    321383 
    322384class Window(VBoxLayoutMixin,Container): 
     
    335397                                                                                ] 
    336398 
    337         def __init__(self, 
     399        DEFAULT_TITLE = u"title" 
     400        DEFAULT_TITLE_HEIGHT = 0 
     401        DEFAULT_POSITION_TECHNIQUE = "automatic" 
     402 
     403        def __init__(self,  
    338404                                 parent = None,  
    339                                  name = Widget.DEFAULT_NAME, 
    340                                  size = Widget.DEFAULT_SIZE,  
    341                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    342                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    343                                  helptext = Widget.DEFAULT_HELPTEXT,  
    344                                  position = Widget.DEFAULT_POSITION, 
     405                                 name = None, 
     406                                 size = None, 
     407                                 min_size = None,  
     408                                 max_size = None,  
     409                                 helptext = None,  
     410                                 position = None,  
    345411                                 style = None,  
    346                                  hexpand = None,  
     412                                 hexpand = None, 
    347413                                 vexpand = None, 
    348                                  padding = 5, 
     414                                 font = None, 
     415                                 base_color = None, 
     416                                 background_color = None, 
     417                                 foreground_color = None, 
     418                                 selection_color = None, 
     419                                 border_size = None, 
     420                                 position_technique = None, 
     421                                 is_focusable = None, 
     422                                 comment = None, 
     423                                 padding = None, 
    349424                                 background_image = None, 
    350                                  margins = (5,5), 
     425                                 opaque = None, 
     426                                 margins = None, 
    351427                                 _real_widget = None, 
    352                                  title = u"title", 
    353                                  titlebar_height = 0): 
    354                                   
     428                                 title = None, 
     429                                 titlebar_height = None): 
     430                 
    355431                super(Window,self).__init__(parent=parent,  
    356432                                                                    name=name,  
     
    363439                                                                    hexpand=hexpand,  
    364440                                                                    vexpand=vexpand, 
     441                                                                    font=font, 
     442                                                                    base_color=base_color, 
     443                                                                    background_color=background_color, 
     444                                                                    foreground_color=foreground_color, 
     445                                                                    selection_color=selection_color, 
     446                                                                    border_size=border_size, 
     447                                                                    position_technique=position_technique, 
     448                                                                    is_focusable=is_focusable, 
     449                                                                    comment=comment, 
    365450                                                                    padding=padding, 
    366451                                                                    background_image=background_image, 
     452                                                                    opaque=opaque, 
    367453                                                                    margins=margins, 
    368454                                                                    _real_widget= fife.Window()) 
    369                 if titlebar_height == 0: 
    370                         titlebar_height = self.real_font.getHeight() + 4 
    371                 self.titlebar_height = titlebar_height 
    372                 self.title = title 
    373  
    374                 # Override explicit positioning 
    375                 self.position_technique = "automatic" 
    376  
     455 
     456                if titlebar_height is not None: 
     457                        if titlebar_height == 0: 
     458                                titlebar_height = self.real_font.getHeight() + 4 
     459                        self.titlebar_height = titlebar_height 
     460                else: 
     461                        self.titlebar_height = self.real_font.getHeight() + 4 
     462                 
     463                if title is not None:  
     464                        self.title = title 
     465                else: 
     466                        self.title = self.DEFAULT_TITLE 
    377467 
    378468        def _getTitle(self): return gui2text(self.real_widget.getCaption()) 
  • trunk/engine/python/fife/extensions/pychan/widgets/dropdown.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4444        The list items can be set via L{distributeInitialData}. 
    4545        """ 
     46         
     47        DEFAULT_ITEMS = [] 
     48         
    4649        def __init__(self,  
    4750                                 parent = None,  
    48                                  name = Widget.DEFAULT_NAME, 
    49                                  size = Widget.DEFAULT_SIZE,  
    50                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    51                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    52                                  helptext = Widget.DEFAULT_HELPTEXT,  
    53                                  position = Widget.DEFAULT_POSITION, 
     51                                 name = None, 
     52                                 size = None, 
     53                                 min_size = None,  
     54                                 max_size = None,  
     55                                 helptext = None,  
     56                                 position = None,  
    5457                                 style = None,  
    55                                  hexpand = None,  
     58                                 hexpand = None, 
    5659                                 vexpand = None, 
    57                                  items=[]): 
    58                                   
    59                 self._items = GenericListmodel(*items) 
     60                                 font = None, 
     61                                 base_color = None, 
     62                                 background_color = None, 
     63                                 foreground_color = None, 
     64                                 selection_color = None, 
     65                                 border_size = None, 
     66                                 position_technique = None, 
     67                                 is_focusable = None, 
     68                                 comment = None, 
     69                                 items = None, 
     70                                 selected = None): 
     71 
     72                if items is None: 
     73                        self._items = GenericListmodel(*self.DEFAULT_ITEMS) 
     74                else: 
     75                        if type(items) is list: 
     76                                self._items = GenericListmodel(*items) 
     77                        else: 
     78                                raise RuntimeError("items parameter must be a list!") 
     79 
     80                if selected is not None and items is not None: 
     81                        if len(items) > 0 and selected < len(items) and selected > 0: 
     82                                self.selected = selected 
     83                        else: 
     84                                raise RuntimeError("Invalid selected item index specified for dropdown!") 
     85                elif selected is None and items is not None: 
     86                        if len(items) > 0: 
     87                                self.selected = 0 
     88                                 
    6089                self.real_widget = fife.DropDown(self._items) 
    6190                super(DropDown,self).__init__(parent=parent,  
     
    6897                                                                          style=style,  
    6998                                                                          hexpand=hexpand,  
    70                                                                           vexpand=vexpand) 
     99                                                                          vexpand=vexpand, 
     100                                                                          font=font, 
     101                                                                          base_color=base_color, 
     102                                                                          background_color=background_color, 
     103                                                                          foreground_color=foreground_color, 
     104                                                                          selection_color=selection_color, 
     105                                                                          border_size=border_size, 
     106                                                                          position_technique=position_technique, 
     107                                                                          is_focusable=is_focusable, 
     108                                                                          comment=comment) 
    71109 
    72110                # Prepare Data collection framework 
  • trunk/engine/python/fife/extensions/pychan/widgets/icon.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    3737        ATTRIBUTES = Widget.ATTRIBUTES + [ Attr('image') ] 
    3838 
    39         def __init__(self, 
     39        def __init__(self,  
    4040                                 parent = None,  
    41                                  name = Widget.DEFAULT_NAME, 
    42                                  size = Widget.DEFAULT_SIZE,  
    43                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    44                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    45                                  helptext = Widget.DEFAULT_HELPTEXT,  
    46                                  position = Widget.DEFAULT_POSITION, 
     41                                 name = None, 
     42                                 size = None, 
     43                                 min_size = None,  
     44                                 max_size = None,  
     45                                 helptext = None,  
     46                                 position = None,  
    4747                                 style = None,  
    48                                  hexpand = None,  
     48                                 hexpand = None, 
    4949                                 vexpand = None, 
     50                                 font = None, 
     51                                 base_color = None, 
     52                                 background_color = None, 
     53                                 foreground_color = None, 
     54                                 selection_color = None, 
     55                                 border_size = None, 
     56                                 position_technique = None, 
     57                                 is_focusable = None, 
     58                                 comment = None, 
    5059                                 image = None): 
    5160                                  
     
    6069                                                                  style=style,  
    6170                                                                  hexpand=hexpand,  
    62                                                                   vexpand=vexpand) 
     71                                                                  vexpand=vexpand, 
     72                                                                  font=font, 
     73                                                                  base_color=base_color, 
     74                                                                  background_color=background_color, 
     75                                                                  foreground_color=foreground_color, 
     76                                                                  selection_color=selection_color, 
     77                                                                  border_size=border_size, 
     78                                                                  position_technique=position_technique, 
     79                                                                  is_focusable=is_focusable, 
     80                                                                  comment=comment) 
    6381                self.image = image 
    6482 
  • trunk/engine/python/fife/extensions/pychan/widgets/label.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4343        ATTRIBUTES = BasicTextWidget.ATTRIBUTES + [ BoolAttr('wrap_text') ] 
    4444 
     45        DEFAULT_WRAP_TEXT = False 
     46 
    4547        def __init__(self,  
    4648                                 parent = None,  
    47                                  name = BasicTextWidget.DEFAULT_NAME, 
    48                                  size = BasicTextWidget.DEFAULT_SIZE,  
    49                                  min_size = BasicTextWidget.DEFAULT_MIN_SIZE,  
    50                                  max_size = BasicTextWidget.DEFAULT_MAX_SIZE, 
    51                                  helptext = BasicTextWidget.DEFAULT_HELPTEXT,  
    52                                  position = BasicTextWidget.DEFAULT_POSITION, 
     49                                 name = None, 
     50                                 size = None, 
     51                                 min_size = None,  
     52                                 max_size = None,  
     53                                 helptext = None,  
     54                                 position = None,  
    5355                                 style = None,  
    54                                  hexpand = None,  
     56                                 hexpand = None, 
    5557                                 vexpand = None, 
    56                                  text = u"",  
    57                                  wrap_text = False): 
     58                                 font = None, 
     59                                 base_color = None, 
     60                                 background_color = None, 
     61                                 foreground_color = None, 
     62                                 selection_color = None, 
     63                                 border_size = None, 
     64                                 position_technique = None, 
     65                                 is_focusable = None, 
     66                                 comment = None, 
     67                                 margins = None, 
     68                                 text = None, 
     69                                 wrap_text = None): 
    5870                                  
    5971                self.real_widget = fife.Label("") 
    60                 self.wrap_text = wrap_text 
     72                self.wrap_text = self.DEFAULT_WRAP_TEXT 
    6173                super(Label,self).__init__(parent=parent,  
    6274                                                                   name=name,  
     
    6981                                                                   hexpand=hexpand,  
    7082                                                                   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                                                                   margins=margins, 
    7193                                                                   text=text) 
     94                                                                    
     95                if wrap_text is not None: self.wrap_text = wrap_text 
    7296 
    7397        def resizeToContent(self, recurse=True): 
  • trunk/engine/python/fife/extensions/pychan/widgets/layout.py

    r3541 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
  • trunk/engine/python/fife/extensions/pychan/widgets/listbox.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    6464        DEFAULT_HEXPAND = 1 
    6565        DEFAULT_VEXPAND = 1 
    66  
    67         def __init__(self, 
     66        DEFAULT_ITEMS = [] 
     67         
     68        def __init__(self,  
    6869                                 parent = None,  
    69                                  name = Widget.DEFAULT_NAME, 
    70                                  size = Widget.DEFAULT_SIZE,  
    71                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    72                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    73                                  helptext = Widget.DEFAULT_HELPTEXT, 
    74                                  position = Widget.DEFAULT_POSITION, 
    75                                  style = None, 
    76                                  hexpand = None,  
     70                                 name = None, 
     71                                 size = None, 
     72                                 min_size = None,  
     73                                 max_size = None,  
     74                                 helptext = None,  
     75                                 position = None,  
     76                                 style = None,  
     77                                 hexpand = None, 
    7778                                 vexpand = None, 
    78                                  items = [], 
     79                                 font = None, 
     80                                 base_color = None, 
     81                                 background_color = None, 
     82                                 foreground_color = None, 
     83                                 selection_color = None, 
     84                                 border_size = None, 
     85                                 position_technique = None, 
     86                                 is_focusable = None, 
     87                                 comment = None, 
     88                                 items = None, 
    7989                                 selected = None): 
    8090                                  
    81                 self._items = GenericListmodel(*items) 
     91                if items is None: 
     92                        self._items = GenericListmodel(*self.DEFAULT_ITEMS) 
     93                else: 
     94                        if type(items) is list: 
     95                                self._items = GenericListmodel(*items) 
     96                        else: 
     97                                raise RuntimeError("items parameter must be a list!") 
     98                         
    8299                self.real_widget = fife.ListBox(self._items) 
    83                 if selected is not None: 
    84                         self.selected = selected 
     100                 
     101                if selected is not None and items is not None: 
     102                        if len(items) > 0 and selected < len(items) and selected > 0: 
     103                                self.selected = selected 
     104                        else: 
     105                                raise RuntimeError("Invalid selected item index specified for listbox!") 
     106                elif selected is None and items is not None: 
     107                        if len(items) > 0: 
     108                                self.selected = 0 
     109                                 
    85110                super(ListBox,self).__init__(parent=parent,  
    86111                                                                         name=name,  
     
    92117                                                                         style=style,  
    93118                                                                         hexpand=hexpand,  
    94                                                                          vexpand=vexpand) 
     119                                                                         vexpand=vexpand, 
     120                                                                         font=font, 
     121                                                                         base_color=base_color, 
     122                                                                         background_color=background_color, 
     123                                                                         foreground_color=foreground_color, 
     124                                                                         selection_color=selection_color, 
     125                                                                         border_size=border_size, 
     126                                                                         position_technique=position_technique, 
     127                                                                         is_focusable=is_focusable, 
     128                                                                         comment=comment) 
    95129 
    96130                # Prepare Data collection framework 
  • trunk/engine/python/fife/extensions/pychan/widgets/percentagebar.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2010 by the FIFE team 
     4#  Copyright (C) 2005-2011 by the FIFE team 
    55#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
     
    3939        VERTICAL = fife.PercentageBar.VERTICAL 
    4040 
    41         ATTRIBUTES = Widget.ATTRIBUTES + [IntAttr('orientation'), IntAttr('value')] 
     41        ATTRIBUTES = Widget.ATTRIBUTES + [ IntAttr('orientation'),  
     42                                                                           IntAttr('value') 
     43                                                                         ] 
    4244        DEFAULT_HEXPAND = 1 
    4345        DEFAULT_VEXPAND = 0 
    44  
     46        DEFAULT_MIN_SIZE = 10,10 
     47        DEFAULT_VALUE = 0 
     48        DEFAULT_ORIENTATION = HORIZONTAL 
     49         
    4550        def __init__(self, 
    4651                                 parent = None,  
    47                                  name = Widget.DEFAULT_NAME, 
    48                                  size = Widget.DEFAULT_SIZE,  
    49                                  min_size = (10,10),  
    50                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    51                                  helptext = Widget.DEFAULT_HELPTEXT,  
    52                                  position = Widget.DEFAULT_POSITION, 
     52                                 name = None, 
     53                                 size = None, 
     54                                 min_size = None,  
     55                                 max_size = None,  
     56                                 helptext = None,  
     57                                 position = None,  
    5358                                 style = None,  
    54                                  hexpand = None,  
     59                                 hexpand = None, 
    5560                                 vexpand = None, 
    56                                  value = 0,  
    57                                  orientation = HORIZONTAL): 
     61                                 font = None, 
     62                                 base_color = None, 
     63                                 background_color = None, 
     64                                 foreground_color = None, 
     65                                 selection_color = None, 
     66                                 border_size = None, 
     67                                 position_technique = None, 
     68                                 is_focusable = None, 
     69                                 comment = None, 
     70                                 value = None,  
     71                                 orientation = None): 
    5872                                  
    5973                self.real_widget = fife.PercentageBar() 
    60                 self.orientation = orientation 
    61                 self.setOrientation(self.orientation) 
    62                 self.setValue(value) 
     74                self.orientation = self.DEFAULT_ORIENTATION 
     75                self.value = self.DEFAULT_VALUE 
     76                 
    6377                super(PercentageBar, self).__init__(parent=parent,  
    64                                                                                         name=name,  
    65                                                                                         size=size,  
    66                                                                                         min_size=min_size,  
    67                                                                                         max_size=max_size, 
    68                                                                                         helptext=helptext,  
    69                                                                                         position=position, 
    70                                                                                         style=style,  
    71                                                                                         hexpand=hexpand,  
    72                                                                                         vexpand=vexpand) 
     78                                                                                        name=name,  
     79                                                                                        size=size,  
     80                                                                                        min_size=min_size,  
     81                                                                                        max_size=max_size, 
     82                                                                                        helptext=helptext,  
     83                                                                                        position=position, 
     84                                                                                        style=style,  
     85                                                                                        hexpand=hexpand,  
     86                                                                                        vexpand=vexpand, 
     87                                                                                        font=font, 
     88                                                                                        base_color=base_color, 
     89                                                                                        background_color=background_color, 
     90                                                                                        foreground_color=foreground_color, 
     91                                                                                        selection_color=selection_color, 
     92                                                                                        border_size=border_size, 
     93                                                                                        position_technique=position_technique, 
     94                                                                                        is_focusable=is_focusable, 
     95                                                                                        comment=comment) 
     96 
     97                if orientation is not None: self.orientation = orientation 
     98                if value is not None: self.value = value 
    7399 
    74100                self.accepts_data = True 
    75                 self._realSetData = self.setValue 
    76                 self._realGetData = self.getValue 
     101                self._realSetData = self._setValue 
     102                self._realGetData = self._getValue 
    77103 
    78         def getValue(self): 
     104        def _getValue(self): 
    79105                """getValue(self) -> int""" 
    80106                return self.real_widget.getValue() 
    81107 
    82         def setValue(self, value): 
     108        def _setValue(self, value): 
    83109                """setValue(self, int value)""" 
    84110                if type(value) != int: 
    85111                        raise RuntimeError("PercentageBar only accepts integer values") 
    86112                self.real_widget.setValue(value) 
    87         value = property(getValue, setValue) 
     113        value = property(_getValue, _setValue) 
    88114 
    89         def setOrientation(self, orientation): 
     115        def _setOrientation(self, orientation): 
    90116                """setOrientation(self, Orientation orientation)""" 
    91117                self.real_widget.setOrientation(orientation) 
    92118 
    93         def getOrientation(self): 
     119        def _getOrientation(self): 
    94120                """getOrientation(self) -> int""" 
    95121                return self.real_widget.getOrientation() 
    96         orientation = property(getOrientation, setOrientation) 
     122        orientation = property(_getOrientation, _setOrientation) 
  • trunk/engine/python/fife/extensions/pychan/widgets/radiobutton.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4444                                                                                            Attr('group') 
    4545                                                                                          ] 
    46  
    47         def __init__(self, 
     46        DEFAULT_GROUP = "_no_group_" 
     47         
     48        def __init__(self,  
    4849                                 parent = None,  
    49                                  name = BasicTextWidget.DEFAULT_NAME, 
    50                                  size = BasicTextWidget.DEFAULT_SIZE,  
    51                                  min_size = BasicTextWidget.DEFAULT_MIN_SIZE,  
    52                                  max_size = BasicTextWidget.DEFAULT_MAX_SIZE, 
    53                                  helptext = BasicTextWidget.DEFAULT_HELPTEXT,  
    54                                  position = BasicTextWidget.DEFAULT_POSITION, 
     50                                 name = None, 
     51                                 size = None, 
     52                                 min_size = None,  
     53                                 max_size = None,  
     54                                 helptext = None,  
     55                                 position = None,  
    5556                                 style = None,  
    56                                  hexpand = None,  
     57                                 hexpand = None, 
    5758                                 vexpand = None, 
    58                                  text=u"",  
    59                                  group="_no_group_"): 
     59                                 font = None, 
     60                                 base_color = None, 
     61                                 background_color = None, 
     62                                 foreground_color = None, 
     63                                 selection_color = None, 
     64                                 border_size = None, 
     65                                 position_technique = None, 
     66                                 is_focusable = None, 
     67                                 comment = None, 
     68                                 margins = None, 
     69                                 text = None,  
     70                                 group = None): 
    6071                                  
    6172                self.real_widget = fife.RadioButton() 
     73                self.group = self.DEFAULT_GROUP 
     74                 
    6275                super(RadioButton,self).__init__(parent=parent,  
    6376                                                                                 name=name,  
     
    7083                                                                                 hexpand=hexpand,  
    7184                                                                                 vexpand=vexpand, 
     85                                                                                 font=font, 
     86                                                                                 base_color=base_color, 
     87                                                                                 background_color=background_color, 
     88                                                                                 foreground_color=foreground_color, 
     89                                                                                 selection_color=selection_color, 
     90                                                                                 border_size=border_size, 
     91                                                                                 position_technique=position_technique, 
     92                                                                                 is_focusable=is_focusable, 
     93                                                                                 comment=comment, 
    7294                                                                                 text=text) 
    7395 
    74                 self.group = group 
     96                if group is not None: self.group = group 
    7597 
    7698                # Prepare Data collection framework 
  • trunk/engine/python/fife/extensions/pychan/widgets/scrollarea.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4646        def __init__(self, 
    4747                                 parent = None,  
    48                                  name = Widget.DEFAULT_NAME, 
    49                                  size = Widget.DEFAULT_SIZE,  
    50                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    51                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    52                                  helptext = u"",  
    53                                  position = Widget.DEFAULT_POSITION, 
     48                                 name = None, 
     49                                 size = None, 
     50                                 min_size = None,  
     51                                 max_size = None,  
     52                                 helptext = None,  
     53                                 position = None,  
    5454                                 style = None,  
    55                                  hexpand = None,  
    56                                  vexpand = None): 
     55                                 hexpand = None, 
     56                                 vexpand = None, 
     57                                 font = None, 
     58                                 base_color = None, 
     59                                 background_color = None, 
     60                                 foreground_color = None, 
     61                                 selection_color = None, 
     62                                 border_size = None, 
     63                                 position_technique = None, 
     64                                 is_focusable = None, 
     65                                 comment = None, 
     66                                 content = None, 
     67                                 vertical_scrollbar = None, 
     68                                 horizontal_scrollbar = None): 
    5769                                  
    5870                self.real_widget = fife.ScrollArea() 
     
    6880                                                                                hexpand=hexpand,  
    6981                                                                                vexpand=vexpand) 
     82                                                                                 
     83                if content is not None: self.content = content 
     84                if vertical_scrollbar is not None: self.vertical_scrollbar = vertical_scrollbar 
     85                if horizontal_scrollbar is not None: self.horizontal_scrollbar = horizontal_scrollbar 
    7086 
    7187        def addChild(self,widget): 
  • trunk/engine/python/fife/extensions/pychan/widgets/slider.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2010 by the FIFE team 
     4#  Copyright (C) 2005-2011 by the FIFE team 
    55#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
     
    5454        DEFAULT_HEXPAND = 1 
    5555        DEFAULT_VEXPAND = 0 
     56         
     57        DEFAULT_SIZE = 10,10 
     58        DEFAULT_MIN_SIZE = 10,10 
     59         
     60        DEFAULT_SCALE_START = 0.0 
     61        DEFAULT_SCALE_END = 1.0 
     62        DEFAULT_STEP_LENGTH = 0.1 
     63        DEFAULT_MARKER_LENGTH = 10 
     64        DEFAULT_ORIENTATION = HORIZONTAL 
    5665 
    5766        def __init__(self,  
    5867                                 parent = None,  
    59                                  name = Widget.DEFAULT_NAME, 
    60                                  size = Widget.DEFAULT_SIZE,  
    61                                  min_size=(10,10),  
    62                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    63                                  helptext = Widget.DEFAULT_HELPTEXT,  
    64                                  position = Widget.DEFAULT_POSITION, 
     68                                 name = None, 
     69                                 size = None,  
     70                                 min_size = None,  
     71                                 max_size = None, 
     72                                 helptext = None,  
     73                                 position = None, 
    6574                                 style = None,  
    6675                                 hexpand = None,  
    6776                                 vexpand = None, 
    68                                  scaleStart = 0.0,  
    69                                  scaleEnd = 1.0,  
    70                                  orientation = HORIZONTAL): 
     77                                 font = None, 
     78                                 base_color = None, 
     79                                 background_color = None, 
     80                                 foreground_color = None, 
     81                                 selection_color = None, 
     82                                 border_size = None, 
     83                                 position_technique = None, 
     84                                 is_focusable = None, 
     85                                 comment = None, 
     86                                 scale_start = None,  
     87                                 scale_end = None, 
     88                                 step_length = None, 
     89                                 marker_length = None, 
     90                                 orientation = None): 
    7191                                  
    72                 self.real_widget = fife.Slider(scaleStart, scaleEnd) 
    73                 self.orientation = orientation 
    74                 self.setOrientation(self.orientation) 
     92                self.real_widget = fife.Slider(scale_start or self.DEFAULT_SCALE_START, scale_end or self.DEFAULT_SCALE_END) 
     93                self.orientation = self.DEFAULT_ORIENTATION 
     94                self.step_length = self.DEFAULT_STEP_LENGTH 
     95                self.marker_length = self.DEFAULT_MARKER_LENGTH 
     96                 
    7597                super(Slider, self).__init__(parent=parent,  
    7698                                                                         name=name,  
     
    82104                                                                         style=style,  
    83105                                                                         hexpand=hexpand,  
    84                                                                          vexpand=vexpand) 
    85  
     106                                                                         vexpand=vexpand, 
     107                                                                         font=font, 
     108                                                                         base_color=base_color, 
     109                                                                         background_color=background_color, 
     110                                                                         foreground_color=foreground_color, 
     111                                                                         selection_color=selection_color, 
     112                                                                         border_size=border_size, 
     113                                                                         position_technique=position_technique, 
     114                                                                         is_focusable=is_focusable, 
     115                                                                         comment=comment) 
     116                 
     117                if orientation is not None: self.orientation = orientation 
     118                if scale_start is not None: self.scale_start = scale_start 
     119                if scale_end is not None: self.scale_end = scale_end 
     120                if step_length is not None: self.step_lenght = step_length 
     121                if marker_length is not None: self.marker_length = marker_length 
     122                 
    86123                self.accepts_data = True 
    87                 self._realSetData = self.setValue 
    88                 self._realGetData = self.getValue 
     124                self._realSetData = self._setValue 
     125                self._realGetData = self._getValue 
    89126 
    90127        def _setScale(self, start, end): 
     
    96133                self.real_widget.setScale(start, end) 
    97134 
    98         def getScaleStart(self): 
     135        def _getScaleStart(self): 
    99136                """getScaleStart(self) -> double""" 
    100137                return self.real_widget.getScaleStart() 
    101138 
    102         def setScaleStart(self, start): 
     139        def _setScaleStart(self, start): 
    103140                """setScaleStart(self, double scaleStart)""" 
    104141                if type(start) != float: 
    105142                        raise RuntimeError("Slider expects float for start scale") 
    106143                self.real_widget.setScaleStart(start) 
    107         scale_start = property(getScaleStart, setScaleStart) 
     144        scale_start = property(_getScaleStart, _setScaleStart) 
    108145 
    109         def getScaleEnd(self): 
     146        def _getScaleEnd(self): 
    110147                """getScaleEnd(self) -> double""" 
    111148                return self.real_widget.getScaleEnd() 
    112149 
    113         def setScaleEnd(self, end): 
     150        def _setScaleEnd(self, end): 
    114151                """setScaleEnd(self, double scaleEnd)""" 
    115152                if type(end) != float: 
    116153                        raise RuntimeError("Slider expects float for end scale") 
    117154                self.real_widget.setScaleEnd(end) 
    118         scale_end = property(getScaleEnd, setScaleEnd) 
     155        scale_end = property(_getScaleEnd, _setScaleEnd) 
    119156 
    120         def getValue(self): 
     157        def _getValue(self): 
    121158                """getValue(self) -> double""" 
    122159                return self.real_widget.getValue() 
    123160 
    124         def setValue(self, value): 
     161        def _setValue(self, value): 
    125162                """setValue(self, double value)""" 
    126163                if type(value) != float: 
    127164                        raise RuntimeError("Slider only accepts float values") 
    128                 self.real_widget.setValue(value) 
     165                self.real_widget.setValue(value)                 
     166        value = property(_getValue, _setValue) 
    129167 
    130         def setMarkerLength(self, length): 
     168        def _setMarkerLength(self, length): 
    131169                """setMarkerLength(self, int length)""" 
    132170                if type(length) != int: 
     
    134172                self.real_widget.setMarkerLength(length) 
    135173 
    136         def getMarkerLength(self): 
     174        def _getMarkerLength(self): 
    137175                """getMarkerLength(self) -> int""" 
    138176                return self.real_widget.getMarkerLength() 
    139         marker_length = property(getMarkerLength, setMarkerLength) 
     177        marker_length = property(_getMarkerLength, _setMarkerLength) 
    140178 
    141         def setOrientation(self, orientation): 
     179        def _setOrientation(self, orientation): 
    142180                """setOrientation(self, Orientation orientation)""" 
    143181                self.real_widget.setOrientation(orientation) 
    144182 
    145         def getOrientation(self): 
     183        def _getOrientation(self): 
    146184                """getOrientation(self) -> int""" 
    147185                return self.real_widget.getOrientation() 
    148         orientation = property(getOrientation, setOrientation) 
     186        orientation = property(_getOrientation, _setOrientation) 
    149187 
    150         def setStepLength(self, length): 
     188        def _setStepLength(self, length): 
    151189                """setStepLength(self, double length)""" 
    152190                if type(length) != float: 
     
    154192                self.real_widget.setStepLength(length) 
    155193 
    156         def getStepLength(self): 
     194        def _getStepLength(self): 
    157195                """getStepLength(self) -> double""" 
    158196                return self.real_widget.getStepLength() 
    159         step_length = property(getStepLength, setStepLength) 
     197        step_length = property(_getStepLength, _setStepLength) 
  • trunk/engine/python/fife/extensions/pychan/widgets/textbox.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4545        DEFAULT_HEXPAND = 1 
    4646        DEFAULT_VEXPAND = 1 
     47        DEFAULT_TEXT = u"" 
     48        DEFAULT_FILENAME = "" 
    4749 
    4850        def __init__(self,  
    4951                                 parent = None,  
    50                                  name = Widget.DEFAULT_NAME, 
    51                                  size = Widget.DEFAULT_SIZE,  
    52                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    53                                  max_size = Widget.DEFAULT_MAX_SIZE, 
    54                                  helptext = Widget.DEFAULT_HELPTEXT, 
    55                                  position = Widget.DEFAULT_POSITION, 
     52                                 name = None, 
     53                                 size = None, 
     54                                 min_size = None,  
     55                                 max_size = None,  
     56                                 helptext = None,  
     57                                 position = None,  
    5658                                 style = None,  
    57                                  hexpand = None,  
     59                                 hexpand = None, 
    5860                                 vexpand = None, 
    59                                  text = u"", 
    60                                  filename = ""): 
     61                                 font = None, 
     62                                 base_color = None, 
     63                                 background_color = None, 
     64                                 foreground_color = None, 
     65                                 selection_color = None, 
     66                                 border_size = None, 
     67                                 position_technique = None, 
     68                                 is_focusable = None, 
     69                                 comment = None, 
     70                                 margins = None, 
     71                                 text = None, 
     72                                 filename = None): 
    6173                                  
    6274                self.real_widget = fife.TextBox() 
    63                 self.text = text 
    64                 self.filename = filename 
     75                self.text = text or self.DEFAULT_TEXT 
     76                self.filename = filename or self.DEFAULT_FILENAME 
    6577                super(TextBox,self).__init__(parent=parent,  
    66                                                                          name=name,  
    67                                                                          size=size,  
    68                                                                          min_size=min_size,  
    69                                                                          max_size=max_size, 
    70                                                                          helptext=helptext,  
    71                                                                          position=position, 
    72                                                                          style=style,  
    73                                                                          hexpand=hexpand,  
    74                                                                          vexpand=vexpand) 
     78                                                                         name=name,  
     79                                                                         size=size,  
     80                                                                         min_size=min_size,  
     81                                                                         max_size=max_size, 
     82                                                                         helptext=helptext,  
     83                                                                         position=position, 
     84                                                                         style=style,  
     85                                                                         hexpand=hexpand,  
     86                                                                         vexpand=vexpand, 
     87                                                                         font=font, 
     88                                                                         base_color=base_color, 
     89                                                                         background_color=background_color, 
     90                                                                         foreground_color=foreground_color, 
     91                                                                         selection_color=selection_color, 
     92                                                                         border_size=border_size, 
     93                                                                         position_technique=position_technique, 
     94                                                                         is_focusable=is_focusable, 
     95                                                                         comment=comment) 
    7596 
    7697                # Prepare Data collection framework 
  • trunk/engine/python/fife/extensions/pychan/widgets/textfield.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    4242        DEFAULT_HEXPAND = 1 
    4343        DEFAULT_VEXPAND = 0 
     44        DEFAULT_TEXT = u"" 
    4445 
    45         def __init__(self, 
     46        def __init__(self,  
    4647                                 parent = None,  
    47                                  name = Widget.DEFAULT_NAME, 
    48                                  size = Widget.DEFAULT_SIZE,  
    49                                  min_size = Widget.DEFAULT_MIN_SIZE,  
    50                                  max_size = Widget.DEFAULT_MAX_SIZE,  
    51                                  helptext = Widget.DEFAULT_HELPTEXT,  
    52                                  position = Widget.DEFAULT_POSITION, 
     48                                 name = None, 
     49                                 size = None, 
     50                                 min_size = None,  
     51                                 max_size = None,  
     52                                 helptext = None,  
     53                                 position = None,  
    5354                                 style = None,  
    54                                  hexpand = None,  
     55                                 hexpand = None, 
    5556                                 vexpand = None, 
    56                                  text = u""): 
     57                                 font = None, 
     58                                 base_color = None, 
     59                                 background_color = None, 
     60                                 foreground_color = None, 
     61                                 selection_color = None, 
     62                                 border_size = None, 
     63                                 position_technique = None, 
     64                                 is_focusable = None, 
     65                                 comment = None, 
     66                                 margins = None, 
     67                                 text = None): 
    5768                                  
    5869                self.real_widget = fife.TextField() 
    59                 self.text = text 
     70                self.text = text or self.DEFAULT_TEXT 
    6071                super(TextField,self).__init__(parent=parent,  
    6172                                                                           name=name,  
  • trunk/engine/python/fife/extensions/pychan/widgets/widget.py

    r3785 r3786  
    22 
    33# #################################################################### 
    4 #  Copyright (C) 2005-2009 by the FIFE team 
    5 #  http://www.fifengine.de 
     4#  Copyright (C) 2005-2011 by the FIFE team 
     5#  http://www.fifengine.net 
    66#  This file is part of FIFE. 
    77# 
     
    108108        DEFAULT_HELPTEXT = u"" 
    109109        DEFAULT_POSITION = 0, 0 
     110        DEFAULT_FONT = "default" 
     111        DEFAULT_BORDER_SIZE = 0 
     112        DEFAULT_POSITION_TECHNIQUE = "explicit" 
     113        DEFAULT_COMMENT = u"" 
    110114 
    111115        HIDE_SHOW_ERROR = """\ 
     
    117121        def __init__(self, 
    118122                                 parent = None,  
    119                                  name = DEFAULT_NAME, 
    120                                  size = DEFAULT_SIZE,  
    121                                  min_size = DEFAULT_MIN_SIZE,  
    122                                  max_size = DEFAULT_MAX_SIZE,  
    123                                  helptext = DEFAULT_HELPTEXT,  
    124                                  position = DEFAULT_POSITION,  
     123                                 name = None, 
     124                                 size = None, 
     125                                 min_size = None,  
     126                                 max_size = None,  
     127                                 helptext = None,  
     128                                 position = None,  
    125129                                 style = None,  
    126130                                 hexpand = None, 
    127                                  vexpand = None): 
    128  
     131                                 vexpand = None, 
     132                                 font = None, 
     133                                 base_color = None, 
     134                                 background_color = None, 
     135                                 foreground_color = None, 
     136                                 selection_color = None, 
     137                                 border_size = None, 
     138                                 position_technique = None, 
     139                                 is_focusable = None, 
     140                                 comment = None): 
     141                 
     142                # Make sure the real_widget has been created 
    129143                assert( hasattr(self,'real_widget') ) 
     144                 
    130145                self.event_mapper = events.EventMapper(self) 
     146                 
    131147                self._visible = False 
    132148                self._extra_border = (0,0) 
    133                 self.hexpand = hexpand or self.DEFAULT_HEXPAND 
    134                 self.vexpand = vexpand or self.DEFAULT_VEXPAND  
    135                 # Simple way to get at least some compat layout: 
    136                 if get_manager().compat_layout: 
    137                         self.hexpand, self.vexpand = 0,0 
    138149 
    139150                # Data distribution & retrieval settings 
    140151                self.accepts_data = False 
    141152                self.accepts_initial_data = False 
    142  
     153                 
     154                #set all defaults 
     155                if get_manager().compat_layout: 
     156                        self.hexpand, self.vexpand = 0,0 
     157                else: 
     158                        self.hexpand = self.DEFAULT_HEXPAND 
     159                        self.vexpand = self.DEFAULT_VEXPAND              
     160 
     161                self.name = self.DEFAULT_NAME 
     162                self.has_name = False 
     163                self.position = self.DEFAULT_POSITION 
     164                self.position_technique = self.DEFAULT_POSITION_TECHNIQUE 
     165                self.font = self.DEFAULT_FONT 
     166                self.min_size = self.DEFAULT_MIN_SIZE 
     167                self.max_size = self.DEFAULT_MAX_SIZE 
     168                self.size = self.DEFAULT_SIZE 
     169                self.border_size = self.DEFAULT_BORDER_SIZE 
     170                self.helptext = self.DEFAULT_HELPTEXT 
     171                self.comment = self.DEFAULT_COMMENT 
     172         
    143173                # Parent attribute makes sure we only have one parent, 
    144174                # that tests self.__parent - so make sure we have the attr here. 
     
    146176                self.parent = parent 
    147177 
    148                 self.has_name = False 
    149                 self.name = name 
    150  
    151                 self.position = position 
    152                 self.min_size = min_size 
    153                 self.max_size = max_size 
    154                 self.size = size 
    155                 self.position_technique = "explicit" 
    156                 self.font = 'default' 
    157  
    158                 # Inherit style 
     178                # Inherit and apply style 
    159179                if style is None and parent: 
    160180                        style = parent.style 
    161181                self.style = style or "default" 
    162  
    163                 self.helptext = helptext 
    164                 self.comment = u"" 
    165                 # Not needed as attrib assignment will trigger manager.stylize call 
    166                 #manager.stylize(self,self.style) 
     182                 
     183                # override everything style has set 
     184                if vexpand is not None: self.vexpand = vexpand 
     185                if hexpand is not None: self.hexpand = hexpand 
     186                if name is not None:  
     187                        self.name = name 
     188                        self.has_name = True 
     189 
     190                if position is not None: self.position = position 
     191                if position_technique is not None: self.position_technique = position_technique 
     192                if font is not None: self.font = font 
     193                 
     194                # only set this if it's provided 
     195                if is_focusable is not None: self.is_focusable = is_focusable 
     196                 
     197                if min_size is not None: self.min_size = min_size 
     198                if max_size is not None: self.max_size = max_size 
     199                if size is not None: self.size = size 
     200                if border_size is not None: self.border_size = border_size 
     201                 
     202                if helptext is not None: self.helptext = helptext 
     203                if comment is not None: self.comment = comment 
     204 
     205                # these are set in the default style 
     206                if base_color is not None: self.base_color = base_color 
     207                if background_color is not None: self.background_color = background_color 
     208                if foreground_color is not None: self.foreground_color = foreground_color 
     209                if selection_color is not None: self.selection_color = selection_color 
    167210 
    168211        def execute(self,bind): 
     
    829872        def _getParent(self): return self.__parent 
    830873        def _setParent(self,parent): 
     874                if parent and not issubclass(type(parent), Widget): 
     875                        raise RuntimeError("Parent must be subclass of the Widget type.") 
     876         
    831877                if self.__parent is not parent: 
    832878                        if self.__parent and parent is not None: 
  • trunk/tests/fife_test/tests/PychanTest.py

    r3770 r3786  
    274274                pbar = self.widget.findChild(name="pbar") 
    275275                 
    276                 pbar.value = int(pbarslider.getValue()) 
     276                pbar.value = int(pbarslider.value) 
    277277 
    278278class ColorExample(PyChanExample): 
     
    312312                }) 
    313313                # alpha value needs to be set, otherwise you don't see colors ;-) 
    314                 self.widget.findChild(name="base_aslider").setValue(float(255)) 
    315                 self.widget.findChild(name="background_aslider").setValue(float(255)) 
    316                 self.widget.findChild(name="foreground_aslider").setValue(float(255)) 
    317                 self.widget.findChild(name="selection_aslider").setValue(float(255)) 
     314                self.widget.findChild(name="base_aslider").value = float(255) 
     315                self.widget.findChild(name="background_aslider").value = float(255) 
     316                self.widget.findChild(name="foreground_aslider").value = float(255) 
     317                self.widget.findChild(name="selection_aslider").value = float(255) 
    318318                 
    319319                # init stuff 
     
    328328                Update rgba base colors of all examples and show the values 
    329329                """ 
    330                 r = int(self.widget.findChild(name="base_rslider").getValue()) 
    331                 g = int(self.widget.findChild(name="base_gslider").getValue()) 
    332                 b = int(self.widget.findChild(name="base_bslider").getValue()) 
    333                 a = int(self.widget.findChild(name="base_aslider").getValue()) 
     330                r = int(self.widget.findChild(name="base_rslider").value) 
     331                g = int(self.widget.findChild(name="base_gslider").value) 
     332                b = int(self.widget.findChild(name="base_bslider").value) 
     333                a = int(self.widget.findChild(name="base_aslider").value) 
    334334 
    335335                # update slider labels 
     
    355355                Update rgba background colors of all examples and show the values 
    356356                """ 
    357                 r = int(self.widget.findChild(name="background_rslider").getValue()) 
    358                 g = int(self.widget.findChild(name="background_gslider").getValue()) 
    359                 b = int(self.widget.findChild(name="background_bslider").getValue()) 
    360                 a = int(self.widget.findChild(name="background_aslider").getValue()) 
     357                r = int(self.widget.findChild(name="background_rslider").value) 
     358                g = int(self.widget.findChild(name="background_gslider").value) 
     359                b = int(self.widget.findChild(name="background_bslider").value) 
     360                a = int(self.widget.findChild(name="background_aslider").value) 
    361361 
    362362                # update slider labels 
     
    382382                Update rgba selection colors of all examples and show the values 
    383383                """ 
    384                 r = int(self.widget.findChild(name="selection_rslider").getValue()) 
    385                 g = int(self.widget.findChild(name="selection_gslider").getValue()) 
    386                 b = int(self.widget.findChild(name="selection_bslider").getValue()) 
    387                 a = int(self.widget.findChild(name="selection_aslider").getValue()) 
     384                r = int(self.widget.findChild(name="selection_rslider").value) 
     385                g = int(self.widget.findChild(name="selection_gslider").value) 
     386                b = int(self.widget.findChild(name="selection_bslider").value) 
     387                a = int(self.widget.findChild(name="selection_aslider").value) 
    388388 
    389389                # update slider labels 
     
    409409                Update rgba foreground colors of all examples and show the values 
    410410                """ 
    411                 r = int(self.widget.findChild(name="foreground_rslider").getValue()) 
    412                 g = int(self.widget.findChild(name="foreground_gslider").getValue()) 
    413                 b = int(self.widget.findChild(name="foreground_bslider").getValue()) 
    414                 a = int(self.widget.findChild(name="foreground_aslider").getValue()) 
     411                r = int(self.widget.findChild(name="foreground_rslider").value) 
     412                g = int(self.widget.findChild(name="foreground_gslider").value) 
     413                b = int(self.widget.findChild(name="foreground_bslider").value) 
     414                a = int(self.widget.findChild(name="foreground_aslider").value) 
    415415 
    416416                # update slider labels 
     
    448448                load XML file and setup callbacks 
    449449                """ 
     450                 
    450451                self.widget = pychan.loadXML(self.xmlFile) 
    451452                 
     
    470471                 
    471472                self.delay_slider = self.widget.findChild(name="delay") 
    472                 self.delay_slider.setValue(float(DEFAULT_DELAY)) 
     473                self.delay_slider.value = float(DEFAULT_DELAY) 
    473474                 
    474475                self.delay_display = self.widget.findChild(name="delay_label") 
     
    490491        def _set_delay_display(self): 
    491492                """ set delay display according to slider value """ 
    492                 value = self.delay_slider.getValue() 
     493                value = self.delay_slider.value 
    493494                self.delay_display.text = unicode(str(int(value)))               
    494495                 
     
    502503                self._reset_anim(type) 
    503504                kwargs = { 
    504                         'delay' : int(self.delay_slider.getValue()), 
     505                        'delay' : int(self.delay_slider.value), 
    505506                        'callback' : None, 
    506507                        'repeat' : 0, 
  • trunk/tools/editor/plugins/ObjectSelector.py

    r3694 r3786  
    4646         
    4747        def __init__(self,callback,**kwargs): 
    48                 super(ObjectIcon,self).__init__(**kwargs) 
     48                super(ObjectIcon,self).__init__() 
    4949 
    5050                self.callback = callback         
     
    5757 
    5858                # Icon 
    59                 self.icon = widgets.Icon(**kwargs) 
     59                self.icon = widgets.Icon(image=kwargs["image"]) 
    6060                self.addChild(self.icon) 
    6161 
     
    6363                hbox = widgets.HBox(padding=1) 
    6464                self.addChild(hbox) 
    65                 self.label = widgets.Label(**kwargs) 
     65                self.label = widgets.Label(text=kwargs["text"]) 
    6666                hbox.addChild(self.label) 
    6767 
     
    114114         
    115115        def __init__(self,**kwargs): 
    116                 super(ObjectIconList, self).__init__(max_size=(5000,500000), **kwargs) 
     116                super(ObjectIconList, self).__init__(max_size=(5000,500000), name=kwargs['name']) 
    117117                self.base_color = self.background_color 
    118118 
Note: See TracChangeset for help on using the changeset viewer.