Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikhail Khodjaiants2003-09-11 17:44:42 +0000
committerMikhail Khodjaiants2003-09-11 17:44:42 +0000
commit22e130fbe74010db49230abc203d497c8720053a (patch)
treeb7cd8ac44919facb08273c88c333f6d2be1d3bb7 /debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse
parentb3898357e2e38957f7ebef7a35b150746afc6ff5 (diff)
downloadorg.eclipse.cdt-22e130fbe74010db49230abc203d497c8720053a.tar.gz
org.eclipse.cdt-22e130fbe74010db49230abc203d497c8720053a.tar.xz
org.eclipse.cdt-22e130fbe74010db49230abc203d497c8720053a.zip
Moving the shared library search paths block to mi UI.
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/GDBSolibBlock.java1
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SolibSearchPathBlock.java167
2 files changed, 167 insertions, 1 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBSolibBlock.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBSolibBlock.java
index 4e5b0b98f59..e650c43ff72 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBSolibBlock.java
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/GDBSolibBlock.java
@@ -11,7 +11,6 @@ import java.util.Observer;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.debug.mi.core.IMILaunchConfigurationConstants;
-import org.eclipse.cdt.debug.ui.SolibSearchPathBlock;
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.debug.core.ILaunchConfiguration;
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SolibSearchPathBlock.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SolibSearchPathBlock.java
new file mode 100644
index 00000000000..c10bef37402
--- /dev/null
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/SolibSearchPathBlock.java
@@ -0,0 +1,167 @@
+/*
+ *(c) Copyright QNX Software Systems Ltd. 2002.
+ * All Rights Reserved.
+ *
+ */
+
+package org.eclipse.cdt.debug.mi.internal.ui;
+
+import java.util.Collections;
+import java.util.Observable;
+
+import org.eclipse.cdt.debug.internal.ui.PixelConverter;
+import org.eclipse.cdt.debug.internal.ui.dialogfields.DialogField;
+import org.eclipse.cdt.debug.internal.ui.dialogfields.IListAdapter;
+import org.eclipse.cdt.debug.internal.ui.dialogfields.LayoutUtil;
+import org.eclipse.cdt.debug.internal.ui.dialogfields.ListDialogField;
+import org.eclipse.cdt.debug.internal.ui.dialogfields.Separator;
+import org.eclipse.cdt.debug.mi.core.IMILaunchConfigurationConstants;
+import org.eclipse.cdt.utils.ui.controls.ControlFactory;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * Enter type comment.
+ *
+ * @since Sep 4, 2003
+ */
+public class SolibSearchPathBlock extends Observable
+{
+ public class SolibSearchPathListDialogField extends ListDialogField
+ {
+ public SolibSearchPathListDialogField( IListAdapter adapter, String[] buttonLabels, ILabelProvider lprovider )
+ {
+ super( adapter, buttonLabels, lprovider );
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.debug.internal.ui.dialogfields.ListDialogField#managedButtonPressed(int)
+ */
+ protected boolean managedButtonPressed( int index )
+ {
+ boolean result = super.managedButtonPressed( index );
+ if ( result )
+ buttonPressed( index );
+ return result;
+ }
+
+ }
+
+ private Shell fShell;
+ private SolibSearchPathListDialogField fDirList;
+
+ public SolibSearchPathBlock()
+ {
+ super();
+
+ String[] buttonLabels = new String[]
+ {
+ /* 0 */ "Add...",
+ /* 1 */ null,
+ /* 2 */ "Up",
+ /* 3 */ "Down",
+ /* 4 */ null,
+ /* 5 */ "Remove",
+ };
+
+ IListAdapter listAdapter = new IListAdapter()
+ {
+ public void customButtonPressed( DialogField field, int index )
+ {
+ buttonPressed( index );
+ }
+
+ public void selectionChanged( DialogField field )
+ {
+ }
+ };
+
+ fDirList = new SolibSearchPathListDialogField( listAdapter, buttonLabels, new LabelProvider() );
+ fDirList.setLabelText( "Directories:" );
+ fDirList.setUpButtonIndex( 2 );
+ fDirList.setDownButtonIndex( 3 );
+ fDirList.setRemoveButtonIndex( 5 );
+ }
+
+ public void createBlock( Composite parent )
+ {
+ fShell = parent.getShell();
+ Composite comp = ControlFactory.createCompositeEx( parent, 2, GridData.FILL_BOTH );
+ ((GridLayout)comp.getLayout()).makeColumnsEqualWidth = false;
+ ((GridLayout)comp.getLayout()).marginHeight = 0;
+ ((GridLayout)comp.getLayout()).marginWidth = 0;
+ comp.setFont( JFaceResources.getDialogFont() );
+
+ PixelConverter converter = new PixelConverter( comp );
+
+ fDirList.doFillIntoGrid( comp, 3 );
+ LayoutUtil.setHorizontalSpan( fDirList.getLabelControl( null ), 2 );
+ LayoutUtil.setWidthHint( fDirList.getLabelControl( null ), converter.convertWidthInCharsToPixels( 30 ) );
+ LayoutUtil.setHorizontalGrabbing( fDirList.getListControl( null ) );
+
+ new Separator().doFillIntoGrid( comp, 3, converter.convertHeightInCharsToPixels( 1 ) );
+ }
+
+ public void initializeFrom( ILaunchConfiguration configuration )
+ {
+ if ( fDirList != null )
+ {
+ try
+ {
+ fDirList.addElements( configuration.getAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_SOLIB_PATH, Collections.EMPTY_LIST ) );
+ }
+ catch( CoreException e )
+ {
+ }
+ }
+ }
+
+ public void setDefaults( ILaunchConfigurationWorkingCopy configuration )
+ {
+ configuration.setAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_SOLIB_PATH, Collections.EMPTY_LIST );
+ }
+
+ public void performApply( ILaunchConfigurationWorkingCopy configuration )
+ {
+ if ( fDirList != null )
+ {
+ configuration.setAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_SOLIB_PATH, fDirList.getElements() );
+ }
+ }
+
+ protected void buttonPressed( int index )
+ {
+ if ( index == 0 )
+ addDirectory();
+ setChanged();
+ notifyObservers();
+ }
+
+ protected Shell getShell()
+ {
+ return fShell;
+ }
+
+ private void addDirectory()
+ {
+ DirectoryDialog dialog = new DirectoryDialog( getShell() );
+ dialog.setMessage( "Select directory that contains shared library." );
+ String res = dialog.open();
+ if ( res != null )
+ fDirList.addElement( res );
+ }
+
+ public void dispose()
+ {
+ deleteObservers();
+ }
+}

Back to the top