فهرست منبع

完成 Gui.Read_Timing_Constraint

mrh 3 سال پیش
والد
کامیت
ea00d6bbee
4فایلهای تغییر یافته به همراه50 افزوده شده و 9 حذف شده
  1. 11 7
      main_windows.py
  2. 1 1
      ui/AddFile.py
  3. 37 0
      ui/Read_Timing_Constraint.py
  4. 1 1
      ui/addressBar/addressbar.py

+ 11 - 7
main_windows.py

@@ -1,3 +1,4 @@
+import os
 import queue
 import re
 import sys
@@ -13,6 +14,7 @@ from ui.Analyze import AnalyzeWindow
 from sub_windows import SubWindows,LineEditWin,FormWindow, get_sub_win_list,get_sub_win
 from ui.About import AboutWindow
 from ui.Elaborate import Elaborate
+from ui.Read_Timing_Constraint import ReadTimeWindow
 import GuiType
 
 
@@ -97,14 +99,17 @@ class MainWindow(Ui_MainWindow, QMainWindow):
         self.actionCopy.triggered.connect(self.action_copy)
         self.actionPast.triggered.connect(self.action_paste)
         self.actionSelect_all.triggered.connect(self.action_select_all)
-        self.actionReport_Exceptions.triggered.connect(self.report_exceptions)
+        self.actionAnalyze.triggered.connect(self.show_analyze_window)
+        self.actionRead_Timing_Constraint.triggered.connect(self.read_timing_constraint)
+        self.actionRead_Power_Intent
+        self.actionElaborate.triggered.connect(self.elaborate_window)
+        self.actionReload_Design.triggered.connect(GUI.ReloadDesign)
+        
+        self.actionReport_Exceptions.triggered.connect(self.about)
         self.actionStop_GUI.triggered.connect(GUI.Stop)
         self.actionExit.triggered.connect(GUI.Exit)
         self.actionReport_Virtual_Timing.triggered.connect(self.add_sub_win)
         self.actionAbout.triggered.connect(self.about)
-        self.actionAnalyze.triggered.connect(self.show_analyze_window)
-        self.actionElaborate.triggered.connect(self.elaborate_window)
-        self.actionReload_Design.triggered.connect(GUI.ReloadDesign)
         self.textEdit.document().contentsChanged.connect(self.textEdit_change_size)
         self.textEdit.document().contentsChange.connect(self.textEdit_change_contents)
         sys.stdout = Stream()
@@ -139,10 +144,9 @@ class MainWindow(Ui_MainWindow, QMainWindow):
         if type(widget) not in (QTextBrowser, QTextEdit):
             return
         widget.selectAll()
-        
     
-    def report_exceptions(self):
-        pass
+    def read_timing_constraint(self):
+        ReadTimeWindow(self, os.getcwd())
     
     def table_widget_change(self, index):
         member = {

+ 1 - 1
ui/AddFile.py

@@ -185,7 +185,7 @@ class AddFileWindow(AddPathWindow):
 
         
     def files_filter(self, files):
-        if self.Combobox_FileType.currentIndex() == self.Combobox_FileType.count()-1:
+        if self.Combobox_FileType.currentText() == "All Files(*.*)":
             return files
         filt_res = []
         for i in range(len(files)):

+ 37 - 0
ui/Read_Timing_Constraint.py

@@ -0,0 +1,37 @@
+import os
+import threading
+from PySide2.QtWidgets import *
+from PySide2.QtCore import *
+from PySide2.QtGui import *
+from ui.AddFile import AddFileWindow,AddPathWindow
+
+class ReadTimeWindow(AddFileWindow):
+    def __init__(self, parent, path) -> None:
+        super().__init__(parent, path)
+        self.setWindowTitle("Read Timing Constraint")
+        self.mainWindow = parent
+        self.move(parent.x()+(parent.width()-self.width())/2,parent.y()+(parent.height()-self.height())/2)
+        
+    def init(self,parent, path):
+        self.file_type = [".sdc"]
+        self.file_suffix = ["Supported Files(%s)" % " ".join(['*'+str(s) for s in self.file_type])]
+        self.bnt_Apply.deleteLater()
+        AddPathWindow.init(self, parent, path)
+        horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
+        self.horizontalLayout_2.insertItem(3, horizontalSpacer)
+        self.show_file_list()
+
+    def apply(self):
+        abs_path = self.current_select_path()
+        if not abs_path:
+            return
+        if not os.path.isfile(abs_path):
+            return 
+        self.fileTable.clearSelection()
+        self.fileTable.setCurrentIndex(QModelIndex())
+        self.run_read_timing(abs_path)
+        
+    def run_read_timing(self, file):
+        thread = threading.Thread(target=self.mainWindow.GUI.ReadTimingConstraint, args=(file,))
+        thread.start()
+    

+ 1 - 1
ui/addressBar/addressbar.py

@@ -337,7 +337,7 @@ class BreadcrumbsAddressBar(QtWidgets.QFrame):
         try:
             if not os.path.exists(str(path)):
                 emit_err = self.path_error
-            if not os.access(str(path), os.R_OK) or not os.access(str(path), os.X_OK):
+            elif not os.access(str(path), os.R_OK) or not os.access(str(path), os.X_OK):
                 emit_err = self.listdir_error
         except PermissionError:
             emit_err = self.listdir_error