/* XOWA: the XOWA Offline Wiki Application Copyright (C) 2012 gnosygnu@gmail.com This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.gfui; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; interface Swt_control extends GxwElem { Control Under_control(); Composite Under_composite(); Control Under_menu_control(); } class Swt_control_ { public static void X_set(Control c, int v) {Point point = c.getLocation(); c.setLocation(v, point.y);} public static void Y_set(Control c, int v) {Point point = c.getLocation(); c.setLocation(point.x, v);} public static void W_set(Control c, int v) {Point point = c.getSize(); c.setSize(v, point.y);} public static void H_set(Control c, int v) {Point point = c.getSize(); c.setSize(point.x, v);} public static void Pos_set(Control c, PointAdp v) {c.setLocation(v.X(), v.Y());} public static void Pos_set(Control c, int x, int y) {c.setLocation(x, y);} public static void Size_set(Control c, SizeAdp v) {c.setSize(v.Width(), v.Height());} public static void Size_set(Control c, int w, int h) {c.setSize(w, h);} public static void Rect_set(Control c, RectAdp v) {c.setBounds(Xto_rectangle(v));} public static void Rect_set(Control c, int x, int y, int w, int h) {c.setBounds(Xto_rectangle(x, y, w, h));} public static void Rect_add(Control c, RectAdp v, int x, int y, int w, int h) {c.setBounds(Xto_rectangle(v.X() + x, v.Y() + y, v.Width() + w, v.Height()+ h));} public static Rectangle Xto_rectangle(int x, int y, int w, int h) {return new Rectangle(x, y, w, h);} public static Rectangle Xto_rectangle(RectAdp v) {return new Rectangle(v.X(), v.Y(), v.Width(), v.Height());} public static Swt_control cast_or_fail(GfuiElem elem) {return (Swt_control)elem.UnderElem();} }