source: appstream-generator/build/girepo/gio/FileIcon.d @ 4841

Last change on this file since 4841 was 4841, checked in by Juanma, 2 years ago

Initial release

File size: 2.8 KB
Line 
1/*
2 * Licensed under the GNU Lesser General Public License Version 3
3 *
4 * This library is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation, either version 3 of the license, or
7 * (at your option) any later version.
8 *
9 * This software 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
12 * GNU Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this library.  If not, see <http://www.gnu.org/licenses/>.
16 */
17
18// generated automatically - do not change
19
20
21module gio.FileIcon;
22
23private import gi.gio;
24public  import gi.giotypes;
25private import gio.File;
26private import gio.FileIF;
27private import gio.IconIF;
28private import gio.IconT;
29private import gio.LoadableIconIF;
30private import gio.LoadableIconT;
31private import glib.ConstructionException;
32private import gobject.ObjectG;
33
34
35/**
36 * #GFileIcon specifies an icon by pointing to an image file
37 * to be used as icon.
38 */
39public class FileIcon : ObjectG, IconIF, LoadableIconIF
40{
41        /** the main Gtk struct */
42        protected GFileIcon* gFileIcon;
43
44        /** Get the main Gtk struct */
45        public GFileIcon* getFileIconStruct()
46        {
47                return gFileIcon;
48        }
49
50        /** the main Gtk struct as a void* */
51        protected override void* getStruct()
52        {
53                return cast(void*)gFileIcon;
54        }
55
56        protected override void setStruct(GObject* obj)
57        {
58                gFileIcon = cast(GFileIcon*)obj;
59                super.setStruct(obj);
60        }
61
62        /**
63         * Sets our main struct and passes it to the parent class.
64         */
65        public this (GFileIcon* gFileIcon, bool ownedRef = false)
66        {
67                this.gFileIcon = gFileIcon;
68                super(cast(GObject*)gFileIcon, ownedRef);
69        }
70
71        // add the Icon capabilities
72        mixin IconT!(GFileIcon);
73
74        // add the LoadableIcon capabilities
75        mixin LoadableIconT!(GFileIcon);
76
77
78        /** */
79        public static GType getType()
80        {
81                return g_file_icon_get_type();
82        }
83
84        /**
85         * Creates a new icon for a file.
86         *
87         * Params:
88         *     file = a #GFile.
89         *
90         * Returns: a #GIcon for the given
91         *     @file, or %NULL on error.
92         *
93         * Throws: ConstructionException GTK+ fails to create the object.
94         */
95        public this(FileIF file)
96        {
97                auto p = g_file_icon_new((file is null) ? null : file.getFileStruct());
98               
99                if(p is null)
100                {
101                        throw new ConstructionException("null returned by new");
102                }
103               
104                this(cast(GFileIcon*) p, true);
105        }
106
107        /**
108         * Gets the #GFile associated with the given @icon.
109         *
110         * Returns: a #GFile, or %NULL.
111         */
112        public FileIF getFile()
113        {
114                auto p = g_file_icon_get_file(gFileIcon);
115               
116                if(p is null)
117                {
118                        return null;
119                }
120               
121                return ObjectG.getDObject!(File, FileIF)(cast(GFile*) p);
122        }
123}
Note: See TracBrowser for help on using the repository browser.