コード例 #1
0
ファイル: framework7.py プロジェクト: damorelse/RA
    def update_symbols(self,
                       text,
                       timestamp=None,
                       inspeakers=None,
                       inidea=None):
        #Stores timestamp
        if timestamp == None:
            timestamp = self.player.query_position(gst.FORMAT_TIME, None)[0]

        self.display.mark_set("mine",
                              "1.%d" % floor(timestamp / 1000000000.0 / .2))
        if len(str(self.display.get("mine"))) == 0:
            self.display.config(state=NORMAL)
            self.display.delete("mine")
            self.display.config(state=DISABLED)

        #Stores current speakers
        current_speakers = []
        store_speakers = []
        if inspeakers == None:
            for i in range(len(self.speakers)):
                if self.checkvars[i].get() == 1:
                    current_speakers.append((self.alpha[i], self.colors[i]))
                    store_speakers.append(i + 1)
        else:
            store_speakers = inspeakers
            current_speakers = [(self.alpha[i - 1], self.colors[i - 1])
                                for i in inspeakers]

        tempstr = ""
        for sp in current_speakers:
            tempstr += sp[0]
        if inidea or (inidea == None and self.idea_var.get() == 1):
            tmplbl = Label(self.display,
                           name="%u" % self.imgID,
                           image=self.imagemap[text],
                           text=tempstr,
                           compound="bottom",
                           background="yellow")
        else:
            tmplbl = Label(self.display,
                           name="%u" % self.imgID,
                           image=self.imagemap[text],
                           text=tempstr,
                           compound="bottom",
                           background="white")
        tmpwin = self.display.window_create('mine', window=tmplbl)
        tmplbl.bind("<Button-3>", self.deleteSymbol)  #right click
        tmplbl.bind("<Button-1>",
                    lambda ev: EditSymDialog(self, ev))  #left click

        self.imgID += 1

        idea = False
        if inidea == True or (inidea == None and self.idea_var.get() == 1):
            idea = True
        if self.project != None:
            curr = Code(timestamp / 1000000000.0, text, store_speakers, idea)
            self.project.seq.insert(curr)
        self.imgMap[self.imgID - 1] = timestamp / 1000000000.0
コード例 #2
0
ファイル: framework7.py プロジェクト: damorelse/RA
    def update_symbols(self, text, timestamp = None, inspeakers = None, inidea = None):
        #Stores timestamp
        if timestamp == None:
            timestamp = self.player.query_position(gst.FORMAT_TIME, None)[0]
        
        self.display.mark_set("mine", "1.%d" % floor(timestamp/1000000000.0/.2))
        if len(str(self.display.get("mine"))) == 0:
            self.display.config(state=NORMAL)
            self.display.delete("mine")
            self.display.config(state=DISABLED)

            
        #Stores current speakers
        current_speakers = []
        store_speakers = []
        if inspeakers == None:
            for i in range(len(self.speakers)):
                if self.checkvars[i].get() == 1:
                    current_speakers.append((self.alpha[i], self.colors[i]))
                    store_speakers.append(i+1)
        else:
            store_speakers = inspeakers
            current_speakers = [(self.alpha[i-1], self.colors[i-1]) for i in inspeakers]

        tempstr = ""
        for sp in current_speakers:
            tempstr += sp[0]
        if inidea or (inidea == None and self.idea_var.get()==1):
            tmplbl = Label(self.display, name="%u" %  self.imgID, image=self.imagemap[text], text=tempstr, compound="bottom", background="yellow")
        else:
            tmplbl = Label(self.display, name="%u" %  self.imgID, image=self.imagemap[text], text=tempstr, compound="bottom", background="white")
        tmpwin = self.display.window_create('mine', window=tmplbl)
        tmplbl.bind("<Button-3>", self.deleteSymbol) #right click
        tmplbl.bind("<Button-1>", lambda ev: EditSymDialog(self, ev)) #left click
        
        self.imgID += 1

        idea = False
        if inidea == True or (inidea == None and self.idea_var.get() == 1):
            idea = True
        if self.project != None:
            curr = Code(timestamp/1000000000.0, text, store_speakers, idea)
            self.project.seq.insert(curr)
        self.imgMap[self.imgID-1] = timestamp/1000000000.0
コード例 #3
0
class Handle(Frame):
    def __init__(self,
                 panedwindow,
                 sash_index,
                 disallow_dragging=False,
                 on_click=None,
                 **kw):
        image = kw.pop("image", None)
        Frame.__init__(self, panedwindow, class_="Handle", **kw)

        self._sash_index = sash_index

        if image:
            self._event_area = Label(self, image=image)
            self._event_area.pack()
        else:
            self._event_area = self

        self._center = int(self._event_area.winfo_reqwidth() / 2), int(
            self._event_area.winfo_reqheight() / 2)

        if disallow_dragging:
            if on_click:
                self._event_area.bind('<Button-1>', lambda event: on_click())
        else:
            self._event_area.bind('<Button-1>', self._initiate_motion)
            self._event_area.bind('<B1-Motion>', self._on_dragging)
            self._event_area.bind('<ButtonRelease-1>', self.master._on_release)

    def _initiate_motion(self, event):
        self.master._active_sash = self._sash_index

        self._dx = event.x
        self._dy = event.y

    @property
    def sash_index(self):
        return self._sash_index

    def _on_dragging(self):
        raise NotImplementedError
コード例 #4
0
ファイル: recipe-580728.py プロジェクト: jacob-carrier/code
class Handle(Frame):
    def __init__(self, panedwindow, sash_index, disallow_dragging=False, on_click=None, **kw):
        image = kw.pop("image", None)
        Frame.__init__(self, panedwindow, class_="Handle", **kw)

        self._sash_index = sash_index
        
        if image:
            self._event_area = Label(self, image=image)
            self._event_area.pack()            
        else:
            self._event_area = self
        
        self._center = int(self._event_area.winfo_reqwidth()/2), int(self._event_area.winfo_reqheight()/2)

        if disallow_dragging:
            if on_click:
                self._event_area.bind('<Button-1>', lambda event: on_click())
        else:
            self._event_area.bind('<Button-1>', self._initiate_motion)
            self._event_area.bind('<B1-Motion>', self._on_dragging)
            self._event_area.bind('<ButtonRelease-1>', self.master._on_release)
        
        
    def _initiate_motion(self, event) :
        self.master._active_sash = self._sash_index

        self._dx = event.x
        self._dy = event.y

    @property
    def sash_index(self):
        return self._sash_index

    def _on_dragging(self):
        raise NotImplementedError
コード例 #5
0
    def setCard(self,cardnum,row,col):
        dodel = False
        if cardnum == -1:
            dodel = True
            cardnum = 1
        card = Card(cardnum)
        f = Frame(self, height = card.height, width = card.width)
        if (row == 2 and self.client.player == 'p1') or (row == 3 and self.client.player == 'p2'):
            f.config(height = card.height+20)
        if self.client.player == 'p1':
            f.grid(row=row+1, column=col)
        else:
            f.grid(row=6-row, column=NUM_COLS-col)
        f.pack_propagate(0)

        self.fgrid[row][col] = f
        
        pic = Label(f)
        if row <= 2:
            card.flip()
        if self.client.player == 'p2':
            card.flip()
        pic.config(image=card.img)
        pic.image = card.img
        pic.row = row
        pic.col = col
        pic.card = card
        
        def clicked(pic,ins,card):
            if ins.state == 'taking' and not pic.isNone:
                if pic.card.number == ins.activeCard:
                    endTime = time.time()
                    ins.delta = round(endTime-self.startTime,2)
                    print(ins.delta)
                    print("Got in "+str(ins.delta))
                    ins.client.sendMessage('took,'+str(ins.delta)+','+str(ins.faultCount))
                    if not ins.multiplayer:
                        ins.client.oppSendMessage('p2,took,20,0')
                    ins.changeState('waiting')

                    pic.pack_forget()
                    ins.model[pic.row][pic.col].isNone = True
                elif ins.activeCardRow == -1 or not (pic.row <= 2) == (ins.activeCardRow <= 2):
                    ins.faults[int(pic.row <= 2)] = 1
                    ins.faultCount = sum(ins.faults)
            elif ins.state == 'move-select-start':
                ins.movingPic = (pic.row, pic.col)
                print('moving card:')
                print(ins.movingPic)
                if (((self.client.player == 'p1' and pic.row > 2) or (self.client.player == 'p2' and pic.row <= 2))\
                    and not pic.isNone) or not ins.multiplayer:
                    ins.infoLabel.config(text="Card chosen. Select destination.")
                    ins.changeState('move-select-stop')

                else:
                    ins.infoLabel.config(text="Can't move that. Select a different card to move.")
                ins.moveButton.config(text="Cancel")

            elif ins.state == 'move-select-stop':
                print('to:')
                print((pic.row, pic.col))
                if ((self.client.player == 'p1' and pic.row <= 2) or (self.client.player == 'p2' and pic.row > 2))\
                    and not pic.isNone:
                    ins.infoLabel.config(text="Illegal move. Select a different card to move.")
                else:
                    ins.swapCards(self.movingPic,(pic.row, pic.col))
                    ins.infoLabel.config(text="Move completed. Select next card.")

                ins.changeState('move-select-start')




        
        f.bind("<Button-1>",lambda e,pic=pic,self=self,card=card:clicked(pic,self,card))
        pic.bind("<Button-1>",lambda e,pic=pic,self=self,card=card:clicked(pic,self,card))
        pic.pack(fill=BOTH)
        self.model[row][col] = pic

        if dodel:
            pic.pack_forget()
            self.model[row][col].isNone = True

        else:
            self.model[row][col].isNone = False