@@ -367,9 +367,11 @@ def CreatePageGeneral(self):
367367 self .listExt .bind ('<ButtonRelease-1>' ,self .ExtensionSelected )
368368 labelExtSetTitle = Label (frameExtSet ,text = 'Settings' )
369369 self .radioEnableExt = Radiobutton (frameExtSet ,variable = self .extEnabled ,
370- value = 1 ,text = "enabled" ,state = DISABLED )
370+ value = 1 ,text = "enabled" ,state = DISABLED ,
371+ command = self .ExtensionStateToggled )
371372 self .radioDisableExt = Radiobutton (frameExtSet ,variable = self .extEnabled ,
372- value = 0 ,text = "disabled" ,state = DISABLED )
373+ value = 0 ,text = "disabled" ,state = DISABLED ,
374+ command = self .ExtensionStateToggled )
373375 self .buttonExtConfig = Button (frameExtSet ,text = 'Configure' ,state = DISABLED )
374376 #widget packing
375377 #body
@@ -412,60 +414,68 @@ def AttachVarCallbacks(self):
412414 self .winWidth .trace_variable ('w' ,self .VarChanged_winWidth )
413415 self .winHeight .trace_variable ('w' ,self .VarChanged_winHeight )
414416 self .startupEdit .trace_variable ('w' ,self .VarChanged_startupEdit )
415- self .extEnabled .trace_variable ('w' ,self .VarChanged_extEnabled )
416417
417418 def VarChanged_fontSize (self ,* params ):
418419 value = self .fontSize .get ()
419420 self .AddChangedItem ('main' ,'EditorWindow' ,'font-size' ,value )
420- print 'fontSize:' ,value
421421
422422 def VarChanged_fontName (self ,* params ):
423423 value = self .fontName .get ()
424424 self .AddChangedItem ('main' ,'EditorWindow' ,'font' ,value )
425- print 'fontName:' ,value
426425
427426 def VarChanged_fontBold (self ,* params ):
428427 value = self .fontBold .get ()
429428 self .AddChangedItem ('main' ,'EditorWindow' ,'font-bold' ,value )
430- print 'fontBold:' ,value
431429
432430 def VarChanged_indentBySpaces (self ,* params ):
433431 value = self .indentBySpaces .get ()
434432 self .AddChangedItem ('main' ,'Indent' ,'use-spaces' ,value )
435- print 'indentBySpaces:' ,value
436433
437434 def VarChanged_spaceNum (self ,* params ):
438435 value = self .spaceNum .get ()
439436 self .AddChangedItem ('main' ,'Indent' ,'num-spaces' ,value )
440- print 'spaceNum:' ,value
441437
442438 def VarChanged_tabCols (self ,* params ):
443439 value = self .tabCols .get ()
444440 self .AddChangedItem ('main' ,'Indent' ,'tab-cols' ,value )
445- print 'tabCols:' ,value
446441
447442 def VarChanged_colour (self ,* params ):
443+ value = self .colour .get ()
444+ theme = self .customTheme .get ()
445+ element = self .themeElements [self .highlightTarget .get ()][0 ]
446+ self .AddChangedItem ('highlight' ,theme ,element ,value )
448447 print params
449-
448+
450449 def VarChanged_keyBinding (self ,* params ):
450+ value = self .keyBinding .get ()
451+ keySet = self .customKeys .get ()
452+ event = self .listBindings .get (ANCHOR ).split ()[0 ]
453+ self .AddChangedItem ('keys' ,keySet ,event ,value )
451454 print params
452455
453456 def VarChanged_winWidth (self ,* params ):
454- print params
457+ value = self .winWidth .get ()
458+ self .AddChangedItem ('main' ,'EditorWindow' ,'width' ,value )
455459
456460 def VarChanged_winHeight (self ,* params ):
457- print params
461+ value = self .winHeight .get ()
462+ self .AddChangedItem ('main' ,'EditorWindow' ,'height' ,value )
458463
459464 def VarChanged_startupEdit (self ,* params ):
460- print params
465+ value = self .startupEdit .get ()
466+ self .AddChangedItem ('main' ,'General' ,'editor-on-startup' ,value )
461467
462- def VarChanged_extEnabled (self ,* params ):
463- print params
468+ def ExtensionStateToggled (self ):
469+ #callback for the extension enable/disable radio buttons
470+ value = self .extEnabled .get ()
471+ extension = self .listExt .get (ANCHOR )
472+ self .AddChangedItem ('extensions' ,extension ,'enabled' ,value )
464473
465474 def AddChangedItem (self ,type ,section ,item ,value ):
466475 if not self .changedItems [type ].has_key (section ):
467476 self .changedItems [type ][section ]= {}
468477 self .changedItems [type ][section ][item ]= value
478+ print type ,section ,item ,value
469479
470480 def GetDefaultItems (self ):
471481 dItems = {'main' :{},'highlight' :{},'keys' :{},'extensions' :{}}
@@ -675,8 +685,12 @@ def GetNewKeys(self):
675685 if newKeys .result : #new keys were specified
676686 self .listBindings .delete (listIndex )
677687 self .listBindings .insert (listIndex ,bindName + ' - ' + newKeys .result )
688+ self .listBindings .select_set (listIndex )
689+ self .listBindings .select_anchor (listIndex )
678690 self .keyBinding .set (newKeys .result )
679- self .listBindings .select_set (listIndex )
691+ else :
692+ self .listBindings .select_set (listIndex )
693+ self .listBindings .select_anchor (listIndex )
680694
681695 def KeyBindingSelected (self ,event ):
682696 self .buttonNewKeys .config (state = NORMAL )
0 commit comments