Пример #1
0
    def OnSetPropertyValues(self,event):
        try:
            d = self.pg.GetPropertyValues(inc_attributes=True)

            ss = []
            for k,v in d.iteritems():
                v = repr(v)
                if not v or v[0] != '<':
                    if k.startswith('@'):
                        ss.append('setattr(obj, "%s", %s)'%(k,v))
                    else:
                        ss.append('obj.%s = %s'%(k,v))

            dlg = MemoDialog(self,
                    "Enter Content for Object Used in SetPropertyValues",
                    '\n'.join(ss))  # default_object_content1

            if dlg.ShowModal() == wx.ID_OK:
                import datetime
                sandbox = {'obj':ValueObject(),
                           'wx':wx,
                           'datetime':datetime}
                exec_(dlg.tc.GetValue(), sandbox)
                t_start = time.time()
                #print(sandbox['obj'].__dict__)
                self.pg.SetPropertyValues(sandbox['obj'])
                t_end = time.time()
                self.log.write('SetPropertyValues finished in %.0fms\n' %
                               ((t_end-t_start)*1000.0))
        except:
            import traceback
            traceback.print_exc()
Пример #2
0
    def OnSetPropertyValues(self, event):
        try:
            d = self.pg.GetPropertyValues(inc_attributes=True)

            ss = []
            for k, v in d.iteritems():
                v = repr(v)
                if not v or v[0] != '<':
                    if k.startswith('@'):
                        ss.append('setattr(obj, "%s", %s)' % (k, v))
                    else:
                        ss.append('obj.%s = %s' % (k, v))

            dlg = MemoDialog(
                self, "Enter Content for Object Used in SetPropertyValues",
                '\n'.join(ss))  # default_object_content1

            if dlg.ShowModal() == wx.ID_OK:
                import datetime
                sandbox = {
                    'obj': ValueObject(),
                    'wx': wx,
                    'datetime': datetime
                }
                exec_(dlg.tc.GetValue(), sandbox)
                t_start = time.time()
                #print(sandbox['obj'].__dict__)
                self.pg.SetPropertyValues(sandbox['obj'])
                t_end = time.time()
                self.log.write('SetPropertyValues finished in %.0fms\n' %
                               ((t_end - t_start) * 1000.0))
        except:
            import traceback
            traceback.print_exc()
Пример #3
0
 def SetSaveData(self, data):
     mod = data["_defChild_mod"]
     dChild = mod + "." + data["_defChild_class"]
     six.exec_("import %s" % mod)
     self._defChild = eval(dChild)
     old = self.child
     self.child = MultiSplit(self, self, wx.Point(0, 0), self.GetSize())
     self.child.SetSaveData(data["child"])
     old.Destroy()
     self.OnMultiSize(None)
     self.child.OnSize(None)
Пример #4
0
 def SetSaveData(self, data):
     mod = data['_defChild_mod']
     dChild = mod + '.' + data['_defChild_class']
     six.exec_('import %s' % mod)
     self._defChild = eval(dChild)
     old = self.child
     self.child = MultiSplit(self, self, wx.Point(0, 0), self.GetSize())
     self.child.SetSaveData(data['child'])
     old.Destroy()
     self.OnMultiSize(None)
     self.child.OnSize(None)
Пример #5
0
 def OnAutoFill(self,event):
     try:
         dlg = MemoDialog(self,"Enter Content for Object Used for AutoFill",default_object_content1)
         if dlg.ShowModal() == wx.ID_OK:
             sandbox = {'object':ValueObject(),'wx':wx}
             exec_(dlg.tc.GetValue(), sandbox)
             t_start = time.time()
             self.pg.AutoFill(sandbox['object'])
             t_end = time.time()
             self.log.write('AutoFill finished in %.0fms\n' %
                            ((t_end-t_start)*1000.0))
     except:
         import traceback
         traceback.print_exc()
Пример #6
0
 def SetSaveData(self, data):
     mod = data["detailClass_mod"]
     dChild = mod + "." + data["detailClass_class"]
     six.exec_("import %s" % mod)
     detClass = eval(dChild)
     self.SetSize(data["x"], data["y"], data["w"], data["h"])
     old = self.detail
     self.detail = MultiClient(self, detClass)
     dData = data.get("detail", None)
     if dData:
         if hasattr(self.detail.child, "SetSaveData"):
             attr = getattr(self.detail.child, "SetSaveData")
             if callable(attr):
                 attr(dData)
     old.Destroy()
     self.detail.OnSize(None)
Пример #7
0
 def SetSaveData(self, data):
     mod = data['detailClass_mod']
     dChild = mod + '.' + data['detailClass_class']
     six.exec_('import %s' % mod)
     detClass = eval(dChild)
     self.SetSize(data['x'], data['y'], data['w'], data['h'])
     old = self.detail
     self.detail = MultiClient(self, detClass)
     dData = data.get('detail', None)
     if dData:
         if hasattr(self.detail.child, 'SetSaveData'):
             attr = getattr(self.detail.child, 'SetSaveData')
             if callable(attr):
                 attr(dData)
     old.Destroy()
     self.detail.OnSize(None)
Пример #8
0
 def OnAutoFill(self, event):
     try:
         dlg = MemoDialog(self,
                          "Enter Content for Object Used for AutoFill",
                          default_object_content1)
         if dlg.ShowModal() == wx.ID_OK:
             sandbox = {'object': ValueObject(), 'wx': wx}
             exec_(dlg.tc.GetValue(), sandbox)
             t_start = time.time()
             self.pg.AutoFill(sandbox['object'])
             t_end = time.time()
             self.log.write('AutoFill finished in %.0fms\n' %
                            ((t_end - t_start) * 1000.0))
     except:
         import traceback
         traceback.print_exc()