예제 #1
0
파일: mastgui.py 프로젝트: zhenming-xu/MAST
    def initialize_window(self):
        #window properties
        self.root_window.title("MAST")
        screensizeX = self.root_window.winfo_screenwidth()
        screensizeY = self.root_window.winfo_screenheight()
        self.root_window.minsize(screensizeX - 100, screensizeY - 100)

        self.window.grid_rowconfigure(0, weight=1)
        self.window.grid_rowconfigure(1, weight=1)
        self.window.grid_rowconfigure(2, weight=1)
        self.window.grid_rowconfigure(3, weight=1)
        self.window.grid_rowconfigure(4, weight=1)
        self.window.grid_rowconfigure(5, weight=1)
        self.window.grid_rowconfigure(6, weight=1)
        self.window.grid_columnconfigure(0, weight=1)

        #add sections
        self.mast_section = MastSection(self.window, 0)
        self.mast_section.summary()
        self.sections.append(self.mast_section)

        self.structure_section = StructureSection(self.window, 1)
        self.structure_section.summary()
        self.sections.append(self.structure_section)

        self.defects_section = DefectsSection(self.window, 2,
                                              self.structure_section)
        self.defects_section.summary()
        self.sections.append(self.defects_section)

        self.neb_section = NEBSection(self.window, 3, self.structure_section,
                                      self.defects_section)
        self.neb_section.summary()
        self.sections.append(self.neb_section)

        self.ingredients_section = IngredientsSection(self.window, 4)
        self.ingredients_section.summary()
        self.sections.append(self.ingredients_section)

        self.phonon_section = PhononSection(self.window, 5)
        self.phonon_section.summary()

        self.create_btn = Button(self.window,
                                 text="Create Input File",
                                 command=self.create_input)
        self.create_btn.grid(row=6, column=0, pady=10, padx=10)
예제 #2
0
파일: mastgui.py 프로젝트: ZhewenSong/USIT
    def initialize_window(self):
        #window properties
        self.root_window.title("MAST")
        screensizeX = self.root_window.winfo_screenwidth()
        screensizeY = self.root_window.winfo_screenheight()
        self.root_window.minsize(screensizeX-100, screensizeY - 100)

        self.window.grid_rowconfigure(0, weight=1)
        self.window.grid_rowconfigure(1, weight=1)
        self.window.grid_rowconfigure(2, weight=1)
        self.window.grid_rowconfigure(3, weight=1)
        self.window.grid_rowconfigure(4, weight=1)
        self.window.grid_rowconfigure(5, weight=1)
        self.window.grid_rowconfigure(6, weight=1)
        self.window.grid_columnconfigure(0, weight=1)

        #add sections
        self.mast_section = MastSection(self.window, 0)
        self.mast_section.summary()
        self.sections.append(self.mast_section)

        self.structure_section = StructureSection(self.window, 1)
        self.structure_section.summary()
        self.sections.append(self.structure_section)

        self.defects_section = DefectsSection(self.window, 2, self.structure_section)
        self.defects_section.summary()
        self.sections.append(self.defects_section)

        self.neb_section = NEBSection(self.window, 3, self.structure_section, self.defects_section)
        self.neb_section.summary()
        self.sections.append(self.neb_section)

        self.ingredients_section = IngredientsSection(self.window, 4)
        self.ingredients_section.summary()
        self.sections.append(self.ingredients_section)

        self.phonon_section = PhononSection(self.window, 5)
        self.phonon_section.summary()

        self.create_btn = Button(self.window, text="Create Input File", command=self.create_input)
        self.create_btn.grid(row=6, column=0, pady=10, padx=10)
예제 #3
0
파일: mastgui.py 프로젝트: zhenming-xu/MAST
class MastGui:
    def __init__(self):
        self.root_window = Tk()
        self.vframe = VerticalScrolledFrame(self.root_window)
        self.vframe.pack(fill=BOTH, expand=1)
        self.window = self.vframe.interior
        self.sections = []

        self.initialize_window()

    def initialize_window(self):
        #window properties
        self.root_window.title("MAST")
        screensizeX = self.root_window.winfo_screenwidth()
        screensizeY = self.root_window.winfo_screenheight()
        self.root_window.minsize(screensizeX - 100, screensizeY - 100)

        self.window.grid_rowconfigure(0, weight=1)
        self.window.grid_rowconfigure(1, weight=1)
        self.window.grid_rowconfigure(2, weight=1)
        self.window.grid_rowconfigure(3, weight=1)
        self.window.grid_rowconfigure(4, weight=1)
        self.window.grid_rowconfigure(5, weight=1)
        self.window.grid_rowconfigure(6, weight=1)
        self.window.grid_columnconfigure(0, weight=1)

        #add sections
        self.mast_section = MastSection(self.window, 0)
        self.mast_section.summary()
        self.sections.append(self.mast_section)

        self.structure_section = StructureSection(self.window, 1)
        self.structure_section.summary()
        self.sections.append(self.structure_section)

        self.defects_section = DefectsSection(self.window, 2,
                                              self.structure_section)
        self.defects_section.summary()
        self.sections.append(self.defects_section)

        self.neb_section = NEBSection(self.window, 3, self.structure_section,
                                      self.defects_section)
        self.neb_section.summary()
        self.sections.append(self.neb_section)

        self.ingredients_section = IngredientsSection(self.window, 4)
        self.ingredients_section.summary()
        self.sections.append(self.ingredients_section)

        self.phonon_section = PhononSection(self.window, 5)
        self.phonon_section.summary()

        self.create_btn = Button(self.window,
                                 text="Create Input File",
                                 command=self.create_input)
        self.create_btn.grid(row=6, column=0, pady=10, padx=10)

    def create_input(self):
        input_file = open("mast_input.inp", "w")

        for section_obj in self.sections:
            output_content = section_obj.content()
            input_file.write(output_content)

        input_file.close()
        self.root_window.destroy()

    def run(self):
        self.root_window.mainloop()
예제 #4
0
파일: mastgui.py 프로젝트: ZhewenSong/USIT
class MastGui:
    def __init__(self):
        self.root_window = Tk()
        self.vframe = VerticalScrolledFrame(self.root_window)
        self.vframe.pack(fill=BOTH, expand=1)
        self.window = self.vframe.interior
        self.sections = []
 
        self.initialize_window()

    def initialize_window(self):
        #window properties
        self.root_window.title("MAST")
        screensizeX = self.root_window.winfo_screenwidth()
        screensizeY = self.root_window.winfo_screenheight()
        self.root_window.minsize(screensizeX-100, screensizeY - 100)

        self.window.grid_rowconfigure(0, weight=1)
        self.window.grid_rowconfigure(1, weight=1)
        self.window.grid_rowconfigure(2, weight=1)
        self.window.grid_rowconfigure(3, weight=1)
        self.window.grid_rowconfigure(4, weight=1)
        self.window.grid_rowconfigure(5, weight=1)
        self.window.grid_rowconfigure(6, weight=1)
        self.window.grid_columnconfigure(0, weight=1)

        #add sections
        self.mast_section = MastSection(self.window, 0)
        self.mast_section.summary()
        self.sections.append(self.mast_section)

        self.structure_section = StructureSection(self.window, 1)
        self.structure_section.summary()
        self.sections.append(self.structure_section)

        self.defects_section = DefectsSection(self.window, 2, self.structure_section)
        self.defects_section.summary()
        self.sections.append(self.defects_section)

        self.neb_section = NEBSection(self.window, 3, self.structure_section, self.defects_section)
        self.neb_section.summary()
        self.sections.append(self.neb_section)

        self.ingredients_section = IngredientsSection(self.window, 4)
        self.ingredients_section.summary()
        self.sections.append(self.ingredients_section)

        self.phonon_section = PhononSection(self.window, 5)
        self.phonon_section.summary()

        self.create_btn = Button(self.window, text="Create Input File", command=self.create_input)
        self.create_btn.grid(row=6, column=0, pady=10, padx=10)


    def create_input(self):
        input_file = open("mast_input.inp", "w")

        for section_obj in self.sections:
            output_content =  section_obj.content()
            input_file.write(output_content)

        input_file.close()
        self.root_window.destroy()
       
        

    def run(self):
        self.root_window.mainloop()