Skip to content
Snippets Groups Projects
Commit 133f7d32 authored by martiivGylden's avatar martiivGylden
Browse files

Wokring on scrollbar

parent 36a4012f
No related branches found
No related tags found
No related merge requests found
...@@ -22,14 +22,29 @@ def openFile(): ...@@ -22,14 +22,29 @@ def openFile():
top = Toplevel(guiRoot) top = Toplevel(guiRoot)
top.title("Result Window") top.title("Result Window")
top.geometry("1920x1080") top.geometry("1600x900")
createMetrics(diagram, top) topFrame = Frame(top)
topFrame.grid()
canvas = Canvas(topFrame, width=1450, height= 900) # Create Canvas to be able to scroll
canvas.grid()
# Define scrollbar
scrollbar = Scrollbar(topFrame, orient="vertical", command=canvas.yview)
scrollbar.grid(row=0, column=1, sticky="ns")
canvas.configure(yscrollcommand=scrollbar.set)
canvas.bind(
'<Configure>', lambda e: canvas.configure(scrollregion=canvas.bbox("all"))
)
canvasFrame = createMetrics(diagram, canvas)
canvasFrame.grid_columnconfigure(0, weight=1)
canvas.create_window((0,0), window=canvasFrame, anchor="nw")
def createResults(diagram: Diagram, top):
pass
def createThreats(diagram: Diagram, top): def createThreats(diagram: Diagram, top):
rowIndex = 0 rowIndex = 0
...@@ -73,12 +88,14 @@ def createThreats(diagram: Diagram, top): ...@@ -73,12 +88,14 @@ def createThreats(diagram: Diagram, top):
linkedComponents.grid(row = 4, column = 15) linkedComponents.grid(row = 4, column = 15)
def createMetrics(diagram: Diagram, topWindow): def createMetrics(diagram: Diagram, topWindow):
metrics = diagram.metrics.values() metrics = diagram.metrics.values()
rowIndex = 0 rowIndex = 0
frameWidth = 1600 frameWidth = 1980
rankedFrame = ttk.Frame(topWindow, padding=10) # Frame for the ranked metrics, should cover 80% of the window and stack vertically rankedFrame = ttk.Frame(topWindow, padding=10, width=frameWidth) # Frame for the ranked metrics, should cover 80% of the window and stack vertically
rankedFrame.grid(sticky="nsew") rankedFrame.grid(sticky="nsew")
rankedFrame.grid_columnconfigure(0, weight=1)
topLabel = ttk.Label(rankedFrame, text="Ranked metrics", font=("Helvetica", 20, "bold")) topLabel = ttk.Label(rankedFrame, text="Ranked metrics", font=("Helvetica", 20, "bold"))
...@@ -108,12 +125,14 @@ def createMetrics(diagram: Diagram, topWindow): ...@@ -108,12 +125,14 @@ def createMetrics(diagram: Diagram, topWindow):
metricFrame = ttk.Frame(rankedFrame ,style='Test.TFrame', height= 200, width=frameWidth) # Frame for each metric, should cover 80% of the window and stack vertically metricFrame = ttk.Frame(rankedFrame ,style='Test.TFrame', height= 200, width=frameWidth) # Frame for each metric, should cover 80% of the window and stack vertically
metricFrame.grid(padx=10, pady=10, sticky="nsew") metricFrame.grid(padx=10, pady=10, sticky="nsew")
metricFrame.grid_columnconfigure(0, weight=1)
rowIndex +=1 # Increment the row index for the next frame rowIndex +=1 # Increment the row index for the next frame
ttk.Label(metricFrame, text= f"Metric number: {rowIndex}", style="Head.TLabel").grid(row=0, column=0, sticky="nw") ttk.Label(metricFrame, text= f"Metric number: {rowIndex}", style="Head.TLabel").grid(row=0, column=0, sticky="nw")
ttk.Label(metricFrame, text= f"Metric Name: {metricName}", style="Test.TLabel").grid(row=1, column=0, sticky="nw") # First label = Metric id and description ttk.Label(metricFrame, text= f"Metric Name: {metricName}", style="Test.TLabel").grid(row=1, column=0, sticky="nw") # First label = Metric id and description
ttk.Label(metricFrame, text= f"Metric value: {metricValue}", style="Test.TLabel", wraplength=0.3*frameWidth).grid(row=2, column=0, sticky="nw") # First label = Metric id and description ttk.Label(metricFrame, text= f"Metric value: {metricValue}", style="Test.TLabel", wraplength=0.5*frameWidth).grid(row=2, column=0, sticky="nw") # First label = Metric id and description
ttk.Label(metricFrame, text = f"Number of associated components: {amountOFComponents}", style="Test.TLabel").grid(row=1, column=2, sticky="n") # Second label = Number of associated components in both diagrams ttk.Label(metricFrame, text = f"Number of associated components: {amountOFComponents}", style="Test.TLabel").grid(row=1, column=2, sticky="n") # Second label = Number of associated components in both diagrams
...@@ -121,6 +140,9 @@ def createMetrics(diagram: Diagram, topWindow): ...@@ -121,6 +140,9 @@ def createMetrics(diagram: Diagram, topWindow):
for child in metricFrame.winfo_children(): for child in metricFrame.winfo_children():
child.grid_configure(padx=3, pady=3,) child.grid_configure(padx=3, pady=3,)
child.grid_columnconfigure(0, weight=3)
return rankedFrame
...@@ -165,6 +187,8 @@ def createDynamic(diagram: Diagram, top): ...@@ -165,6 +187,8 @@ def createDynamic(diagram: Diagram, top):
else: # If not it is a bowtie dynamic else: # If not it is a bowtie dynamic
pass pass
labelWindow = Label(guiRoot, text="Please select CSV export file containing ER diagram, BowTie diagram and dynamics matrix", font=("Arial", 20)) labelWindow = Label(guiRoot, text="Please select CSV export file containing ER diagram, BowTie diagram and dynamics matrix", font=("Arial", 20))
buttonGetFile = Button(guiRoot, text="Select file", command=openFile, width=20, height=2) buttonGetFile = Button(guiRoot, text="Select file", command=openFile, width=20, height=2)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment