Beispiel #1
0
def InitializeRoot():
    global tabStuScrollable, tabActScrollable, stuSearchVar, actSearchVar, stuCountVar, actCountVar, statsVar, mainframe, nb

    defaultOption = "..."

    root = Tk()
    root.geometry("800x600")
    root.minsize = (800, 600)
    root.title("Meslek Atölyeleri Öğrenci Yerleştiricisi")
    # root.iconbitmap ('icon.ico')

    # Add a grid
    mainframe = Frame(root)
    mainframe.config(width=800, height=800)
    mainframe.pack(side="top", fill="both", expand=True, padx=10, pady=10)
    # mainframe.grid (column = 0, row = 0, sticky = "NSEW",padx = 10, pady = 10)
    # root.columnconfigure (0, weight = 1)
    # root.rowconfigure (0, weight = 1)

    Label(mainframe,
          text="Meslek Atölyeleri Öğrenci Yerleştirici",
          font=("TkDefaultFont", 15, "bold")).pack(side="top",
                                                   anchor="w",
                                                   padx=20)
    Frame(mainframe, height=5).pack(side="top", anchor="w")

    # -------------------------------General Tab Setup
    nb = ttk.Notebook(mainframe)
    tabStudents = Frame(
        nb)  # first page, which would get widgets gridded into it
    tabActivities = Frame(nb)  # second page
    nb.add(tabStudents, text='Students')
    nb.add(tabActivities, text='Activities')
    nb.pack(side="top", fill="both", expand=True)

    statsVar = StringVar()
    statsVar.set("Average Choice: -     Worst Choice: -" + "      " +
                 "Average Fill: -     Least Fill: -     Max Fill: -")

    # -------------------------------Tab Student stuff
    stuTopStuff = Frame(tabStudents, bg="#f9f9f9")
    stuTopStuff.pack(fill="x", ipadx=5, ipady=10)

    addStuButton = Button(stuTopStuff,
                          text="Import from Excel",
                          command=ExcelHandler.LoadFromExternalExcelFile,
                          bg="#f9f9f9")
    addStuButton.pack(side="left", padx=5)

    stuCountVar = StringVar()
    stuCountVar.set("Total Students: 0    Currently Visible: 0")
    Label(stuTopStuff, textvariable=stuCountVar,
          bg="#f9f9f9").pack(side="left", padx=5)

    Label(stuTopStuff, textvariable=statsVar, bg="#f9f9f9").pack(side="left",
                                                                 padx=5)

    stuSearchBar = Frame(stuTopStuff, bg="#f9f9f9")
    stuSearchBar.pack(side="right", padx=5)

    stuSearchVar = StringVar()
    stuSearchVar.trace_add("write", DataHandler.StuSearchBarUpdate)
    stuSearchEntry = Entry(stuSearchBar, textvariable=stuSearchVar)
    Label(stuSearchBar, text="Search:", bg="#f9f9f9").pack(side="left")
    stuSearchEntry.pack(side="left")

    Frame(tabStudents, background="#d6d6d6", height=1).pack(fill="x")
    Frame(tabStudents, height=3).pack(fill="x")

    #n = ttk.Notebook (tabStudents)
    #gradeFrames = []
    #tabStuScrollable = []
    #for i in range(4):
    #    gradeFrames.append(Frame(n))
    #    n.add(gradeFrames[i], text=str(i+9) +"th grade")
    #    tabStuScrollable.append(VerticalScrolledFrame (gradeFrames[i], bg = "purple"));
    #    tabStuScrollable[i].pack (fill = "both", expand = True)

    #n.pack (side = "top", fill = "both", expand = True);

    tabStuScrollable = VerticalScrolledFrame(tabStudents,
                                             "Students",
                                             bg="purple")
    tabStuScrollable.pack(fill="both", expand=True)

    # -------------------------------Tab Activities stuff
    actTopStuff = Frame(tabActivities, bg="#f9f9f9")
    actTopStuff.pack(fill="x", ipadx=5, ipady=10)

    addActButton = Button(actTopStuff,
                          text="Import from Excel",
                          command=ExcelHandler.LoadFromExternalExcelFile,
                          bg="#f9f9f9")
    addActButton.pack(side="left", padx=5)

    actCountVar = StringVar()
    actCountVar.set("Total Activities: 0    Currently Visible: 0")
    Label(actTopStuff, textvariable=actCountVar,
          bg="#f9f9f9").pack(side="left", padx=5)

    Label(actTopStuff, textvariable=statsVar, bg="#f9f9f9").pack(side="left",
                                                                 padx=5)

    actSearchBar = Frame(actTopStuff, bg="#f9f9f9")
    actSearchBar.pack(side="right", padx=5)

    actSearchVar = StringVar()
    actSearchVar.trace_add("write", DataHandler.ActSearchBarUpdate)
    actSearchEntry = Entry(actSearchBar, textvariable=actSearchVar)
    Label(actSearchBar, text="Search:", bg="#f9f9f9").pack(side="left")
    actSearchEntry.pack(side="left")

    Frame(tabActivities, background="#d6d6d6", height=1).pack(fill="x")
    Frame(tabActivities, height=3).pack(fill="x")

    tabActScrollable = VerticalScrolledFrame(tabActivities,
                                             "Activities",
                                             bg="purple")
    tabActScrollable.pack(fill="both", expand=True)
    # -------------------------------End of Tab stuff

    Label(mainframe, height=1).pack(fill="x")
    # spacer
    bottomButtonFrame = Frame(mainframe)
    bottomButtonFrame.pack(fill="x", ipady=2)
    Button(bottomButtonFrame,
           text="Assign Students",
           command=lambda: DataHandler.AssignStudents()).pack(side="left",
                                                              fill="x",
                                                              expand=1,
                                                              padx=5)
    Button(bottomButtonFrame,
           text="Export Results",
           command=lambda: ExcelHandler.ExporttoExcelFile()).pack(side="left",
                                                                  fill="x",
                                                                  expand=1,
                                                                  padx=5)

    return root