class Reminder_Window():



    def start_window(self):
        self.reminder_window = Toplevel()
        self.reminder_window.grab_set()
        self.reminder_window.title('Reminder')
        self.reminder_window.geometry('400x200')
        big_font = tkFont.Font(size=10)
        self.reminder_text_1 = Tkinter.Label(self.reminder_window,
        text='Remind me', font=big_font)
        self.reminder_text_2 = Tkinter.Label(self.reminder_window, \
        text='day(s) before.', font=big_font)
        self.reminder_entry = Tkinter.Entry(self.reminder_window, width=3)
        self.ok_reminder_button = Tkinter.Button(self.reminder_window,
        text='OK', command=self.on_ok_button_press)
        self.back_reminder_button = Tkinter.Button(self.reminder_window, \
        text='Back', command=self.on_back_button_press)


        self.reminder_text_1.place(x=x_reminder_text_1_location, \
        y=y_reminder_texts_location)
        self.reminder_text_2.place(x=x_reminder_text_2_location, \
        y=y_reminder_texts_location)
        self.reminder_entry.place(x=x_reminder_entry_location, \
        y=y_reminder_entry_location)
        self.ok_reminder_button.place(x=x_ok_reminder_button_location, \
        y=y_ok_back_reminder_button_locations)
        self.back_reminder_button.place(x=x_back_reminder_button_location, \
        y=y_ok_back_reminder_button_locations)
        self.reminder_window.mainloop()

    def on_ok_button_press(self):
        entry_reminder_value = self.reminder_entry.get()
        try:
            int_entry_reminder_value = int(entry_reminder_value)
            #print 0 > int_entry_reminder_value, int_entry_reminder_value < 50
            if 0 > int_entry_reminder_value or int_entry_reminder_value > 50:
                print 'hi'
                tkMessageBox.showinfo("Error", \
                'Invalid Entry.  Please enter a number from 0-50')
                self.reminder_window.grab_set()
                self.reminder_window.lift()

            else:
                self.num_of_days_before_to_remind_int = int_entry_reminder_value
                self.reminder_window.destroy()

        except ValueError:
            tkMessageBox.showinfo("Error", \
            'Invalid Entry.  Please enter a number from 0-50')
            self.reminder_window.grab_set()
            self.reminder_window.lift()


    def on_back_button_press(self):
        self.num_of_days_before_to_remind_int = 0
        self.reminder_window.destroy()
Exemplo n.º 2
0
    def decide_movement(self, row, col):
        movement = {
            "PAWN": self.pawn_movement, "ROOK": self.rook_movement, "ROOK.": self.rook_movement,
            "KNIGHT": self.knight_movement, "KNIGHT.": self.knight_movement,
            "BISHOP": self.bishop_movement, "BISHOP.": self.bishop_movement,
            "QUEEN": self.queen_movement, "KING": self.king_movement,
            "pawn": self.pawn_movement, "rook": self.rook_movement, "rook.": self.rook_movement,
            "knight": self.knight_movement, "knight.": self.knight_movement,
            "bishop": self.bishop_movement, "bishop.": self.bishop_movement,
            "queen": self.queen_movement, "king": self.king_movement}
        try:
            self.piece = self.button_location[row, col]["text"]
            self.piece_color = self.button_location[row, col]["fg"]
            self.original_row = row
            self.original_col = col
            self.piece_image = self.button_location[row, col]["image"]
            if self.turn % 2 == 0:
                if self.piece_color == "OrangeRed":
                    movement.get(self.piece)(row, col, color=self.piece_color)
                else:
                    self.clear_board()
                    wrong_turn_window = Toplevel()
                    wrong_turn_window.title("Wrong Turn")
                    wrong_turn_window.lift()

                    label = Label(wrong_turn_window, text="It's Not Your Turn!")
                    label.pack()

            if self.turn % 2 != 0:
                if self.piece_color == "DimGray":
                    movement.get(self.piece)(row, col, color=self.piece_color)
                else:
                    self.clear_board()
                    wrong_turn_window = Toplevel()
                    wrong_turn_window.title("Wrong Turn")
                    wrong_turn_window.lift()

                    label = Label(wrong_turn_window, text="It's Not Your Turn!")
                    label.pack()
                    
        # for clicking where there is no piece
        except TypeError:
            no_piece_window = Toplevel()
            no_piece_window.title("Wrong Click")
            no_piece_window.lift()

            label = Label(no_piece_window, text="There is no piece there")
            label.pack()
Exemplo n.º 3
0
class Docview:
    def __init__(self, master, fn, **kwargs):

        self.file = fn
        self.widget = None
        self.text = Text()
        self.frame = master
        self.location = kwargs.get('location', None)
        self.wait = kwargs.get('wait', None)
        self.find = kwargs.get('find', None)
        self.delete_img = PhotoImage(file='delete.pbm')
        self.up_img = PhotoImage(file='1uparrow.pbm')
        self.down_img = PhotoImage(file='1downarrow.pbm')
        self.upbutn = Button()
        self.dnbutn = Button()
        self.deletebutn = Button()
        self.entry = None
        self.doc = ''

    def Search(self, pattern):
        '''
        normal top-down search
        :param pattern:
        :return:
        '''
        try:
            self.text.tag_remove('hilight', '1.0', 'end')
            ind = self.text.search(pattern,
                                   '1.0',
                                   stopindex="end",
                                   nocase=True)
            self.text.mark_set("insert", ind)
            self.text.see("insert")
            nchar = len(pattern)
            self.text.tag_add('hilight', ind, ind + "+{}c".format(nchar))

        except:
            pass

    def RecursiveSearch(self, pattern, upward=False):
        '''
        Search forward from current position.  Search backward if upward is True.
        :param pattern: search pattern
        :param upward: reverse search if true
        :return: Null
        '''
        if len(pattern) == 0:
            ind = '1.0' if upward else 'end'
            self.text.mark_set("insert", ind)
            self.text.see("insert")
            return
        try:

            insert = self.text.index("insert")
            if upward:
                point = insert + "-1c"
                ind = self.text.search(pattern,
                                       point,
                                       stopindex="1.0",
                                       backwards=True,
                                       nocase=True)
            else:
                point = insert + "+1c"
                ind = self.text.search(pattern,
                                       point,
                                       stopindex="end",
                                       nocase=True)

            self.text.mark_set("insert", ind)
            self.text.see("insert")
            self.text.tag_remove('hilight', '1.0', 'end')
            nchar = len(pattern)
            self.text.tag_add('hilight', ind, ind + "+{}c".format(nchar))
            self.text.update()
        except:
            pass

    def SearchUp(self):
        pattern = str(self.entry.get())
        self.RecursiveSearch(pattern, True)

    def SearchDn(self):
        pattern = str(self.entry.get())
        self.RecursiveSearch(pattern, False)

    def FindEntry(self, event):
        '''triggered by keyrelease event in find entry box'''
        pattern = str(self.entry.get())
        nchar = len(pattern)
        self.text.tag_remove('hilight', '1.0', 'end')
        if nchar == 0:
            return
        try:
            ind = self.text.search(pattern,
                                   "1.0",
                                   stopindex="end",
                                   nocase=True)
            self.text.mark_set("insert", ind)
            self.text.see("insert")
            self.text.tag_add('hilight', ind, ind + "+{}c".format(nchar))
            self.text.update()
        except:
            pass

    def DeleteSearch(self):
        self.entry.delete(0, 'end')
        self.text.tag_remove('hilight', '1.0', 'end')

    def Popup(self):

        if not self.doc:
            with open(self.file, 'r') as fh:
                self.doc = fh.read()

        if self.widget:  # widget already open
            if self.frame:
                self.widget.lift(aboveThis=self.frame)
            return

        #print 'length of doc ', len(self.doc)

        self.widget = Toplevel()
        if self.find:
            self.sframe = Frame(self.widget)
            self.sframe.pack()
            self.upbutn = Button(self.sframe,
                                 width=17,
                                 command=self.SearchUp,
                                 image=self.up_img)
            self.upbutn.pack(side='left')
            self.dnbutn = Button(self.sframe,
                                 width=17,
                                 command=self.SearchDn,
                                 image=self.down_img)
            self.dnbutn.pack(side='left')
            self.entry = Entry(self.sframe, width=50)
            self.entry.bind('<KeyRelease>', self.FindEntry)
            self.entry.pack(side='left')
            self.deletebutn = Button(self.sframe,
                                     width=17,
                                     command=self.DeleteSearch)
            self.deletebutn.config(image=self.delete_img)
            self.deletebutn.pack(side='left')

        width = max([len(line) for line in self.doc.split('\n')])
        height = min([self.doc.count('\n') + 1, 40])
        self.text = Text(self.widget, width=width, height=height)
        self.text.tag = self.text.tag_configure('hilight',
                                                background='#ffff00')
        self.text.insert("1.0", self.doc)
        self.text.pack()

        if self.location and self.frame:
            dx, dy = self.location
            w = self.text.winfo_width()
            h = self.text.winfo_height()
            x = self.frame.winfo_x()
            y = self.frame.winfo_y()
            loc = "%dx%d+%d+%d" % (600, 400, x + dx, y + dy)
            self.widget.geometry(loc)

        if self.wait:
            self.widget.focus_set()
            self.widget.grab_set()
            if self.frame:
                self.widget.transient(master=self.frame)
            self.widget.wait_window(self.widget)

        if self.frame:
            self.widget.lift(aboveThis=self.frame)

        self.widget.protocol("WM_DELETE_WINDOW", self.Kill)

    def Kill(self):
        self.widget.destroy()
        self.widget = None
Exemplo n.º 4
0
 def lift(self):
     Toplevel.lift(self, self.root)
Exemplo n.º 5
0
 def lift(self):
     Toplevel.lift(self, self.root)