示例#1
0
 def _recent_files_menu(self):
     preferences = UIPreferences()
     recent_menu = tk.Menu(self._controller._filemenu,tearoff=False)
     for file in preferences.get_recent_files():
         recent_menu.add_command(label=file,command=lambda f=file: self._open_recent_file(f))
 
     recent_menu.add_separator()
     recent_menu.add_command(label='Clear',command=self._clear_recent)
     self._controller._filemenu.entryconfig(2,menu=recent_menu)
示例#2
0
 def _open_file(self):
     preferences = UIPreferences()
     filename = tkfd.askopenfilename(parent=self,
                                     title='Open Aqua File',
                                     initialdir=preferences.get_openfile_initialdir())
     if filename and self._controller.open_file(filename):
         preferences.add_recent_file(filename)
         preferences.set_openfile_initialdir(os.path.dirname(filename))
         preferences.save()
示例#3
0
文件: _model.py 项目: takehuge/aqua
    def load_file(self, filename):
        if filename is None:
            return []
        try:
            self._parser = InputParser(filename)
            self._parser.parse()
            uipreferences = UIPreferences()
            if uipreferences.get_populate_defaults(True):
                self._parser.validate_merge_defaults()
                self._parser.commit_changes()

            return self._parser.get_section_names()
        except:
            self._parser = None
            raise
示例#4
0
    def _save_file_as(self):
        if self._controller.is_empty():
            self._controller._outputView.write_line("No data to save.")
            return

        preferences = UIPreferences()
        filename = tkfd.asksaveasfilename(parent=self,
                                          title='Save Aqua File',
                                          initialdir=preferences.get_savefile_initialdir())
        if filename and self._controller.save_file_as(filename):
            preferences.add_recent_file(filename)
            preferences.set_savefile_initialdir(os.path.dirname(filename))
            preferences.save()
示例#5
0
文件: _model.py 项目: takehuge/aqua
    def new(self):
        try:
            dict = {}
            jsonfile = os.path.join(os.path.dirname(__file__),
                                    'input_template.json')
            with open(jsonfile) as json_file:
                dict = json.load(json_file)

            self._parser = InputParser(dict)
            self._parser.parse()
            uipreferences = UIPreferences()
            if uipreferences.get_populate_defaults(True):
                self._parser.validate_merge_defaults()
                self._parser.commit_changes()

            return self._parser.get_section_names()
        except:
            self._parser = None
            raise
示例#6
0
 def apply(self):
     try:
         level_name = self._levelCombo.get()
         levels = [key for key, value in PreferencesDialog._LOG_LEVELS.items() if value == level_name]
         loglevel = levels[0]
     
         preferences = Preferences()
         self._qconfigview.apply(preferences)
         self._packagesPage.apply(preferences)
         preferences.save()
         
         logging_config = build_logging_config(loglevel)
         
         preferences = Preferences()
         preferences.set_logging_config(logging_config)
         preferences.save()
         
         set_logging_config(logging_config)
     
         uipreferences = UIPreferences()
         populate = self._populateDefaults.get()
         uipreferences.set_populate_defaults(False if populate == 0 else True)
         uipreferences.save()
     
         self._controller.get_available_backends()
     except Exception as e:
         self.controller.outputview.write_line(str(e))
示例#7
0
    def quit(self):
        if tkmb.askyesno('Verify quit', 'Are you sure you want to quit?'):
            preferences = UIPreferences()
            preferences.set_browser_geometry(self.master.winfo_geometry())
            preferences.save()
            ttk.Frame.quit(self)
            return True

        return False
示例#8
0
 def _clear_recent(self):
     preferences = UIPreferences()
     preferences.clear_recent_files()
     preferences.save()
示例#9
0
 def body(self,parent,options):
     preferences = Preferences()
     logging_config = preferences.get_logging_config()
     if logging_config is not None:
         set_logging_config(logging_config)
     
     uipreferences = UIPreferences()
     populate = uipreferences.get_populate_defaults(True)
     self._populateDefaults.set(1 if populate else 0)
     
     qiskitGroup = ttk.LabelFrame(parent,
                                  text='Qiskit Configuration',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     qiskitGroup.grid(padx=(7,7),pady=6,row=0, column=0,sticky='nsew')
     self._qconfigview = QconfigView(qiskitGroup)
     
     defaultsGroup = ttk.LabelFrame(parent,
                                  text='Defaults',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     defaultsGroup.grid(padx=(7,7),pady=6,row=1, column=0,sticky='nsw')
     defaultsGroup.columnconfigure(1,pad=7)
     
     self._checkButton = ttk.Checkbutton(defaultsGroup,
                                         text="Populate on file new/open",
                                         variable=self._populateDefaults)
     self._checkButton.grid(row=0, column=1,sticky='nsw')
     
     packagesGroup = ttk.LabelFrame(parent,
                                  text='Packages',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     packagesGroup.grid(padx=(7,7),pady=6,row=2, column=0,sticky='nsw')
     packagesGroup.columnconfigure(1,pad=7)
     
     frame = ttk.Frame(packagesGroup)
     frame.grid(row=0, column=0,sticky='nsew')
     
     self._packagesPage = PackagesPage(frame,preferences)
     self._packagesPage.pack(side=tk.TOP,fill=tk.BOTH, expand=tk.TRUE)
     self._packagesPage.show_add_button(True)
     self._packagesPage.show_remove_button(self._packagesPage.has_selection())
     self._packagesPage.show_defaults_button(False)
     
     loggingGroup = ttk.LabelFrame(parent,
                                  text='Logging Configuration',
                                  padding=(6,6,6,6),
                                  borderwidth=4,
                                  relief=tk.GROOVE)
     loggingGroup.grid(padx=(7,7),pady=6,row=3, column=0,sticky='nsw')
     loggingGroup.columnconfigure(1,pad=7)
     
     loglevel = get_logging_level()
     
     ttk.Label(loggingGroup,
               text="Level:",
               borderwidth=0,
               anchor=tk.E).grid(row=0, column=0,sticky='nsew')
     self._levelCombo = ttk.Combobox(loggingGroup,
                               exportselection=0,
                               state='readonly',
                               values=list(PreferencesDialog._LOG_LEVELS.values()))
     index = list(PreferencesDialog._LOG_LEVELS.keys()).index(loglevel)
     self._levelCombo.current(index)
     self._levelCombo.grid(row=0, column=1,sticky='nsw')
     
     self.entry = self._qconfigview.initial_focus
     return self.entry # initial focus
示例#10
0
def main():
    if sys.platform == 'darwin':
        from Foundation import NSBundle
        bundle = NSBundle.mainBundle()
        if bundle:
            info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
            info['CFBundleName'] = 'Qiskit Aqua'
    
    root = tk.Tk()
    root.withdraw()
    root.update_idletasks()
    
    preferences = UIPreferences()
    geometry = preferences.get_browser_geometry()
    if geometry is None:
        ws = root.winfo_screenwidth()
        hs = root.winfo_screenheight()
        w = int(ws / 1.2)
        h = int(hs / 1.3)
        x = int(ws/2 - w/2)
        y = int(hs/2 - h/2)
        geometry = '{}x{}+{}+{}'.format(w,h,x,y)
        preferences.set_browser_geometry(geometry)
        preferences.save()
    
    root.geometry(geometry)
      
    preferences = Preferences()
    if preferences.get_logging_config() is None:
        logging_config = build_logging_config(['qiskit_aqua'],logging.INFO)
        preferences.set_logging_config(logging_config)
        preferences.save()
    
    set_logger_config(preferences.get_logging_config())
         
    MainView(root)
    root.after(0, root.deiconify)
    root.mainloop()
示例#11
0
def main():
    if sys.platform == 'darwin':
        from Foundation import NSBundle
        bundle = NSBundle.mainBundle()
        if bundle:
            info = bundle.localizedInfoDictionary() or bundle.infoDictionary()
            info['CFBundleName'] = 'Qiskit Aqua'
    
    root = tk.Tk()
    root.withdraw()
    root.update_idletasks()
    
    preferences = UIPreferences()
    geometry = preferences.get_run_geometry()
    if geometry is None:
        ws = root.winfo_screenwidth()
        hs = root.winfo_screenheight()
        w = int(ws / 1.3)
        h = int(hs / 1.3)
        x = int(ws/2 - w/2)
        y = int(hs/2 - h/2)
        geometry = '{}x{}+{}+{}'.format(w,h,x,y)
        preferences.set_run_geometry(geometry)
        preferences.save()
    
    root.geometry(geometry)
    
    # update logging setting with latest external packages
    preferences = Preferences()
    logging_level = logging.INFO
    if preferences.get_logging_config() is not None:
        set_logging_config(preferences.get_logging_config())
        logging_level = get_logging_level()
        
    preferences.set_logging_config(build_logging_config(logging_level))
    preferences.save()
    
    set_logging_config(preferences.get_logging_config())
    
    MainView(root)
    root.after(0, root.deiconify)
    root.mainloop()