Code

Disabling transientize callback - it's currently causing some data loss
[inkscape.git] / src / libnrtype / font-lister.cpp
1 #ifdef HAVE_CONFIG_H
2 # include <config.h>
3 #endif
5 #include <libnr/nr-blit.h>
6 #include <libnrtype/font-instance.h>
7 #include <libnrtype/raster-glyph.h>
8 #include <libnrtype/RasterFont.h>
9 #include <libnrtype/TextWrapper.h>
10 #include <libnrtype/one-glyph.h>
12 #include <glibmm.h>
13 #include <gtkmm.h>
14 #include <gtkmm/treemodel.h>
15 #include <gtkmm/liststore.h>
17 #include "font-lister.h"
19 namespace Inkscape
20 {
21                 FontLister::FontLister ()
22                 {
23                     font_list_store = Gtk::ListStore::create (FontList);
24                     
25                     if (font_factory::Default()->Families(&families))
26                     {
27                         for (unsigned int i = 0; i < families.length; ++i)
28                         {
29                             Gtk::TreeModel::iterator iter = font_list_store->append();
30                             (*iter)[FontList.font] = reinterpret_cast<const char*>(families.names[i]);
32                             NRStyleList styles;
33                             if (font_factory::Default()->Styles (reinterpret_cast<const char*>(families.names[i]), &styles));
35                             GList *Styles=0;
36                             for (unsigned int n = 0; n < styles.length; ++n)
37                             {
38                                     NRStyleRecord style_record = styles.records[n];
39                                     Styles = g_list_append (Styles, strdup(style_record.name));
40                             }
42                             (*iter)[FontList.styles] = Styles;
44                             font_list_store_iter_map.insert (std::make_pair (reinterpret_cast<const char*>(families.names[i]), Gtk::TreePath (iter)));
45                         }
46                     }
47                     
48                 }
50                 FontLister::~FontLister ()
51                 {
52                 };
54                 const Glib::RefPtr<Gtk::ListStore>
55                 FontLister::get_font_list () const
56                 {
57                     return font_list_store;
58                 }
59 }