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.DockTransientGrab;
20
21 private import dazzle.DockItemIF;
22 private import dazzle.c.functions;
23 public import dazzle.c.types;
24 private import glib.ConstructionException;
25 private import gobject.ObjectG;
26 private import gtk.Widget;
27
28
29 /** */
30 public class DockTransientGrab : ObjectG
31 {
32 /** the main Gtk struct */
33 protected DzlDockTransientGrab* dzlDockTransientGrab;
34
35 /** Get the main Gtk struct */
36 public DzlDockTransientGrab* getDockTransientGrabStruct(bool transferOwnership = false)
37 {
38 if (transferOwnership)
39 ownedRef = false;
40 return dzlDockTransientGrab;
41 }
42
43 /** the main Gtk struct as a void* */
44 protected override void* getStruct()
45 {
46 return cast(void*)dzlDockTransientGrab;
47 }
48
49 /**
50 * Sets our main struct and passes it to the parent class.
51 */
52 public this (DzlDockTransientGrab* dzlDockTransientGrab, bool ownedRef = false)
53 {
54 this.dzlDockTransientGrab = dzlDockTransientGrab;
55 super(cast(GObject*)dzlDockTransientGrab, ownedRef);
56 }
57
58
59 /** */
60 public static GType getType()
61 {
62 return dzl_dock_transient_grab_get_type();
63 }
64
65 /** */
66 public this()
67 {
68 auto p = dzl_dock_transient_grab_new();
69
70 if(p is null)
71 {
72 throw new ConstructionException("null returned by new");
73 }
74
75 this(cast(DzlDockTransientGrab*) p, true);
76 }
77
78 /** */
79 public void acquire()
80 {
81 dzl_dock_transient_grab_acquire(dzlDockTransientGrab);
82 }
83
84 /** */
85 public void addItem(DockItemIF item)
86 {
87 dzl_dock_transient_grab_add_item(dzlDockTransientGrab, (item is null) ? null : item.getDockItemStruct());
88 }
89
90 /** */
91 public void cancel()
92 {
93 dzl_dock_transient_grab_cancel(dzlDockTransientGrab);
94 }
95
96 /** */
97 public bool contains(DockItemIF item)
98 {
99 return dzl_dock_transient_grab_contains(dzlDockTransientGrab, (item is null) ? null : item.getDockItemStruct()) != 0;
100 }
101
102 /** */
103 public uint getTimeout()
104 {
105 return dzl_dock_transient_grab_get_timeout(dzlDockTransientGrab);
106 }
107
108 /** */
109 public bool isDescendant(Widget widget)
110 {
111 return dzl_dock_transient_grab_is_descendant(dzlDockTransientGrab, (widget is null) ? null : widget.getWidgetStruct()) != 0;
112 }
113
114 /** */
115 public void release()
116 {
117 dzl_dock_transient_grab_release(dzlDockTransientGrab);
118 }
119
120 /** */
121 public void removeItem(DockItemIF item)
122 {
123 dzl_dock_transient_grab_remove_item(dzlDockTransientGrab, (item is null) ? null : item.getDockItemStruct());
124 }
125
126 /** */
127 public void setTimeout(uint timeout)
128 {
129 dzl_dock_transient_grab_set_timeout(dzlDockTransientGrab, timeout);
130 }
131
132 /** */
133 public void stealCommonAncestors(DockTransientGrab other)
134 {
135 dzl_dock_transient_grab_steal_common_ancestors(dzlDockTransientGrab, (other is null) ? null : other.getDockTransientGrabStruct());
136 }
137 }