Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2005-02-09 17:32:56 +0000
committerDarin Wright2005-02-09 17:32:56 +0000
commit83e4b6dd9c22b45d48ceb0e6e5cb6bc89ef3a622 (patch)
tree0ec585ed18f0af5ef01ab38b5650fa144c73e5c5 /org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
parentd7a08b6c24aa2141579dc137e2fc0ecdd276236a (diff)
downloadeclipse.platform.debug-83e4b6dd9c22b45d48ceb0e6e5cb6bc89ef3a622.tar.gz
eclipse.platform.debug-83e4b6dd9c22b45d48ceb0e6e5cb6bc89ef3a622.tar.xz
eclipse.platform.debug-83e4b6dd9c22b45d48ceb0e6e5cb6bc89ef3a622.zip
Bug 84799 - Implement Memory View and renderings with new rendering APIs
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java151
1 files changed, 151 insertions, 0 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
new file mode 100644
index 000000000..a57b8a1cb
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/GoToAddressDialog.java
@@ -0,0 +1,151 @@
+/*******************************************************************************
+ * Copyright (c) 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.debug.internal.ui.views.memory.renderings;
+
+import java.util.Vector;
+import org.eclipse.debug.internal.ui.DebugUIMessages;
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.help.WorkbenchHelp;
+
+/**
+ * @since 3.0
+ */
+
+public class GoToAddressDialog extends Dialog implements ModifyListener{
+
+ private static Vector history = new Vector();
+ private Combo expressionInput;
+ private String expression;
+
+
+ private static final String PREFIX = "GoToAddressDialog."; //$NON-NLS-1$
+ private static final String GO_TO_ADDRESS = PREFIX + "GoToAddress"; //$NON-NLS-1$
+ private static final String ADDRESS = PREFIX + "Address"; //$NON-NLS-1$
+
+
+ /**
+ * @param parentShell
+ */
+ public GoToAddressDialog(Shell parentShell) {
+ super(parentShell);
+ WorkbenchHelp.setHelp(parentShell, IDebugUIConstants.PLUGIN_ID + ".GoToAddressDialog_context"); //$NON-NLS-1$
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+ */
+ protected Control createDialogArea(Composite parent) {
+
+ parent.setLayout(new GridLayout());
+ GridData spec2= new GridData();
+ spec2.grabExcessVerticalSpace= true;
+ spec2.grabExcessHorizontalSpace= true;
+ spec2.horizontalAlignment= GridData.FILL;
+ spec2.verticalAlignment= GridData.CENTER;
+ parent.setLayoutData(spec2);
+
+ Label textLabel = new Label(parent, SWT.NONE);
+ textLabel.setText(DebugUIMessages.getString(ADDRESS));
+ GridData textLayout = new GridData();
+ textLayout.widthHint = 280;
+ textLabel.setLayoutData(textLayout);
+
+ expressionInput = new Combo(parent, SWT.BORDER);
+ GridData spec= new GridData();
+ spec.grabExcessVerticalSpace= false;
+ spec.grabExcessHorizontalSpace= true;
+ spec.horizontalAlignment= GridData.FILL;
+ spec.verticalAlignment= GridData.BEGINNING;
+ spec.heightHint = 50;
+ expressionInput.setLayoutData(spec);
+
+ // add history
+ String[] historyExpression = (String[])history.toArray(new String[history.size()]);
+ for (int i=0; i<historyExpression.length; i++)
+ {
+ expressionInput.add(historyExpression[i]);
+ }
+
+ expressionInput.addModifyListener(this);
+
+ return parent;
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
+ */
+ protected void configureShell(Shell newShell) {
+ super.configureShell(newShell);
+
+ newShell.setText(DebugUIMessages.getString(GO_TO_ADDRESS));
+ }
+
+ public String getExpression()
+ {
+ return expression;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+ */
+ protected void okPressed() {
+
+ expression = expressionInput.getText();
+
+ // add to history list
+ if (!history.contains(expression))
+ history.insertElementAt(expression, 0);
+
+ super.okPressed();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
+ */
+ public void modifyText(ModifyEvent e) {
+
+ String input = expressionInput.getText();
+
+ if (input == null || input.equals("")) //$NON-NLS-1$
+ {
+ getButton(IDialogConstants.OK_ID).setEnabled(false);
+ }
+ else
+ {
+ getButton(IDialogConstants.OK_ID).setEnabled(true);
+ }
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.Dialog#createButtonBar(org.eclipse.swt.widgets.Composite)
+ */
+ protected Control createButtonBar(Composite parent) {
+
+ Control ret = super.createButtonBar(parent);
+ getButton(IDialogConstants.OK_ID).setEnabled(false);
+
+ return ret;
+ }
+
+}

Back to the top