33import text
44#import vtk
55import vcs .vcs2vtk
6- from functools import partial
6+ from font import FontEditor
77
88__valign_map__ = {
99 0 : 0 ,
@@ -63,27 +63,8 @@ def __init__(self, interactor, label, dp, configurator):
6363 valign .set_state (__valign_map__ [self .to .valign ])
6464
6565 self .angle_button = self .toolbar .add_slider_button (self .to .angle , 0 , 360 , "Angle" , update = self .update_angle )
66- self .fonts = sorted (vcs .elements ["font" ].keys ())
6766
68- font_toolbar = self .toolbar .add_toolbar ("Fonts" )
69-
70- self .font_buttons = {}
71-
72- def font_setter (font ):
73- return partial (self .set_font , font )
74-
75- deactivate = font_setter ("default" )
76-
77- for ind , font in enumerate (self .fonts ):
78-
79- if font [:4 ] != "Math" :
80- button = font_toolbar .add_toggle_button (font , on = font_setter (font ), off = deactivate , font = vcs .elements ["font" ][font ])
81- else :
82- button = font_toolbar .add_toggle_button (font , on = font_setter (font ), off = deactivate )
83-
84- if vcs .elements ["fontNumber" ][self .tt .font ] == font :
85- button .set_state (1 )
86- self .font_buttons [font ] = button
67+ font_editor = FontEditor (self .toolbar , self .set_font , vcs .elements ["fontNumber" ][self .tt .font ])
8768
8869 self .picker = None
8970 self .toolbar .add_button (["Change Color" ], action = self .change_color )
@@ -105,11 +86,7 @@ def sync_actor(self):
10586 vcs .vcs2vtk .prepTextProperty (p ,winSize ,to = self .to ,tt = self .tt ,cmap = None )
10687
10788 def set_font (self , font ):
108- current_font = vcs .getfontname (self .tt .font )
109- if font != current_font :
110- self .font_buttons [current_font ].set_state (0 )
11189 self .tt .font = font
112- self .font_buttons [font ].set_state (1 )
11390 self .save ()
11491
11592 def halign (self , state ):
0 commit comments