package net.sourceforge.phpeclipse.xdebug.ui.php.launching;
import java.io.File;
-import java.text.MessageFormat;
-
import net.sourceforge.phpdt.internal.ui.PHPUiImages;
import net.sourceforge.phpdt.internal.ui.util.PHPFileSelector;
import net.sourceforge.phpdt.internal.ui.util.PHPProjectSelector;
-import net.sourceforge.phpeclipse.xdebug.core.IXDebugPreferenceConstants;
import net.sourceforge.phpeclipse.xdebug.core.XDebugCorePlugin;
import net.sourceforge.phpeclipse.xdebug.php.launching.IXDebugConstants;
public void createControl(Composite parent) {
Font font = parent.getFont();
-
+
Composite comp = new Composite(parent, SWT.NONE);
setControl(comp);
// PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaDebugHelpContextIds.LAUNCH_CONFIGURATION_DIALOG_MAIN_TAB);
topLayout.verticalSpacing = 0;
comp.setLayout(topLayout);
comp.setFont(font);
-
+
createProjectEditor(comp);
createVerticalSpacer(comp, 1);
createMainTypeEditor(comp);
createVerticalSpacer(comp, 1);
createInterpreterEditor(comp);
}
-
+
/**
* Creates the widgets for specifying a main type.
- *
+ *
* @param parent the parent composite
*/
private void createProjectEditor(Composite parent) {
updateLaunchConfigurationDialog();
}
});
- }
+ }
+
-
/**
* Creates the widgets for specifying a php file.
- *
+ *
* @param parent the parent composite
*/
private void createMainTypeEditor(Composite parent) {
Font font= parent.getFont();
Group mainGroup= new Group(parent, SWT.NONE);
- mainGroup.setText("File: ");
+ mainGroup.setText("File: ");
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
mainGroup.setLayoutData(gd);
GridLayout layout = new GridLayout();
}
});
}
-
+
/**
* Creates the widgets for specifying debug settings.
- *
+ *
* @param parent the parent composite
*/
private void createInterpreterEditor(Composite parent) {
Font font= parent.getFont();
Group interpreterGroup= new Group(parent, SWT.NONE);
- interpreterGroup.setText("Interpreter: ");
+ interpreterGroup.setText("Interpreter: ");
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
interpreterGroup.setLayoutData(gd);
GridLayout layout = new GridLayout();
layout.numColumns = 2;
interpreterGroup.setLayout(layout);
interpreterGroup.setFont(font);
-
+
fInterpreterText= new Text(interpreterGroup, SWT.SINGLE | SWT.BORDER);
gd= new GridData(GridData.FILL_HORIZONTAL);
fInterpreterText.setLayoutData(gd);
}
});
-
+
fInterpreterButton= createPushButton(interpreterGroup,"Browse..", null);
fInterpreterButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
handleBrowseSellected(event);
}
});
-
+
fUseDefaultInterpreterButton = new Button(interpreterGroup,SWT.CHECK);
fUseDefaultInterpreterButton.setText("Use default interpreter");
gd = new GridData(GridData.FILL_HORIZONTAL);
});
}
-
+
/**
* Set the appropriate enabled state for the appletviewqer text widget.
*/
fInterpreterButton.setEnabled(true);
}
}
-
+
/**
* Returns whether the default appletviewer is to be used
*/
if (file != null) {
fileSelector.setSelectionText(file);
}
-
+
String interpreterFile=configuration.getAttribute(IXDebugConstants.ATTR_PHP_INTERPRETER, (String) null);
if(interpreterFile!=null)
fInterpreterText.setText(interpreterFile);
configuration.setAttribute(IXDebugConstants.ATTR_PHP_INTERPRETER, this.fInterpreterText.getText());
}
-
+
/* (non-Javadoc)
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
*/
setErrorMessage("Project does not exist");
return false;
}
- IFile file=project.getFile(fileSelector.getSelectionText().trim());
+ String fileName=fileSelector.getSelectionText().trim();
+ if (fileName.equals("")) {
+ setErrorMessage("No file selected.");
+ return false;
+ }
+ IFile file=project.getFile(fileName);
if (!file.exists()) {
setErrorMessage("File does not exist");
return false;
}
- if (!fUseDefaultInterpreterButton.getSelection()) {
+ if (!fUseDefaultInterpreterButton.getSelection()) {
File exe = new File(fInterpreterText.getText());
System.out.println(exe.toString());
if (!exe.exists()) {
}
return true;
}
-
+
public Image getImage() {
return PHPUiImages.get(PHPUiImages.IMG_CTOOLS_PHP_PAGE);
}
-
+
public String getName() {
return "Main";
}