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 }