1/*
2* Copyright (c) 2018 (https://github.com/phase1geo/Minder)
3*
4* This program is free software; you can redistribute it and/or
5* modify it under the terms of the GNU General Public
6* License as published by the Free Software Foundation; either
7* version 2 of the License, or (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 GNU
12* General Public License for more details.
13*
14* You should have received a copy of the GNU General Public
15* License along with this program; if not, write to the
16* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17* Boston, MA 02110-1301 USA
18*
19* Authored by: Trevor Williams <phase1geo@gmail.com>
20*/
21
22using Gtk;
23using Pango;
24
25public class UndoStyleNodeFont : UndoStyleChange {
26
27  GenericArray<FontDescription> _values;
28
29  /* Constructor for a node name change */
30  public UndoStyleNodeFont( StyleAffects affects, string family, int size, DrawArea da ) {
31    base( affects, da );
32    var node_font = new FontDescription();
33    node_font.set_family( family );
34    node_font.set_size( size );
35    _values = new GenericArray<FontDescription>();
36    _values.add( node_font );
37    load_styles( da );
38  }
39
40  protected override void load_style_value( Style style ) {
41    _values.add( style.node_font );
42  }
43
44  protected override void store_style_value( Style style, int index ) {
45    style.node_font = _values.get( index );
46  }
47
48}
49