Changeset 164

Show
Ignore:
Timestamp:
09/20/04 23:18:43 (4 years ago)
Author:
ug
Message:

Back to prev. searches.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • 06/devel/abstractBoardPY.py

    r161 r164  
    6161        return ab 
    6262 
    63     def restore(self, data): 
     63    def restore(self, ab): 
    6464        self.boardsize = ab.boardsize 
    6565        self.status = ab.status 
  • 06/devel/board.py

    r161 r164  
    213213 
    214214    def snapshot(self): 
    215         handle = abstractBoard.snapshot(self) 
    216         self.snapshots[handle].extend([self.currentColor, deepcopy(self.stones), deepcopy(self.marks), deepcopy(self.labels)]) 
    217         return handle 
    218  
    219     def restore(self, handle): 
    220         abstractBoard.restore(self, handle) 
    221         self.currentColor = self.snapshots[handle][2] 
    222         self.stones = self.snapshots[handle][3] 
    223         self.marks = self.snapshots[handle][4] 
    224         self.labels = self.snapshots[handle][5] 
     215        return [abstractBoard.copy(self), self.currentColor, deepcopy(self.stones), deepcopy(self.marks), deepcopy(self.labels)] 
     216 
     217    def restore(self, data): 
     218        abstractBoard.restore(self, data[0]) 
     219        self.currentColor = data[1] 
     220        self.stones = data[2] 
     221        self.marks = data[3] 
     222        self.labels = data[4] 
    225223        self.resize(None, 1) 
    226224 
  • 06/devel/kombilo.py

    r161 r164  
    290290 
    291291    def snapshot(self): 
    292         handle = Board.snapshot(self)  
    293         self.snapshots[handle].extend([copy(self.wildcards), self.selection]) 
    294         return handle 
    295  
    296     def restore(self, handle): 
    297         self.wildcards = self.snapshots[handle][6
    298         self.selection = self.snapshots[handle][7
    299         Board.restore(self, handle) # This does a self.resize(), which takes care of wildcards and selection in our case 
     292        data = Board.snapshot(self)  
     293        data.extend([copy(self.wildcards), self.selection]) 
     294        return data 
     295 
     296    def restore(self, data): 
     297        self.wildcards = data[5
     298        self.selection = data[6
     299        Board.restore(self, data) # This does a self.resize(), which takes care of wildcards and selection in our case 
    300300 
    301301# --------------------------------------------------------------------------------------- 
     
    947947        self.data = [] 
    948948        self.mster = master 
    949          
    950949        self.maxLength = maxLength 
    951950        self.boardChanged = boardChanged 
    952  
    953951        self.prevSF = prevSF 
    954952        self.labelSize = IntVar() 
     
    956954        self.smartFC = IntVar() 
    957955        self.FC = IntVar() 
    958  
    959956        self.selected = -1 
    960957        self.prev_select = -1 
    961  
    962958        self.popupMenu = None 
    963  
    964959         
    965960    def append(self, s): 
     
    970965                    self.delete(i) 
    971966                    break 
    972              
    973967        b = BoardWC(self.prevSF.interior(), self.mster.boardsize, (9,5), 0, 
    974968                    self.labelSize, self.FC, self.smartFC, self.mster.boardImg, None, None) 
     
    981975        b.bound3 = b.bind('<3>', lambda event, self=self, l = len(self.data): self.postMenu(event, l)) 
    982976        b.unbind('<Shift-1>', b.bounds1) 
    983          
    984 #         for key in data[0].keys(): 
    985 #             print data[0][key] 
    986 #             p = b.getPixelCoord(key) 
    987 #             b.status[key] = data[0][key] 
    988 #             b.stones[key] = b.create_oval(p, fill=data[0][key], tags='non-bg') 
    989 #         for key in data[1].keys(): 
    990 #             print key, 
    991 #             color = data[1][key][1] 
    992 #             print color 
    993 #             x1, x2, y1, y2 = b.getPixelCoord(key,1) 
    994 #             b.wildcards[key] = (b.create_oval(x1, x2, y1, y2, fill = color, 
    995 #                                               outline='', tags=('wildcard','non-bg')), color) 
    996             # print b.wildcards[key] 
    997 #         if data[2] != ((0,0), (self.mster.boardsize-1, self.mster.boardsize-1)) and data[2][1] != (-1,-1): 
    998 #             b.setSelection(data[2][0], data[2][1]) 
    999  
     977        b.restore(s[0])  
     978        # for key in data[0].keys(): 
     979        # #     print data[0][key] 
     980        #     p = b.getPixelCoord(key) 
     981        #     b.status[key] = data[0][key] 
     982        #     b.stones[key] = b.create_oval(p, fill=data[0][key], tags='non-bg') 
     983        # for key in data[1].keys(): 
     984        # #     print key, 
     985        #     color = data[1][key][1] 
     986        # #     print color 
     987        #     x1, x2, y1, y2 = b.getPixelCoord(key,1) 
     988        #     b.wildcards[key] = (b.create_oval(x1, x2, y1, y2, fill = color, 
     989        #                                       outline='', tags=('wildcard','non-bg')), color) 
     990        # # print b.wildcards[key] 
     991        # if data[2] != ((0,0), (self.mster.boardsize-1, self.mster.boardsize-1)) and data[2][1] != (-1,-1): 
     992        #     b.setSelection(data[2][0], data[2][1]) 
    1000993        b.tkraise('non-bg') 
    1001994        b.resizable = 0 
    1002  
    1003995        self.prevSF.reposition() 
    1004996        self.data.append([s, b, 0]) 
    1005997        self.select(len(self.data)-1) 
    1006  
    1007998         
    1008999    def postMenu(self, event, board): 
     
    10181009            self.popupMenu.add_command(label = 'Hold', 
    10191010                                       command = lambda self=self, board=board: self.unpostAndHold(board)) 
    1020              
    10211011        self.popupMenu.tk_popup(event.x_root, event.y_root) 
    10221012 
     
    10271017            self.popupMenu = None 
    10281018         
    1029          
    10301019    def unpostAndDelete(self, board): 
    10311020        self.unpost() 
    10321021        self.delete(board) 
    1033  
    10341022 
    10351023    def unpostAndHold(self, board): 
     
    10381026        c = self.data[board][1].getPixelCoord((21,21), 1)[0] 
    10391027        self.data[board][1].create_rectangle(6,6,c-4,c-4, fill='', outline='blue', width=2, tags='hold') 
    1040          
    10411028 
    10421029    def unpostAndRelease(self, board): 
     
    10441031        self.data[board][2] = 0 
    10451032        self.data[board][1].delete('hold') 
    1046  
    10471033 
    10481034    def delete(self, board): 
     
    10661052 
    10671053        self.prevSF.reposition() 
    1068  
    10691054 
    10701055    def deleteFile(self, cursor): 
     
    10761061        for i in d: 
    10771062            self.delete(i) 
    1078  
    10791063 
    10801064    def deleteGame(self, cursor, game): 
     
    10891073        for i in d: 
    10901074            self.delete(i) 
    1091  
    10921075 
    10931076    def exchangeGames(self, cursor, index1, index2): 
     
    11071090                        self.data[i][0][-1][1] += 1 
    11081091 
    1109  
    11101092    def deleteNode(self, cursor, game, pathToNode): 
    11111093        d = [] 
     
    11271109            self.delete(i) 
    11281110         
    1129          
    11301111    def see(self, board): 
    11311112        if board == END: self.prevSF.xview('moveto', 1.0) 
     
    11331114            self.prevSF.xview('moveto', 1.0 / (len(self.data)+1) * board) 
    11341115 
    1135  
    11361116    def select(self, board): 
    11371117         
     
    11481128        self.selected = board 
    11491129        self.see(board) 
    1150  
    11511130 
    11521131    def click(self, board): 
     
    11541133        self.mster.back(self.data[self.selected][0], self.selected) 
    11551134 
    1156          
    11571135    def select_clear(self): 
    11581136        if 0 <= self.selected < len(self.data): 
     
    11601138            self.prev_select = self.selected  
    11611139            self.selected = -1 
    1162  
    11631140 
    11641141    def pop(self): 
     
    11821159        else: 
    11831160            return (self.data[self.selected][0], -1) 
    1184  
    11851161 
    11861162    def clear(self): 
     
    19311907                              self.noMatches, self.noSwitched, self.Bwins, self.Wwins, 
    19321908                              self.modeVar.get(), self.fixedColorVar.get(), self.fixedAnchorVar.get(), 
    1933                               self.moveLimit.get(), self.nextMoveVar.get(), cursorSn]) 
     1909                              self.moveLimit.get(), self.nextMoveVar.get(), cursorSn, 
     1910                              self.currentSearchPattern]) # FIXME: need .copy() here? 
    19341911 
    19351912        self.configButtons(NORMAL) 
     
    22202197                 
    22212198        try: 
    2222             handle, g, r, c, nm, ns, bw, ww, mv, fc, fa, ml, nextM, cu = prev 
     2199            boardData, g, r, c, nm, ns, bw, ww, mv, fc, fa, ml, nextM, cu, csp = prev 
    22232200        except: 
    22242201            self.reset() 
     
    22382215        self.Wwins = 0 
    22392216         
    2240         if not handle is None: 
     2217        if not boardData is None: 
    22412218            if cu: 
    22422219                found = 0 
     
    22552232                            return 
    22562233                    self.board.newPosition() 
     2234                    self.capB, self.capW = 0, 0 
    22572235                    self.displayNode(self.cursor.getRootNode(self.cursor.currentGame)) 
    22582236                    for i in cu[2]: 
     
    22602238                    self.cursor.seeCurrent() 
    22612239                     
    2262                     self.board.restore(handle
     2240                    self.board.restore(boardData
    22632241             
    22642242                    self.sel = self.board.selection      # used in self.showCont()                     
     
    22742252             
    22752253            for i in range(len(r)): 
    2276                 self.gamelist.DBlist[`self.boardsize`][i].results = split(r[i], '|%') 
     2254                self.gamelist.DBlist[`self.boardsize`][i].results = r[i] 
    22772255                # FIXME results 
    22782256            self.continuations = c 
     
    22862264            self.board.changed.set(0) 
    22872265 
    2288             # restore self.currentSearchPattern 
    2289  
    2290             pd = self.getPatternFromBoard(self.sel) 
    2291             anchors = self.getAnchors() 
    2292              
    2293             # FIXME moveSequence! 
    2294  
    2295             self.currentSearchPattern = Pattern(anchors, pd) 
     2266            self.currentSearchPattern = csp 
    22962267 
    22972268        self.statistics = {} 
     
    39603931        self.balloonHelp() 
    39613932 
    3962  
    39633933# --------------------------------------------------------------------------------------- 
    39643934 
  • 06/devel/patternPY.py

    r153 r164  
    7777        return self.bits[b][i] 
    7878             
    79     def __init__(self, # anchors, initialDict, contList=[], moveOne = 'X'): 
     79    def __init__(self, 
    8080                 left, right, top, bottom, sizeX, sizeY, 
    8181                 initialPos, contList, lenContList, moveOne):