Changeset 650

Show
Ignore:
Timestamp:
07/31/03 13:21:56 (5 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/maskcombo.py

    r649 r650  
    2424#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2525 
    26 from wxSkinLayoutObject import wx, wxSkinLayoutObject 
    27 from wxPython.lib.maskededit import wxMaskedComboBox, Field 
     26from wxPython.lib import maskededit 
     27from masktext import wx, masktext 
     28 
    2829#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2930#~ Class 
    3031#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3132 
    32 class maskcombo(wxSkinLayoutObject,wxMaskedComboBox): 
     33class maskcombo(masktext): 
    3334    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3435    #~ Constants / Variables / Etc.  
    3536    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3637 
    37     default_settings = wxSkinLayoutObject.default_settings.copy() 
     38    default_settings = masktext.default_settings.copy() 
    3839    default_settings.update({ 
    3940        'name':     __name__, 
    40         'wxid':       'wx.wxNewId()', 
     41        'wxid':     'wx.wxNewId()', 
    4142        }) 
    4243 
     
    4748    def SkinInitialize(self): 
    4849        winParent = self.wxGetParentObject(wx.wxWindowPtr) 
    49         kwSettings = self.wxSettingDict(['wxid', 'style', 'pos', 'size'], ['name', 'mask', 'choices', 
    50                                                                            'choiceRequired', 'formatcodes', 
    51                                                                            'validRegex', 'fields']) 
    52         self.object = wxMaskedComboBox(winParent, **kwSettings) 
     50 
     51        kwSettings = self.wxSettingDict(['wxid', 'style', 'pos', 'size', 'choices'], ['name', 'value']) 
     52        kwSettings.update(self._GetMaskCtrlSettings()) 
     53        kwSettings.update(self._GetFieldSettings()) 
     54 
     55        self.object = maskededit.wxMaskedComboBox(winParent, **kwSettings) 
     56 
    5357        self.wxInitialStandardOptions() 
    5458 
    55     def SkinFinalize(self): 
    56         self.wxFinalStandardOptions() 
    57  
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/masktext.py

    r649 r650  
    2424#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2525 
     26from wxPython.lib import maskededit 
    2627from wxSkinLayoutObject import wx, wxSkinLayoutObject 
    27 from wxPython.lib.maskededit import wxMaskedTextCtrl 
     28from maskfield import maskfield 
     29 
    2830#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2931#~ Class 
    3032#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3133 
    32 class masktext(wxSkinLayoutObject,wxMaskedTextCtrl): 
     34class masktext(wxSkinLayoutObject, maskfield): 
    3335    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3436    #~ Constants / Variables / Etc.  
     
    3638 
    3739    default_settings = wxSkinLayoutObject.default_settings.copy() 
     40    default_settings.update(maskfield.default_settings) 
    3841    default_settings.update({ 
    39         'name':     __name__, 
    40         'wxid':       'wx.wxNewId()', 
     42        'name':         __name__, 
     43        'wxid':         'wx.wxNewId()', 
    4144        }) 
     45 
     46    ctxVars = maskfield.ctxVars.copy() 
     47    ctxVars.update(vars(maskededit)) 
    4248 
    4349    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    4753    def SkinInitialize(self): 
    4854        winParent = self.wxGetParentObject(wx.wxWindowPtr) 
    49         kwSettings = self.wxSettingDict(['wxid', 'style', 'pos', 'size'], ['name','mask','choices', 
    50                                                                            'excludeChars','formatcodes', 
    51                                                                            'includeChars','validRegex', 
    52                                                                            'validRange','choiceRequired', 
    53                                                                            'defaultValue','demo' 
    54                                                                            ]
    55         self.object = wxMaskedTextCtrl(winParent, **kwSettings) 
     55 
     56        kwSettings = self.wxSettingDict(['wxid', 'style', 'pos', 'size'], ['name']) 
     57        kwSettings.update(self._GetMaskCtrlSettings()) 
     58        kwSettings.update(self._GetFieldSettings()) 
     59 
     60        self.object = maskededit.wxMaskedTextCtrl(winParent, **kwSettings
     61 
    5662        self.wxInitialStandardOptions() 
    5763 
    5864    def SkinFinalize(self): 
     65        fields = [x.object for x in self.Elements() if isinstance(x.object, maskededit.Field)] 
     66        if fields: 
     67            self.object.SetMaskParameters(fields=fields) 
     68 
    5969        self.wxFinalStandardOptions() 
    6070 
     71    def _GetMaskCtrlSettings(self): 
     72        maskCtrlSettings = self.wxSettingDict( 
     73            ['autoCompleteKeycodes', 'useFixedWidthFont', 'retainFieldValidation'],  
     74            ['autoformat', 'emptyBackgroundColor',  
     75            'validBackgroundColor', 'invalidBackgroundColor', 
     76            'foregroundColor', 'signedForegroundColor']) 
     77 
     78        # some aliases 
     79        if 'emptyBGColor' in self.settings: 
     80            maskCtrlSettings['emptyBackgroundColor'] = self.settings['emptyBGColor'] 
     81        if 'validBGColor' in self.settings: 
     82            maskCtrlSettings['validBackgroundColor'] = self.settings['validBGColor'] 
     83        if 'invalidBGColor' in self.settings: 
     84            maskCtrlSettings['invalidBackgroundColor'] = self.settings['invalidBGColor'] 
     85        if 'FGColor' in self.settings: 
     86            maskCtrlSettings['foregroundColor'] = self.settings['FGColor'] 
     87        if 'fgcolor' in self.settings: 
     88            maskCtrlSettings['foregroundColor'] = self.settings['fgcolor'] 
     89        if 'signedFGColor' in self.settings: 
     90            maskCtrlSettings['signedForegroundColor'] = self.settings['signedFGColor'] 
     91 
     92        return maskCtrlSettings 
     93 
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/wxSkinObject.py

    r614 r650  
    181181            result[each] = self.wxEvalCond(each, result.get(each)) 
    182182        for each in NonEval:  
    183             result[each] = self.settings[each] 
     183            try: result[each] = self.settings[each] 
     184            except KeyError: pass 
    184185        if 'wxid' in result: 
    185186            result['id'] = result['wxid'] 
  • trunk/RBSkinning/demo/wxPythonSkin/widgets/maskcombo.py

    r649 r650  
    1111        <panel sizercfg='1, wxEXPAND'> 
    1212            <layout sizercfg='1, wxEXPAND'> 
    13                 <maskcombo  choices='list goes here' mask='#/##'  formatcodes='F_' validRegex='^\d\/\d\d?' choiceRequired='1' fields='dict goes here'/> 
     13                <maskcombo mask='#/##' formatcodes='F_' validRegex='^\d\/\d\d?' /> 
     14                <maskcombo mask='#/##' formatcodes='F_' validRegex='^\d\/\d\d?' choices='"7/11", "5/12"' choiceRequired='1' /> 
    1415            </layout> 
    1516        </panel> 
  • trunk/RBSkinning/demo/wxPythonSkin/widgets/masktext.py

    r649 r650  
    1313        <panel sizercfg='1, wxEXPAND'> 
    1414            <layout sizercfg='1, wxEXPAND'> 
    15                 <masktext  name='Phone No'  mask='(###) ###-#### x:###' excludeChars='' formatcodes='F^-' includeChars='' validRegex='^\(\d{3}\) \d{3}-\d{4}' validRange='' choices='' choiceRequired='' defaultValue='' demo='1'/> 
     15                <masktext name='Phone No' mask='(###) ###-#### x:###' excludeChars='' formatcodes='F^-' includeChars='' validRegex='^\(\d{3}\) \d{3}-\d{4}'/> 
     16                <!-- 
     17                <masktext name='Phone No' mask='(###) ###-#### x:###' excludeChars='' formatcodes='F^-' includeChars='' validRegex='^\(\d{3}\) \d{3}-\d{4}' validRange='' choices='' choiceRequired='' defaultValue='' /> 
     18                --> 
    1619            </layout> 
    1720        </panel>