1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD 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 * gtkD 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 gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 25 module gtk.AppChooserT; 26 27 public import gio.AppInfo; 28 public import gio.AppInfoIF; 29 public import glib.Str; 30 public import gobject.ObjectG; 31 public import gtkc.gtk; 32 public import gtkc.gtktypes; 33 34 35 /** 36 * #GtkAppChooser is an interface that can be implemented by widgets which 37 * allow the user to choose an application (typically for the purpose of 38 * opening a file). The main objects that implement this interface are 39 * #GtkAppChooserWidget, #GtkAppChooserDialog and #GtkAppChooserButton. 40 * 41 * Applications are represented by GIO #GAppInfo objects here. 42 * GIO has a concept of recommended and fallback applications for a 43 * given content type. Recommended applications are those that claim 44 * to handle the content type itself, while fallback also includes 45 * applications that handle a more generic content type. GIO also 46 * knows the default and last-used application for a given content 47 * type. The #GtkAppChooserWidget provides detailed control over 48 * whether the shown list of applications should include default, 49 * recommended or fallback applications. 50 * 51 * To obtain the application that has been selected in a #GtkAppChooser, 52 * use gtk_app_chooser_get_app_info(). 53 */ 54 public template AppChooserT(TStruct) 55 { 56 /** Get the main Gtk struct */ 57 public GtkAppChooser* getAppChooserStruct(bool transferOwnership = false) 58 { 59 if (transferOwnership) 60 ownedRef = false; 61 return cast(GtkAppChooser*)getStruct(); 62 } 63 64 65 /** 66 * Returns the currently selected application. 67 * 68 * Returns: a #GAppInfo for the currently selected 69 * application, or %NULL if none is selected. Free with g_object_unref() 70 * 71 * Since: 3.0 72 */ 73 public AppInfoIF getAppInfo() 74 { 75 auto p = gtk_app_chooser_get_app_info(getAppChooserStruct()); 76 77 if(p is null) 78 { 79 return null; 80 } 81 82 return ObjectG.getDObject!(AppInfo, AppInfoIF)(cast(GAppInfo*) p, true); 83 } 84 85 /** 86 * Returns the current value of the #GtkAppChooser:content-type property. 87 * 88 * Returns: the content type of @self. Free with g_free() 89 * 90 * Since: 3.0 91 */ 92 public string getContentType() 93 { 94 auto retStr = gtk_app_chooser_get_content_type(getAppChooserStruct()); 95 96 scope(exit) Str.freeString(retStr); 97 return Str.toString(retStr); 98 } 99 100 /** 101 * Reloads the list of applications. 102 * 103 * Since: 3.0 104 */ 105 public void refresh() 106 { 107 gtk_app_chooser_refresh(getAppChooserStruct()); 108 } 109 }