annotate dwt/widgets/Scrollable.d @ 322:96b14a31d9b3

Added missing dwthelper.utils imports. (catched by llvmdc)
author Frank Benoit <benoit@tionex.de>
date Mon, 06 Oct 2008 21:02:12 +0200
parents c0d810de7093
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
72
5899e0b43e5d porting notice
Frank Benoit <benoit@tionex.de>
parents: 71
diff changeset
1 /*******************************************************************************
259
c0d810de7093 Update SWT 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 255
diff changeset
2 * Copyright (c) 2000, 2008 IBM Corporation and others.
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
72
5899e0b43e5d porting notice
Frank Benoit <benoit@tionex.de>
parents: 71
diff changeset
10 * Port to the D programming language:
5899e0b43e5d porting notice
Frank Benoit <benoit@tionex.de>
parents: 71
diff changeset
11 * Frank Benoit <benoit@tionex.de>
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module dwt.widgets.Scrollable;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
322
96b14a31d9b3 Added missing dwthelper.utils imports. (catched by llvmdc)
Frank Benoit <benoit@tionex.de>
parents: 259
diff changeset
15 import dwt.dwthelper.utils;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
17 import dwt.DWT;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 import dwt.internal.gtk.OS;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 import dwt.graphics.Rectangle;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwt.widgets.Composite;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 import dwt.widgets.Control;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import dwt.widgets.Display;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import dwt.widgets.ScrollBar;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import dwt.widgets.Widget;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 import tango.stdc.string;
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 /**
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 * This class is the abstract superclass of all classes which
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 * represent controls that have standard scroll bars.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 * <dl>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 * <dt><b>Styles:</b></dt>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 * <dd>H_SCROLL, V_SCROLL</dd>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 * <dt><b>Events:</b>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * <dd>(none)</dd>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 * </dl>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 * <p>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 * IMPORTANT: This class is intended to be subclassed <em>only</em>
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
39 * within the DWT implementation.
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 * </p>
259
c0d810de7093 Update SWT 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 255
diff changeset
41 *
c0d810de7093 Update SWT 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 255
diff changeset
42 * @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 */
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 public abstract class Scrollable : Control {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
45 GtkWidget* scrolledHandle;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
46 ScrollBar horizontalBar, verticalBar;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 /**
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 * Prevents uninitialized instances from being created outside the package.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 */
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 this () {}
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 /**
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 * Constructs a new instance of this class given its parent
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 * and a style value describing its behavior and appearance.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 * <p>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 * The style value is either one of the style constants defined in
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
58 * class <code>DWT</code> which is applicable to instances of this
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 * class, or must be built by <em>bitwise OR</em>'ing together
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 * (that is, using the <code>int</code> "|" operator) two or more
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
61 * of those <code>DWT</code> style constants. The class description
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 * lists the style constants that are applicable to the class.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 * Style bits are also inherited from superclasses.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 * </p>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 * @param parent a composite control which will be the parent of the new instance (cannot be null)
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 * @param style the style of control to construct
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 * @exception IllegalArgumentException <ul>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 * <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 * </ul>
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
72 * @exception DWTException <ul>
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 * <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 * </ul>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 *
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
77 * @see DWT#H_SCROLL
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
78 * @see DWT#V_SCROLL
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79 * @see Widget#checkSubclass
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 * @see Widget#getStyle
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 */
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 public this (Composite parent, int style) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
83 super (parent, style);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 GtkWidget* clientHandle () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
87 return handle;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 /**
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 * Given a desired <em>client area</em> for the receiver
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 * (as described by the arguments), returns the bounding
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 * rectangle which would be required to produce that client
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 * area.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 * <p>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 * In other words, it returns a rectangle such that, if the
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 * receiver's bounds were set to that rectangle, the area
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 * of the receiver which is capable of displaying data
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 * (that is, not covered by the "trimmings") would be the
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 * rectangle described by the arguments (relative to the
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 * receiver's parent).
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 * </p>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 * @param x the desired x coordinate of the client area
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 * @param y the desired y coordinate of the client area
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 * @param width the desired width of the client area
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 * @param height the desired height of the client area
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 * @return the required bounds to produce the given client area
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 *
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
110 * @exception DWTException <ul>
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 * </ul>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 * @see #getClientArea
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 */
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 public Rectangle computeTrim (int x, int y, int width, int height) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
118 checkWidget();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
119 int border = 0;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
120 if (fixedHandle !is null) border += OS.gtk_container_get_border_width (cast(GtkContainer*)fixedHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
121 if (scrolledHandle !is null) border += OS.gtk_container_get_border_width (cast(GtkContainer*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
122 int trimX = x - border, trimY = y - border;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
123 int trimWidth = width + (border * 2), trimHeight = height + (border * 2);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
124 trimHeight += hScrollBarWidth ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
125 trimWidth += vScrollBarWidth ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
126 if (scrolledHandle !is null) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
127 if (OS.gtk_scrolled_window_get_shadow_type (cast(GtkScrolledWindow*)scrolledHandle) !is OS.GTK_SHADOW_NONE) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
128 auto style = OS.gtk_widget_get_style (cast(GtkWidget*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
129 int xthickness = OS.gtk_style_get_xthickness (style);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
130 int ythickness = OS.gtk_style_get_ythickness (style);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
131 trimX -= xthickness;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
132 trimY -= ythickness;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
133 trimWidth += xthickness * 2;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
134 trimHeight += ythickness * 2;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
135 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
136 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
137 return new Rectangle (trimX, trimY, trimWidth, trimHeight);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 ScrollBar createScrollBar (int style) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
141 if (scrolledHandle is null) return null;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
142 ScrollBar bar = new ScrollBar ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
143 bar.parent = this;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
144 bar.style = style;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
145 bar.display = display;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
146 bar.state |= HANDLE;
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
147 if ((style & DWT.H_SCROLL) !is 0) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
148 bar.handle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
149 bar.adjustmentHandle = OS.gtk_scrolled_window_get_hadjustment (cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
150 } else {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
151 bar.handle = OS.GTK_SCROLLED_WINDOW_VSCROLLBAR (cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
152 bar.adjustmentHandle = OS.gtk_scrolled_window_get_vadjustment (cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
153 }
240
ce446666f5a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
154 bar.setOrientation();
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
155 bar.hookEvents ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
156 bar.register ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
157 return bar;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
160 override void createWidget (int index) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
161 super.createWidget (index);
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
162 if ((style & DWT.H_SCROLL) !is 0) horizontalBar = createScrollBar (DWT.H_SCROLL);
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
163 if ((style & DWT.V_SCROLL) !is 0) verticalBar = createScrollBar (DWT.V_SCROLL);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
166 override void deregister () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
167 super.deregister ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
168 if (scrolledHandle !is null) display.removeWidget (cast(GtkWidget*)scrolledHandle);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170
240
ce446666f5a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
171 void destroyScrollBar (ScrollBar bar) {
ce446666f5a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
172 setScrollBarVisible (bar, false);
ce446666f5a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
173 //This code is intentionally commented
ce446666f5a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
174 //bar.destroyHandle ();
ce446666f5a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
175 }
ce446666f5a2 Update to SWT 3.4M7
Frank Benoit <benoit@tionex.de>
parents: 152
diff changeset
176
150
f2e04420fd6c reworked overrides and superclass aliases
Frank Benoit <benoit@tionex.de>
parents: 124
diff changeset
177 public override int getBorderWidth () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
178 checkWidget();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
179 int border = 0;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
180 if (fixedHandle !is null) border += OS.gtk_container_get_border_width (cast(GtkContainer*)fixedHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
181 if (scrolledHandle !is null) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
182 border += OS.gtk_container_get_border_width (cast(GtkContainer*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
183 if (OS.gtk_scrolled_window_get_shadow_type (cast(GtkScrolledWindow*)scrolledHandle) !is OS.GTK_SHADOW_NONE) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
184 border += OS.gtk_style_get_xthickness (OS.gtk_widget_get_style (cast(GtkWidget*)scrolledHandle));
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
185 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
186 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
187 return border;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
188 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
189
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
190 /**
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
191 * Returns a rectangle which describes the area of the
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
192 * receiver which is capable of displaying data (that is,
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
193 * not covered by the "trimmings").
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
194 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
195 * @return the client area
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
196 *
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
197 * @exception DWTException <ul>
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
198 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
199 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
200 * </ul>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
201 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
202 * @see #computeTrim
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
203 */
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
204 public Rectangle getClientArea () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
205 checkWidget ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
206 forceResize ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
207 auto clientHandle = clientHandle ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
208 int x = OS.GTK_WIDGET_X (clientHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
209 int y = OS.GTK_WIDGET_Y (clientHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
210 int width = (state & ZERO_WIDTH) !is 0 ? 0 : OS.GTK_WIDGET_WIDTH (clientHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
211 int height = (state & ZERO_HEIGHT) !is 0 ? 0 : OS.GTK_WIDGET_HEIGHT (clientHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
212 return new Rectangle (x, y, width, height);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
213 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
214 /**
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
215 * Returns the receiver's horizontal scroll bar if it has
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
216 * one, and null if it does not.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
217 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
218 * @return the horizontal scroll bar (or null)
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
219 *
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
220 * @exception DWTException <ul>
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
221 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
222 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
223 * </ul>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
224 */
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
225 public ScrollBar getHorizontalBar () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
226 checkWidget ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
227 return horizontalBar;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
228 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
229 /**
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
230 * Returns the receiver's vertical scroll bar if it has
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
231 * one, and null if it does not.
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
232 *
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
233 * @return the vertical scroll bar (or null)
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
234 *
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
235 * @exception DWTException <ul>
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
236 * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
237 * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
238 * </ul>
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
239 */
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
240 public ScrollBar getVerticalBar () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
241 checkWidget ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
242 return verticalBar;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
243 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
244
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
245 override int /*long*/ gtk_scroll_event (GtkWidget* widget, GdkEventScroll* eventPtr) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
246 auto result = super.gtk_scroll_event (widget, eventPtr);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
247
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
248 /*
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
249 * Feature in GTK. Scrolled windows do not scroll if the scrollbars
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
250 * are hidden. This is not a bug, but is inconsistent with other platforms.
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
251 * The fix is to set the adjustment values directly.
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
252 */
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
253 if ((state & CANVAS) !is 0) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
254 ScrollBar scrollBar;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
255 GdkEventScroll* gdkEvent = new GdkEventScroll ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
256 memmove (gdkEvent, eventPtr, GdkEventScroll.sizeof);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
257 if (gdkEvent.direction is OS.GDK_SCROLL_UP || gdkEvent.direction is OS.GDK_SCROLL_DOWN) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
258 scrollBar = verticalBar;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
259 } else {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
260 scrollBar = horizontalBar;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
261 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
262 if (scrollBar !is null && !OS.GTK_WIDGET_VISIBLE (scrollBar.handle) && scrollBar.getEnabled()) {
124
11b0a1324732 Fix various stack access from anon-class
Frank Benoit <benoit@tionex.de>
parents: 72
diff changeset
263 GtkAdjustment* adjustment = scrollBar.adjustmentHandle;
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
264 /* Calculate wheel delta to match GTK+ 2.4 and higher */
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
265 int wheel_delta = cast(int) Math.pow(adjustment.page_size, 2.0 / 3.0);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
266 if (gdkEvent.direction is OS.GDK_SCROLL_UP || gdkEvent.direction is OS.GDK_SCROLL_LEFT)
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
267 wheel_delta = -wheel_delta;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
268 int value = cast(int) Math.max(adjustment.lower,
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
269 Math.min(adjustment.upper - adjustment.page_size, adjustment.value + wheel_delta));
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
270 OS.gtk_adjustment_set_value (scrollBar.adjustmentHandle, value);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
271 return 1;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
272 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
273 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
274 return result;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
275 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
276
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
277 int hScrollBarWidth() {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
278 if (horizontalBar is null) return 0;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
279 auto hBarHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR(cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
280 if (hBarHandle is null) return 0;
124
11b0a1324732 Fix various stack access from anon-class
Frank Benoit <benoit@tionex.de>
parents: 72
diff changeset
281 GtkRequisition requisition;
11b0a1324732 Fix various stack access from anon-class
Frank Benoit <benoit@tionex.de>
parents: 72
diff changeset
282 OS.gtk_widget_size_request(cast(GtkWidget*)hBarHandle, &requisition);
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
283 int spacing = OS.GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
284 return requisition.height + spacing;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
285 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
286
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
287 override bool sendLeaveNotify () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
288 return scrolledHandle !is null;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
289 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
290
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
291 override void setOrientation () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
292 super.setOrientation ();
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
293 if ((style & DWT.RIGHT_TO_LEFT) !is 0) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
294 if (scrolledHandle !is null) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
295 OS.gtk_widget_set_direction (cast(GtkWidget*)scrolledHandle, OS.GTK_TEXT_DIR_RTL);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
296 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
297 }
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
298 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
299
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
300 bool setScrollBarVisible (ScrollBar bar, bool visible) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
301 if (scrolledHandle is null) return false;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
302 int hsp, vsp;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
303 OS.gtk_scrolled_window_get_policy (cast(GtkScrolledWindow*)scrolledHandle, &hsp, &vsp);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
304 int policy = visible ? OS.GTK_POLICY_ALWAYS : OS.GTK_POLICY_NEVER;
71
295b29fc7d13 Renamed SWT to DWT
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
305 if ((bar.style & DWT.HORIZONTAL) !is 0) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
306 if (hsp is policy) return false;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
307 hsp = policy;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
308 } else {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
309 if (vsp is policy) return false;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
310 vsp = policy;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
311 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
312 OS.gtk_scrolled_window_set_policy (cast(GtkScrolledWindow*)scrolledHandle, hsp, vsp);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
313 return true;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
314 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
315
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
316 void redrawBackgroundImage () {
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
317 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
318
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
319 override void redrawWidget (int x, int y, int width, int height, bool redrawAll, bool all, bool trim) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
320 super.redrawWidget (x, y, width, height, redrawAll, all, trim);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
321 if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) is 0) return;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
322 if (!trim) return;
152
17f8449522fd overloads second walkthrough
Frank Benoit <benoit@tionex.de>
parents: 150
diff changeset
323 auto topHandle_ = topHandle (), paintHandle_ = paintHandle ();
17f8449522fd overloads second walkthrough
Frank Benoit <benoit@tionex.de>
parents: 150
diff changeset
324 if (topHandle_ is paintHandle_) return;
17f8449522fd overloads second walkthrough
Frank Benoit <benoit@tionex.de>
parents: 150
diff changeset
325 auto window = OS.GTK_WIDGET_WINDOW (topHandle_);
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
326 GdkRectangle* rect = new GdkRectangle ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
327 if (redrawAll) {
152
17f8449522fd overloads second walkthrough
Frank Benoit <benoit@tionex.de>
parents: 150
diff changeset
328 rect.width = OS.GTK_WIDGET_WIDTH (topHandle_);
17f8449522fd overloads second walkthrough
Frank Benoit <benoit@tionex.de>
parents: 150
diff changeset
329 rect.height = OS.GTK_WIDGET_HEIGHT (topHandle_);
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
330 } else {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
331 int destX, destY;
152
17f8449522fd overloads second walkthrough
Frank Benoit <benoit@tionex.de>
parents: 150
diff changeset
332 OS.gtk_widget_translate_coordinates (cast(GtkWidget*)paintHandle_, topHandle_, x, y, &destX, &destY);
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
333 rect.x = destX;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
334 rect.y = destY;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
335 rect.width = width;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
336 rect.height = height;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
337 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
338 OS.gdk_window_invalidate_rect (window, rect, all);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
339 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
340
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
341 override void register () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
342 super.register ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
343 if (scrolledHandle !is null) display.addWidget (cast(GtkWidget*)scrolledHandle, this);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
344 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
345
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
346 override void releaseHandle () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
347 super.releaseHandle ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
348 scrolledHandle = null;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
349 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
350
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
351 override void releaseChildren (bool destroy) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
352 if (horizontalBar !is null) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
353 horizontalBar.release (false);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
354 horizontalBar = null;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
355 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
356 if (verticalBar !is null) {
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
357 verticalBar.release (false);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
358 verticalBar = null;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
359 }
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
360 super.releaseChildren (destroy);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
361 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
362
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
363 override void resizeHandle (int width, int height) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
364 if (fixedHandle !is null) OS.gtk_widget_set_size_request (cast(GtkWidget*)fixedHandle, width, height);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
365 OS.gtk_widget_set_size_request (scrolledHandle !is null ? cast(GtkWidget*)scrolledHandle : handle, width, height);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
366 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
367
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
368 override void showWidget () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
369 super.showWidget ();
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
370 if (scrolledHandle !is null) OS.gtk_widget_show (cast(GtkWidget*)scrolledHandle);
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
371 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
372
58
a5c274fa5af9 extended helloworld crashing
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
373 override GtkWidget* topHandle () {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
374 if (fixedHandle !is null) return fixedHandle;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
375 if (scrolledHandle !is null) return scrolledHandle;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
376 return super.topHandle ();
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
377 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
378
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
379 void updateScrollBarValue (ScrollBar bar) {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
380 redrawBackgroundImage ();
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
381 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
382
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
383 int vScrollBarWidth() {
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
384 if (verticalBar is null) return 0;
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
385 auto vBarHandle = OS.GTK_SCROLLED_WINDOW_VSCROLLBAR(cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
386 if (vBarHandle is null) return 0;
124
11b0a1324732 Fix various stack access from anon-class
Frank Benoit <benoit@tionex.de>
parents: 72
diff changeset
387 GtkRequisition requisition;
11b0a1324732 Fix various stack access from anon-class
Frank Benoit <benoit@tionex.de>
parents: 72
diff changeset
388 OS.gtk_widget_size_request (cast(GtkWidget*)vBarHandle, &requisition);
59
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
389 int spacing = OS.GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(cast(GtkScrolledWindow*)scrolledHandle);
8cec8f536af3 All D sources complete gvim retab (4 spaces), bug with Composite moveAbove/moveBelow fixed.
Frank Benoit <benoit@tionex.de>
parents: 58
diff changeset
390 return requisition.width + spacing;
31
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
391 }
5c24c1a67fc2 Scrollable
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
392 }