diff options
Diffstat (limited to 'src/kicadtoNgspice/Model.py')
-rw-r--r-- | src/kicadtoNgspice/Model.py | 120 |
1 files changed, 68 insertions, 52 deletions
diff --git a/src/kicadtoNgspice/Model.py b/src/kicadtoNgspice/Model.py index 3f83b0d0..7366a593 100644 --- a/src/kicadtoNgspice/Model.py +++ b/src/kicadtoNgspice/Model.py @@ -7,73 +7,79 @@ import os class Model(QtGui.QWidget): """ - This class creates Model Tab of KicadtoNgspice window. + This class creates Model Tab of KicadtoNgspice window. The widgets are created dynamically in the Model Tab. """ - - def __init__(self,schematicInfo,modelList,clarg1): - + + def __init__(self, schematicInfo, modelList, clarg1): + QtGui.QWidget.__init__(self) - - #Processing for getting previous values + + # Processing for getting previous values kicadFile = clarg1 - (projpath,filename) = os.path.split(kicadFile) + (projpath, filename) = os.path.split(kicadFile) project_name = os.path.basename(projpath) try: - f = open(os.path.join(projpath,project_name+"_Previous_Values.json"),'r') + f = open( + os.path.join( + projpath, + project_name + + "_Previous_Values.json"), + 'r') data = f.read() json_data = json.loads(data) - except: + except BaseException: print("Model Previous Values JSON is Empty") - - - - #Creating track widget object + + # Creating track widget object self.obj_trac = TrackWidget.TrackWidget() - - #for increasing row and counting/tracking line edit widget + + # for increasing row and counting/tracking line edit widget self.nextrow = 0 self.nextcount = 0 - - #for storing line edit details position details + + # for storing line edit details position details self.start = 0 self.end = 0 - - #Creating GUI dynamically for Model tab + + # Creating GUI dynamically for Model tab self.grid = QtGui.QGridLayout() self.setLayout(self.grid) - + for line in modelList: #print "ModelList Item:",line - #Adding title label for model - #Key: Tag name,Value:Entry widget number - tag_dict = {} + # Adding title label for model + # Key: Tag name,Value:Entry widget number + tag_dict = {} modelbox = QtGui.QGroupBox() modelgrid = QtGui.QGridLayout() modelbox.setTitle(line[5]) self.start = self.nextcount - #line[7] is parameter dictionary holding parameter tags. + # line[7] is parameter dictionary holding parameter tags. i = 0 - for key,value in line[7].items(): + for key, value in line[7].items(): #print "Key : ",key #print "Value : ",value - #Check if value is iterable + # Check if value is iterable if hasattr(value, '__iter__'): - #For tag having vector value + # For tag having vector value temp_tag = [] for item in value: paramLabel = QtGui.QLabel(item) modelgrid.addWidget(paramLabel, self.nextrow, 0) - self.obj_trac.model_entry_var[self.nextcount] = QtGui.QLineEdit() - modelgrid.addWidget(self.obj_trac.model_entry_var[self.nextcount], self.nextrow, 1) + self.obj_trac.model_entry_var[self.nextcount] = QtGui.QLineEdit( + ) + modelgrid.addWidget( + self.obj_trac.model_entry_var[self.nextcount], self.nextrow, 1) try: for mod in json_data["model"]: if json_data["model"][mod]["type"] == line[2] and mod == line[3]: - self.obj_trac.model_entry_var[self.nextcount].setText(str(list(json_data["model"][mod]["values"][i].values())[0])) + self.obj_trac.model_entry_var[self.nextcount].setText( + str(list(json_data["model"][mod]["values"][i].values())[0])) i = i + 1 - except: + except BaseException: pass temp_tag.append(self.nextcount) @@ -84,16 +90,19 @@ class Model(QtGui.QWidget): else: paramLabel = QtGui.QLabel(value) modelgrid.addWidget(paramLabel, self.nextrow, 0) - self.obj_trac.model_entry_var[self.nextcount] = QtGui.QLineEdit() - modelgrid.addWidget(self.obj_trac.model_entry_var[self.nextcount], self.nextrow, 1) + self.obj_trac.model_entry_var[self.nextcount] = QtGui.QLineEdit( + ) + modelgrid.addWidget( + self.obj_trac.model_entry_var[self.nextcount], self.nextrow, 1) try: for mod in json_data["model"]: if json_data["model"][mod]["type"] == line[2] and mod == line[3]: - self.obj_trac.model_entry_var[self.nextcount].setText(str(list(json_data["model"][mod]["values"][i].values())[0])) + self.obj_trac.model_entry_var[self.nextcount].setText( + str(list(json_data["model"][mod]["values"][i].values())[0])) i = i + 1 - except: - pass + except BaseException: + pass tag_dict[key] = self.nextcount self.nextcount = self.nextcount + 1 @@ -102,17 +111,17 @@ class Model(QtGui.QWidget): self.end = self.nextcount - 1 #print "End",self.end modelbox.setLayout(modelgrid) - - #CSS + + # CSS modelbox.setStyleSheet(" \ QGroupBox { border: 1px solid gray; border-radius: 9px; margin-top: 0.5em; } \ QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; } \ ") - + self.grid.addWidget(modelbox) - + ''' - Listing all + Listing all line[0] = index line[1] = compLine line[2] = modelname #Change from compType to modelname @@ -122,20 +131,27 @@ class Model(QtGui.QWidget): line[6] = type i.e analog or digital Now adding start,end and tag_dict which will be line[7],line[8] and line[9] respectively ''' - - #This keeps the track of Model Tab Widget - lst = [line[0], line[1], line[2], line[3], line[4], line[5], line[6], self.start, self.end, tag_dict] + + # This keeps the track of Model Tab Widget + lst = [ + line[0], + line[1], + line[2], + line[3], + line[4], + line[5], + line[6], + self.start, + self.end, + tag_dict] check = 0 for itr in self.obj_trac.modelTrack: if itr == lst: - check = 1 - - if check == 0: + check = 1 + + if check == 0: self.obj_trac.modelTrack.append(lst) - + #print "The tag dictionary : ",tag_dict - - - + self.show() - |