Exemplo n.º 1
0
 def __init__(self, parent, oldVal, pname):
   tk.Toplevel.__init__(self, parent)
   self.transient(parent)
   self.parent = parent
   self.newVal = None
   
   self.inputFrame = tk.Frame(self)
   self.parLabel = tk.Label(self.inputFrame, text="Value for parameter: " + str(pname))
   self.parLabel.pack()
   self.inputVal = tk.StringVar()
   self.inputVal.set("% g" % oldVal)
   self.input = tk.Entry(self.inputFrame, textvariable=self.inputVal)
   self.input.pack()
   self.inputFrame.pack(fill=tk.X)
   
   self.buttonFrame = tk.Frame(self)
   self.okButton = tk.Button(self, text="OK", command=self._okClicked)
   self.caButton = tk.Button(self, text="Cancel", command=self._cancelClicked)
   self.okButton.pack(side=tk.RIGHT)
   self.caButton.pack(side=tk.LEFT)
   
   # Treat return as OK
   self.bind("<Return>", self._okClicked)
   # Treat close as cancel
   self.protocol("WM_DELETE_WINDOW", self._cancelClicked)
   # For a modal dialog
   self.grab_set()
   
   # Keyboard focus to input entry
   self.input.focus_set()
   
   self.wait_window(self)
Exemplo n.º 2
0
 def __init__(self, master):
     frame = tk.Frame(master)
     frame.pack()
     tk.Label(frame,
              text='Remove excel (.xlsx) workbook protection, '
              'worksheet protections and read-only protection'
              '. \n'
              '[1] Open password cannot be removed. \n'
              '[2] .xls and other formats are not supported.',
              compound=tk.LEFT,
              bitmap='questhead',
              wraplength=400,
              padx=10,
              justify=tk.LEFT).pack(side=tk.TOP, padx=5)
     buttom_frame = tk.Frame(frame)
     buttom_frame.pack(side=tk.TOP, pady=10)
     self.button_open = tk.Button(buttom_frame,
                                  text='Open',
                                  fg='black',
                                  command=self.open)
     self.button_open.pack(side=tk.LEFT)
     self.button_save = tk.Button(buttom_frame,
                                  text='Save as',
                                  fg='black',
                                  state=tk.DISABLED,
                                  command=self.save)
     self.button_save.pack(side=tk.LEFT)
     self.output = ''
     self.dirname = '.'
     self.file_type_opt = {
         'defaultextension': '*.xlsx',
         'filetypes': (('Excel file', '*.xlsx'), ('All types', '*.*')),
     }
 def __init__(self,
              app,
              parent,
              title=None,
              images=None,
              color="blue",
              width=300,
              height=25,
              show_text=1,
              norm=1):
     self.parent = parent
     self.percent = 0
     self.top = makeToplevel(parent, title=title)
     self.top.wm_protocol("WM_DELETE_WINDOW", self.wmDeleteWindow)
     self.top.wm_group(parent)
     self.top.wm_resizable(False, False)
     self.frame = tkinter.Frame(self.top, relief='flat', bd=0, takefocus=0)
     self.cframe = tkinter.Frame(self.frame,
                                 relief='sunken',
                                 bd=1,
                                 takefocus=0)
     self.canvas = tkinter.Canvas(self.cframe,
                                  width=width,
                                  height=height,
                                  takefocus=0,
                                  bd=0,
                                  highlightthickness=0)
     self.scale = self.canvas.create_rectangle(-10,
                                               -10,
                                               0,
                                               height,
                                               outline=color,
                                               fill=color)
     self.text = -1
     if show_text:
         self.text = self.canvas.create_text(0, 0, anchor=tkinter.CENTER)
     self.cframe.grid_configure(column=0, row=0, sticky="ew")
     if images:
         self.f1 = tkinter.Label(self.frame, image=images[0])
         self.f1.grid_configure(column=0,
                                row=0,
                                sticky="ew",
                                ipadx=8,
                                ipady=4)
         self.cframe.grid_configure(column=1, row=0, sticky="ew", padx=8)
         self.f2 = tkinter.Label(self.frame, image=images[1])
         self.f2.grid_configure(column=2,
                                row=0,
                                sticky="ew",
                                ipadx=8,
                                ipady=4)
     self.top.config(cursor="watch")
     self.pack()
     if 1:
         setTransient(self.top, None, relx=0.5, rely=0.5)
     else:
         self.update(percent=0)
     self.norm = norm
     self.steps_sum = 0
Exemplo n.º 4
0
    def _makeform(self):
        entries = {}

        a_row = Tk.Frame(self.cond_window)
        Tk.Label(a_row, width=22, text='a11 :', anchor='w').pack(side=Tk.LEFT)
        a11_ent = Tk.Entry(a_row)
        a11_ent.insert(0, "1")
        a11_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X)
        Tk.Label(a_row, width=22, text='a22 :', anchor='w').pack(side=Tk.LEFT)
        a22_ent = Tk.Entry(a_row)
        a22_ent.insert(0, "0.000001")
        a22_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X)
        a_row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5)

        entries['a11'] = a11_ent
        entries['a22'] = a22_ent

        fd_row = Tk.Frame(self.cond_window)
        Tk.Label(fd_row, width=22, text='f :', anchor='w').pack(side=Tk.LEFT)
        f_ent = Tk.Entry(fd_row)
        f_ent.insert(0, "7")
        f_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X)
        Tk.Label(fd_row, width=22, text='d :', anchor='w').pack(side=Tk.LEFT)
        d_ent = Tk.Entry(fd_row)
        d_ent.insert(0, "0")
        d_ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X)
        fd_row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5)

        entries['f'] = f_ent
        entries['d'] = d_ent

        row = Tk.Frame(self.cond_window)
        fields = ['Beta', 'Sigma', 'Uc']
        Tk.Label(row, width=22, text='Boundaries',
                 anchor='w').pack(side=Tk.LEFT)
        Tk.Label(row, width=22, text=fields[0], anchor='w').pack(side=Tk.LEFT)
        Tk.Label(row, width=22, text=fields[1], anchor='w').pack(side=Tk.LEFT)
        Tk.Label(row, width=22, text=fields[2], anchor='w').pack(side=Tk.LEFT)
        row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5)

        for boundary in self.delaunay_triangulation.triangulated_info['NTG']:
            row = Tk.Frame(self.cond_window)
            lab = Tk.Label(row,
                           width=22,
                           text=str(boundary) + ": ",
                           anchor='w')
            lab.pack(side=Tk.LEFT)

            params = {}
            for key in fields:
                ent = Tk.Entry(row)
                ent.insert(0, "0.000001")
                ent.pack(side=Tk.LEFT, expand=Tk.YES, fill=Tk.X)
                params[key] = ent

            row.pack(side=Tk.TOP, fill=Tk.X, padx=5, pady=5)
            entries[boundary] = params

        return entries
Exemplo n.º 5
0
 def createFrames(self, kw):
     bottom_frame = tkinter.Frame(self.top)
     bottom_frame.pack(side='bottom', fill='both', expand=False,
                       ipadx=3, ipady=3)
     if kw.separator:
         separator = tkinter.Frame(
             self.top, relief="sunken",
             height=2, width=2, borderwidth=1)
         separator.pack(side='bottom', fill='x')
     top_frame = tkinter.Frame(self.top)
     top_frame.pack(side='top', fill='both', expand=True)
     return top_frame, bottom_frame
Exemplo n.º 6
0
    def initialize(self):
        self.fn = None
        self.old_fn = None
        self.old_method = None
        self.old_fi = None
        self.AIM = None
        self.rmx = (368, 393)

        # matplotlib figure
        self.f = Figure(figsize=(2, 6))
        self.gs = gridspec.GridSpec(2, 2, width_ratios=[1, 2])
        self.gs.update(wspace=0.2, hspace=0.2)

        self.plt = []
        self.plt.append(self.f.add_subplot(self.gs[0]))
        self.plt.append(self.f.add_subplot(self.gs[1]))
        self.plt.append(
            self.f.add_subplot(self.gs[2],
                               sharex=self.plt[0],
                               sharey=self.plt[0]))
        self.plt.append(self.f.add_subplot(self.gs[3]))
        for i in [0, 2]:
            self.plt[i].set_adjustable('box')

        # hide until have data
        for i in range(4):
            self.plt[i].axis("off")

        # tkinter
        # set default font size for buttons
        self.font = tkFont.Font(size=11)
        self.fontB = tkFont.Font(size=12, weight='bold')

        # frames top (buttons), text, matplotlib (canvas)
        self.main_container = tk.Frame(self.parent, height=10, width=100)
        self.main_container.pack(side="top", fill="both", expand=True)

        self.button_frame = tk.Frame(self.main_container)
        # self.info_frame = tk.Frame(self.main_container)
        self.matplotlib_frame = tk.Frame(self.main_container)

        self.button_frame.pack(side="top", fill="x", expand=True)
        # self.info_frame.pack(side="top", fill="x", expand=True)
        self.matplotlib_frame.pack(side="top", fill="both", expand=True)

        self._menus()
        self._button_area()
        self._plot_canvas()
        self._text_info_box()
Exemplo n.º 7
0
    def __init__(self, parent, radio_config, *args, **kwargs):
        tk.Frame.__init__(self, parent)
        self.parent = parent
        self.input_list = []

        frame_ops = funcs.extract_args(kwargs, FRAME_KEYS, FRAME_KEY)
        frame = tk.Frame(self, frame_ops)
        frame.pack(fill='both', expand=True)

        label_ops = funcs.extract_args(kwargs, LABEL_KEYS, LABEL_KEY)
        label = tk.Label(frame, label_ops)

        tvar = tk.StringVar()

        label.pack(side='top', fill='x', expand=True)

        for radio_kwargs in radio_config:
            radio_ops = funcs.extract_args(radio_kwargs, RADIOBUTTON_KEYS,
                                           RADIOBUTTON_KEY)
            radio_ops['variable'] = tvar
            this_radio = tk.Radiobutton(frame, radio_ops)
            this_radio.pack(side='left', fill='x', expand=True)
            self.input_list.append(this_radio)

        self.parent.columnconfigure(0, weight=1)
        self.get = tvar.get
        self.set = tvar.set
        # self.state = lambda: change_state(self.entry)
        self.enable = self._enable
        self.normal = self._enable
        self.disable = self._disable
        self.clear = lambda: funcs.clear(entry)
Exemplo n.º 8
0
 def __init__(self, ax, master):
     self.ax = ax
     self.frame = Tk.Frame(master=master, relief=Tk.RAISED, borderwidth=2)
     self.textvar = dict()
     self.textvar['ra'] = Tk.StringVar()
     self.textvar['dec'] = Tk.StringVar()
     self.textvar['pitch'] = Tk.StringVar()
     self.textvar['phi'] = Tk.StringVar()
     self.textvar['earth_ra_cb'] = Tk.StringVar()
     self.textvar['earth_dec_cb'] = Tk.StringVar()
     Tk.Label(self.frame, text='RA, Dec').grid(row=0)
     Tk.Label(self.frame, text='Pitch, Phi').grid(row=1)
     Tk.Label(self.frame, text='Earth Alt, Az').grid(row=2)
     self.ra = Tk.Label(self.frame, textvariable=self.textvar['ra'], width=12)
     self.dec = Tk.Label(self.frame, textvariable=self.textvar['dec'], width=12)
     self.pitch = Tk.Label(self.frame, textvariable=self.textvar['pitch'])
     self.phi = Tk.Label(self.frame, textvariable=self.textvar['phi'])
     self.earth_ra_cb = Tk.Label(self.frame, textvariable=self.textvar['earth_ra_cb'])
     self.earth_dec_cb = Tk.Label(self.frame, textvariable=self.textvar['earth_dec_cb'])
     self.ra.grid(row=0, column=1)
     self.dec.grid(row=0, column=2)
     self.pitch.grid(row=1, column=1)
     self.phi.grid(row=1, column=2)
     self.earth_ra_cb.grid(row=2, column=2)
     self.earth_dec_cb.grid(row=2, column=1)
Exemplo n.º 9
0
    def body(self, master):
        tk.Label(master, text='Connection name:').grid(row=0)
        tk.Label(master, text='Catalog type:').grid(row=1)
        tk.Label(master, text='Root path:').grid(row=2)

        self.name = ttk.Entry(master)
        self.name.grid(row=0, column=1, sticky='ew')
        self.name.insert(0, self.connection_name)

        self.catalog_cbox = ttk.Combobox(master, values=config.catalog_types)
        self.catalog_cbox.grid(row=1, column=1, sticky='ew')
        self.catalog_cbox.set(self.catalog_type)

        self.root_path_entry = tk.Entry(master)
        self.root_path_entry.grid(row=2, column=1, sticky='ew')
        self.root_path_entry.insert(0, self.root_path)

        self.isdefault_var = tk.IntVar()
        self.isdefault_var.set(self.isdefault)
        self.set_default = tk.Checkbutton(master,
                                          text='make default connection',
                                          variable=self.isdefault_var)
        self.set_default.grid(row=3, column=1)

        self.catalog_config_frame = tk.Frame(master)
        self.catalog_config_frame.grid(row=4, sticky='nsew')

        self.catalog_type_changed(catalog_config=self.catalog_config)
        self.catalog_cbox.bind('<<ComboboxSelected>>',
                               self.catalog_type_changed)

        self.result = None
Exemplo n.º 10
0
    def __init__(self, app, parent, title, **kw):
        self._url = kw['url']
        kw = self.initKw(kw)
        MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
        top_frame, bottom_frame = self.createFrames(kw)
        self.createBitmaps(top_frame, kw)
        #
        self.button = kw.default
        frame = tkinter.Frame(top_frame)
        frame.pack(fill='both', expand=True, padx=kw.padx, pady=kw.pady)
        msg = tkinter.Label(frame,
                            text=kw.text,
                            justify=kw.justify,
                            width=kw.width)
        msg.pack(fill='both', expand=True)

        font = tkinter_font.Font(parent, app.getFont('default'))
        font.configure(underline=True)
        url_label = tkinter.Label(frame,
                                  text=kw.url,
                                  font=font,
                                  foreground='blue',
                                  cursor='hand2')
        url_label.pack()
        url_label.bind('<1>', self._urlClicked)
        #
        focus = self.createButtons(bottom_frame, kw)
        self.mainloop(focus, kw.timeout)
Exemplo n.º 11
0
 def show_properties(self):
     """
     This method displays image properties over new window.
     :return: None
     """
     prop_win = tk.Toplevel()
     prop_win.title("iSyntax Properties")
     prop_win_width = self._window.winfo_screenwidth() * Constants.property_win_size_ratio[0]
     prop_win_height = self._window.winfo_screenheight() * Constants.property_win_size_ratio[1]
     prop_win.geometry("{}x{}+200+100".format(str(int(prop_win_width)),
                                              str(int(prop_win_height))))
     prop_canvas = tk.Canvas(prop_win)
     scroll_y = tk.Scrollbar(prop_win, orient='vertical', command=prop_canvas.yview)
     scroll_x = tk.Scrollbar(prop_win, orient='horizontal', command=prop_canvas.xview)
     frame = tk.Frame(prop_canvas)
     row = 0
     for prop in Constants.property_list:
         # Dynamically create Label Widgets for each property
         # Structure them in a grid
         tk.Label(frame, text=prop[0], foreground='black',
                  font="Calibri 12").grid(sticky="w", row=row)
         tk.Label(frame, text=":", font="Calibri 14").grid(sticky="w", row=row, column=1)
         tk.Label(frame, text=str(prop[1]), foreground='blue',
                  font="Calibri 14").grid(sticky="w", row=row, column=2)
         row += 1
     prop_canvas.create_window(0, 0, anchor='nw', window=frame)
     prop_canvas.update_idletasks()
     scroll_y.pack(fill='y', side='right')
     scroll_x.pack(fill='x', side='bottom')
     prop_canvas.configure(scrollregion=prop_canvas.bbox('all'), yscrollcommand=scroll_y.set,
                           xscrollcommand=scroll_x.set)
     prop_canvas.pack(fill='both', expand=True, side='left')
Exemplo n.º 12
0
    def __init__(self, parent, placeholder='', **kwargs):
        tk.Frame.__init__(self, parent)
        self.parent = parent

        frame_ops = funcs.extract_args(kwargs, FRAME_KEYS, FRAME_KEY)
        frame = tk.Frame(self, frame_ops)
        frame.pack(fill='both', expand=True)

        label_ops = funcs.extract_args(kwargs, LABEL_KEYS, LABEL_KEY)
        label = tk.Label(frame, label_ops)
        tvar = tk.StringVar()
        entry_ops = funcs.extract_args(kwargs, ENTRY_KEYS, ENTRY_KEY)
        entry_ops['textvariable'] = tvar
        self.entry = tk.Entry(frame, entry_ops)

        label.pack(side='top', fill='x', expand=True)
        self.entry.pack(side='bottom', fill='x', expand=True)
        # self.entry.focus_force()
        self.parent.columnconfigure(0, weight=1)
        self.insert = self.entry.insert
        self.delete = self.entry.delete
        self.get = self.entry.get
        self.set = tvar.set
        self.index = self.entry.index
        self.bind = self.entry.bind
        # self.state = lambda: change_state(self.entry)
        self.enable = lambda: funcs.set_state_normal(self.entry)
        self.normal = lambda: funcs.set_state_normal(self.entry)
        self.disable = lambda: funcs.set_state_disabled(self.entry)
        self.clear = lambda: funcs.clear(self.entry)
Exemplo n.º 13
0
    def __init__(self, parent, **kwargs):
        tk.Frame.__init__(self, parent)
        self.parent = parent
        frame_ops = funcs.extract_args(kwargs, FRAME_KEYS, FRAME_KEY)
        entry_ops = funcs.extract_args(kwargs, ENTRY_KEYS, ENTRY_KEY)
        button_ops = funcs.extract_args(kwargs, BUTTON_KEYS, BUTTON_KEY)

        frame = tk.Frame(self, **frame_ops)
        frame.pack(expand=1, fill=tk.BOTH)
        tvar = tk.StringVar()
        if 'text' in kwargs:
            tvar.set(kwargs['text'])
        entry = tk.Entry(frame, textvariable=tvar, **entry_ops)
        button = tk.Button(frame, command=frame.destroy, **button_ops)
        entry.pack(expand=1, side='left', fill=tk.X)
        button.pack(expand=1, side='right', fill=tk.X)

        self.parent.columnconfigure(0, weight=1)
        self.insert = entry.insert
        self.delete = entry.delete
        self.get = entry.get
        self.set = tvar.set
        self.index = entry.index
        self.bind = entry.bind
        # self.state = lambda: change_state(self.entry)
        self.enable = lambda: funcs.set_state_normal(entry)
        self.normal = lambda: funcs.set_state_normal(entry)
        self.disable = lambda: funcs.set_state_disabled(entry)
        self.clear = lambda: funcs.clear(entry)
Exemplo n.º 14
0
 def __init__(self, master, naxes):
     self._master = master
     self._naxes = naxes
     self._mbar = Tk.Frame(master=master, relief=Tk.RAISED, borderwidth=2)
     self._mbar.pack(side=Tk.LEFT)
     self._mbutton = Tk.Menubutton(master=self._mbar,
                                   text="Axes",
                                   underline=0)
     self._mbutton.pack(side=Tk.LEFT, padx="2m")
     self._mbutton.menu = Tk.Menu(self._mbutton)
     self._mbutton.menu.add_command(label="Select All",
                                    command=self.select_all)
     self._mbutton.menu.add_command(label="Invert All",
                                    command=self.invert_all)
     self._axis_var = []
     self._checkbutton = []
     for i in range(naxes):
         self._axis_var.append(Tk.IntVar())
         self._axis_var[i].set(1)
         self._checkbutton.append(
             self._mbutton.menu.add_checkbutton(label="Axis %d" % (i + 1),
                                                variable=self._axis_var[i],
                                                command=self.set_active))
         self._mbutton.menu.invoke(self._mbutton.menu.index("Select All"))
     self._mbutton['menu'] = self._mbutton.menu
     self._mbar.tk_menuBar(self._mbutton)
     self.set_active()
Exemplo n.º 15
0
    def __init__(self, game, stack):
        self.game = game
        self.stack = stack
        self.canvas = game.canvas
        self.bindings = []

        font = game.app.getFont('canvas_small')
        # print self.app.cardset.CARDW, self.app.images.CARDW
        cardw = game.app.images.CARDW
        x, y = stack.x+cardw/2, stack.y
        text = stack.getHelp()+'\n'+stack.getBaseCard()
        text = text.strip()
        if text:
            frame = tkinter.Frame(self.canvas)
            self.frame = frame
            label = tkinter.Message(frame, font=font, text=text,
                                    width=cardw-8, relief='solid',
                                    fg='#000000', bg='#ffffe0', bd=1)
            label.pack()
            self.label = label
            self.id = self.canvas.create_window(x, y, window=frame, anchor='n')
            self.bindings.append(
                label.bind('<ButtonPress>', self._buttonPressEvent))
            # self.bindings.append(label.bind('<Enter>', self._enterEvent))
        else:
            self.id = None
Exemplo n.º 16
0
 def __init__(self, parent, odf):
   tk.Toplevel.__init__(self, parent)
   self.wm_title("Value set code")
   self.parent = parent
   self.newVal = None
   self.odf = odf
   self.showFrame = tk.Frame(self)
   
   self.textLabel = tk.Label(self.showFrame, text="Model name: ")
   self.textLabel.grid(row=0,column=0)
   self.modelName = tk.StringVar()
   self.modelName.set("model")
   self.modelEntry = tk.Entry(self.showFrame, textvariable=self.modelName, width=8)
   self.modelEntry.bind('<Return>', self._updateModelName)
   self.modelEntry.grid(row=0,column=1)
   
   self.showText = tk.Text(self.showFrame)
   self.showText.config(background='white')
   self.showText.grid(row=1,column=0,columnspan=2) #.pack(expand=True)
   
   self.clipboardButton = tk.Button(self.showFrame, text="Copy to Clipboard", command=self._copyToClipboard)
   self.clipboardButton.grid(row=2, column=0, columnspan=2)
   
   self.helpLabel = tk.Label(self.showFrame, text="You may use the above code for pasting...")
   self.helpLabel.grid(row=3, column=0, columnspan=2)
   
   self.showFrame.pack()
   
   self.protocol("WM_DELETE_WINDOW", self._windowClosed)
Exemplo n.º 17
0
    def _showNorm(self):
        """
      Shows normalized data in a separate window.
    """

        if self._normalizedDataShown:
            return

        self._normwin = tk.Tk()
        self._normwin.wm_title("Normalized spectrum")
        self._normwin.protocol("WM_DELETE_WINDOW", self._quitWin)

        # A frame containing the mpl plot
        self.normFrame = tk.Frame(master=self._normwin)
        self.normFrame.pack(fill=tk.BOTH, side=tk.LEFT, expand=True)
        self.normCanvas = FigureCanvasTkAgg(self.normf, master=self.normFrame)

        # a tk.DrawingArea
        self.normCanvas.get_tk_widget().pack()
        self.normToolbar = NavigationToolbar2TkAgg(self.normCanvas,
                                                   self.normFrame)
        self.normToolbar.update()
        self.normCanvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=True)

        closeButton = tk.Button(master=self._normwin,
                                text='Close',
                                command=self._quitWin)
        closeButton.pack(side=tk.BOTTOM)

        self._normalizedDataShown = True
        self._updateNormalizationPlot()
Exemplo n.º 18
0
 def __init__(self, top, row, column, columnspan):
     self.top = top
     self._show = True
     self._widgets = []
     self._tooltips = []
     #
     self._row = row
     self._column = column
     self._columnspan = columnspan
     self._label_column = 0
     #
     self.padx = 1
     self.label_relief = 'sunken'
     self.frame = tkinter.Frame(self.top, bd=1)
     self.frame.grid(row=self._row,
                     column=self._column,
                     columnspan=self._columnspan,
                     sticky='ew',
                     padx=1,
                     pady=1)
     if WIN_SYSTEM == 'win32':
         self.frame.config(relief='raised')
         self.padx = 0
     if 0:
         self.frame.config(bd=0)
         self.label_relief = 'flat'
         self.padx = 0
    def __init__(self, parent, title, app, **kw):
        kw = self.initKw(kw)
        MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
        top_frame, bottom_frame = self.createFrames(kw)
        # self.createBitmaps(top_frame, kw)

        frame = tkinter.Frame(top_frame)
        frame.pack(expand=True, fill='both', padx=5, pady=10)
        frame.columnconfigure(0, weight=1)

        self.demo_sleep_var = tkinter.DoubleVar()
        self.demo_sleep_var.set(app.opt.timeouts['demo'])
        self.hint_sleep_var = tkinter.DoubleVar()
        self.hint_sleep_var.set(app.opt.timeouts['hint'])
        self.raise_card_sleep_var = tkinter.DoubleVar()
        self.raise_card_sleep_var.set(app.opt.timeouts['raise_card'])
        self.highlight_piles_sleep_var = tkinter.DoubleVar()
        self.highlight_piles_sleep_var.set(app.opt.timeouts['highlight_piles'])
        self.highlight_cards_sleep_var = tkinter.DoubleVar()
        self.highlight_cards_sleep_var.set(app.opt.timeouts['highlight_cards'])
        self.highlight_samerank_sleep_var = tkinter.DoubleVar()
        self.highlight_samerank_sleep_var.set(
            app.opt.timeouts['highlight_samerank'])
        #
        # tkinter.Label(frame, text='Set delays in seconds').grid(
        #   row=0, column=0, columnspan=2)
        row = 0
        for title, var in (
            (_('Demo:'), self.demo_sleep_var),
            (_('Hint:'), self.hint_sleep_var),
            (_('Raise card:'), self.raise_card_sleep_var),
            (_('Highlight piles:'), self.highlight_piles_sleep_var),
            (_('Highlight cards:'), self.highlight_cards_sleep_var),
            (_('Highlight same rank:'), self.highlight_samerank_sleep_var),
        ):
            tkinter.Label(frame, text=title, anchor='w').grid(row=row,
                                                              column=0,
                                                              sticky='we')
            widget = tkinter.Scale(frame,
                                   from_=0.2,
                                   to=9.9,
                                   resolution=0.1,
                                   orient='horizontal',
                                   length="3i",
                                   variable=var,
                                   takefocus=0)
            widget.grid(row=row, column=1)
            row += 1
        #
        focus = self.createButtons(bottom_frame, kw)
        self.mainloop(focus, kw.timeout)
        #
        self.demo_timeout = self.demo_sleep_var.get()
        self.hint_timeout = self.hint_sleep_var.get()
        self.raise_card_timeout = self.raise_card_sleep_var.get()
        self.highlight_piles_timeout = self.highlight_piles_sleep_var.get()
        self.highlight_cards_timeout = self.highlight_cards_sleep_var.get()
        self.highlight_samerank_timeout = \
            self.highlight_samerank_sleep_var.get()
Exemplo n.º 20
0
 def _get_groupframe(self, group):
     if group not in self._groups:
         if self._groups:
             self._add_separator()
         frame = Tk.Frame(master=self, borderwidth=0)
         frame.pack(side=Tk.LEFT, fill=Tk.Y)
         self._groups[group] = frame
     return self._groups[group]
Exemplo n.º 21
0
    def __init__(self, parent, title, top, **kw):
        kw = self.initKw(kw)
        MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
        top_frame, bottom_frame = self.createFrames(kw)
        self.createBitmaps(top_frame, kw)

        cnf = {
            'master': top_frame,
            'highlightthickness': 1,
            'highlightbackground': 'black',
        }
        frame = tkinter.Frame(**cnf)
        frame.pack(expand=True, fill='both', padx=10, pady=10)
        frame.columnconfigure(0, weight=1)
        cnf['master'] = frame
        cnf['text'] = _('N')
        label = tkinter.Label(**cnf)
        label.grid(row=0, column=0, sticky='ew')
        cnf['text'] = _('Game number')
        label = tkinter.Label(**cnf)
        label.grid(row=0, column=1, sticky='ew')
        cnf['text'] = _('Started at')
        label = tkinter.Label(**cnf)
        label.grid(row=0, column=2, sticky='ew')
        cnf['text'] = _('Result')
        label = tkinter.Label(**cnf)
        label.grid(row=0, column=3, sticky='ew')

        row = 1
        for i in top:
            # N
            cnf['text'] = str(row)
            label = tkinter.Label(**cnf)
            label.grid(row=row, column=0, sticky='ew')
            # Game number
            cnf['text'] = '#' + str(i.game_number)
            label = tkinter.Label(**cnf)
            label.grid(row=row, column=1, sticky='ew')
            # Start time
            t = time.strftime('%Y-%m-%d %H:%M',
                              time.localtime(i.game_start_time))
            cnf['text'] = t
            label = tkinter.Label(**cnf)
            label.grid(row=row, column=2, sticky='ew')
            # Result
            if isinstance(i.value, float):
                # time
                s = format_time(i.value)
            else:
                # moves
                s = str(i.value)
            cnf['text'] = s
            label = tkinter.Label(**cnf)
            label.grid(row=row, column=3, sticky='ew')
            row += 1

        focus = self.createButtons(bottom_frame, kw)
        self.mainloop(focus, kw.timeout)
Exemplo n.º 22
0
 def _Spacer(self):
     # Buttons are 30px high, so make this 26px tall with padding to center it
     s = Tk.Frame(master=self,
                  height=26,
                  relief=Tk.RIDGE,
                  pady=2,
                  bg="DarkGray")
     s.pack(side=Tk.LEFT, padx=5)
     return s
Exemplo n.º 23
0
 def createCanvas(self, kw):
     bd = kw['bd']
     kw['bd'] = 0
     relief = kw['relief']
     del kw['relief']
     frame = tkinter.Frame(self.frame, bd=bd, relief=relief)
     frame.grid(row=0, column=0, sticky="news")
     self.canvas = MfxCanvas(frame, **kw)
     self.canvas.pack(expand=True, fill='both')
Exemplo n.º 24
0
def create_widgets():
    global list_box, canvas

    list_box = tkinter.Listbox(root, exportselection=False)
    list_box.grid(row=0, column=0, rowspan=2, sticky=tkinter.NS)

    list_box.bind('<<ListboxSelect>>', show_cardset)

    scroll_bar = tkinter.Scrollbar(root)
    scroll_bar.grid(row=0, column=1, rowspan=2, sticky=tkinter.NS)
    list_box.config(yscrollcommand=scroll_bar.set)
    scroll_bar.config(command=list_box.yview)

    # create Canvas
    canvas = tkinter.Canvas(root, width=600, height=600, bg='#5eab6b')
    canvas.grid(row=0, column=2, sticky=tkinter.NSEW)
    canvas.bind('<4>', lambda e: canvas.yview_scroll(-5, 'unit'))
    canvas.bind('<5>', lambda e: canvas.yview_scroll(5, 'unit'))
    canvas.bind_all("<MouseWheel>", on_mousewheel)

    scroll_bar = tkinter.Scrollbar(root)
    scroll_bar.grid(row=0, column=3, sticky=tkinter.NS)
    canvas.config(yscrollcommand=scroll_bar.set)
    scroll_bar.config(command=canvas.yview)

    scroll_bar = tkinter.Scrollbar(root, orient=tkinter.HORIZONTAL)
    scroll_bar.grid(row=1, column=2, sticky=tkinter.EW)
    canvas.config(xscrollcommand=scroll_bar.set)
    scroll_bar.config(command=canvas.xview)

    # create buttons
    b_frame = tkinter.Frame(root)
    b_frame.grid(row=3, column=0, columnspan=4, sticky=tkinter.EW)

    button = tkinter.Button(b_frame, text='Quit',
                            command=root.destroy, width=8)
    button.pack(side=tkinter.RIGHT)

    button = tkinter.Button(b_frame, text='Info', command=show_info, width=8)
    button.pack(side=tkinter.RIGHT)

    button = tkinter.Button(b_frame, text='Config',
                            command=show_config, width=8)
    button.pack(side=tkinter.RIGHT)

    button = tkinter.Button(b_frame, text='Select Directory',
                            command=select_dir, width=14)
    button.place(x=200, y=0)

    root.columnconfigure(2, weight=1)
    root.rowconfigure(0, weight=1)

    root.title('Show Cardsets')
    root.wm_geometry("%dx%d+%d+%d" % (800, 600, 40, 40))
    return root
Exemplo n.º 25
0
 def _GuiLogo(self):
   """Creates the UI graphical logo."""
   self.logo_frame = tk.Frame(self.root)
   self.logo_frame.columnconfigure(0, weight=1)
   r = resources.Resources()
   path = r.GetResourceFileName('logo.gif')
   self.logo_img = tk.PhotoImage(file=path)
   self.logo = tk.Label(self.logo_frame, image=self.logo_img, text='logo here')
   self.logo.grid(column=0, row=0, sticky='SE')
   self.logo_frame.grid(column=0, row=self.row, sticky='EW')
   self.row += 1
Exemplo n.º 26
0
    def __init__(self):
        # ===============GUI items initializarion===============
        self.root = Tk.Tk()
        self.root.wm_title("MathsPhysics")

        self.text_frame = Tk.Frame(master=self.root)
        self.text = Tk.Text(self.text_frame)
        self.text_scrollbar = Tk.Scrollbar(self.text_frame)
        self.text.config(yscrollcommand=self.text_scrollbar.set)
        self.text.pack(side=Tk.LEFT, fill=Tk.BOTH, expand=1)
        self.text_scrollbar.config(command=self.text.yview)
        self.text_scrollbar.pack(side=Tk.RIGHT, fill=Tk.Y)

        self.fig = plt.figure(figsize=(5, 5))  #(dpi=100) # figsize=(5, 4),
        self.canvas = FigureCanvasTkAgg(self.fig,
                                        master=self.root)  # A tk.DrawingArea.
        self.canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH,
                                         expand=1)  # canvas.draw()
        self.toolbar = NavigationToolbar2TkAgg(self.canvas, self.root)
        self.toolbar.update()
        self.canvas._tkcanvas.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

        self.text_frame.pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

        self.menubar = Tk.Menu(self.root)
        self.filemenu = Tk.Menu(self.menubar, tearoff=0)
        self.filemenu.add_command(label="Load input", command=self._load_data)
        self.filemenu.add_command(label="Triangulate",
                                  command=self._triangulate)
        self.filemenu.add_command(label="Compare", command=self._compare)
        self.filemenu.add_command(label="Set conditions",
                                  command=self._ask_conds)
        self.filemenu.add_command(label="Solve",
                                  command=self._solve)  # Do nothing
        self.filemenu.add_separator()
        self.filemenu.add_command(label="Quit", command=self._quit)
        self.menubar.add_cascade(label="Menu", menu=self.filemenu)
        self.root.config(menu=self.menubar)

        # conditions window
        self.cond_window = None
        # ============================================================

        self.delaunay_triangulation = None
        self.entries = None
        self.fem_solver = None
        self.solver = None
        self.solution = None
        self.x_vertices = None
        self.y_vertices = None

        # =============================================================
        self.tester = None
Exemplo n.º 27
0
 def __init__(self, parent, title, app, **kw):
     kw = self.initKw(kw)
     MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
     top_frame, bottom_frame = self.createFrames(kw)
     self.createBitmaps(top_frame, kw)
     self.app = app
     #
     self.update_stats_var = tkinter.BooleanVar()
     self.update_stats_var.set(app.opt.update_player_stats != 0)
     self.confirm_var = tkinter.BooleanVar()
     self.confirm_var.set(app.opt.confirm != 0)
     self.win_animation_var = tkinter.BooleanVar()
     self.win_animation_var.set(app.opt.win_animation != 0)
     #
     frame = tkinter.Frame(top_frame)
     frame.pack(expand=True, fill='both', padx=5, pady=10)
     widget = tkinter.Label(
         frame,
         text=_("\nPlease enter your name"),
         # justify='left', anchor='w',
         takefocus=0)
     widget.grid(row=0, column=0, columnspan=2, sticky='ew', padx=0, pady=5)
     w = kw.get("e_width", 30)  # width in characters
     self.player_var = tkinter.Entry(frame, exportselection=1, width=w)
     self.player_var.insert(0, app.opt.player)
     self.player_var.grid(row=1, column=0, sticky='ew', padx=0, pady=5)
     widget = tkinter.Button(frame,
                             text=_('Choose...'),
                             command=self.selectUserName)
     widget.grid(row=1, column=1, padx=5, pady=5)
     widget = tkinter.Checkbutton(frame,
                                  variable=self.confirm_var,
                                  anchor='w',
                                  text=_("Confirm quit"))
     widget.grid(row=2, column=0, columnspan=2, sticky='ew', padx=0, pady=5)
     widget = tkinter.Checkbutton(frame,
                                  variable=self.update_stats_var,
                                  anchor='w',
                                  text=_("Update statistics and logs"))
     widget.grid(row=3, column=0, columnspan=2, sticky='ew', padx=0, pady=5)
     #  widget = tkinter.Checkbutton(frame, variable=self.win_animation_var,
     #                               text="Win animation")
     #  widget.pack(side='top', padx=kw.padx, pady=kw.pady)
     frame.columnconfigure(0, weight=1)
     #
     self.player = self.player_var.get()
     self.confirm = self.confirm_var.get()
     self.update_stats = self.update_stats_var.get()
     self.win_animation = self.win_animation_var.get()
     #
     focus = self.createButtons(bottom_frame, kw)
     self.mainloop(focus, kw.timeout)
Exemplo n.º 28
0
 def __init__(self, parent, title, app, manager, key=None, **kw):
     kw = self.initKw(kw)
     MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
     top_frame, bottom_frame = self.createFrames(kw)
     self.createBitmaps(top_frame, kw)
     #
     if key is None:
         key = manager.getSelected()
     self.app = app
     self.manager = manager
     self.key = key
     self.table_color = app.opt.colors['table']
     if self.TreeDataHolder_Class.data is None:
         self.TreeDataHolder_Class.data = self.TreeData_Class(manager, key)
     #
     self.top.wm_minsize(400, 200)
     if self.top.winfo_screenwidth() >= 800:
         w1, w2 = 200, 400
     else:
         w1, w2 = 200, 300
     font = app.getFont("default")
     padx, pady = 4, 4
     frame = tkinter.Frame(top_frame)
     frame.pack(fill='both',
                expand=True,
                padx=kw.padx - padx,
                pady=kw.pady - pady)
     self.tree = self.Tree_Class(self,
                                 frame,
                                 key=key,
                                 default=kw.default,
                                 font=font,
                                 width=w1)
     self.tree.frame.pack(side="left",
                          fill='both',
                          expand=False,
                          padx=padx,
                          pady=pady)
     self.preview = MfxScrolledCanvas(frame, width=w2, hbar=0, vbar=0)
     self.preview.pack(side="right",
                       fill='both',
                       expand=True,
                       padx=padx,
                       pady=pady)
     self.preview.canvas.preview = 1
     # create a preview of the current state
     self.preview_key = -1
     self.updatePreview(key)
     #
     focus = self.createButtons(bottom_frame, kw)
     focus = self.tree.frame
     self.mainloop(focus, kw.timeout)
Exemplo n.º 29
0
 def __init__(self, parent, odf):
   tk.Toplevel.__init__(self, parent)
   self.wm_title("Parameter Summary")
   self.parent = parent
   self.newVal = None
   
   self.showFrame = tk.Frame(self)
   self.showText = tk.Text(self.showFrame)
   self.showText.config(background='white')
   self.showText.pack(fill=tk.BOTH, expand=True)
   self.showFrame.pack(fill=tk.BOTH, expand=True)
   
   self.protocol("WM_DELETE_WINDOW", self._windowClosed)
Exemplo n.º 30
0
def show_info(*args):
    if list_box.curselection():
        cs_name = list_box.get(list_box.curselection())
        cs = cardsets_dict[cs_name]
        fn = os.path.join(cs.dir, 'COPYRIGHT')
        top = tkinter.Toplevel()
        text = tkinter.Text(top)
        text.insert('insert', open(fn).read())
        text.pack(expand=tkinter.YES, fill=tkinter.BOTH)
        b_frame = tkinter.Frame(top)
        b_frame.pack(fill=tkinter.X)
        button = tkinter.Button(b_frame, text='Close', command=top.destroy)
        button.pack(side=tkinter.RIGHT)