1 /*
2  * This file is part of d-dazzle.
3  *
4  * d-dazzle is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * d-dazzle is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with d-dazzle; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 module dazzle.PreferencesIF;
20 
21 private import dazzle.c.functions;
22 public  import dazzle.c.types;
23 private import glib.HashTable;
24 private import glib.Str;
25 private import gobject.ObjectG;
26 private import gtk.Widget;
27 
28 
29 /** */
30 public interface PreferencesIF{
31 	/** Get the main Gtk struct */
32 	public DzlPreferences* getPreferencesStruct(bool transferOwnership = false);
33 
34 	/** the main Gtk struct as a void* */
35 	protected void* getStruct();
36 
37 
38 	/** */
39 	public static GType getType()
40 	{
41 		return dzl_preferences_get_type();
42 	}
43 
44 	/** */
45 	public uint addCustom(string pageName, string groupName, Widget widget, string keywords, int priority);
46 
47 	/** */
48 	public uint addFileChooser(string pageName, string groupName, string schemaId, string key, string path, string title, string subtitle, GtkFileChooserAction action, string keywords, int priority);
49 
50 	/** */
51 	public uint addFontButton(string pageName, string groupName, string schemaId, string key, string title, string keywords, int priority);
52 
53 	/** */
54 	public void addGroup(string pageName, string groupName, string title, int priority);
55 
56 	/** */
57 	public void addListGroup(string pageName, string groupName, string title, GtkSelectionMode mode, int priority);
58 
59 	/** */
60 	public void addPage(string pageName, string title, int priority);
61 
62 	/** */
63 	public uint addRadio(string pageName, string groupName, string schemaId, string key, string path, string variantString, string title, string subtitle, string keywords, int priority);
64 
65 	/** */
66 	public uint addSpinButton(string pageName, string groupName, string schemaId, string key, string path, string title, string subtitle, string keywords, int priority);
67 
68 	/** */
69 	public uint addSwitch(string pageName, string groupName, string schemaId, string key, string path, string variantString, string title, string subtitle, string keywords, int priority);
70 
71 	/**
72 	 * Returns: A #GtkWidget or %NULL.
73 	 */
74 	public Widget getWidget(uint widgetId);
75 
76 	/** */
77 	public bool removeId(uint widgetId);
78 
79 	/** */
80 	public void setPage(string pageName, HashTable map);
81 }