def show_univers(self):
        i = 0
        for cities in self.univers:
            label = tk.Label(self.top_frame, text=cities[0]['city'])
            label.grid(row=i, column=0)
            label.label = False
            label.collapsed = True
            label.bind('<1>', self.switch_univers)
            i += 1
            for univer in cities:
                var = tk.IntVar()
                checkbutton = tk.Checkbutton(self.top_frame,
                                             text=univer['name'],
                                             variable=var)
                checkbutton.var = var
                checkbutton.grid(row=i, column=0)
                checkbutton.label = label
                checkbutton.bind('<1>', self.gen_univers_chosen)
                i += 1

        self.widget_univers = self.top_frame.grid_slaves()

        for widget in self.widget_univers:
            if ~str(widget.winfo_class).find('checkbutton'):
                widget.grid_remove()
Beispiel #2
0
    def __init__(self, master, srimdata=None, title=None):
        """
        @param master master widget
        @param srimdata path to SRIM compound db, usually encoded in cp437
        @param title title of the widget
        """
        tix.Frame.__init__(self, master, title)

        # filepath entry
        label = tix.Label(self, text='SRIM compound.dat:')
        label.grid(row=0, column=0, sticky='W')
        self.filepath = SRIMMatDBFrame.Open(self,
                                            label='open SRIM compound.dat')
        self.filepath.filepath.config(stat=tix.DISABLED)

        self.filepath.grid(row=1, column=0, sticky='WE', padx=(10, 0))
        # data selection table
        self.dselect = matdb_frame.MatDBFrame(self)
        self.dselect.grid(row=2, column=0, sticky='WENS')

        self.grid_rowconfigure(2, weight=1)
        self.grid_columnconfigure(0, weight=1)

        if srimdata:
            self.load_srimdata(srimdata)
 def body(self, top):
     ''' define GUI elements'''
     f = tix.Frame(top)
     f.pack(expand=True, fill='x')
     for row, opt in enumerate(self.options):
         tix.Label(f, text=opt[0]).grid(row=row, column=0, sticky='w')
         e = tix.Entry(f)
         e.grid(row=row, column=1, sticky='e')
         e.insert('end', str(opt[1]))
         self.entries.append(e)
Beispiel #4
0
        def makelist(self):
            speedBalloon = tix.Balloon(self.t)

            variable = {}
            var_variables = ['percent']
            temp = rcc.variability
            temp.sort()
            labels = {}
            bLabel = tix.Label(
                self.t,
                text=
                'Variability level between individual animals of the same creature\nPercent is assumed to be maximum variability\nIf 0 the BODY_APPEARANCE_MODIFIER tags will not be added'
            )
            r = 0
            c = 1
            for key in temp:
                r = r + 1
                variable[key] = {}
                if r > 12:
                    c = c + 1
                    r = 1
                labels[key] = tix.Label(self.t, text=key.capitalize() +
                                        ':').grid(row=r, column=c, stick=tix.W)
                for var in var_variables:
                    r = r + 1
                    variable[key][var] = tix.Control(
                        self.t,
                        label=var.capitalize(),
                        min=0,
                        value=rcc.numbers['variable'][key][var].get(),
                        variable=rcc.numbers['variable'][key][var],
                        autorepeat=False)
                    variable[key][var].subwidget('decr').destroy()
                    variable[key][var].subwidget('incr').destroy()
                    variable[key][var].grid(row=r,
                                            column=c,
                                            stick=tix.E,
                                            padx=10)

            bLabel.grid(row=0, column=0, columnspan=c)
            self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL)
            self.bb.add('close', text='Close', command=self.close)
            self.bb.grid(row=0, column=c + 1)
Beispiel #5
0
    def build_notebook(self, top):
        mono_font = self.get_mono_font()
        nb = tix.NoteBook(top)

        nb.add("item_page",
               label="items",
               raisecmd=lambda pg="item": self.ev_page(pg))
        fr = tix.Frame(nb.subwidget("item_page"))
        self.item_fmt = "{:15} {:15} {:10} ${:<8} {:12}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.item_fmt.format("Name", "Description", "Owner",
                                            "Price",
                                            "Condition")).pack(anchor="w")
        # 使用tix.ScrolledListBox而不是tix.ScrolledText小部件。使用ScrolledListBox小部件可以更加容易地选择行。
        slb = tix.ScrolledListBox(fr, width=500, height=200)
        slb.pack(fill="both", expand=True)
        fr.pack(fill="both", expand=True)
        self.item_list = slb.subwidget("listbox")
        self.item_list.configure(font=mono_font, bg="white")
        # 使用bind()方法将鼠标左键双击链接到适当的编辑事件处理程序上。除了处理默认小部件的命令,bind()机制可以处理任意事件。
        # 不同的是,回调函数必须接受一个事件参数并为参数设置了默认值None。这样普通的回调机制以及双击链接也可以使用它
        self.item_list.bind("<Double-1>", self.ev_edit_item)

        # 事件处理程序都是自解释型的。在选中新的notebook页时,就会触发ev_page()处理程序。它只是为活动页面启动对应的菜单。
        nb.add("member_page",
               label="members",
               raisecmd=lambda pg="member": self.ev_page(pg))
        fr = tix.Frame(nb.subwidget("member_page"))
        self.member_fmt = "{:<15} {:<40}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.member_fmt.format(
                      "Name", "Email Address")).pack(anchor="w")
        slb = tix.ScrolledListBox(fr, width=40, height=20)
        slb.pack(fill="both", expand=True)
        fr.pack(fill="both", expand=True)
        self.member_list = slb.subwidget("listbox")
        self.member_list.configure(font=mono_font, bg="white")
        self.member_list.bind("<Double-1>", self.ev_edit_member)

        return nb
Beispiel #6
0
        def makelist(self):
            speedBalloon = tix.Balloon(self.t)

            speed = {}
            speed_variables = ['max', 'min']
            temp = rcc.gaits
            temp.sort()
            labels = {}
            bLabel = tix.Label(
                self.t,
                text=
                'Speed of various gaits in kph\nChosen from a triangular distribution between Min and Max\nSee the readme for additional information'
            )
            r = 0
            c = 1
            for key in temp:
                r = r + 1
                speed[key] = {}
                if r > 12:
                    c = c + 1
                    r = 1
                labels[key] = tix.Label(self.t, text=key.capitalize() +
                                        ':').grid(row=r, column=c, stick=tix.W)
                for var in speed_variables:
                    r = r + 1
                    speed[key][var] = tix.Control(
                        self.t,
                        label=var.capitalize(),
                        min=0,
                        value=rcc.numbers['speed'][key][var].get(),
                        variable=rcc.numbers['speed'][key][var],
                        autorepeat=False)
                    speed[key][var].subwidget('decr').destroy()
                    speed[key][var].subwidget('incr').destroy()
                    speed[key][var].grid(row=r, column=c, stick=tix.E, padx=10)

            bLabel.grid(row=0, column=0, columnspan=c)
            self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL)
            self.bb.add('close', text='Close', command=self.close)
            self.bb.grid(row=0, column=c + 1)
Beispiel #7
0
        def makelist(self):
            argsBalloon = tix.Balloon(self.t)

            arg = {}
            arg_variables = ['max', 'min']
            temp = list(rcc.args.keys())
            temp.sort()
            labels = {}
            bLabel = tix.Label(
                self.t,
                text=
                'All arguments found in the Templates\nWhen each creature is generated a value is chosen for each argument\nThe value is selected from a triangular distribution between Min and Max'
            )
            r = 0
            c = 1
            for key in temp:
                r = r + 1
                arg[key] = {}
                if r > 12:
                    c = c + 1
                    r = 1
                labels[key] = tix.Label(self.t, text=key.capitalize() +
                                        ':').grid(row=r, column=c, stick=tix.W)
                for var in arg_variables:
                    r = r + 1
                    arg[key][var] = tix.Control(
                        self.t,
                        label=var.capitalize(),
                        min=0,
                        value=rcc.numbers['args'][key][var].get(),
                        variable=rcc.numbers['args'][key][var],
                        autorepeat=False)
                    arg[key][var].subwidget('decr').destroy()
                    arg[key][var].subwidget('incr').destroy()
                    arg[key][var].grid(row=r, column=c, stick=tix.E, padx=10)

            bLabel.grid(row=0, column=0, columnspan=c)
            self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL)
            self.bb.add('close', text='Close', command=self.close)
            self.bb.grid(row=0, column=c + 1)
    def show_filters(self):
        for i, (key, value) in enumerate(self.filters.items()):
            label = tk.Label(self.top_frame, text=key)
            label.grid(row=0, column=i)
            for j, name in enumerate(value['names']):
                var = tk.IntVar()
                btn = tk.Checkbutton(self.top_frame, text=name, variable=var)
                btn.var = var
                btn.label = label['text']
                btn.grid(row=j + 1, column=i)
                btn.bind('<1>', self.gen_filter_url)

        self.widget_filters = self.top_frame.grid_slaves()
Beispiel #9
0
def test1():
    top = tix.Tk()
    lab = tix.Label(top)
    lab.pack()
    # 使用的是config()而不是之前使用的字典来设置文本属性。事件处理程序lambda函数使用了字符串参数s
    # 它是通过小部件事件传入的。字符串保存当前选择的值
    cb = tix.ComboBox(top, command=lambda s: lab.config(text=s))
    for s in ["Fred", "Ginger", "Gene", "Debbie"]:
        cb.insert("end", s)
    cb.pick(0)
    lab["text"] = "Pick any item"
    cb.pack()
    top.mainloop()
Beispiel #10
0
    def body(self, master):
        message = """Proof Builder has determined that the conclusion
      contains atomic forms not found in any of the premises.  To
      continue with this inference provide values for these forms."""

        label1 = tix.Label(master, text=message)
        label1.grid(row=0, column=0, columnspan=2)

        label2 = tix.Label(master, text='sequent')
        label2.grid(row=1, column=0)

        label3 = tix.Label(master, text=str(self._sequent), relief=tix.SUNKEN)
        label3.grid(row=1, column=1)

        for row, pair in enumerate(self.unmappedSymbolMap):
            label4 = tix.Label(master, text=(pair[0] + ':'))
            label4.grid(row=row + 2, column=0)

            entry = tix.Entry(master)
            entry.grid(row=row + 2, column=1)

            self._entries.append((pair[0], entry))
Beispiel #11
0
    def buildNoteBook(self, top):
        mono_font = self.getMonoFont()
        nb = tix.NoteBook(top)

        nb.add("itemPage",
               label="Items",
               raisecmd=lambda pg="item": self.evPage(pg))
        fr = tix.Frame(nb.subwidget("itemPage"))
        self.itemFmt = "{:15} {:15} {:10} ${:<8} {:12}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.itemFmt.format("Name", "Description", "Owner",
                                           "Price",
                                           "Condition")).pack(anchor='w')
        slb = tix.ScrolledListBox(fr, width=500, height=200)
        slb.pack(fill='both', expand=True)
        fr.pack(fill='both', expand=True)
        self.itemList = slb.subwidget("listbox")
        self.itemList.configure(font=mono_font, bg='white')
        self.itemList.bind('<Double-1>', self.evEditItem)

        nb.add("memberPage",
               label="Members",
               raisecmd=lambda pg="member": self.evPage(pg))
        fr = tix.Frame(nb.subwidget("memberPage"))
        self.memberFmt = "{:<15} {:<40}"
        tix.Label(fr,
                  font=mono_font,
                  text=self.memberFmt.format("Name",
                                             "Email Address")).pack(anchor='w')
        slb = tix.ScrolledListBox(fr, width=40, height=20)
        slb.pack(fill='both', expand=True)
        fr.pack(fill='both', expand=True)
        self.memberList = slb.subwidget("listbox")
        self.memberList.configure(font=mono_font, bg='white')
        self.memberList.bind('<Double-1>', self.evEditMember)

        return nb
Beispiel #12
0
    def ShowClock(self):
        self.SetServerTimeOffset()
        clockwindow = tix.Toplevel()

        clockwindow.resizable(0,0)
        tix.Label(clockwindow, text="현재 보인아이 시간").pack()
        clocklabel = Label(clockwindow, text="00:00:00", font=("TkDefaultFont", 50, "bold"))
        clocklabel.pack(expand=YES, fill=BOTH)
        clockwindow.update_idletasks()
        fontscale = Scale(clockwindow,label="글자크기",from_=10, to=200, orient=HORIZONTAL, resolution=10)
        fontscale.pack(fill=Y,anchor=S)
        fontscale.set(50)
        fontscale.bind("<ButtonRelease-1>",lambda x: self.UpdateStandaloneClock(clocklabel, fontscale))
        clocklabel.after(100, self.UpdateBoiniClock(clocklabel))
Beispiel #13
0
    def body(self, master):
        msg = tix.Label(
            master,
            text=
            "Multiple conclusion forms are possible.  Select the desired form."
        )
        msg.pack(side=tix.TOP)

        self._box = tix.Listbox(master,
                                height=4,
                                width=60,
                                selectmode=tix.SINGLE)
        self._box.insert(tix.END, *tuple(self._conclList))
        self._box.pack(side=tix.TOP)
Beispiel #14
0
    def sequentEntryBox(self, parent):
        seqFrame = tix.Frame(parent)

        label = tix.Label(seqFrame, text='Sequent')
        label.grid(row=0, column=0, padx=5, pady=5)

        self.sequentEntry = tix.Entry(seqFrame, width=100)
        self.sequentEntry.grid(row=0, column=1, padx=5, pady=5)

        self.proveBtn = tix.Button(seqFrame,
                                   text='Prove',
                                   command=self.onProveButton)
        self.proveBtn.grid(row=0, column=2, padx=5, pady=5)

        seqFrame.pack(fill=tix.X, ipadx=5, padx=40, pady=15)
Beispiel #15
0
    def __init__(self, master, proc_fn):
        self.master = master
        self.frame = tix.Frame(master)
        self.frame.width = 150
        self.frame.rowconfigure(0, minsize=15)
        self.frame.rowconfigure(3, minsize=15)
        self.frame.rowconfigure(5, minsize=15)
        self.frame.rowconfigure(7, minsize=15)
        self.frame.columnconfigure(0, minsize=15)
        self.frame.columnconfigure(4, minsize=15)
        self.frame.pack()

        tix.Label(self.frame, text="Archivo de Entrada :").grid(row=2,
                                                                sticky=tix.W)
        tix.Label(self.frame, text="Archivo de Salida  :").grid(row=4,
                                                                sticky=tix.W)

        self.input = tix.Entry(self.frame)
        self.input.grid(row=2, column=3)
        tix.Button(self.frame, text="...",
                   command=self.get_input).grid(row=2, column=2)
        self.output = tix.Entry(self.frame)
        self.output.grid(row=4, column=3)
        tix.Button(self.frame, text="...",
                   command=self.set_output).grid(row=4, column=2)

        tix.Button(self.frame, text="Cancelar",
                   command=self.frame.quit).grid(row=6, column=1)
        tix.Button(self.frame, text="Procesar", command=proc_fn).grid(row=6,
                                                                      column=3)

        self.box = None
        self.in_out_state = None
        self.ready = False
        self.in_file = None
        self.out_file = None
Beispiel #16
0
def get_human_captcha(buffer):
    get_human_captcha.res = ''

    def callback(ev):
        get_human_captcha.res = inp.get()
        window.destroy()
    window = Tix.Tk()
    im = Image.open(io.BytesIO(buffer))
    img = ImageTk.PhotoImage(im)
    Tix.Label(window, image=img).pack()
    window.bind("<Return>", callback)
    inp = Tix.Entry(window)
    inp.pack()
    inp.focus_set()
    window.mainloop()
    return get_human_captcha.res
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry('700x700')

        self.scrollbar = tk.ScrolledWindow(self.root, scrollbar=tk.BOTH)
        self.scrollbar.pack(fill=tk.BOTH, expand=1)

        self.top_frame = tk.Frame(self.scrollbar.window)
        self.top_frame.pack(side=tk.TOP)

        self.bottom_frame = tk.Frame(self.scrollbar.window)
        self.bottom_frame.pack(side=tk.BOTTOM)

        self.forward = tk.Button(self.bottom_frame, text='далее')
        self.forward.pack(side=tk.LEFT)
        self.forward.bind('<1>', self.click_forward)
        self.forward.pos = ''

        self.path = tk.Label(self.bottom_frame, text='')
        self.path.pack(side=tk.LEFT)
Beispiel #18
0
        def makelist(self):
            listBalloon = tix.Balloon(self.t)
            c = 0
            self.cl = {}
            for type1 in rcc.checks[self.ty]:
                j = 0
                self.cl[type1] = tix.CheckList(self.t,
                                               width=350,
                                               height=600,
                                               browsecmd=self.update)
                self.cl[type1].grid(row=0, column=c)
                self.cl[type1].hlist.add(type1, text=type1)
                self.cl[type1].setstatus(type1, rcc.status[type1]['All'])
                temp = list(rcc.data[type1].keys())
                temp.sort()
                for subtype in temp:
                    j = j + 1
                    hl = tix.Label(self.cl[type1], text="?")
                    hl.place(in_=self.cl[type1],
                             x=10,
                             y=16 * j + 4,
                             width=10,
                             height=10)
                    #     hl.place_forget()
                    self.cl[type1].hlist.add(type1 + '.' + subtype,
                                             text=subtype)
                    self.cl[type1].setstatus(type1 + '.' + subtype,
                                             rcc.status[type1][subtype])
                    #     print(self.cl[type].subwidgets_all())
                    listBalloon.bind_widget(hl,
                                            msg=''.join(
                                                rcc.store[type1][subtype]))
#     hl.place_forget()
                self.cl[type1].autosetmode()
                c = c + 1
            self.bb = tix.ButtonBox(self.t, orientation=tix.VERTICAL)
            self.bb.add('close', text='Close', command=self.close)
            self.bb.add('check', text='Check All', command=self.checkAll)
            self.bb.add('uncheck', text='Uncheck All', command=self.uncheckAll)
            self.bb.grid(row=0, column=c)
Beispiel #19
0
   def __enter__( self ):
      # Remove the app window from the display
      self._root.withdraw( )
      
      # Calculate the geometry to center the splash image
      scrnWt = self._root.winfo_screenwidth( )
      scrnHt = self._root.winfo_screenheight( )
      
      imgWt = self._image.width()
      imgHt = self._image.height()
      
      imgXPos = (scrnWt / 2) - (imgWt / 2)
      imgYPos = (scrnHt / 2) - (imgHt / 2)

      # Create the splash screen      
      self._splash = Tix.Toplevel()
      self._splash.overrideredirect(1)
      self._splash.geometry( '+%d+%d' % (imgXPos, imgYPos) )
      Tix.Label( self._splash, image=self._image, cursor='watch' ).pack( )

      # Force Tk to draw the splash screen outside of mainloop()
      self._splash.update( )
Beispiel #20
0
    def __init__(self, item, on_item_update, on_item_remove):
        # make sure only one dialog at a time
        try:
            ActionDialog._current_dialog.destroy()
        except Exception:
            pass

        # init
        self.item = item
        self.on_item_update = on_item_update
        self.on_item_remove = on_item_remove

        # dialog
        self.dialog = tk.Tk()
        self.dialog.title("Edit")
        self.dialog.resizable(width=False, height=False)

        # labels
        label_frame = tk.Frame(self.dialog,
                               highlightbackground="gray",
                               highlightcolor="gray",
                               highlightthickness=2)
        pad = tk.Frame(label_frame, height=8)
        pad.pack(side=tk.TOP, fill=tk.BOTH, expand=True)

        # text hash
        tk.Label(label_frame, text="hash:", anchor=tk.W, font="helvetica 12 bold") \
            .pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        text_hash = tk.Text(label_frame, width=10, height=1, wrap=tk.WORD)
        text_hash.insert(tk.END, item.entry[:item.entry.find(".")])
        text_hash.bind(
            "<Key>", lambda event: "break" if event.keysym == "Return" else "")
        text_hash.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8)

        # text key
        tk.Label(label_frame, text="key:", anchor=tk.W, font="helvetica 12 bold") \
            .pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        text_key = tk.Text(label_frame, width=80, height=1, wrap=tk.WORD)
        text_key.insert(tk.END, item.key)
        text_key.bind(
            "<Key>", lambda event: "break" if event.keysym == "Return" else "")
        text_key.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8)

        # text value
        tk.Label(label_frame, text="value: ", anchor=tk.W, font="helvetica 12 bold") \
            .pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        text_value = tk.Text(label_frame, width=80, height=5, wrap=tk.WORD)
        text_value.insert(tk.END, item.value)
        text_value.bind(
            "<Key>", lambda event: "break" if event.keysym == "Return" else "")
        text_value.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8)

        pad = tk.Frame(label_frame, height=8)
        pad.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        label_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True)

        # action buttons
        btn_frame = tk.Frame(self.dialog)
        btn = tk.Button(btn_frame,
                        text="Cancel",
                        command=lambda: self.dialog.destroy())
        btn.pack(side=tk.LEFT, fill=tk.X, expand=True)

        btn = tk.Button(btn_frame,
                        text="Remove",
                        command=lambda: self.action_remove(self.item))
        btn.pack(side=tk.LEFT, fill=tk.X, expand=True)

        btn = tk.Button(btn_frame,
                        text="Save",
                        command=lambda: self.action_save(
                            text_hash.get("1.0", tk.END)[:-1],
                            text_key.get("1.0", tk.END)[:-1],
                            text_value.get("1.0", tk.END)[:-1]))
        btn.pack(side=tk.LEFT, fill=tk.X, expand=True)
        btn_frame.pack(side=tk.BOTTOM, fill=tk.BOTH, expand=True)

        ActionDialog._current_dialog = self.dialog
Beispiel #21
0
    def makeNumbersTable(frame):
        numbersSubFrame = tix.Frame(frame)
        numbersSubFrame.rowconfigure(1)
        numbersSubFrame.columnconfigure(1)
        numbersBalloon = tix.Balloon(numbersSubFrame)

        rcc.numbers['args'] = {}
        for key in rcc.args:
            rcc.numbers['args'][key] = {}
            rcc.numbers['args'][key]['max'] = tix.IntVar()
            rcc.numbers['args'][key]['min'] = tix.IntVar()

        rcc.numbers['speed'] = {}
        for key in rcc.gaits:
            rcc.numbers['speed'][key] = {}
            rcc.numbers['speed'][key]['max'] = tix.IntVar()
            rcc.numbers['speed'][key]['min'] = tix.IntVar()

        rcc.numbers['attributes'] = {}
        for key in rcc.phys_attributes:
            rcc.numbers['attributes'][key] = {}
            rcc.numbers['attributes'][key]['max'] = tix.IntVar()
            rcc.numbers['attributes'][key]['min'] = tix.IntVar()
            rcc.numbers['attributes'][key]['sigma'] = tix.IntVar()
        for key in rcc.ment_attributes:
            rcc.numbers['attributes'][key] = {}
            rcc.numbers['attributes'][key]['max'] = tix.IntVar()
            rcc.numbers['attributes'][key]['min'] = tix.IntVar()
            rcc.numbers['attributes'][key]['sigma'] = tix.IntVar()

        rcc.numbers['variable'] = {}
        for key in rcc.variability:
            rcc.numbers['variable'][key] = {}
            rcc.numbers['variable'][key]['percent'] = tix.IntVar()

        r = 0
        c = 0
        sizeLabel = tix.Label(numbersSubFrame, text='Sizes:')
        sizeLabel.grid(row=r, column=c, stick=tix.W)
        rcc.numbers['size'] = {}
        creatureSize = {}
        size_variables = ['mean', 'sigma', 'min', 'vermin', 'tiny', 'trade']
        for var in size_variables:
            r = r + 1
            rcc.numbers['size'][var] = tix.IntVar()
            creatureSize[var] = tix.Control(numbersSubFrame,
                                            label=var.capitalize(),
                                            min=0,
                                            variable=rcc.numbers['size'][var],
                                            autorepeat=False,
                                            integer=True)
            creatureSize[var].subwidget('decr').destroy()
            creatureSize[var].subwidget('incr').destroy()
            creatureSize[var].grid(row=r, column=c, stick=tix.E, padx=10)
        numbersBalloon.bind_widget(
            sizeLabel,
            msg=
            'Size tokens [BODY_SIZE:x_1:y_1:a_1], [BODY_SIZE:x_2:y_2:a_2], and [BODY_SIZE:x_3:y_3:a_3] are calculated as follows:\n  a_3 is calculated by selecting a random number from a gaussian distribution with a mean Mean and sigma Sigma\n  a_1 is calculated by selecting a random number from a gaussian distribution with a mean a_3/100 and sigma Sigma/100\n  a_2 = a_1 + a_3*75%, if this is > a_3 then a_2 and a_3 are switched\n  x_1, y_1, y_2, and y_3 are all set to 0 for now\n  x_2 is taken from [BABY:n] (see Ages for calculation) such that x_2 = n + 1\n  x_3 is taken from [CHILD:n] (see Ages for calculation) such that x_3 = n + 2\nMin is the minimum size of any creature, if a_3 < Min then a_3 = Min\nVermin sets the maximum size needed for the #VERMIN flag, below this size #VERMIN is set to True\nTiny sets the maximum size needed for the #TINY flag, below this size #TINY is set to True\nTrade sets the minimum size needed for the #TRADE flag, above this size #TRADE is set to True\nMore information on the #VERMIN, #TINY, and #TRADE flags can be found in the readme'
        )

        r = r + 1
        ageLabel = tix.Label(numbersSubFrame, text='Ages:')
        ageLabel.grid(row=r, column=c, stick=tix.W)
        rcc.numbers['age'] = {}
        creatureAge = {}
        age_variables = ['max', 'min', 'baby', 'child', 'delta']
        for var in age_variables:
            r = r + 1
            rcc.numbers['age'][var] = tix.IntVar()
            creatureAge[var] = tix.Control(numbersSubFrame,
                                           label=var.capitalize(),
                                           min=0,
                                           variable=rcc.numbers['age'][var],
                                           autorepeat=False,
                                           integer=True)
            creatureAge[var].subwidget('decr').destroy()
            creatureAge[var].subwidget('incr').destroy()
            creatureAge[var].grid(row=r, column=c, stick=tix.E, padx=10)
        numbersBalloon.bind_widget(
            ageLabel,
            msg=
            'Ages tokens [MAX_AGE:a:b], [BABY:c], [CHILD:d] are calculated as follows:\n  a is chosen between Min and Max\n  b is chosen between Max and Max + Delta\n  c is chosen between Baby - Delta and Baby + Delta\n  d is chosen between Child - Delta and Child + Delta\nall choices are selected randomly from a triangular distribution\nif c > d then c is set to 0 and d is set to c\nif either c or d is 0 then that tag will not be added to the creature'
        )

        r = 0
        c = 1
        popLabel = tix.Label(numbersSubFrame, text='Pop Numbers:')
        popLabel.grid(row=r, column=c, stick=tix.W)
        rcc.numbers['population'] = {}
        creaturePopulation = {}
        pop_variables = ['max', 'min']
        for var in pop_variables:
            r = r + 1
            rcc.numbers['population'][var] = tix.IntVar()
            creaturePopulation[var] = tix.Control(
                numbersSubFrame,
                label=var.capitalize(),
                min=0,
                variable=rcc.numbers['population'][var],
                autorepeat=False,
                integer=True)
            creaturePopulation[var].subwidget('decr').destroy()
            creaturePopulation[var].subwidget('incr').destroy()
            creaturePopulation[var].grid(row=r, column=c, stick=tix.E, padx=10)
        numbersBalloon.bind_widget(
            popLabel,
            msg=
            'Population token [POPULATION_NUMBER:x:y] is calculated as follows:\n  x is chosen between 1 and Min\n  y is chosen between Min and Max\nchoices are selected randomly from a triangular distribution\nFor Vermin and Tiny creatures x = 250 and y = 500'
        )

        r = r + 1
        clusLabel = tix.Label(numbersSubFrame, text='Cluster Numbers:       ')
        clusLabel.grid(row=r, column=c, stick=tix.W)
        rcc.numbers['cluster'] = {}
        creatureCluster = {}
        clus_variables = ['max', 'min']
        for var in clus_variables:
            r = r + 1
            rcc.numbers['cluster'][var] = tix.IntVar()
            creatureCluster[var] = tix.Control(
                numbersSubFrame,
                label=var.capitalize(),
                min=0,
                variable=rcc.numbers['cluster'][var],
                autorepeat=False,
                integer=True)
            creatureCluster[var].subwidget('decr').destroy()
            creatureCluster[var].subwidget('incr').destroy()
            creatureCluster[var].grid(row=r, column=c, stick=tix.E, padx=10)
        numbersBalloon.bind_widget(
            clusLabel,
            msg=
            'Cluster token [CLUSTER_NUMBER:x:y] is calculated as follows:\n  x is chosen between 1 and Min\n  y is chosen between Min and Max\nchoices are selected randomly from a triangular distribution\nFor Vermin and Tiny creatures the cluster token is not used'
        )

        r = r + 1
        intLabel = tix.Label(numbersSubFrame, text='Interactions:')
        intLabel.grid(row=r, column=c, stick=tix.W)
        rcc.numbers['interaction'] = {}
        creatureInteraction = {}
        clus_variables = ['max', 'chance']
        for var in clus_variables:
            r = r + 1
            rcc.numbers['interaction'][var] = tix.IntVar()
            creatureInteraction[var] = tix.Control(
                numbersSubFrame,
                label=var.capitalize(),
                min=0,
                variable=rcc.numbers['interaction'][var],
                autorepeat=False,
                integer=True)
            creatureInteraction[var].subwidget('decr').destroy()
            creatureInteraction[var].subwidget('incr').destroy()
            creatureInteraction[var].grid(row=r,
                                          column=c,
                                          stick=tix.E,
                                          padx=10)
        numbersBalloon.bind_widget(
            intLabel,
            msg=
            'Max is the maximum number of interactions and one creature can have\nChance is the percent chance that each interaction slot is filled\nFor example, if Max is 3 and Chance is 50 then slot 1 will have a 50% chance of being filled, slot 2 will have a 50% chance of being filled, and slot 3 will have a 50% chance of being filled\nThis, of course, is dependent on their being 3 interactions that the creature meets the criteria for'
        )

        r = r + 1
        casteLabel = tix.Label(numbersSubFrame, text='Castes:')
        casteLabel.grid(row=r, column=c, stick=tix.W)
        rcc.numbers['caste'] = {}
        creatureCaste = {}
        clus_variables = ['male', 'female', 'neutral']
        for var in clus_variables:
            r = r + 1
            rcc.numbers['caste'][var] = tix.IntVar()
            creatureCaste[var] = tix.Control(
                numbersSubFrame,
                label=var.capitalize(),
                min=0,
                variable=rcc.numbers['caste'][var],
                autorepeat=False,
                integer=True)
            creatureCaste[var].subwidget('decr').destroy()
            creatureCaste[var].subwidget('incr').destroy()
            creatureCaste[var].grid(row=r, column=c, stick=tix.E, padx=10)
        numbersBalloon.bind_widget(
            casteLabel,
            msg=
            'The maximum number of castes each creature can have which meets specific criteria\nMale sets the maximum number of castes with the #MALE LINK\nFemale sets the maximum number of castes with the #FEMALE LINK\nNeutral sets the maximum number of castes without the #MALE or #FEMALE LINK\nFor more information on LINKs and the #MALE and #FEMALE flags see the readme'
        )

        r += 1
        subLabel = Label(numbersSubFrame, text='Subtypes:')
        subLabel.grid(row=r, column=c, stick=tix.W)
        r += 1
        rcc.numbers['subtypes'] = tix.IntVar()
        creatureSubtypes = tix.Control(numbersSubFrame,
                                       label='Max',
                                       min=0,
                                       value=0,
                                       variable=rcc.numbers['subtypes'],
                                       autorepeat=False,
                                       integer=True)
        creatureSubtypes.subwidget('decr').destroy()
        creatureSubtypes.subwidget('incr').destroy()
        creatureSubtypes.grid(row=r, column=c, stick=tix.E, padx=10)
        numbersBalloon.bind_widget(
            subLabel,
            msg=
            'Number of subtypes one creature can be, their total number of subtypes will be chosen between 0 and Max from a flat distribution'
        )

        r = 0
        c = 2
        percLabel = Label(numbersSubFrame, text='Percents:')
        percLabel.grid(row=r, column=c, stick=tix.W)
        creaturePercentage = {}
        rcc.numbers['percents'] = {}
        temp = list(rcc.tokens.keys())
        temp.sort()
        for key in temp:
            r += 1
            rcc.numbers['percents'][key] = tix.IntVar()
            creaturePercentage[key] = tix.Control(
                numbersSubFrame,
                label='    ' + key,
                min=0,
                value=0,
                variable=rcc.numbers['percents'][key],
                autorepeat=False,
                integer=True)
            creaturePercentage[key].subwidget('decr').destroy()
            creaturePercentage[key].subwidget('incr').destroy()
            creaturePercentage[key].grid(row=r, column=2, stick=tix.E, padx=10)
        numbersBalloon.bind_widget(
            percLabel,
            msg=
            'Percentage chance given token will be true\nIf you wish to generate a set of creatures that all share a commonality you would set the percent to 100'
        )

        numbersSubFrame.grid(row=1, column=1)
Beispiel #22
0
    def _createWidgets_(self):
        self.fsFrame = tk.Frame(self.mFrame)
        self.tk_setPalette(background = '#F2D7D5') ##F2D7D5
        self.btQuit = tk.Button(self.mFrame)
        self.btQuit.config(text = 'Завершить', command = self.root.destroy)
        self.btQuit.pack(side =tk.BOTTOM)
        ##self.loadFrame = tk.LabelFrame(self.fsFrame)
        ##self.listBMsg = tk.Listbox(self.loadFrame, relief='flat')

        self.topElemsFrame = tk.Frame(self.fsFrame)
        self.btnLstFrame = tk.LabelFrame(self.topElemsFrame)
        self.smplUnqOptFrame = tk.Frame(self.topElemsFrame)
        
        self.smplUnqOptLabelF = tk.LabelFrame(self.smplUnqOptFrame)
        
        self._lbSmplUnqOptLabelF_ = self.getSubWgts(self.smplUnqOptLabelF, tk._dummyLabel)
        self._lbSmplUnqOptLabelF_.config(text = "Уник. сэмпл.")
        self._frSmplUnqOptLabelF_ = self.getSubWgts(self.smplUnqOptLabelF, tk._dummyFrame)
        
        self.cbIfCutUrl = tk.Checkbutton(self._frSmplUnqOptLabelF_, text = "Сократ. Url в назв. сэмпл.", variable = self._varIfCutUrlInSmpl_)
        
        self.smplThruNum = tk.LabelFrame(self._frSmplUnqOptLabelF_)
        self._lbSmplThruNum_ = self.getSubWgts(self.smplThruNum, tk._dummyLabel)
        self._lbSmplThruNum_.config(text = "Скозн. нумер.")
        self._frSmplThruNum_ = self.getSubWgts(self.smplThruNum, tk._dummyFrame)
        self.smplThruNumCntrl = tk.Radiobutton(self._frSmplThruNum_, text = "Контроллер", variable = self._varRbSmplThruNum_, value = "Controller")
        self.smplThruNumThGr = tk.Radiobutton(self._frSmplThruNum_, text = "ТредГрупп", variable = self._varRbSmplThruNum_, value = "ThreadGroup")
        self.smplThruNumTstPl = tk.Radiobutton(self._frSmplThruNum_, text = "ТестПлан", variable = self._varRbSmplThruNum_, value = "TestPlan")
        self.smplThruNumCntrl.pack(side = tk.TOP, anchor = tk.W)
        self.smplThruNumThGr.pack(side = tk.TOP, anchor = tk.W)
        self.smplThruNumTstPl.pack(side = tk.TOP, anchor = tk.W)
        
        self.cbIfNotRstrUnqInSmpl = tk.Checkbutton(self._frSmplUnqOptLabelF_, text = "Не восст. ориг. назв. сэмпл.", variable = self._varCbIfNotRstrUnqInSmpl_)
        
        self.cbIfCutUrl.pack(side = tk.TOP, anchor = tk.W)
        self.smplThruNum.pack(side = tk.TOP, anchor = tk.W)
        self.cbIfNotRstrUnqInSmpl.pack(side = tk.TOP, anchor = tk.W)
        
        self.smplUnqOptLabelF.pack(anchor = tk.E)
        self.smplUnqOptFrame.config(width = self.smplThruNum.winfo_reqwidth(), padx = 100)
        
        self.paramVolatilFrame = tk.Frame(self.topElemsFrame)
        self.update_idletasks()
        leftCornerWidth = self._frSmplUnqOptLabelF_.winfo_reqwidth() + int(self.smplUnqOptLabelF.cget("borderwidth")) * 2
        leftCornerHeight = self.smplUnqOptLabelF.winfo_reqheight() + 2
        self.paramVolatilFrame.config(width = leftCornerWidth + 202, height = leftCornerHeight)
        self.paramVolatilFrame.pack_propagate(0)
        
        self.paramVolatilLabel = tk.LabelFrame(self.paramVolatilFrame)
        self._lbParamVolatilLabel_ = self.getSubWgts(self.paramVolatilLabel, tk._dummyLabel)
        self._lbParamVolatilLabel_.config(text = "Статистика")
        self._frParamVolatilLabel_ = self.getSubWgts(self.paramVolatilLabel, tk._dummyFrame)
        
        self.frBtGetVolatilPrm = tk.Frame(self._frParamVolatilLabel_)
        self.btBtGetVolatilPrm = tk.Button(self.frBtGetVolatilPrm, text="Получ. стат. по парам.")

        self.rBtGetVolatilPrm = tk.Radiobutton(self.frBtGetVolatilPrm, text = 'Волатил.   ', variable = self._volatilPrm_, value = True)
        self.rBtGetNonVolatilPrm = tk.Radiobutton(self.frBtGetVolatilPrm, text = 'Не волатил.', variable = self._volatilPrm_, value = False)
        self.btBtGetVolatilPrm.config(relief='groove')
        self.btBtGetVolatilPrm.config(command = self.prcdfGetVolatilPrms)
        self.frBtGetVolatilPrm.pack(side = tk.TOP, anchor = tk.W)
        self.btBtGetVolatilPrm.pack(side = tk.LEFT)
        self.rBtGetVolatilPrm.pack(side = tk.TOP, anchor = tk.W)
        self.rBtGetNonVolatilPrm.pack(side = tk.TOP, anchor = tk.W)

        self.paramVolatilLabel.pack(anchor = tk.W)

        ##self.msgsToAscFrame = tk.Listbox(self.loadFrame, relief='flat', selectmode='multiple')
        ##self.vScroll = tk.Scrollbar(self.loadFrame, orient=tk.VERTICAL)
        ##self.msgsToAscFrame.config( yscrollcommand=self.vScroll.set)
        self.consFrame = tk.LabelFrame(self.mFrame)
        #self.varsFrame = tk.LabelFrame(self.fsFrame)

        ##self.btnCollctnFrame = tk.LabelFrame(self.fsFrame)
        
        self.mCllctnFrame = tk.Frame(self.mFrame)
        
        self._lbBtnLstFrame_ = self.getSubWgts(self.btnLstFrame, tk._dummyLabel)
        self._lbBtnLstFrame_.config(text = 'Раб. с исх. Xml-дер.')
        self._frBtnLstFrame_ = self.getSubWgts(self.btnLstFrame, tk._dummyFrame)
        
        self.varsFrame = tk.Frame(self._frBtnLstFrame_, borderwidth=2, bg = 'blue')
        self.vrSPathFrame = tk.Label(self.varsFrame)
        self.vrFnameFrame = tk.Label(self.varsFrame)
        self.vrUnqFNmFrame = tk.Label(self.varsFrame)
        #self.vrPileCllctnFrame = tk.Label(self.varsFrame)
        self.vrRestreFNmFrame = tk.Label(self.varsFrame)
        
        self._btnLstFrame_ = tk.Frame(self._frBtnLstFrame_, borderwidth = 2)
        
        self.btCatchJMXFiles = tk.Button(self._btnLstFrame_, text="Собрать все \n.jmx файлы", fg="green")
        
	#self.btCatchJMXFiles.config(command = self.testFrame)
        self.btCatchJMXFiles.config(command = self.prcdCatchJMXFiles)
        self.btCatchJMXFiles.config(relief='raised')
        self.btCatchJMXFiles.pack(fill = 'x')
        #self.jmscdObj.setFName = 'toParce.jmx'

        self.btGetJMXMkTree = tk.Button(self._btnLstFrame_, text="Получить дерево из \n.jmx файла", fg="green")
        self.btGetJMXMkTree.config(command = self.prcdGetJMXMkTree)
        self.btGetJMXMkTree.config(relief='raised')
        self.btGetJMXMkTree.pack(fill = 'x')
        
        self.btTreeUnqNms = tk.Button(self._btnLstFrame_, text="Сген. колл. \nс уник. именами")
        self.btTreeUnqNms.config(command = self.prcdTreeUnqNms)
        self.btTreeUnqNms.config(relief='raised', state = tk.DISABLED)
        self.btTreeUnqNms.pack(fill = 'x')
        
        self.btRstrOrigNms = tk.Button(self._btnLstFrame_, text="Восст. ориг. имена\nдля получен. колл.")
        self.btRstrOrigNms.config(command = self.prcdRstrOrigNms)
        self.btRstrOrigNms.config(relief='raised')
        self.btRstrOrigNms.pack(fill = 'x')
        
        self.vrSPathLabel = tk.Label(self.vrSPathFrame)
        self.vrSPathValue = tk.Entry(self.vrSPathFrame, bg='white')
        self.vrSPathLabel.config(text='Каталог с (*.jmx)  файл.:', justify = tk.LEFT)
        self.vrSPathValue.config(justify = tk.LEFT)
        self.vrSPathValue.insert(0, self.jmscdObj.setPATH)
        self.vrSPathLabel.pack(side = tk.LEFT)
        self.vrSPathValue.pack(side = tk.LEFT)
        self.vrSPathFrame.pack(side = tk.TOP)
        
        self.vrFnameLabel = tk.Label(self.vrFnameFrame)
        self.vrFnameValue = tk.Entry(self.vrFnameFrame, bg='white')
        self.vrFnameLabel.config(text='Файл(*.jmx) для парам.:', justify = tk.LEFT)
        self.vrFnameValue.config(justify = tk.LEFT)
        self.vrFnameValue.insert(0, self.jmscdObj.setFName)
        self.vrFnameLabel.pack(side = tk.LEFT)
        self.vrFnameValue.pack(side = tk.LEFT)
        self.vrFnameFrame.pack(side=tk.TOP)
        
        self.vrUnqFNmLabel = tk.Label(self.vrUnqFNmFrame)
        self.vrUnqFNmValue = tk.Entry(self.vrUnqFNmFrame, bg = 'white')
        self.vrUnqFNmLabel.config(text='Файл(*.jmx), униф. элм.:', justify = tk.LEFT)
        self.vrUnqFNmValue.config(justify = tk.LEFT)
        self.vrUnqFNmValue.insert(0, self.jmscdObj.outFileUniqueNames)
        self.vrUnqFNmLabel.pack(side = tk.LEFT)
        self.vrUnqFNmValue.pack(side = tk.LEFT)
        self.vrUnqFNmFrame.pack(side=tk.TOP)
        
        self.vrRestreFNmLabel = tk.Label(self.vrRestreFNmFrame)
        self.vrRestreFNmValue = tk.Entry(self.vrRestreFNmFrame, bg = 'white')
        self.vrRestreFNmLabel.config(text='Файл(*.jmx), восcт. элм.:', justify = tk.LEFT)
        self.vrRestreFNmValue.config(justify = tk.LEFT)
        self.vrRestreFNmValue.insert(0, self.jmscdObj.outFileRestrdOrig)
        self.vrRestreFNmLabel.pack(side = tk.LEFT)
        self.vrRestreFNmValue.pack(side = tk.LEFT)
        self.vrRestreFNmFrame.pack(side=tk.TOP)
        
        self._btnLstFrame_.pack(side = tk.TOP)
        self.varsFrame.pack(side=tk.TOP)
        ##
        
        
        self.frPileOptns = tk.LabelFrame(self.mCllctnFrame)
        self._lbFrPileOptns_ = self.getSubWgts(self.frPileOptns, tk._dummyLabel)
        self._lbFrPileOptns_.config(text = 'Получ. осн. колл.')
        self._frPileOptns_ = self.getSubWgts(self.frPileOptns, tk._dummyFrame)
        self.scrollPileMCllt = tk.Scrollbar(self._frPileOptns_, orient = tk.VERTICAL)
        self.scrollPileMCllt.pack(side = tk.RIGHT, fill = 'y')
        self.lsbxPileMCllct = tk.Listbox(self._frPileOptns_, height = 4, width = 34, yscrollcommand = self.scrollPileMCllt.set)

        for itm in range(4):
            self.lsbxPileMCllct.insert(tk.END, '--')
            
        self.btPileMCllct = tk.Button(self._frPileOptns_, text="Аккумул. раб. коллекц.")
        self.btPileMCllct.config(command = self.prcdPileMCllct, relief='groove')
        self.lsbxPileMCllct.pack(side = tk.TOP)
        self.btPileMCllct.pack(side = tk.TOP)
        self.frPileOptns.pack(side = tk.LEFT)
        
        self.scrollPileMCllt.config(command = self.lsbxPileMCllct.yview)
        
        self.frOutRslts = tk.LabelFrame(self.mCllctnFrame)
        self._lbFrOutRslts_ = self.getSubWgts(self.frOutRslts, tk._dummyLabel)
        self._lbFrOutRslts_.config(text = 'Текущ. знач.')
        self._frOutRslts_ = self.getSubWgts(self.frOutRslts, tk._dummyFrame)
        self.entStrVar = tk.StringVar(self._frOutRslts_)
        #self.entStrVar.set(self.jmscdObj.entityNames[2]) # default value
        self.lstWrkEnts = tk.OptionMenu(self._frOutRslts_, variable = self.entStrVar)
        for ent in self.jmscdObj.entityNames:
            self.lstWrkEnts.add_command(ent)
        self.entStrVar.set(self.jmscdObj.entityNames[2])
        #self.lstWrkEnts = tk.Listbox(self.mCllctnFrame)
        
        ##Опция выбора сущности на данный момент выключена
        ####self.lstWrkEnts.pack(side = tk.TOP)
        self.tstOutText = tk.Text(self._frOutRslts_, state = tk.DISABLED, bg='#FFEFD5')#, width=64)
        self.tstOutText.pack(side = tk.TOP)
        self.txtWdgtDelete(False)
        self.txtWdgtInsert(self._initText_)
        #
        self.frWrInfExtCntrlElm = tk.Frame(self._frOutRslts_)
        self.btWriteChngsToF = tk.Button(self.frWrInfExtCntrlElm, text='Запис. изм.\nв файл')
        self.btWriteChngsToF.config(command = self.prcdWrtXmlTree)
        self.btUpdateXMLTree = tk.Button(self.frWrInfExtCntrlElm, text='Обнов. \nxml-дерево')
        self.btUpdateXMLTree.config(command = self.prcdUpdtXMLTree, state = tk.DISABLED)
        self.btUpdateXMLTree.pack(side = tk.LEFT)
        self.btWriteChngsToF.pack(side = tk.LEFT)
        self.frWrInfExtCntrlElm.pack(side = tk.BOTTOM)
        #
        self.frOutRslts.pack(side = tk.LEFT)

        ###
        
        self.frGetCollctnData = tk.Frame(self.mCllctnFrame)
        #
        self.frGetListKeys = tk.LabelFrame(self.frGetCollctnData)
        self._frGetListKeys_ = self.getSubWgts(self.frGetListKeys, tk._dummyFrame)
        self.frBtGetLstKeys = tk.Frame(self._frGetListKeys_)
        self.btGetListKeys = tk.Button(self.frBtGetLstKeys, text="Список получ. ключей:")
        self.varRBtLstKeys = tk.IntVar()
        self.varRBtLstKeys.set(1)
        self.rBtLstKeysPrms = tk.Radiobutton(self.frBtGetLstKeys, text = 'Парам. ', variable = self.varRBtLstKeys, value = 1)
        self.rBtLstKeysLnks = tk.Radiobutton(self.frBtGetLstKeys, text = 'Ссылки', variable = self.varRBtLstKeys, value = 2)
        self.btGetListKeys.config(relief='groove')
        self.btGetListKeys.config(command = self.prcdfGetListKeys)
        self._lbGetListKeys_ = self.getSubWgts(self.frGetListKeys, tk._dummyLabel)
        self._lbGetListKeys_.config(text = 'Раб. с осн. коллекц.')
        self.frBtGetLstKeys.pack(side = tk.TOP, anchor = tk.W)
        self.btGetListKeys.pack(side = tk.LEFT)
        self.rBtLstKeysPrms.pack(side = tk.TOP, anchor = tk.E)
        self.rBtLstKeysLnks.pack(side = tk.TOP, anchor = tk.E)
        self.frGetListKeys.pack(side = tk.TOP, fill = 'x')
        #
        self.frGetDictData = tk.Frame(self._frGetListKeys_)
        self.frGetDictData.config(borderwidth = 2, bg = 'green')
        ##
        self.frGetDataDictItem = tk.Frame(self.frGetDictData)
        self.vlGetDataDictItem = tk.Entry(self.frGetDataDictItem, bg='white')
        self.vlGetDataDictItem.insert(0, '<знач.ключа>')
        self.btGetDataDictItem = tk.Button(self.frGetDataDictItem, text="Все знач.\nпо задан. ключу:")
        self.btGetDataDictItem.config(command = self.prcdGetDataDictItem)
        self.btGetDataDictItem.config(relief='groove')
        self.btGetDataDictItem.pack(side= tk.LEFT)
        self.vlGetDataDictItem.pack(side = tk.RIGHT, fill = 'y')
        self.frGetDataDictItem.pack(side = tk.TOP)
        ##
        self.frGetScrLstByNm = tk.Frame(self.frGetDictData)
        self.btGetScrLstByNm = tk.Button(self.frGetScrLstByNm, text="Все контрлр.\nпо задан. ключу:")
        self.btGetScrLstByNm.config(command = self.prcdGetScrLstByNm)
        self.btGetScrLstByNm.config(relief='groove')
        self.vlGetScrLstByNm = tk.Entry(self.frGetScrLstByNm, bg='white')
        self.vlGetScrLstByNm.insert(0, '<знач.ключа>')
        self.chkBtVar = tk.BooleanVar(self.frGetScrLstByNm)
        self.chkBtVar.set(False)
        self.chkGetScrLstByNm = tk.Checkbutton(self.frGetScrLstByNm, text='Вывод сэмплр.', variable=self.chkBtVar)
        self.btGetScrLstByNm.pack(side= tk.LEFT)
        self.vlGetScrLstByNm.pack(side = tk.TOP)
        self.chkGetScrLstByNm.pack(side = tk.LEFT)
        self.frGetScrLstByNm.pack(side = tk.TOP)
        ##
        self.frGetScrFncByKeyVal = tk.Frame(self.frGetDictData)
        self.btGetScrFncByKeyVal = tk.Button(self.frGetScrFncByKeyVal, text="Все контрлр.\nпо  паре  кл.-зн.:")
        self.btGetScrFncByKeyVal.config(command = self.prcdGetScrFncByKeyVal)
        self.btGetScrFncByKeyVal.config(relief='groove')
        self.vlGetScrFncByKeyVal = tk.Entry(self.frGetScrFncByKeyVal, bg='white')
        self.vlGetScrFncByKeyVal.insert(0, '<знач.ключа>')
        self.vrGetScrFncByKeyVal = tk.Entry(self.frGetScrFncByKeyVal, bg='white')
        self.vrGetScrFncByKeyVal.insert(0, '<знач.парам.>')
        self.chkKeyVlVar = tk.BooleanVar(self.frGetScrFncByKeyVal)
        self.chkKeyVlVar.set(False)
        self.chkGetScrFncByKeyVal = tk.Checkbutton(self.frGetScrFncByKeyVal, text='Вывод сэмплр.', variable=self.chkKeyVlVar)
        self.btGetScrFncByKeyVal.pack(side= tk.LEFT, fill='y')
        self.vlGetScrFncByKeyVal.pack(side = tk.TOP)
        self.vrGetScrFncByKeyVal.pack(side = tk.TOP)
        self.chkGetScrFncByKeyVal.pack(side = tk.LEFT)
        self.frGetScrFncByKeyVal.pack(side = tk.TOP, fill='x')
        ##
        self.frGetValByKSF = tk.Frame(self.frGetDictData)
        self.frGetValByKSF.config(borderwidth = 1, bg = 'red')
        self.blnMsg = tk.Balloon(self.frGetValByKSF, initwait = 350, bg='yellow')
        self.blnMsgText = 'Внимание!\nНазвания контроллеров и сэмплеров (возможно) были изменены,\nследует сверять в jmeter по файлу "(*.jmx) униф. эл"'
        self.blnMsg.bind_widget(self.frGetValByKSF, msg = self.blnMsgText)
        self.btGetValByKSF = tk.Button(self.frGetValByKSF, text="Значен. для\n кл.-кнтр.-смпл.:")
        self.btGetValByKSF.config(command = self.prcdGetValByKSF)
        self.btGetValByKSF.config(relief='groove')
        self.vlGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white')
        self.vlGetValByKSF.insert(0, '<знач.ключа>')
        self.ctGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white')
        self.ctGetValByKSF.insert(0, '<назв. контрлр.>')
        self.smGetValByKSF = tk.Entry(self.frGetValByKSF, bg='white')
        self.smGetValByKSF.insert(0, '<назв. сэмплр.>')
        self.btGetValByKSF.pack(side= tk.LEFT, fill='y')
        self.vlGetValByKSF.pack(side = tk.TOP)
        self.ctGetValByKSF.pack(side = tk.TOP)
        self.smGetValByKSF.pack(side = tk.TOP)
        self.frGetValByKSF.pack(side = tk.TOP, fill='x')
        ##
        self.frSetValsToSlctn = tk.Frame(self._frGetListKeys_, pady = 2)
        self.btSetValsToSlctn = tk.Button(self.frSetValsToSlctn, text = 'Установ.\n для дан.\n элемен.\n словар.')
        self.btSetValsToSlctn.config(command = self.prcdSetValsToSlctn, state = tk.DISABLED, relief = "groove")
        self.lblSetValsToSlctn = tk.Label(self.frSetValsToSlctn, text = ' <==> ')
        self.entSetValsToSlctn = tk.Entry(self.frSetValsToSlctn, bg='white')
        self.entSetValsToSlctn.insert(0, '*новое знач.*')
        self.btSetValsToSlctn.pack(side = tk.LEFT, anchor=tk.W)
        self.lblSetValsToSlctn.pack(side = tk.LEFT)
        self.entSetValsToSlctn.pack(side = tk.RIGHT, anchor=tk.E)
        ###
        self.frGetDictData.pack(side = tk.TOP)
        self.frSetValsToSlctn.pack(side = tk.TOP, anchor = tk.W)
        #
        self.frGetCollctnData.pack(side = tk.LEFT)

        #for lstEntr in self.jmscdObj.entityNames:
        #    self.lstWrkEnts.insert(tk.END, lstEntr)
        
        self.fsFrame.pack(side="top", fill='x')
        self.mCllctnFrame.pack(side=tk.LEFT, fill='x')
        ##self.loadFrame.pack(side="top", fill='x')
        self.smplUnqOptFrame.pack(side = tk.RIGHT, anchor = tk.E)
        self.btnLstFrame.pack(side = tk.RIGHT)
        self.paramVolatilFrame.pack(side = tk.RIGHT)
        self.topElemsFrame.pack(side="top", fill='y')
Beispiel #23
0
frame = tix.Frame(root)
frame.pack()
scrolledwin = tix.ScrolledWindow(frame)
scrolledwin.pack(side="right", fill="y")
scr = scrolledwin.window
col = 0
line_mark = 0
row_ = 0
bigfont = ("Helvetica", "50", 'bold')
for i in range(num):
    if col == 9:
        col = 0
        row_ += 1
    txt = x[i]
    globals()['btn{}'.format(i)] = tix.Button(scr,
                                              text="%s" % txt,
                                              bg="ivory",
                                              fg="brown",
                                              activebackground='yellow',
                                              activeforeground="blue")
    globals()['btn{}'.format(i)].config(font=bigfont)
    globals()['btn{}'.format(i)].grid(row=row_, column=col)
    if (line_mark % 2 == 1):
        globals()["line_lbl{}".format(i)] = tix.Label(scr, text="     ")
        globals()["line_lbl{}".format(i)].config(font=bigfont)
        col += 1
        globals()["line_lbl{}".format(i)].grid(row=row_, column=col)
    col += 1
    line_mark += 1
root.mainloop()
Beispiel #24
0
 def __init__(self, path="", **options):
     self.glos = Glossary(ui=self)
     self.pref = {}
     self.pref_load(**options)
     #############################################
     rootWin = self.rootWin = tix.Tk()
     tix.Frame.__init__(self, rootWin)
     rootWin.title("PyGlossary (Tkinter)")
     rootWin.resizable(True, False)
     ########
     set_window_icon(rootWin)
     ########
     self.pack(fill="x")
     # rootWin.bind("<Configure>", self.resized)
     ######################
     self.glos = Glossary(ui=self)
     self.pref = {}
     self.pref_load()
     self.pathI = ""
     self.pathO = ""
     self.fcd_dir = join(homeDir, "Desktop")
     ######################
     vpaned = tk.PanedWindow(self, orient=tk.VERTICAL)
     notebook = tix.NoteBook(vpaned)
     notebook.add("tab1", label="Convert", underline=0)
     notebook.add("tab2", label="Reverse", underline=0)
     convertFrame = tix.Frame(notebook.tab1)
     ######################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="Read from format")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc)
     # comboVar.set(Glossary.readDesc[0])
     comboVar.set(noneItem)
     combo.pack(side="left")
     self.combobox_i = comboVar
     ##
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="  Path:")
     label.pack(side="left")
     ##
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     entry.bind_all("<KeyPress>", self.entry_changed)
     self.entry_i = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.browse_i,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     frame.pack(fill="x")
     ######################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="Write to format    ")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.writeDesc)
     # comboVar.set(Glossary.writeDesc[0])
     comboVar.set(noneItem)
     combo.pack(side="left")
     combo.bind("<Configure>", self.combobox_o_changed)
     self.combobox_o = comboVar
     ##
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(convertFrame)
     ##
     label = tix.Label(frame, text="  Path:")
     label.pack(side="left")
     ##
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     # entry.bind_all("<KeyPress>", self.entry_changed)
     self.entry_o = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.browse_o,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     frame.pack(fill="x")
     #######
     frame = tix.Frame(convertFrame)
     label = tix.Label(frame, text=" " * 15)
     label.pack(
         side="left",
         fill="x",
         expand=True,
     )
     button = tix.Button(
         frame,
         text="Convert",
         command=self.convert,
         # bg="#00e000",
         # activebackground="#22f022",
     )
     button.pack(
         side="left",
         fill="x",
         expand=True,
     )
     ###
     frame.pack(fill="x")
     ######
     convertFrame.pack(fill="x")
     vpaned.add(notebook)
     #################
     console = tix.Text(vpaned, height=15, background="#000000")
     # self.consoleH = 15
     # sbar = Tix.Scrollbar(
     #	vpaned,
     #	orien=Tix.VERTICAL,
     #	command=console.yview
     # )
     # sbar.grid ( row=0, column=1)
     # console["yscrollcommand"] = sbar.set
     # console.grid()
     console.pack(fill="both", expand=True)
     log.addHandler(TkTextLogHandler(console), )
     console.insert("end", "Console:\n")
     ####
     vpaned.add(console)
     vpaned.pack(fill="both", expand=True)
     self.console = console
     ##################
     frame2 = tix.Frame(self)
     clearB = tix.Button(
         frame2,
         text="Clear",
         command=self.console_clear,
         # bg="black",
         # fg="#ffff00",
         # activebackground="#333333",
         # activeforeground="#ffff00",
     )
     clearB.pack(side="left")
     ####
     label = tix.Label(frame2, text="Verbosity")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(
         frame2,
         comboVar,
         0,
         1,
         2,
         3,
         4,
     )
     comboVar.set(log.getVerbosity())
     comboVar.trace("w", self.verbosityChanged)
     combo.pack(side="left")
     self.verbosityCombo = comboVar
     #####
     pbar = ProgressBar(frame2, width=400)
     pbar.pack(side="left", fill="x", expand=True)
     self.pbar = pbar
     frame2.pack(fill="x")
     self.progressTitle = ""
     #############
     # vpaned.grid()
     # bottomFrame.grid()
     # self.grid()
     #####################
     # lbox = Tix.Listbox(convertFrame)
     # lbox.insert(0, "aaaaaaaa", "bbbbbbbbbbbbbbbbbbbb")
     # lbox.pack(fill="x")
     ##############
     frame3 = tix.Frame(self)
     aboutB = tix.Button(
         frame3,
         text="About",
         command=self.about_clicked,
         # bg="#e000e0",
         # activebackground="#f030f0",
     )
     aboutB.pack(side="right")
     closeB = tix.Button(
         frame3,
         text="Close",
         command=self.quit,
         # bg="#ff0000",
         # activebackground="#ff5050",
     )
     closeB.pack(side="right")
     frame3.pack(fill="x")
     # __________________________ Reverse Tab __________________________ #
     revFrame = tix.Frame(notebook.tab2)
     revFrame.pack(fill="x")
     ######################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text="Read from format")
     label.pack(side="left")
     ##
     comboVar = tk.StringVar()
     combo = tk.OptionMenu(frame, comboVar, *Glossary.readDesc)
     # comboVar.set(Glossary.readDesc[0])
     comboVar.set(noneItem)
     combo.pack(side="left")
     self.combobox_r_i = comboVar
     ##
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text="  Path:")
     label.pack(side="left")
     ##
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
     self.entry_r_i = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.r_browse_i,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     button = tix.Button(
         frame,
         text="Load",
         command=self.r_load,
         # bg="#7777ff",
     )
     button.pack(side="left")
     ###
     frame.pack(fill="x")
     ###################
     frame = tix.Frame(revFrame)
     ##
     label = tix.Label(frame, text="Output Tabfile")
     label.pack(side="left")
     ###
     entry = tix.Entry(frame)
     entry.pack(side="left", fill="x", expand=True)
     # entry.bind_all("<KeyPress>", self.entry_r_i_changed)
     self.entry_r_o = entry
     ##
     button = tix.Button(
         frame,
         text="Browse",
         command=self.r_browse_o,
         # bg="#f0f000",
         # activebackground="#f6f622",
     )
     button.pack(side="left")
     ##
     frame.pack(fill="x")
     ##############################
     if path:
         self.entry_i.insert(0, path)
         self.entry_changed()
         self.load()
Beispiel #25
0
    def __init__(self, adapter):
        # make sure only one dialog at a time
        try:
            SearchDialog._current_dialog.destroy()
        except Exception:
            pass

        # init
        self.adapter = adapter
        self.last_query_params = ["", ""]
        self.last_query = {}
        self.last_query_index = -1

        # dialog
        self.dialog = tk.Tk()
        self.dialog.title("Search")
        self.dialog.resizable(width=False, height=False)
        self.dialog.config(highlightbackground="gray",
                           highlightcolor="gray",
                           highlightthickness=2)
        self.dialog.protocol("WM_DELETE_WINDOW", self.on_close)

        # labels
        label_frame = tk.Frame(self.dialog)

        # text key
        tk.Label(label_frame, text="key:", anchor=tk.W, font="helvetica 12 bold") \
            .pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        text_key = tk.Text(label_frame, width=40, height=1, wrap=tk.WORD)
        text_key.bind(
            "<Key>", lambda event: "break" if event.keysym == "Return" else "")
        text_key.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8)

        # text value
        tk.Label(label_frame, text="value: ", anchor=tk.W, font="helvetica 12 bold") \
            .pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        text_value = tk.Text(label_frame, width=40, height=1, wrap=tk.WORD)
        text_value.bind(
            "<Key>", lambda event: "break" if event.keysym == "Return" else "")
        text_value.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=8)

        pad = tk.Frame(label_frame, height=14)
        pad.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
        label_frame.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)

        # action buttons
        btn_frame = tk.Frame(self.dialog)
        btn_row1_frame = tk.Frame(btn_frame)
        btn = tk.Button(btn_row1_frame,
                        text="<<<",
                        width=10,
                        command=lambda: self.action_search(
                            text_key.get("1.0", tk.END)[:-1],
                            text_value.get("1.0", tk.END)[:-1], -1))
        btn.pack(side=tk.LEFT, fill=tk.X, expand=False, padx=2, pady=2)

        btn = tk.Button(btn_row1_frame,
                        text=">>>",
                        width=10,
                        command=lambda: self.action_search(
                            text_key.get("1.0", tk.END)[:-1],
                            text_value.get("1.0", tk.END)[:-1], +1))
        btn.pack(side=tk.LEFT, fill=tk.X, expand=False, padx=2, pady=2)
        btn_row1_frame.pack(side=tk.TOP, fill=tk.X, expand=False)

        btn = tk.Button(btn_frame,
                        text="Count",
                        width=20,
                        command=lambda: self.action_count(
                            text_key.get("1.0", tk.END)[:-1],
                            text_value.get("1.0", tk.END)[:-1]))
        btn.pack(side=tk.TOP, fill=tk.X, expand=False, padx=2, pady=2)

        self.found_label = tk.Label(btn_frame)
        self.found_label.pack(side=tk.TOP,
                              fill=tk.BOTH,
                              expand=True,
                              padx=2,
                              pady=2)
        btn_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True, padx=2, pady=2)

        SearchDialog._current_dialog = self.dialog
Beispiel #26
0
def f():
    print('callback')
    print(b.configure())
    b.destroy()


root = tk.Tk()
b = tk.Button(text='button', command=f)
b.pack(anchor='nw', side='left', expand=0, fill='x')
b.mainloop()

if 0:
    root = tix.Tk()

    Tree = tix.Tree

    L = tix.Label(root)
    L.pack(anchor='nw', side='left', expand=0, fill='x')
    L["text"] = 'Label'
    L['command'] = f
    L.mainloop()
##
##
##B = tix.ButtonBox(root)
##B.pack()
##B["text"] = 'ButtonBox'
##
##t = Tree(root)
##t.pack()
##t.mainloop()
	def __init__(self,visualize,visualizescore,visualizeindex):
		self.window=tix.Tk()
		self.window.title("Results Page")
		scr_win = tix.ScrolledWindow(self.window,width=1500, height=786)
		
		scr_win.grid(row=0,column=0)
		sframe = scr_win.window

		n=len(visualize)
		p=int(n/5)
		pp=n%5
		print("total pages : "+str(p+1),"last page entries : "+str(pp))
		
		# sorting visualize		
		courseobjects=[]
		percentagematch1=[]
		stringmatches=[]
		for i in visualizescore :
			percentagematch1.append(i)
		visualizescore.sort(reverse=True)

		i=0
		percentagematch=[]
		while i<len(visualizeindex) :
			p=percentagematch1.index(visualizescore[i])
			courseobjects.append(visualizeindex[p])
			stringmatches.append(visualize[p])
			percentagematch.append(visualizescore[i])
			i=i+1

		# print(courseobjects)
		# print(stringmatches)
		# print(percentagematch)

		# i=0
		# # while i<len(courseobjects) :
		# # 	print(courseobjects[i])
		# # 	print(stringmatches[i])
		# # 	print(percentagematch[i])
		# # 	print("\n\n")
		# # 	i=i+1
		def visualizebutton(mm):
			# print("________________match words ________")
			# print(mm.matchwords)
			
			# print("__________________source topics________________")
			# print(mm.sourcetopics)
			# print("__________________target topics________________")
			# print(mm.topics)
			# print("__________________topic matching_______________________")
			i=0
			while i <len(mm.matchwords):
				print(mm.matchwords[i]+" : "+mm.matchwords[i+1]+" : "+str(mm.matchvalues[i]))
				i=i+2
			print("-------------")
			print(mm.matchwords)
			c=comparepage(mm)

		def visitbutton(mm):
			print(mm.url)
			webbrowser.open(mm.url)

		i=0
		coursefuncobjects=[]
		while i<len(courseobjects):
			m=courseobjects[i]
			mm=course(m)
			mm.percentage=percentagematch[i]
			mm.string=stringmatches[i]
			zx=[]
			zxv=[]
			zxc=[]
			k=stringmatches[i]
			for kk in k :
				kkk=kk.split(" :")
				v=kkk[1]
				j=kkk[0]
				jj=j.split("==")
				zxc.append(jj[0])
				if int(v)>0 :

					j=kkk[0]
					jj=j.split("==")
					zx.append(jj[0])
					
					zx.append(jj[1])
					zxv.append(int(v))
					zxv.append(int(v))

			mm.matchwords=zx
			mm.matchvalues=zxv
			mm.sourcetopics=zxc
			coursefuncobjects.append(mm)
			i=i+1
			# print(str(mm.title)+"\n"+"percentage matched :"+str(mm.percentage)+"\n"+str(mm.creators)+"\n"+str(mm.level)+" "+str(mm.startdate)+"; "+str(mm.duration)+"\n"+str(mm.review)+"pricing : "+"N/A")
			# m=visualizeindex[0]
			# mm=m.find("coursetitle").text
			# lbl1 = tkinter.Label(self.window, text="Title : "+str(mm),font=("Arial Black",35))
			# lbl1.pack()
		# info=str(mm.title)+"\n"+str(mm.url)+"\n"+"percentage matched :"+str(mm.percentage)+"\n"+"Created By :"+str(mm.creators)+"\n"+"level :"+str(mm.level)+" ; "+str(mm.startdate)+"; "+str(mm.duration)+"\n"+str(mm.review)+"pricing : "+"N/A"
			# print("\n\n\n\n")
			# print(mm.topics)
			# print(mm.string)
			# print(mm.matchwords)
			# print(mm.matchvalues)
			# print("\n\n\n\n")
		
		
		# mm0=courseobjects[0]
		# info0=str(mm.title)+"\n"+str(mm.url)+"\n"+"percentage matched :"+str(mm.percentage)+"\n"+"Created By :"+str(mm.creators)+"\n"+"level :"+str(mm.level)+" ; "+str(mm.startdate)+"; "+str(mm.duration)+"\n"+str(mm.review)+"pricing : "+"N/A"
		# lbl0 = tix.Label(sframe, text=info,font=("Arial Black",20))
		# lbl1.grid(row=2*i,column=0)
		# nextbutton=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm))
		# nextbutton.grid(row=2*i,column=1)
		# nextbutton=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm))
		# nextbutton.grid(row=2*i,column=2)
		# lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
		# lbl1.grid(row=2*i+1,column=0)

		def roundstring22(str):
			l=len(str)
			i=18-l
			str=str+" "
			return str

		def roundstring85(str):
			l=len(str)
			# print(l)
			i=20-l
			str="  "+str
			return str

		def infofunc(mm):
				
			info=""
			title=mm.title
			title=roundstring85(title)
			l="Course Name"
			l=roundstring22(l)
			info=info+l+":"+title+"\n"

			provider="Coursera"
			provider=roundstring85(provider)
			l="MOOC Provider"
			l=roundstring22(l)
			info = info+l+":"+provider+"\n"

			link=mm.url
			link=roundstring85(link)
			l="Course Link"
			l=roundstring22(l)
			info=info+l+" : "+link+"\n"

			offeredby=mm.creators
			offeredby=roundstring85(offeredby)
			l="Offered By"
			l=roundstring22(l)
			info=info+l+":"+offeredby+"\n"

			z=mm.startdate
			x="no start date "
			# print(z,k)
			if z==x :
				zx="Self Paced"
				zx=roundstring85(zx)
				zxs="Course Type"
				zxs=roundstring22(zxs)
				duration=mm.duration
				duration=roundstring85(duration)
				d="Estimated Duration"
				d=roundstring22(d)
				info = info+zxs+":"+zx+"\n"+d+":"+duration+"\n"

				z1="Avg User Rating"
				z=roundstring22(z1)
				x=mm.review
				x=roundstring85(x)
				info=info+z+":"+x+"\n"

				p="Percentage Match"
				p=roundstring22(p)
				pp=mm.percentage
				pp=str(round(pp, 2))
				pp=roundstring85(pp)
				info=info+p+":"+pp+"\n"
	    	
				p="Price"
				p=roundstring22(p)
				pp="Not Available"
				pp=roundstring85(pp)
				info=info+p+":"+pp

				
				return info

			else :
				zx="Scheduled"
				zx=roundstring85(zx)
				zxs="Course Type"
				zxs=roundstring22(zxs)
				startdate=mm.startdate
				startdate=roundstring85(startdate)
				d="Start Date"
				d=roundstring22(d)
				info = info+zxs+":"+zx+"\n"+d+":"+startdate+"\n"
				z="Avg User Rating"
				z=roundstring22(z)
				x=mm.review
				x=roundstring85(x)
				info=info+z+":"+x+"\n"

				p="Percentage Match"
				p=roundstring22(p)
				pp=mm.percentage
				pp=str(round(pp, 2))
				pp=roundstring85(pp)
				info=info+p+":"+pp+"\n"
	    		
				p="Price"
				p=roundstring22(p)
				pp="Not Available"
				pp=roundstring85(pp)
				info=info+p+":"+pp

				
				return info

			
			


		i=0
		try:
			# print("0")
			mm0=coursefuncobjects[i]
			# print("1")
			info=infofunc(mm0)
			# print("2")
			lbl0 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl0.grid(row=2*i,column=0)
			nextbutton0=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm0))
			nextbutton0.grid(row=2*i,column=1)
			nextbutton00=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm0))
			nextbutton00.grid(row=2*i,column=2)
			lbl0 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl0.grid(row=2*i+1,column=0)
		except :
			pass

		i=1
		try:
			mm1=coursefuncobjects[i]
			info=infofunc(mm1)
			lbl = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl.grid(row=2*i,column=0)
			nextbutton1=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm1))
			nextbutton1.grid(row=2*i,column=1)
			nextbutton11=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm1))
			nextbutton11.grid(row=2*i,column=2)
			lbl = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl.grid(row=2*i+1,column=0)
		except :
			pass
		
		i=2
		try:
			mm2=coursefuncobjects[i]
			info=infofunc(mm2)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton2=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm2))
			nextbutton2.grid(row=2*i,column=1)
			nextbutton22=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm2))
			nextbutton22.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=3
		try:
			mm3=coursefuncobjects[i]
			info=infofunc(mm3)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton3=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm3))
			nextbutton3.grid(row=2*i,column=1)
			nextbutton33=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm3))
			nextbutton33.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=4
		try:
			mm4=coursefuncobjects[i]
			info=infofunc(mm4)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton4=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm4))
			nextbutton4.grid(row=2*i,column=1)
			nextbutton44=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm4))
			nextbutton44.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=5
		try:
			mm5=coursefuncobjects[i]
			info=infofunc(mm5)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton5=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm5))
			nextbutton5.grid(row=2*i,column=1)
			nextbutton55=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm5))
			nextbutton55.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=6
		try:
			mm6=coursefuncobjects[i]
			info=infofunc(mm6)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton6=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm6))
			nextbutton6.grid(row=2*i,column=1)
			nextbutton66=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm6))
			nextbutton66.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=7
		try:
			mm7=coursefuncobjects[i]
			info=infofunc(mm7)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton7=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm7))
			nextbutton7.grid(row=2*i,column=1)
			nextbutton77=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm7))
			nextbutton77.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=8
		try:
			mm8=coursefuncobjects[i]
			info=infofunc(mm8)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton8=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm8))
			nextbutton8.grid(row=2*i,column=1)
			nextbutton88=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm8))
			nextbutton88.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=9
		try:
			mm9=coursefuncobjects[i]
			info=infofunc(mm9)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton9=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm9))
			nextbutton9.grid(row=2*i,column=1)
			nextbutton99=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm9))
			nextbutton99.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		
		i=10
		try:
			mm10=coursefuncobjects[i]
			info=infofunc(mm10)
			lbl0 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl0.grid(row=2*i,column=0)
			nextbutton10=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm10))
			nextbutton10.grid(row=2*i,column=1)
			nextbutton1010=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm10))
			nextbutton1010.grid(row=2*i,column=2)
			lbl0 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl0.grid(row=2*i+1,column=0)
		except :
			pass

		i=11
		try:
			mm11=coursefuncobjects[i]
			info=infofunc(mm11)
			lbl = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl.grid(row=2*i,column=0)
			nextbutton11=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm11))
			nextbutton11.grid(row=2*i,column=1)
			nextbutton1111=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm11))
			nextbutton1111.grid(row=2*i,column=2)
			lbl = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl.grid(row=2*i+1,column=0)
		except :
			pass
		
		i=12
		try:
			mm12=coursefuncobjects[i]
			info=infofunc(mm12)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton12=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm12))
			nextbutton12.grid(row=2*i,column=1)
			nextbutton1212=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm12))
			nextbutton1212.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=13
		try:
			mm13=coursefuncobjects[i]
			info=infofunc(mm13)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton13=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm13))
			nextbutton13.grid(row=2*i,column=1)
			nextbutton1313=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm13))
			nextbutton1313.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=14
		try:
			mm14=coursefuncobjects[i]
			info=infofunc(mm14)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton14=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm14))
			nextbutton14.grid(row=2*i,column=1)
			nextbutton1414=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm14))
			nextbutton1414.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=15
		try:
			mm15=coursefuncobjects[i]
			info=infofunc(mm15)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton15=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm15))
			nextbutton15.grid(row=2*i,column=1)
			nextbutton1515=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm15))
			nextbutton1515.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=16
		try:
			mm16=coursefuncobjects[i]
			info=infofunc(mm16)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton16=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm16))
			nextbutton16.grid(row=2*i,column=1)
			nextbutton1616=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm16))
			nextbutton1616.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=17
		try:
			mm17=coursefuncobjects[i]
			info=infofunc(mm17)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton17=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm17))
			nextbutton17.grid(row=2*i,column=1)
			nextbutton1717=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm17))
			nextbutton1717.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=18
		try:
			mm18=coursefuncobjects[i]
			info=infofunc(mm18)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton18=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm18))
			nextbutton18.grid(row=2*i,column=1)
			nextbutton1818=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm18))
			nextbutton1818.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass

		i=19
		try:
			mm19=coursefuncobjects[i]
			info=infofunc(mm19)
			lbl1 = tix.Label(sframe, text=info,font=("Arial Black",20))
			lbl1.grid(row=2*i,column=0)
			nextbutton19=tix.Button(sframe,text="Visit",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visitbutton(mm19))
			nextbutton19.grid(row=2*i,column=1)
			nextbutton1919=tix.Button(sframe,text="Compare",bd=2,bg='blue',fg='white',font=("Arial Black",15),command=lambda:visualizebutton(mm19))
			nextbutton1919.grid(row=2*i,column=2)
			lbl1 = tix.Label(sframe, text="______________________________________________________________",font=("Arial Black",20))
			lbl1.grid(row=2*i+1,column=0)
		except :
			pass


	
		# self.window.eval('tk::PlaceWindow %s center' % self.window.winfo_pathname(self.window.winfo_id()))		
		self.window.mainloop()
Beispiel #28
0
    def refresh(self, bundle):
        # Nustatomas lango pavadinimas
        self._controller.title(Constants.TITLE_HOME)
        # Isvalomi pries tai lange buve elementai pasinaudojant elementu is klases WindowUtils (paveldejimas)
        self.clearWindow()

        infoLabel = tkx.Label(
            self,
            text=
            "Iveskite didesni uz 0 sveika skaiciu \nis kurio bus sugeneruotas jusu nurodyto dydzio teigiamu skaiciu masyvas"
        )
        infoLabel.pack()

        self._numberValue = tkx.StringVar(self)
        self._numberValue.trace("w", self.entryChangeListener)

        self._threadValue = tkx.StringVar(self)
        self._threadValue.trace("w", self.entryChangeListener)

        self._numberEntry = tkx.Entry(self, textvariable=self._numberValue)
        self._numberEntry.pack()

        threadInfoLabel = tkx.Label(
            self,
            text=
            "Iveskite sveika skaiciu, kuris nurodys pasirinktu giju kieki (maziausiai 1, daugiausiai 3)"
        )
        threadInfoLabel.pack()

        self._threadsEntry = tkx.Entry(self, textvariable=self._threadValue)
        self._threadsEntry.pack()

        typeInfoLabel = tkx.Label(
            self, text="Pasirinkite programos veiksmu vykdymo budus")
        typeInfoLabel.pack()

        self._choicesFrame = tkx.Frame(self)
        self._choicesFrame.pack()

        # CheckBoxes arba kitaip veiksmu vykdymo tipu pasarinkimas
        self._choices = ("Nuoseklus vykdymas", "Gijomis paremtas vykdymas")
        self._optionsMenuValue = []
        self._optionsMenuButtons = []
        for i in range(len(self._choices)):
            # Nustatoma mygtuko reiksme. 1 - pasirinkta, 0 - nepasirinkta
            self._optionsMenuValue.append(tkx.IntVar(value=1))
            self._optionsMenuValue[i].trace("w", self.entryChangeListener)
            self._optionsMenuButtons.append(
                tkx.Checkbutton(self._choicesFrame,
                                text=self._choices[i],
                                variable=self._optionsMenuValue[i],
                                onvalue=1,
                                offvalue=0))
            self._optionsMenuButtons[i].pack()

        self._buttonsFrame = tkx.Frame(self)
        self._buttonsFrame.pack()

        self._submitButton = tkx.Button(self._buttonsFrame, text="Vykdyti")
        self._submitButton.pack(
            side="left",
            anchor=tkx.NW,
            expand=True,
        )
        # Veiksmu vykdyma perkeliu i atskira Thread'a, kad neatsitiktu taip, jog esant dideliam duomenu kiekiui
        # programa taps "not responding"
        self._submitButton.config(
            command=lambda: threading.Thread(target=self.doActions).start(),
            state='disabled')

        self._clearButton = tkx.Button(self._buttonsFrame, text="Isvalyti")
        self._clearButton.pack(
            side="left",
            anchor=tkx.NW,
            expand=True,
        )
        self._clearButton.config(command=partial(self._actionClear))

        self._exitButton = tkx.Button(self._buttonsFrame, text="Uzdaryti")
        self._exitButton.pack(
            side="left",
            anchor=tkx.NW,
            expand=True,
        )
        self._exitButton.config(command=lambda: self._controller.exit())

        self._errorLabel = tkx.Label(self, text="")
        self._errorLabel.pack()

        self._progressLabel = tkx.Label(self, text="")
        self._progressLabel.pack()
Beispiel #29
0
def drawframes(_sw):
    for c in COLORS:
        e = tk.Label(sw.window, text=c, background=c)
        e.pack(fill=tk.X)
Beispiel #30
0
 def showErrorLabel(self):
     errorLabel = tkx.Label(
         self, text="Negalima nubraizyti diagramos! tikrinkite duomenis.")
     errorLabel.pack()