summaryrefslogtreecommitdiff
path: root/OSCAD/modelEditor/selectModel.py
diff options
context:
space:
mode:
authorFahim2014-09-09 16:11:17 +0530
committerFahim2014-09-09 16:11:17 +0530
commitc632c1009c9e095135220c809d7c799841f160b3 (patch)
tree3be2def8313164c3bf32799714ba53a4a1326ed6 /OSCAD/modelEditor/selectModel.py
parente338c2a59389c22b8cca9a78d75e626ae779c405 (diff)
downloadFreeEDA-c632c1009c9e095135220c809d7c799841f160b3.tar.gz
FreeEDA-c632c1009c9e095135220c809d7c799841f160b3.tar.bz2
FreeEDA-c632c1009c9e095135220c809d7c799841f160b3.zip
Subject: Changing all content and name of directory and file to FreeEDA
Description: The content of file,name of directory and file has been changed in the below format. 1. Oscad to FreeEDA 2. OSCAD to FreeEDA 3. oscad to freeeda
Diffstat (limited to 'OSCAD/modelEditor/selectModel.py')
-rwxr-xr-xOSCAD/modelEditor/selectModel.py155
1 files changed, 0 insertions, 155 deletions
diff --git a/OSCAD/modelEditor/selectModel.py b/OSCAD/modelEditor/selectModel.py
deleted file mode 100755
index 1ca1e86..0000000
--- a/OSCAD/modelEditor/selectModel.py
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/usr/bin/python
-# selectModel.py is a python script to select a component to create a model. It developed for OSCAD software. It is written by Yogesh Dilip Save (yogessave@gmail.com).
-# Copyright (C) 2012 Yogesh Dilip Save, FOSS Project, IIT Bombay.
-# This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-# You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-from setPath import OSCAD_HOME
-from Tkinter import *
-import template
-import tkMessageBox
-import os.path
-import os
-import Pmw
-from string import maketrans
-
-class ModelNameList():
- """Class for specifying parameter of the model"""
- def __init__(self,parent,filename):
- self.parent=parent
- self.modelName=""
- self.modelType=""
- self.modelList=[]
- self.click_result=""
-
- # Collect model information from the circuit file
- try:
- self.OSCAD_HOME=OSCAD_HOME
- except NameError:
- try:
- self.OSCAD_HOME=os.environ["OSCAD_HOME"]
- except KeyError:
- tkMessageBox.showerror("Error OSCAD_HOME is not set","Please set OSCAD_HOME variable in .bashrc\n\nStep to set OSCAD_HOME variable:\n 1) Open ~/.bashrc using text editor (vi ~/.bash).\n 2) Add the line \"Export OSCAD_HOME=<path_of_oscad>\" to it.\n 3) source ~/.bashrc")
- exit(0)
-
- HOME=self.OSCAD_HOME="/modelEditor/"
- # Open the circuit file
- self.fileName=filename
- # Open parameter file
- if os.path.exists(self.fileName):
- try:
- f = open(self.fileName)
- except :
- tkMessageBox.showwarning("Bad input","Circuit netlist does not exit, please try again")
- return
- else:
- tkMessageBox.showwarning("Bad input","Circuit netlist does not exit, please try again")
- return
-
- # Read the data from file
- data=f.read()
-
- # Close the file
- f.close()
- netlist=data.splitlines()
- # Find the various model library required
- self.modelInfo={}
-
- for eachline in netlist:
- eachline=eachline.strip()
- if len(eachline)>1:
- eachline=eachline.lower()
- words=eachline.split()
- if eachline[0]=='d':
- modelName=words[3]
- modelType=words[3]
- self.modelList.append(words[0]+":"+modelName)
- self.modelInfo[modelName]=modelType
- elif eachline[0]=='q':
- modelName=words[4]
- if words[4]=='npn':
- modelType="NPN"
- elif words[4]=='pnp':
- modelType="PNP"
- else:
- modelType=words[4]
-
- self.modelList.append(words[0]+":"+modelName)
- self.modelInfo[modelName]=modelType
-
- elif eachline[0]=='m':
- modelName=words[4]
- if words[4]=='nmos':
- modelType="NMOS"
- elif words[4]=='pmos':
- modelType="PMOS"
- else:
- modelType=words[4]
- self.modelList.append(words[0]+":"+modelName)
- self.modelInfo[modelName]=modelType
-
- elif eachline[0]=='j':
- modelName=words[4]
- if words[4]=='pjf':
- modelType='PJF'
- elif words[4]=='njf':
- modelType='NJF'
- else:
- modelType=words[4]
- self.modelList.append(words[0]+":"+modelName)
- self.modelInfo[modelName]=modelType
- else:
- continue
-
- # Create the dialog.
-
- self.dialog = Pmw.SelectionDialog(parent,
- title = 'Model Selector',
- buttons = ('OK', 'Cancel'),
- defaultbutton = 'OK',
- scrolledlist_labelpos = 'n',
- label_text = 'Please select the model',
- scrolledlist_items=self.modelList,
- command = self.apply,
- )
- self.dialog.pack(fill = 'both', expand=1, padx=5, pady=5)
- self.dialog.activate()
-
- # Protocol when window is deleted.
- self.dialog.protocol("WM_DELETE_WINDOW",self.cancel)
-
- def apply(self,result):
- sels = self.dialog.getcurselection()
- self.click_result=result
- if result=="OK":
- if len(sels) == 0:
- print 'You clicked on', result, '(no selection)'
- return
- else:
- self.modelName=sels[0].partition(':')[2]
- self.modelType=self.modelInfo[self.modelName]
- self.status=1
-
- else:
- self.status=0
- self.dialog.withdraw()
- # Put focus back to the parent window
- self.parent.focus_set()
- # Destroy child window
- self.dialog.deactivate()
-
-# Action taken when cancel pressed
- def cancel(self, event=None, status=0):
- # Catch the status
- self.status=status
- # Put focus back to the parent window
- self.parent.focus_set()
- # Destroy child window
- self.destroy()
-
-if __name__=='__main__':
- root=Tk()
- model= ModelNameList(root,"xxx")
- mainloop()
-