@@ -1191,6 +1191,7 @@ def clear():
11911191
11921192 def convertFormulae (self , rows , cols = None ):
11931193 """Convert the formulas in the cells to their result values"""
1194+
11941195 if len (self .multiplerowlist ) == 0 or len (self .multiplecollist ) == 0 :
11951196 return None
11961197
@@ -1206,18 +1207,21 @@ def convertFormulae(self, rows, cols=None):
12061207
12071208 def paste (self , event = None ):
12081209 """Copy from clipboard"""
1210+
12091211 print (self .parentframe .clipboard_get ())
12101212 return
12111213
12121214 def copyCell (self , rows , cols = None ):
12131215 """Copy cell contents to a temp internal clipboard"""
1216+
12141217 row = rows [0 ]; col = cols [0 ]
12151218 #absrow = self.get_AbsoluteRow(row)
12161219 self .clipboard = copy .deepcopy (self .model .getCellRecord (row , col ))
12171220 return
12181221
12191222 def pasteCell (self , rows , cols = None ):
12201223 """Paste cell from internal clipboard"""
1224+
12211225 row = rows [0 ]; col = cols [0 ]
12221226 #absrow = self.get_AbsoluteRow(row)
12231227 val = self .clipboard
@@ -1227,6 +1231,7 @@ def pasteCell(self, rows, cols=None):
12271231
12281232 def copyColumns (self ):
12291233 """Copy current selected cols"""
1234+
12301235 M = self .model
12311236 coldata = {}
12321237 for col in self .multiplecollist :
@@ -1236,6 +1241,7 @@ def copyColumns(self):
12361241
12371242 def pasteColumns (self , coldata ):
12381243 """Paste new cols, overwrites existing names"""
1244+
12391245 M = self .model
12401246 for name in coldata :
12411247 if name not in M .columnNames :
@@ -1920,23 +1926,20 @@ def close_prefsdialog():
19201926
19211927 #fonts
19221928 fts = self .getFonts ()
1923-
1924- def setFont ():
1925- self .thefont = self .fontbox .getcurselection ()
1929+ self .fontvar = StringVar ()
1930+ self .fontvar .set (self .prefs .get ('celltextfont' ))
1931+ def setFont (* args ):
1932+ self .thefont = self .fontvar .get ()
19261933 return
19271934
1928- import Pmw
1929- self .fontbox = Pmw .ScrolledListBox (frame2 ,
1930- items = (fts ),
1931- labelpos = 'w' ,
1932- label_text = 'Font:' ,
1933- listbox_height = 6 ,
1934- selectioncommand = setFont ,
1935- usehullsize = 1 ,
1936- hull_width = 200 ,
1937- hull_height = 80 )
1938- self .fontbox .setvalue (self .prefs .get ('celltextfont' ))
1939- self .fontbox .grid (row = row ,column = 0 , columnspan = 2 , sticky = 'nes' , padx = 3 ,pady = 2 )
1935+ self .fontbox = Combobox (frame2 ,
1936+ values = (fts ),
1937+ text = 'Font:' ,
1938+ height = 6 ,
1939+ textvariable = self .fontvar )
1940+ self .fontvar .trace ('w' , setFont )
1941+ Label (frame2 ,text = 'Font:' ).grid (row = row ,column = 0 ,padx = 3 ,pady = 2 )
1942+ self .fontbox .grid (row = row ,column = 1 , columnspan = 2 , sticky = 'nes' , padx = 3 ,pady = 2 )
19401943 row = row + 1
19411944
19421945 lblfontsize = Label (frame2 ,text = 'Text Size:' )
@@ -2020,11 +2023,11 @@ def loadPrefs(self, prefs=None):
20202023 'rowselectedcolor' : self .rowselectedcolor ,
20212024 'rowheaderwidth' : self .rowheaderwidth }
20222025
2023- for prop in defaultprefs . keys () :
2024- try :
2025- print ( self . prefs . get ( prop ) )
2026- except :
2027- self .prefs .set (prop , defaultprefs [prop ])
2026+ for prop in defaultprefs :
2027+ if not prop in self . prefs . prefs :
2028+ # print (defaultprefs[ prop] )
2029+ if defaultprefs [ prop ] != 'None' :
2030+ self .prefs .set (prop , defaultprefs [prop ])
20282031
20292032 self .defaultprefs = defaultprefs
20302033
@@ -2077,7 +2080,7 @@ def savePrefs(self):
20772080 self .prefs .set ('linewidth' , self .linewidthvar .get ())
20782081 self .linewidth = self .linewidthvar .get ()
20792082 self .prefs .set ('celltextsize' , self .celltextsizevar .get ())
2080- self .prefs .set ('celltextfont' , self .fontbox . getcurselection ())
2083+ self .prefs .set ('celltextfont' , self .fontvar . get ())
20812084 self .prefs .set ('cellbackgr' , self .cellbackgr )
20822085 self .prefs .set ('grid_color' , self .grid_color )
20832086 self .prefs .set ('rowselectedcolor' , self .rowselectedcolor )
@@ -2548,6 +2551,7 @@ class RowHeader(Canvas):
25482551 takes it's size and rendering from the parent table
25492552 This also handles row/record selection as opposed to cell
25502553 selection"""
2554+
25512555 def __init__ (self , parent = None , table = None , width = 40 ):
25522556 Canvas .__init__ (self , parent , bg = 'gray75' , width = width , height = None )
25532557
@@ -2628,6 +2632,7 @@ def handle_left_release(self,event):
26282632
26292633 def handle_left_ctrl_click (self , event ):
26302634 """Handle ctrl clicks - for multiple row selections"""
2635+
26312636 rowclicked = self .table .get_row_clicked (event )
26322637 multirowlist = self .table .multiplerowlist
26332638 if 0 <= rowclicked < self .table .rows :
@@ -2652,6 +2657,7 @@ def handle_right_click(self,event):
26522657
26532658 def handle_mouse_drag (self , event ):
26542659 """Handle mouse moved with button held down, multiple selections"""
2660+
26552661 if hasattr (self , 'cellentry' ):
26562662 self .cellentry .destroy ()
26572663 rowover = self .table .get_row_clicked (event )
@@ -2680,6 +2686,7 @@ def handle_mouse_drag(self, event):
26802686
26812687 def drawSelectedRows (self , rows = None ):
26822688 """Draw selected rows, accepts a list or integer"""
2689+
26832690 self .delete ('rect' )
26842691 if type (rows ) is not list :
26852692 rowlist = []
@@ -2694,6 +2701,7 @@ def drawSelectedRows(self, rows=None):
26942701
26952702 def drawRect (self , row = None , tag = None , color = None , outline = None , delete = 1 ):
26962703 """Draw a rect representing row selection"""
2704+
26972705 if tag == None :
26982706 tag = 'rect'
26992707 if color == None :
@@ -2716,6 +2724,7 @@ def drawRect(self, row=None, tag=None, color=None, outline=None, delete=1):
27162724class AutoScrollbar (Scrollbar ):
27172725 """a scrollbar that hides itself if it's not needed. only
27182726 works if you use the grid geometry manager."""
2727+
27192728 def set (self , lo , hi ):
27202729 if float (lo ) <= 0.0 and float (hi ) >= 1.0 :
27212730 # grid_remove is currently missing from Tkinter!
0 commit comments