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 }