Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikhail Khodjaiants2006-03-31 21:57:22 +0000
committerMikhail Khodjaiants2006-03-31 21:57:22 +0000
commit102b8bcb67b5e3c343861818bd406a5b477eccca (patch)
tree26a2f9e5d884eb6d2f66a56ba9f44942b1941b38 /debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse
parent44c81e1db6ea6ad4abfc5ccc50b6d734c7a4869b (diff)
downloadorg.eclipse.cdt-102b8bcb67b5e3c343861818bd406a5b477eccca.tar.gz
org.eclipse.cdt-102b8bcb67b5e3c343861818bd406a5b477eccca.tar.xz
org.eclipse.cdt-102b8bcb67b5e3c343861818bd406a5b477eccca.zip
Replaced internal org.eclipse.cdt.debug.internal.ui.SWTUtil class.
Diffstat (limited to 'debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse')
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SWTUtil.java100
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ListDialogField.java5
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/SelectionButtonDialogField.java2
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/StringButtonDialogField.java2
4 files changed, 104 insertions, 5 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SWTUtil.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SWTUtil.java
new file mode 100644
index 00000000000..1a3cf12ab11
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SWTUtil.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * Copyright (c) 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.debug.mi.internal.ui;
+
+import org.eclipse.cdt.debug.internal.ui.PixelConverter;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.util.Assert;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.dnd.DragSource;
+import org.eclipse.swt.dnd.DropTarget;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Caret;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.ScrollBar;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Widget;
+
+/**
+ * Utility class to simplify access to some SWT resources.
+ */
+public class SWTUtil {
+
+ /**
+ * Returns the standard display to be used. The method first checks, if the
+ * thread calling this method has an associated disaply. If so, this
+ * display is returned. Otherwise the method returns the default display.
+ */
+ public static Display getStandardDisplay() {
+ Display display;
+ display = Display.getCurrent();
+ if ( display == null )
+ display = Display.getDefault();
+ return display;
+ }
+
+ /**
+ * Returns the shell for the given widget. If the widget doesn't represent
+ * a SWT object that manage a shell, <code>null</code> is returned.
+ *
+ * @return the shell for the given widget
+ */
+ public static Shell getShell(Widget widget) {
+ if ( widget instanceof Control )
+ return ((Control)widget).getShell();
+ if ( widget instanceof Caret )
+ return ((Caret)widget).getParent().getShell();
+ if ( widget instanceof DragSource )
+ return ((DragSource)widget).getControl().getShell();
+ if ( widget instanceof DropTarget )
+ return ((DropTarget)widget).getControl().getShell();
+ if ( widget instanceof Menu )
+ return ((Menu)widget).getParent().getShell();
+ if ( widget instanceof ScrollBar )
+ return ((ScrollBar)widget).getParent().getShell();
+ return null;
+ }
+
+ /**
+ * Returns a width hint for a button control.
+ */
+ public static int getButtonWidthHint( Button button ) {
+ PixelConverter converter = new PixelConverter( button );
+ int widthHint = converter.convertHorizontalDLUsToPixels( IDialogConstants.BUTTON_WIDTH );
+ return Math.max( widthHint, button.computeSize( SWT.DEFAULT, SWT.DEFAULT, true ).x );
+ }
+
+ /**
+ * Returns a height hint for a button control.
+ */
+// public static int getButtonHeigthHint( Button button ) {
+// PixelConverter converter = new PixelConverter( button );
+// return converter.convertVerticalDLUsToPixels( IDialogConstants.BUTTON_HEIGHT );
+// }
+
+ /**
+ * Sets width and height hint for the button control. <b>Note:</b> This
+ * is a NOP if the button's layout data is not an instance of <code>GridData</code>.
+ *
+ * @param the button for which to set the dimension hint
+ */
+ public static void setButtonDimensionHint( Button button ) {
+ Assert.isNotNull( button );
+ Object gd = button.getLayoutData();
+ if ( gd instanceof GridData ) {
+ ((GridData)gd).widthHint = getButtonWidthHint( button );
+ ((GridData)gd).horizontalAlignment = GridData.FILL;
+ }
+ }
+}
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ListDialogField.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ListDialogField.java
index 916adcba9be..e4019d84eb5 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ListDialogField.java
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/ListDialogField.java
@@ -14,9 +14,8 @@ package org.eclipse.cdt.debug.mi.internal.ui.dialogfields;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-
-import org.eclipse.cdt.debug.internal.ui.PixelConverter;
-import org.eclipse.cdt.debug.internal.ui.SWTUtil;
+import org.eclipse.cdt.debug.mi.internal.ui.PixelConverter;
+import org.eclipse.cdt.debug.mi.internal.ui.SWTUtil;
import org.eclipse.jface.util.Assert;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ISelection;
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/SelectionButtonDialogField.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/SelectionButtonDialogField.java
index e7b48dc2ec2..4558305a1a2 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/SelectionButtonDialogField.java
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/SelectionButtonDialogField.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.cdt.debug.mi.internal.ui.dialogfields;
-import org.eclipse.cdt.debug.internal.ui.SWTUtil;
+import org.eclipse.cdt.debug.mi.internal.ui.SWTUtil;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/StringButtonDialogField.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/StringButtonDialogField.java
index b74eee7d44d..a458a8a71c0 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/StringButtonDialogField.java
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/dialogfields/StringButtonDialogField.java
@@ -10,7 +10,7 @@
*******************************************************************************/
package org.eclipse.cdt.debug.mi.internal.ui.dialogfields;
-import org.eclipse.cdt.debug.internal.ui.SWTUtil;
+import org.eclipse.cdt.debug.mi.internal.ui.SWTUtil;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;

Back to the top