亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? composite.java

?? 源碼為Eclipse開源開發平臺桌面開發工具SWT的源代碼,
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html *  * Contributors: *     IBM Corporation - initial API and implementation *******************************************************************************/package org.eclipse.swt.widgets;import org.eclipse.swt.internal.*;import org.eclipse.swt.internal.win32.*;import org.eclipse.swt.*;import org.eclipse.swt.graphics.*;/** * Instances of this class are controls which are capable * of containing other controls. * <dl> * <dt><b>Styles:</b></dt> * <dd>NO_BACKGROUND, NO_FOCUS, NO_MERGE_PAINTS, NO_REDRAW_RESIZE, NO_RADIO_GROUP, EMBEDDED</dd> * <dt><b>Events:</b></dt> * <dd>(none)</dd> * </dl> * <p> * Note: The <code>NO_BACKGROUND</code>, <code>NO_FOCUS</code>, <code>NO_MERGE_PAINTS</code>, * and <code>NO_REDRAW_RESIZE</code> styles are intended for use with <code>Canvas</code>. * They can be used with <code>Composite</code> if you are drawing your own, but their * behavior is undefined if they are used with subclasses of <code>Composite</code> other * than <code>Canvas</code>. * </p><p> * This class may be subclassed by custom control implementors * who are building controls that are constructed from aggregates * of other controls. * </p> * * @see Canvas */public class Composite extends Scrollable {	Layout layout;	int font;	WINDOWPOS [] lpwp;	Control [] tabList;	/** * Prevents uninitialized instances from being created outside the package. */Composite () {}/** * Constructs a new instance of this class given its parent * and a style value describing its behavior and appearance. * <p> * The style value is either one of the style constants defined in * class <code>SWT</code> which is applicable to instances of this * class, or must be built by <em>bitwise OR</em>'ing together  * (that is, using the <code>int</code> "|" operator) two or more * of those <code>SWT</code> style constants. The class description * lists the style constants that are applicable to the class. * Style bits are also inherited from superclasses. * </p> * * @param parent a widget which will be the parent of the new instance (cannot be null) * @param style the style of widget to construct * * @exception IllegalArgumentException <ul> *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li> * </ul> * * @see SWT#NO_BACKGROUND * @see SWT#NO_FOCUS * @see SWT#NO_MERGE_PAINTS * @see SWT#NO_REDRAW_RESIZE * @see SWT#NO_RADIO_GROUP * @see Widget#getStyle */public Composite (Composite parent, int style) {	super (parent, style);}Control [] _getChildren () {	int count = 0;	int hwndChild = OS.GetWindow (handle, OS.GW_CHILD);	if (hwndChild == 0) return new Control [0];	while (hwndChild != 0) {		count++;		hwndChild = OS.GetWindow (hwndChild, OS.GW_HWNDNEXT);	}	Control [] children = new Control [count];	int index = 0;	hwndChild = OS.GetWindow (handle, OS.GW_CHILD);	while (hwndChild != 0) {		Control control = display.getControl (hwndChild);		if (control != null && control != this) {			children [index++] = control;		}		hwndChild = OS.GetWindow (hwndChild, OS.GW_HWNDNEXT);	}	if (count == index) return children;	Control [] newChildren = new Control [index];	System.arraycopy (children, 0, newChildren, 0, index);	return newChildren;}Control [] _getTabList () {	if (tabList == null) return tabList;	int count = 0;	for (int i=0; i<tabList.length; i++) {		if (!tabList [i].isDisposed ()) count++;	}	if (count == tabList.length) return tabList;	Control [] newList = new Control [count];	int index = 0;	for (int i=0; i<tabList.length; i++) {		if (!tabList [i].isDisposed ()) {			newList [index++] = tabList [i];		}	}	tabList = newList;	return tabList;}protected void checkSubclass () {	/* Do nothing - Subclassing is allowed */}Control [] computeTabList () {	Control result [] = super.computeTabList ();	if (result.length == 0) return result;	Control [] list = tabList != null ? _getTabList () : _getChildren ();	for (int i=0; i<list.length; i++) {		Control child = list [i];		Control [] childList = child.computeTabList ();		if (childList.length != 0) {			Control [] newResult = new Control [result.length + childList.length];			System.arraycopy (result, 0, newResult, 0, result.length);			System.arraycopy (childList, 0, newResult, result.length, childList.length);			result = newResult;		}	}	return result;}public Point computeSize (int wHint, int hHint, boolean changed) {	checkWidget ();	Point size;	if (layout != null) {		if (wHint == SWT.DEFAULT || hHint == SWT.DEFAULT) {			size = layout.computeSize (this, wHint, hHint, changed);		} else {			size = new Point (wHint, hHint);		}	} else {		size = minimumSize ();	}	if (size.x == 0) size.x = DEFAULT_WIDTH;	if (size.y == 0) size.y = DEFAULT_HEIGHT;	if (wHint != SWT.DEFAULT) size.x = wHint;	if (hHint != SWT.DEFAULT) size.y = hHint;	Rectangle trim = computeTrim (0, 0, size.x, size.y);	return new Point (trim.width, trim.height);}void createHandle () {	super.createHandle ();	state |= CANVAS;}Menu [] findMenus (Control control) {	if (control == this) return new Menu [0];	Menu result [] = super.findMenus (control);	Control [] children = _getChildren ();	for (int i=0; i<children.length; i++) {		Control child = children [i];		Menu [] menuList = child.findMenus (control);		if (menuList.length != 0) {			Menu [] newResult = new Menu [result.length + menuList.length];			System.arraycopy (result, 0, newResult, 0, result.length);			System.arraycopy (menuList, 0, newResult, result.length, menuList.length);			result = newResult;		}	}	return result;}void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, Decorations oldDecorations, Menu [] menus) {	super.fixChildren (newShell, oldShell, newDecorations, oldDecorations, menus);	Control [] children = _getChildren ();	for (int i=0; i<children.length; i++) {		children [i].fixChildren (newShell, oldShell, newDecorations, oldDecorations, menus);	}}void fixTabList (Control control) {	if (tabList == null) return;	int count = 0;	for (int i=0; i<tabList.length; i++) {		if (tabList [i] == control) count++;	}	if (count == 0) return;	Control [] newList = null;	int length = tabList.length - count;	if (length != 0) {		newList = new Control [length];		int index = 0;		for (int i=0; i<tabList.length; i++) {			if (tabList [i] != control) {				newList [index++] = tabList [i];			}		}	}	tabList = newList;}/** * Returns an array containing the receiver's children. * <p> * Note: This is not the actual structure used by the receiver * to maintain its list of children, so modifying the array will * not affect the receiver.  * </p> * * @return an array of children * * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public Control [] getChildren () {	checkWidget ();	return _getChildren ();}int getChildrenCount () {	/*	* NOTE: The current implementation will count	* non-registered children.	*/	int count = 0;	int hwndChild = OS.GetWindow (handle, OS.GW_CHILD);	while (hwndChild != 0) {		count++;		hwndChild = OS.GetWindow (hwndChild, OS.GW_HWNDNEXT);	}	return count;}/** * Returns layout which is associated with the receiver, or * null if one has not been set. * * @return the receiver's layout or null * * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public Layout getLayout () {	checkWidget ();	return layout;}/** * Gets the last specified tabbing order for the control. * * @return tabList the ordered list of controls representing the tab order * * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> *  * @see #setTabList */public Control [] getTabList () {	checkWidget ();	Control [] tabList = _getTabList ();	if (tabList == null) {		int count = 0;		Control [] list =_getChildren ();		for (int i=0; i<list.length; i++) {			if (list [i].isTabGroup ()) count++;		}		tabList = new Control [count];		int index = 0;		for (int i=0; i<list.length; i++) {			if (list [i].isTabGroup ()) {				tabList [index++] = list [i];			}		}	}	return tabList;}boolean hooksKeys () {	return hooks (SWT.KeyDown) || hooks (SWT.KeyUp);}/** * If the receiver has a layout, asks the layout to <em>lay out</em> * (that is, set the size and location of) the receiver's children.  * If the receiver does not have a layout, do nothing. * <p> * This is equivalent to calling <code>layout(true)</code>. * </p> * * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public void layout () {	checkWidget ();	layout (true);}/** * If the receiver has a layout, asks the layout to <em>lay out</em> * (that is, set the size and location of) the receiver's children.  * If the the argument is <code>true</code> the layout must not rely * on any cached information it is keeping about the children. If it * is <code>false</code> the layout may (potentially) simplify the * work it is doing by assuming that the state of the none of the * receiver's children has changed since the last layout. * If the receiver does not have a layout, do nothing. * * @param changed <code>true</code> if the layout must flush its caches, and <code>false</code> otherwise * * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public void layout (boolean changed) {	checkWidget ();	if (layout == null) return;	setResizeChildren (false);	layout.layout (this, changed);	setResizeChildren (true);}Point minimumSize () {	Control [] children = _getChildren ();	int width = 0, height = 0;	for (int i=0; i<children.length; i++) {		Rectangle rect = children [i].getBounds ();		width = Math.max (width, rect.x + rect.width);		height = Math.max (height, rect.y + rect.height);	}	return new Point (width, height);}void releaseChildren () {	Control [] children = _getChildren ();	for (int i=0; i<children.length; i++) {		Control child = children [i];		if (!child.isDisposed ()) child.releaseResources ();	}}void releaseWidget () {	releaseChildren ();	super.releaseWidget ();	if ((state & CANVAS) != 0 && (style & SWT.EMBEDDED) != 0) {		int hwndChild = OS.GetWindow (handle, OS.GW_CHILD);		if (hwndChild != 0) {			int threadId = OS.GetWindowThreadProcessId (hwndChild, null);			if (threadId != OS.GetCurrentThreadId ()) {				OS.SetParent (hwndChild, 0);			}		}	}	layout = null;	tabList = null;	lpwp = null;}void removeControl (Control control) {	fixTabList (control);	resizeChildren ();}void resizeChildren () {	if (lpwp == null) return;	do {		WINDOWPOS [] currentLpwp = lpwp;		lpwp = null;		if (!resizeChildren (true, currentLpwp)) {			resizeChildren (false, currentLpwp);		}	} while (lpwp != null);}boolean resizeChildren (boolean defer, WINDOWPOS [] pwp) {	if (pwp == null) return true;	int hdwp = 0;	if (defer) {		hdwp = OS.BeginDeferWindowPos (pwp.length);		if (hdwp == 0) return false;	}	for (int i=0; i<pwp.length; i++) {		WINDOWPOS wp = pwp [i];		if (wp != null) {			/*			* This code is intentionally commented.  All widgets that			* are created by SWT have WS_CLIPSIBLINGS to ensure that			* application code does not draw outside of the control.			*///			int count = parent.getChildrenCount ();//			if (count > 1) {//				int bits = OS.GetWindowLong (handle, OS.GWL_STYLE);//				if ((bits & OS.WS_CLIPSIBLINGS) == 0) wp.flags |= OS.SWP_NOCOPYBITS;//			}			if (defer) {				hdwp = DeferWindowPos (hdwp, wp.hwnd, 0, wp.x, wp.y, wp.cx, wp.cy, wp.flags);				if (hdwp == 0) return false;			} else {				SetWindowPos (wp.hwnd, 0, wp.x, wp.y, wp.cx, wp.cy, wp.flags);			}		}	}	if (defer) return OS.EndDeferWindowPos (hdwp);	return true;}public boolean setFocus () {	checkWidget ();	Control [] children = _getChildren ();	for (int i=0; i<children.length; i++) {		Control child = children [i];		if (child.setRadioFocus ()) return true;	}	for (int i=0; i<children.length; i++) {		Control child = children [i];		if (child.setFocus ()) return true;	}	return super.setFocus ();}/** * Sets the layout which is associated with the receiver to be * the argument which may be null. * * @param layout the receiver's new layout or null * * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public void setLayout (Layout layout) {	checkWidget ();	this.layout = layout;}/** * Sets the tabbing order for the specified controls to * match the order that they occur in the argument list. * * @param tabList the ordered list of controls representing the tab order or null * * @exception IllegalArgumentException <ul> *    <li>ERROR_INVALID_ARGUMENT - if a widget in the tabList is null or has been disposed</li>  *    <li>ERROR_INVALID_PARENT - if widget in the tabList is not in the same widget tree</li> * </ul> * @exception SWTException <ul> *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li> *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li> * </ul> */public void setTabList (Control [] tabList) {	checkWidget ();	if (tabList != null) {		for (int i=0; i<tabList.length; i++) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久综合亚洲91| 色妹子一区二区| 天天亚洲美女在线视频| 国产精品国产精品国产专区不片| 2021国产精品久久精品| 精品成人在线观看| 久久香蕉国产线看观看99| 欧美精品一区二区久久婷婷| 精品国产乱码久久久久久蜜臀| 欧美xfplay| 欧美国产激情一区二区三区蜜月| 久久久国际精品| 国产精品的网站| 一区二区三区四区蜜桃| 亚洲综合免费观看高清在线观看| 亚洲午夜在线观看视频在线| 日韩成人av影视| 久久国产精品免费| 国产精品亚洲午夜一区二区三区| 成人综合在线视频| 91视视频在线观看入口直接观看www| av亚洲精华国产精华精| 欧美在线999| 欧美一区二区三区视频免费| 久久久一区二区三区捆绑**| 国产精品免费视频观看| 午夜激情一区二区三区| 国产一区美女在线| 色婷婷狠狠综合| 日韩视频123| 中文字幕乱码一区二区免费| 一区二区三区不卡视频| 青青青爽久久午夜综合久久午夜| 国产真实乱偷精品视频免| 99re视频这里只有精品| 91精品国产91久久久久久最新毛片| 久久亚洲综合色一区二区三区 | 亚洲成av人片| 国精产品一区一区三区mba视频 | 88在线观看91蜜桃国自产| 日韩欧美www| 亚洲欧美偷拍三级| 久久精品久久综合| 91视频www| 精品剧情v国产在线观看在线| 综合中文字幕亚洲| 久久99精品久久久久久国产越南 | 懂色av一区二区三区免费看| 91福利资源站| 欧美高清在线视频| 日本91福利区| 一本一道波多野结衣一区二区| 精品国产一区久久| 亚洲成人高清在线| 在线免费观看日本一区| 亚洲国产成人私人影院tom| 日韩国产精品大片| 欧洲一区在线观看| 亚洲天堂精品在线观看| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩精品福利| 玉米视频成人免费看| 91国产免费看| 久久久国产精华| 久久精品国产精品亚洲红杏| 欧美久久久久久蜜桃| 一区二区在线观看不卡| av亚洲产国偷v产偷v自拍| 久久婷婷综合激情| 精品无人区卡一卡二卡三乱码免费卡| 欧美调教femdomvk| 一区二区三区在线免费播放| 粉嫩av亚洲一区二区图片| 久久久高清一区二区三区| 久久aⅴ国产欧美74aaa| 日韩视频一区二区三区| 久久不见久久见免费视频7| 欧美一区二区精品在线| 麻豆精品在线播放| 日韩一区二区三区在线观看| 蜜桃av一区二区三区| 欧美不卡一区二区| 国产一区啦啦啦在线观看| 久久精品一区四区| 成人h精品动漫一区二区三区| 欧美国产乱子伦| 97aⅴ精品视频一二三区| 亚洲天堂av一区| 欧美系列一区二区| 日韩av不卡在线观看| 日韩美女在线视频| 成人永久免费视频| 激情五月婷婷综合网| 久久久久久亚洲综合| 成年人午夜久久久| 亚洲国产一区二区三区青草影视| 欧美老女人第四色| 精品一区二区三区久久久| 中文字幕不卡一区| 欧美综合在线视频| 激情图片小说一区| 日韩一区在线看| 欧美日韩成人综合天天影院| 国内国产精品久久| 亚洲码国产岛国毛片在线| 欧美日韩www| 国产自产视频一区二区三区| 亚洲美女免费在线| 亚洲精品在线三区| 一本久久综合亚洲鲁鲁五月天| 日日夜夜精品免费视频| 中文av一区特黄| 欧美三区在线观看| 精油按摩中文字幕久久| 亚洲日本在线看| 日韩三级高清在线| 97精品视频在线观看自产线路二| 视频在线在亚洲| 中文字幕中文字幕在线一区| 欧美精品自拍偷拍| 不卡一卡二卡三乱码免费网站| 亚洲国产aⅴ天堂久久| 久久这里只有精品视频网| 91极品美女在线| 国产久卡久卡久卡久卡视频精品| 亚洲精品福利视频网站| 精品电影一区二区| 欧美人体做爰大胆视频| 国产精品99久久久久久有的能看| 亚洲国产日韩在线一区模特| 亚洲国产精品激情在线观看| 欧美一区二区三区四区在线观看 | 久久综合九色综合97_久久久| 亚洲同性gay激情无套| 日韩精品综合一本久道在线视频| 97超碰欧美中文字幕| 国产黄色精品视频| 美腿丝袜亚洲三区| 偷拍与自拍一区| 夜夜揉揉日日人人青青一国产精品| 久久这里都是精品| 日韩免费看的电影| 7777精品伊人久久久大香线蕉| 一本色道久久综合精品竹菊| 成人黄色在线视频| av高清久久久| av在线一区二区| 成人97人人超碰人人99| 国产99久久久国产精品免费看 | 久久午夜免费电影| 日韩免费成人网| 欧美日韩激情一区| 欧日韩精品视频| 欧美日韩成人在线| 欧美另类久久久品| 日韩西西人体444www| 制服丝袜亚洲色图| 日韩一区二区在线免费观看| 91精品国产麻豆| 日韩精品中午字幕| 欧美精品一区视频| 精品国产91乱码一区二区三区| 日韩欧美区一区二| 久久久久国色av免费看影院| 国产亚洲欧美日韩在线一区| 国产精品区一区二区三| 综合在线观看色| 一二三四社区欧美黄| 日本午夜一区二区| 久久激情五月激情| 国产成人在线观看| 欧美成人一区二区三区片免费 | 午夜电影一区二区三区| 亚洲成av人综合在线观看| 日本免费在线视频不卡一不卡二| 男人的天堂亚洲一区| 九色porny丨国产精品| 不卡av在线免费观看| 欧美日韩久久一区二区| 日韩一区二区三区在线视频| 国产免费观看久久| 亚洲免费av网站| 琪琪久久久久日韩精品| 国产精品18久久久| 欧美色区777第一页| 日韩欧美国产三级| 国产精品美日韩| 日韩一区精品视频| 国产风韵犹存在线视精品| 在线观看日韩国产| 26uuu亚洲| 亚洲制服丝袜一区| 国内精品嫩模私拍在线| 91在线视频官网| 精品蜜桃在线看| 亚洲尤物在线视频观看| 热久久久久久久| 在线亚洲免费视频| 国产欧美日韩三级| 午夜视黄欧洲亚洲|