Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 27 additions & 22 deletions klayout_dot_config/python/SiEPIC/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -379,17 +379,18 @@ def __init__(self):
# Button Bindings
self.window.findChild('ok').clicked(self.ok)
self.window.findChild('cancel').clicked(self.close)
self.window.findChild('adiabatic').toggled(self.enable)
self.window.findChild('bezier').setEnabled(False)
#self.window.findChild('adiabatic').toggled(self.enable)
self.window.findChild('bend_parameter').setEnabled(True)
self.window.findChild("configuration").currentIndexChanged(self.config_changed)
self.loaded_technology = ''
self.clicked = True

def enable(self, val):
if self.window.findChild('adiabatic').isChecked():
self.window.findChild('bezier').setEnabled(True)
else:
self.window.findChild('bezier').setEnabled(False)
print("function no longer does anything")
# if self.window.findChild('adiabatic').isChecked():
# self.window.findChild('bend_parameter').setEnabled(True)
# else:
# self.window.findChild('bend_parameter').setEnabled(False)

def update(self):
from .utils import get_layout_variables, load_Waveguides_by_Tech
Expand Down Expand Up @@ -441,7 +442,11 @@ def config_changed(self, val):
else:
# regular waveguide
waveguide = params
if waveguide:
if waveguide:
if 'bend_type' in waveguide:
self.window.findChild('bend_type').text = waveguide['bend_type']
else:
self.window.findChild('bend_type').text = 'Bezier'
if 'width' in waveguide:
self.window.findChild('width').text = waveguide['width']
elif 'wg_width' in waveguide:
Expand All @@ -453,19 +458,11 @@ def config_changed(self, val):
else:
self.window.findChild('radius').text = '5'
if waveguide['adiabatic']:
self.window.findChild('adiabatic').setChecked(True)
self.window.findChild('bezier').text = str(waveguide['bezier'])
#self.window.findChild('adiabatic').setChecked(True)
self.window.findChild('bend_parameter').text = str(waveguide['bend_parameter'])
else:
self.window.findChild('adiabatic').setChecked(False)
# self.window.findChild('bezier').text = '0.45' # 0.45 makes a radial bend
self.window.findChild('bezier').text = ''

# in 0.3.77, made the GUI read-only; returning back to editable in 0.3.79 based on user request
# self.window.findChild('bezier').setEnabled(False)
# self.window.findChild('adiabatic').setEnabled(False)
# self.window.findChild('radius').setEnabled(False)
# self.window.findChild('width').setEnabled(False)
# self.window.findChild('bezier').setEnabled(False)
#self.window.findChild('adiabatic').setChecked(False)
self.window.findChild('bend_parameter').text = ''


def get_parameters(self, show):
Expand All @@ -484,11 +481,19 @@ def get_parameters(self, show):

self.loaded_technology = TECHNOLOGY['technology_name']

bezier = self.window.findChild('bezier').text
bend_parameter = self.window.findChild('bend_parameter').text

if self.window.findChild('bend_type').text in ['Euler','Bezier']:
adiabatic_status = True
else:
adiabatic_status = False

params = {'radius': float(self.window.findChild('radius').text),
'width': float(self.window.findChild('width').text),
'adiabatic': self.window.findChild('adiabatic').isChecked(),
'bezier': 0 if bezier=='' else float(bezier),
#'adiabatic': self.window.findChild('adiabatic').isChecked(),
'adiabatic': adiabatic_status,
'bend_type': self.window.findChild('bend_type').text,
'bend_parameter': 0 if bend_parameter=='' else float(bend_parameter),
'wgs': []}

waveguide_type = self.window.findChild('configuration').currentText
Expand Down
Loading