itkdb-gtk 0.10.0__tar.gz → 0.10.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of itkdb-gtk might be problematic. Click here for more details.
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/PKG-INFO +1 -1
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/GetShipments.py +1 -1
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/UploadTest.py +5 -5
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/WireBondGui.py +85 -45
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/__init__.py +1 -1
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/dashBoard.py +36 -2
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk.egg-info/PKG-INFO +1 -1
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/pyproject.toml +1 -1
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/README.md +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/CreateShipments.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/GlueWeight.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/ITkDB.desktop +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/ITkDB.svg +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/ITkDBlogin.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/ITkDButils.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/PanelVisualInspection.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/PetalReceptionTests.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/SensorUtils.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/ShowAttachments.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/ShowComments.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/ShowDefects.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/UploadModuleIV.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/UploadMultipleTests.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/UploadPetalInformation.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/dbGtkUtils.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/readAVSdata.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/readGoogleSheet.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk/untrash_component.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk.egg-info/SOURCES.txt +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk.egg-info/dependency_links.txt +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk.egg-info/entry_points.txt +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk.egg-info/requires.txt +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/itkdb_gtk.egg-info/top_level.txt +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/setup.cfg +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/test/testAnimated.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/test/testComponent.py +0 -0
- {itkdb_gtk-0.10.0 → itkdb_gtk-0.10.1}/test/test_holes.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: itkdb_gtk
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.1
|
|
4
4
|
Summary: A collection of Gtk based GUI to access ITkDB.
|
|
5
5
|
Author-email: Carlos Lacasta <carlos.lacasta@cern.ch>
|
|
6
6
|
Project-URL: Homepage, https://gitlab.cern.ch/atlas-itk/sw/db/itk-pdb-gtk-gui-utils
|
|
@@ -43,7 +43,7 @@ class ReceiveShipments(dbGtkUtils.ITkDBWindow):
|
|
|
43
43
|
global gtk_runs
|
|
44
44
|
if gtk_runs:
|
|
45
45
|
super().__init__(session=session, title="Upload AVS Data",
|
|
46
|
-
show_search="
|
|
46
|
+
show_search="Click to search shipments",
|
|
47
47
|
gtk_runs=gtk_runs, help=help)
|
|
48
48
|
|
|
49
49
|
self.init_window()
|
|
@@ -331,7 +331,7 @@ class UploadTest(dbGtkUtils.ITkDBWindow):
|
|
|
331
331
|
self.find_attachments()
|
|
332
332
|
self.find_comments()
|
|
333
333
|
self.find_defects()
|
|
334
|
-
|
|
334
|
+
|
|
335
335
|
self.entrySN.set_text(self.data["component"] if self.data["component"] else "")
|
|
336
336
|
self.entryTest.set_text(self.data["testType"])
|
|
337
337
|
self.comments = self.data.get("comments", [])
|
|
@@ -365,7 +365,7 @@ class UploadTest(dbGtkUtils.ITkDBWindow):
|
|
|
365
365
|
continue
|
|
366
366
|
else:
|
|
367
367
|
the_path = Path(A["path"]).expanduser().resolve()
|
|
368
|
-
|
|
368
|
+
|
|
369
369
|
self.attachments.append(ITkDButils.Attachment(the_path, A["title"], A["description"]))
|
|
370
370
|
|
|
371
371
|
if len(self.attachments) > 0:
|
|
@@ -390,7 +390,7 @@ class UploadTest(dbGtkUtils.ITkDBWindow):
|
|
|
390
390
|
if "comments" in self.data:
|
|
391
391
|
for C in self.data["comments"]:
|
|
392
392
|
self.comments.append(C)
|
|
393
|
-
|
|
393
|
+
|
|
394
394
|
if len(self.comments) > 0:
|
|
395
395
|
self.btn_comments.set_label("Comments ({})".format(len(self.comments)))
|
|
396
396
|
|
|
@@ -414,7 +414,7 @@ class UploadTest(dbGtkUtils.ITkDBWindow):
|
|
|
414
414
|
if "defects" in self.data:
|
|
415
415
|
for D in self.data["defects"]:
|
|
416
416
|
self.defects.append(D)
|
|
417
|
-
|
|
417
|
+
|
|
418
418
|
if len(self.defects) > 0:
|
|
419
419
|
self.btn_defects.set_label("Defects ({})".format(len(self.defects)))
|
|
420
420
|
|
|
@@ -443,7 +443,7 @@ class UploadTest(dbGtkUtils.ITkDBWindow):
|
|
|
443
443
|
|
|
444
444
|
self.data["comments"] = self.comments
|
|
445
445
|
self.data["defects"] = self.defects
|
|
446
|
-
|
|
446
|
+
|
|
447
447
|
rc = ITkDButils.upload_test(self.session, self.data, self.attachments)
|
|
448
448
|
if rc:
|
|
449
449
|
ipos = rc.find("The following details may help:")
|
|
@@ -13,8 +13,9 @@ try:
|
|
|
13
13
|
|
|
14
14
|
except ImportError:
|
|
15
15
|
from pathlib import Path
|
|
16
|
-
cwd = Path(
|
|
16
|
+
cwd = Path(__file__).parent.parent
|
|
17
17
|
sys.path.append(cwd.as_posix())
|
|
18
|
+
import itkdb_gtk
|
|
18
19
|
|
|
19
20
|
from itkdb_gtk import dbGtkUtils
|
|
20
21
|
from itkdb_gtk import ITkDBlogin, ITkDButils, UploadTest
|
|
@@ -410,24 +411,24 @@ def get_module_param(SN):
|
|
|
410
411
|
return param
|
|
411
412
|
|
|
412
413
|
|
|
413
|
-
class WireBond(
|
|
414
|
+
class WireBond(dbGtkUtils.ITkDBWindow):
|
|
414
415
|
"""Main window."""
|
|
415
416
|
|
|
416
|
-
def __init__(self, session
|
|
417
|
+
def __init__(self, session, title="", help=None):
|
|
417
418
|
"""Initialization."""
|
|
418
|
-
super().__init__(title=title)
|
|
419
|
+
super().__init__(title=title, session=session, help=help)
|
|
419
420
|
self.pdb = None
|
|
420
|
-
self.session = session
|
|
421
421
|
self.models = {}
|
|
422
422
|
self.holes = {}
|
|
423
|
-
self.
|
|
423
|
+
self.institute = "IFIC"
|
|
424
|
+
self.inst_combo = None
|
|
425
|
+
self.module_SN = None
|
|
426
|
+
self.alternativeID = None
|
|
427
|
+
self.init_window()
|
|
424
428
|
|
|
425
|
-
def
|
|
429
|
+
def init_window(self):
|
|
426
430
|
"""Creates the GUI."""
|
|
427
|
-
self.hb = Gtk.HeaderBar()
|
|
428
|
-
self.hb.set_show_close_button(True)
|
|
429
431
|
self.hb.props.title = "Wire Bond"
|
|
430
|
-
self.set_titlebar(self.hb)
|
|
431
432
|
|
|
432
433
|
# Button to upload
|
|
433
434
|
button = Gtk.Button()
|
|
@@ -455,31 +456,41 @@ class WireBond(Gtk.Window):
|
|
|
455
456
|
button.connect("clicked", self.read_file)
|
|
456
457
|
self.hb.pack_end(button)
|
|
457
458
|
|
|
458
|
-
# Create the main box and add it to the window
|
|
459
|
-
self.mainBox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
|
|
460
|
-
self.mainBox.set_property("margin-left", 6)
|
|
461
|
-
self.mainBox.set_property("margin-right", 6)
|
|
462
|
-
self.add(self.mainBox)
|
|
463
|
-
|
|
464
459
|
# Data panel
|
|
465
460
|
grid = Gtk.Grid(column_spacing=5, row_spacing=1)
|
|
461
|
+
|
|
462
|
+
# The shipment receiver
|
|
463
|
+
institute = self.create_institute_combo()
|
|
464
|
+
institute.connect("changed", self.on_institute)
|
|
465
|
+
institute.set_tooltip_text("Select the Institute.")
|
|
466
|
+
dbGtkUtils.set_combo_iter(institute, self.institute)
|
|
467
|
+
grid.attach(Gtk.Label(label="Institute"), 0, 0, 1, 1)
|
|
468
|
+
grid.attach(institute, 1, 0, 1, 1)
|
|
469
|
+
self.inst_combo = institute
|
|
470
|
+
|
|
471
|
+
|
|
466
472
|
for i, tit in enumerate(["Operator", "Bond Machine", "Wire Batch", "SN", "Date"]):
|
|
467
473
|
lbl = Gtk.Label(label=tit)
|
|
468
474
|
lbl.set_xalign(0)
|
|
469
|
-
grid.attach(lbl, 0, i, 1, 1)
|
|
475
|
+
grid.attach(lbl, 0, i+1, 1, 1)
|
|
470
476
|
|
|
471
477
|
self.operator = dbGtkUtils.new_small_text_entry()
|
|
472
478
|
self.machine = dbGtkUtils.new_small_text_entry()
|
|
473
479
|
self.batch = dbGtkUtils.new_small_text_entry()
|
|
474
|
-
self.SN = dbGtkUtils.new_small_text_entry()
|
|
480
|
+
#self.SN = dbGtkUtils.new_small_text_entry()
|
|
481
|
+
|
|
482
|
+
self.SN = itkdb_gtk.dbGtkUtils.TextEntry(small=True)
|
|
483
|
+
self.SN.connect("text-changed", self.on_SN_changed)
|
|
484
|
+
|
|
485
|
+
|
|
475
486
|
self.date = dbGtkUtils.TextEntry(small=True)
|
|
476
487
|
self.date.connect("text_changed", self.new_date)
|
|
477
488
|
|
|
478
|
-
grid.attach(self.operator, 1,
|
|
479
|
-
grid.attach(self.machine, 1,
|
|
480
|
-
grid.attach(self.batch, 1,
|
|
481
|
-
grid.attach(self.SN,
|
|
482
|
-
grid.attach(self.date.widget, 1,
|
|
489
|
+
grid.attach(self.operator, 1, 1, 1, 1)
|
|
490
|
+
grid.attach(self.machine, 1, 2, 1, 1)
|
|
491
|
+
grid.attach(self.batch, 1, 3, 1, 1)
|
|
492
|
+
grid.attach(self.SN.entry, 1, 4, 1, 1)
|
|
493
|
+
grid.attach(self.date.widget, 1, 5, 1, 1)
|
|
483
494
|
|
|
484
495
|
self.mainBox.pack_start(grid, True, True, 0)
|
|
485
496
|
|
|
@@ -504,19 +515,28 @@ class WireBond(Gtk.Window):
|
|
|
504
515
|
#
|
|
505
516
|
# The text view and buffer
|
|
506
517
|
#
|
|
507
|
-
self.message_panel = dbGtkUtils.MessagePanel(size=100)
|
|
508
518
|
self.mainBox.pack_start(self.message_panel.frame, True, True, 0)
|
|
509
519
|
self.write_message("wirebond GUI\n")
|
|
510
520
|
|
|
511
|
-
|
|
512
|
-
|
|
521
|
+
def on_institute(self, combo):
|
|
522
|
+
"""Institute changed."""
|
|
523
|
+
name = self.get_institute_from_combo(combo)
|
|
524
|
+
if name:
|
|
525
|
+
self.institute = name
|
|
526
|
+
|
|
527
|
+
def on_SN_changed(self, entry, value):
|
|
528
|
+
"""New SN given. Ask in PDB,"""
|
|
529
|
+
if len(value) <= 0:
|
|
530
|
+
return None
|
|
531
|
+
|
|
513
532
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
533
|
+
obj = itkdb_gtk.ITkDButils.get_DB_component(self.session, value)
|
|
534
|
+
if obj is not None:
|
|
535
|
+
entry.set_text(obj["serialNumber"])
|
|
536
|
+
self.alternativeID = obj["alternativeIdentifier"]
|
|
517
537
|
|
|
518
|
-
|
|
519
|
-
|
|
538
|
+
else:
|
|
539
|
+
itkdb_gtk.dbGtkUtils.complain("Invalid SN", value)
|
|
520
540
|
|
|
521
541
|
def on_name_combo_changed(self, combo):
|
|
522
542
|
"""Change model in TreeView."""
|
|
@@ -627,13 +647,13 @@ class WireBond(Gtk.Window):
|
|
|
627
647
|
self.hide()
|
|
628
648
|
self.destroy()
|
|
629
649
|
|
|
630
|
-
def write_message(self, text):
|
|
631
|
-
"""Writes text to Text Viewer."""
|
|
632
|
-
self.message_panel.write_message(text)
|
|
633
|
-
|
|
634
650
|
def compute_unconnected(self):
|
|
635
651
|
"""Compute number of unconnected."""
|
|
636
|
-
|
|
652
|
+
try:
|
|
653
|
+
param = get_module_param(self.SN.get_text())
|
|
654
|
+
except ValueError as E:
|
|
655
|
+
dbGtkUtils.complain("Wrong SN number", str(E))
|
|
656
|
+
|
|
637
657
|
M = ModuleHoles(param=param)
|
|
638
658
|
|
|
639
659
|
for test in test_parameters.values():
|
|
@@ -728,6 +748,7 @@ class WireBond(Gtk.Window):
|
|
|
728
748
|
|
|
729
749
|
def parse(self, data):
|
|
730
750
|
"""Parses a JSon dictionary."""
|
|
751
|
+
dbGtkUtils.set_combo_iter(self.inst_combo, data["institution"])
|
|
731
752
|
self.operator.set_text(data["properties"]["OPERATOR"])
|
|
732
753
|
self.machine.set_text(data["properties"]["BOND_MACHINE"])
|
|
733
754
|
self.batch.set_text(data["properties"]["BONDWIRE_BATCH"])
|
|
@@ -775,7 +796,7 @@ class WireBond(Gtk.Window):
|
|
|
775
796
|
if response == Gtk.ResponseType.OK:
|
|
776
797
|
ofile = dialog.get_filename()
|
|
777
798
|
data = self.get_test_data()
|
|
778
|
-
with open(ofile, 'w') as of:
|
|
799
|
+
with open(ofile, 'w', encoding="UTF-8") as of:
|
|
779
800
|
json.dump(data, of, indent=3)
|
|
780
801
|
|
|
781
802
|
dialog.hide()
|
|
@@ -784,6 +805,7 @@ class WireBond(Gtk.Window):
|
|
|
784
805
|
def get_test_data(self):
|
|
785
806
|
"""Get the test data."""
|
|
786
807
|
data = {
|
|
808
|
+
"institution": self.institute,
|
|
787
809
|
"date": ITkDButils.get_db_date(),
|
|
788
810
|
"properties": {},
|
|
789
811
|
"results": {},
|
|
@@ -805,21 +827,27 @@ class WireBond(Gtk.Window):
|
|
|
805
827
|
SN = dbGtkUtils.get_a_value("Module Serial Number",
|
|
806
828
|
"Module serial Number is missing")
|
|
807
829
|
|
|
808
|
-
if len(operator) == 0 or len(machine) == 0
|
|
830
|
+
if len(operator) == 0 or len(machine) == 0:
|
|
809
831
|
values = dbGtkUtils.get_a_list_of_values(
|
|
810
832
|
"Missing Values",
|
|
811
|
-
["SN", "Operator", "Wire Bonder"
|
|
812
|
-
defaults=[SN, operator, machine
|
|
833
|
+
["SN", "Operator", "Wire Bonder"],
|
|
834
|
+
defaults=[SN, operator, machine],
|
|
813
835
|
)
|
|
814
836
|
if len(values) == 4:
|
|
815
|
-
SN, operator, machine
|
|
837
|
+
SN, operator, machine = values
|
|
816
838
|
else:
|
|
817
|
-
self.write_message("Something went wrong
|
|
839
|
+
self.write_message("Something went wrong while requesting missing information.")
|
|
818
840
|
|
|
819
841
|
data["component"] = SN
|
|
820
842
|
data["properties"]["OPERATOR"] = operator
|
|
821
843
|
data["properties"]["BOND_MACHINE"] = machine
|
|
822
844
|
data["properties"]["BONDWIRE_BATCH"] = batch
|
|
845
|
+
data["institution"] = self.institute
|
|
846
|
+
if data["runNumber"] == "-1":
|
|
847
|
+
data["runNumber"] = "1"
|
|
848
|
+
|
|
849
|
+
data["date"] = self.date.get_text()
|
|
850
|
+
|
|
823
851
|
|
|
824
852
|
|
|
825
853
|
def upload_test(self, *args):
|
|
@@ -835,7 +863,7 @@ class WireBond(Gtk.Window):
|
|
|
835
863
|
self.session = client
|
|
836
864
|
|
|
837
865
|
defaults = {
|
|
838
|
-
"institution":
|
|
866
|
+
"institution": self.institute,
|
|
839
867
|
"runNumber": "1",
|
|
840
868
|
"date": ITkDButils.get_db_date()
|
|
841
869
|
}
|
|
@@ -851,14 +879,26 @@ class WireBond(Gtk.Window):
|
|
|
851
879
|
|
|
852
880
|
def main():
|
|
853
881
|
"""Main entry."""
|
|
854
|
-
|
|
882
|
+
dlg = ITkDBlogin.ITkDBlogin()
|
|
883
|
+
client = dlg.get_client()
|
|
884
|
+
if client is None:
|
|
885
|
+
print("Could not connect to DB with provided credentials.")
|
|
886
|
+
dlg.die()
|
|
887
|
+
sys.exit()
|
|
888
|
+
|
|
889
|
+
client.user_gui = dlg
|
|
890
|
+
|
|
891
|
+
|
|
892
|
+
win = WireBond(client, title="WireBond")
|
|
855
893
|
win.connect("destroy", Gtk.main_quit)
|
|
894
|
+
win.show_all()
|
|
856
895
|
try:
|
|
857
896
|
Gtk.main()
|
|
858
897
|
|
|
859
898
|
except KeyboardInterrupt:
|
|
860
899
|
print("Arrrgggg!!!")
|
|
861
900
|
|
|
862
|
-
|
|
901
|
+
dlg.die()
|
|
902
|
+
|
|
863
903
|
if __name__ == "__main__":
|
|
864
904
|
main()
|
|
@@ -7,7 +7,7 @@ try:
|
|
|
7
7
|
|
|
8
8
|
except ImportError:
|
|
9
9
|
from pathlib import Path
|
|
10
|
-
cwd = Path(
|
|
10
|
+
cwd = Path(__file__).parent.parent
|
|
11
11
|
sys.path.append(cwd.as_posix())
|
|
12
12
|
|
|
13
13
|
|
|
@@ -22,6 +22,15 @@ from itkdb_gtk import GlueWeight
|
|
|
22
22
|
from itkdb_gtk import UploadModuleIV
|
|
23
23
|
from itkdb_gtk import WireBondGui
|
|
24
24
|
|
|
25
|
+
|
|
26
|
+
HAS_PETALQC=False
|
|
27
|
+
try:
|
|
28
|
+
from petal_qc.metrology.coreMetrology import CoreMetrology, CoreMetrologyOptions
|
|
29
|
+
HAS_PETALQC = True
|
|
30
|
+
except ImportError as E:
|
|
31
|
+
HAS_PETALQC = False
|
|
32
|
+
|
|
33
|
+
|
|
25
34
|
import gi
|
|
26
35
|
|
|
27
36
|
gi.require_version("Gtk", "3.0")
|
|
@@ -39,6 +48,8 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
39
48
|
GLUE_WEIGHT = 6
|
|
40
49
|
MOD_IV = 7
|
|
41
50
|
WIRE_BOND = 8
|
|
51
|
+
PETAL_CORE_METRO=9
|
|
52
|
+
PETAL_CORE_THERMAL=10
|
|
42
53
|
|
|
43
54
|
def __init__(self, session):
|
|
44
55
|
"""Initialization."""
|
|
@@ -88,7 +99,12 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
88
99
|
btnWireBond = Gtk.Button(label="Wire Bond")
|
|
89
100
|
btnWireBond.connect("clicked", self.wire_bond)
|
|
90
101
|
grid.attach(btnWireBond, 1, irow, 1, 1)
|
|
91
|
-
|
|
102
|
+
|
|
103
|
+
if HAS_PETALQC:
|
|
104
|
+
irow +=1
|
|
105
|
+
btnPetalMetrology = Gtk.Button(label="Petal Core Metrology")
|
|
106
|
+
btnPetalMetrology.connect("clicked", self.petal_metrology)
|
|
107
|
+
grid.attach(btnPetalMetrology, 0, irow, 1, 1)
|
|
92
108
|
|
|
93
109
|
|
|
94
110
|
irow += 1
|
|
@@ -200,6 +216,24 @@ class DashWindow(dbGtkUtils.ITkDBWindow):
|
|
|
200
216
|
self.mask |= bt
|
|
201
217
|
W = WireBondGui.WireBond(session=self.session, title="Wirebond", help=HELP_LINK)
|
|
202
218
|
W.connect("destroy", self.app_closed, bitn)
|
|
219
|
+
W.show_all()
|
|
220
|
+
|
|
221
|
+
def petal_metrology(self, *args):
|
|
222
|
+
"""Do petal metrology"""
|
|
223
|
+
if not HAS_PETALQC:
|
|
224
|
+
return
|
|
225
|
+
|
|
226
|
+
bitn = DashWindow.PETAL_CORE_METRO
|
|
227
|
+
bt = 1 << bitn
|
|
228
|
+
if self.mask & bt:
|
|
229
|
+
return
|
|
230
|
+
|
|
231
|
+
self.mask |= bt
|
|
232
|
+
opts = CoreMetrologyOptions()
|
|
233
|
+
W = CoreMetrology(opts, session=self.session, title="Petal Core Metrology")
|
|
234
|
+
W.connect("destroy", self.app_closed, bitn)
|
|
235
|
+
W.show_all()
|
|
236
|
+
|
|
203
237
|
|
|
204
238
|
def app_closed(self, *args):
|
|
205
239
|
"""Application window closed. Clear mask."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: itkdb_gtk
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.1
|
|
4
4
|
Summary: A collection of Gtk based GUI to access ITkDB.
|
|
5
5
|
Author-email: Carlos Lacasta <carlos.lacasta@cern.ch>
|
|
6
6
|
Project-URL: Homepage, https://gitlab.cern.ch/atlas-itk/sw/db/itk-pdb-gtk-gui-utils
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|