@@ -435,7 +435,7 @@ def AddVariablesToRegister(self, Data):
435
435
#------------------------------------------------------
436
436
def GetVariablesFromRegister (self , Data ):
437
437
for VariableName in Data :
438
- self .Shell .interp .locals [VariableName ] = FindObject (VariableName )
438
+ self .Shell .interp .locals [VariableName ] = self . ObjectRegister . FindObject (VariableName )
439
439
self .CheckScopeVariables ()
440
440
441
441
#------------------------------------------------------
@@ -537,9 +537,9 @@ def CheckLists(self):
537
537
538
538
539
539
def CheckRegisterContents (self ):
540
- CurrentRegister = self .ObjectRegister . __str__ (). split ( )
540
+ CurrentRegister = list ( self .ObjectRegister )
541
541
if CurrentRegister != self .Register :
542
- self .UpdateList (self .RegisterContentsListCtrl , self .GetRegisterContents (self . TYPES_TO_EXCLUDE ))
542
+ self .UpdateList (self .RegisterContentsListCtrl , self .GetRegisterContents ())
543
543
self .Register = CurrentRegister
544
544
545
545
def CheckScopeVariables (self ):
@@ -556,18 +556,12 @@ def UpdateList(self, ListCtrl, Data):
556
556
ListCtrl .SortList ()
557
557
558
558
559
- def GetRegisterContents (self , TypesToExclude = [] ):
559
+ def GetRegisterContents (self ):
560
560
Contents = {}
561
- VariableName = ""
562
- VariableType = ""
563
- for tok in self .ObjectRegister .__str__ ().split (" " ):
564
- #if starts with lparen, is type, else is name
565
- if tok .find ('(' )== 0 : #this is a variabletype
566
- VariableType = tok [1 :tok .rfind (')' )]
567
- if VariableType not in TypesToExclude :
568
- Contents .update ( {VariableName :VariableType } )
569
- else : #this is a variablename
570
- VariableName = tok
561
+ for entry in self .ObjectRegister :
562
+ VariableName = entry [0 ]
563
+ VariableType = self .GetRegisterTypeString (VariableName )
564
+ Contents .update ( {VariableName :VariableType } )
571
565
return Contents
572
566
573
567
@@ -586,15 +580,17 @@ def IsDecorated(self, String):
586
580
587
581
588
582
def GetRegisterTypeString (self , VariableName ):
589
- return self .GetTypeString ("RegisterGet('" + VariableName + "')" )
583
+ obj = self .ObjectRegister .FindObject (VariableName )
584
+ return self .GetTypeString (obj )
590
585
591
586
592
587
def GetVariableTypeString (self , VariableName ):
593
- return self .GetTypeString ("vars(self.Shell.interp)['locals']['" + VariableName + "']" )
588
+ obj = vars (self .Shell .interp )['locals' ][VariableName ]
589
+ return self .GetTypeString (obj )
594
590
595
591
596
- def GetTypeString (self , _Str ):
597
- exec ( " VariableType = str(type(" + _Str + "))" )
592
+ def GetTypeString (self , obj ):
593
+ VariableType = str (type (obj ) )
598
594
return VariableType [VariableType .find ("'" )+ 1 :VariableType .rfind ("'" )]
599
595
600
596
@@ -869,7 +865,6 @@ def OnTestInputBox(self, event):
869
865
frame .Show (True )
870
866
871
867
def OnTaskTree (self , event ):
872
- #taskManager = self.ObjectRegister.FindObject("TaskManager")
873
868
taskManager = mtsManagerLocal .GetInstance ()
874
869
if taskManager :
875
870
frame = ireTaskTree (None , - 1 , "Task Manager" , taskManager )
@@ -883,7 +878,6 @@ def OnTaskTree(self, event):
883
878
def OnOscilloscope (self , event ):
884
879
import gettext
885
880
gettext .install ("irepy" )
886
- #taskManager = self.ObjectRegister.FindObject("TaskManager")
887
881
taskManager = mtsManagerLocal .GetInstance ()
888
882
if taskManager :
889
883
self .scopeFrame = COscilloscope (self , taskManager )
0 commit comments