Package screenlets :: Package options :: Module font_option
[hide private]
[frames] | no frames]

Source Code for Module screenlets.options.font_option

 1  #  
 2  # Copyright (C) 2009 Martin Owens (DoctorMO) <doctormo@gmail.com> 
 3  # 
 4  # This program is free software; you can redistribute it and/or modify 
 5  # it under the terms of the GNU General Public License as published by 
 6  # the Free Software Foundation; either version 3 of the License, or 
 7  # (at your option) any later version. 
 8  #  
 9  # This program is distributed in the hope that it will be useful, 
10  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
11  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
12  # GNU General Public License for more details. 
13  #  
14  # You should have received a copy of the GNU General Public License 
15  # along with this program; if not, write to the Free Software 
16  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
17  #  
18  """ 
19  Font options, these classes will display a text box. 
20  """ 
21   
22  import gtk 
23   
24  from screenlets.options import _ 
25  from base import Option 
26   
27 -class FontOption(Option):
28 """An class for font options."""
29 - def on_import(self, strvalue):
30 """When a font is imported from the config.""" 31 return strvalue
32
33 - def on_export(self, value):
34 """When a font is exported to the config.""" 35 return str(value)
36
37 - def generate_widget(self, value):
38 """Generate a special widget for font options""" 39 self.widget = gtk.FontButton() 40 self.set_value(value) 41 self.widget.connect("font-set", self.has_changed) 42 return self.widget
43
44 - def set_value(self, value):
45 """Set the font value as required.""" 46 self.widget.set_font_name(value) 47 self.value = value
48
49 - def has_changed(self, widget):
50 """Executed when the widget event kicks off.""" 51 self.value = widget.get_font_name() 52 super(FontOption, self).has_changed()
53