[yocto] [PATCH] [eclipse-poky][master]Check build directory when location is set using "Browse" button
Ioana Grigoropol
ioanax.grigoropol at intel.com
Fri Apr 5 07:30:49 PDT 2013
[Yocto #4206]
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol at intel.com>
---
.../sdk/remotetools/wizards/bsp/MainPage.java | 57 +++++++++++++++-----
1 file changed, 43 insertions(+), 14 deletions(-)
diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wizards/bsp/MainPage.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wizards/bsp/MainPage.java
index d84cc24..156829b 100644
--- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wizards/bsp/MainPage.java
+++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/wizards/bsp/MainPage.java
@@ -25,6 +25,7 @@ import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
@@ -108,7 +109,8 @@ public class MainPage extends WizardPage {
controlChanged(e.widget);
}
});
- setBtnMetadataLoc(addFileSelectButton(textContainer, textMetadataLoc));
+ buildLocationListener = new BuildLocationListener("");
+ setBtnMetadataLoc(addFileSelectButton(textContainer, textMetadataLoc, null));
labelBuildLoc = new Label(composite, SWT.NONE);
labelBuildLoc.setText("Build location: ");
@@ -118,10 +120,10 @@ public class MainPage extends WizardPage {
textContainer.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
textBuildLoc = (Text)addTextControl(textContainer, "");
- buildLocationListener = new BuildLocationListener("");
textBuildLoc.addFocusListener(buildLocationListener);
+ textBuildLoc.addModifyListener(buildLocationListener);
- setBtnBuilddirLoc(addFileSelectButton(textContainer, textBuildLoc));
+ setBtnBuilddirLoc(addFileSelectButton(textContainer, textBuildLoc, buildLocationListener));
labelBspName = new Label(composite, SWT.NONE);
labelBspName.setText("BSP Name*: ");
@@ -152,7 +154,7 @@ public class MainPage extends WizardPage {
controlChanged(e.widget);
}
});
- setBtnBspOutLoc(addFileSelectButton(textContainer, textBspOutputLoc));
+ setBtnBspOutLoc(addFileSelectButton(textContainer, textBspOutputLoc, null));
labelKArch = new Label(composite, SWT.NONE);
labelKArch.setText("Kernel Architecture*: ");
@@ -206,18 +208,25 @@ public class MainPage extends WizardPage {
return text;
}
- private Button addFileSelectButton(final Composite parent, final Text text) {
+ private Button addFileSelectButton(final Composite parent, final Text text, SelectionListener listener) {
Button button = new Button(parent, SWT.PUSH | SWT.LEAD);
button.setText("Browse...");
- button.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- String dirName = new DirectoryDialog(parent.getShell()).open();
- if (dirName != null) {
- text.setText(dirName);
+ if (listener == null) {
+ button.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+ String dirName = new DirectoryDialog(parent.getShell()).open();
+ if (dirName != null) {
+ text.setText(dirName);
+ }
}
- }
- });
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ });
+ } else
+ button.addSelectionListener(listener);
return button;
}
@@ -473,7 +482,7 @@ public class MainPage extends WizardPage {
this.btnBuildLoc = btnBuilddirLoc;
}
- class BuildLocationListener implements FocusListener{
+ class BuildLocationListener implements FocusListener, SelectionListener, ModifyListener{
String value;
boolean changed;
@@ -492,6 +501,26 @@ public class MainPage extends WizardPage {
buildDirChecked = true;
}
}
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ String dirName = new DirectoryDialog(((Button)e.getSource()).getParent().getShell()).open();
+ if (dirName != null) {
+ textBuildLoc.setText(dirName);
+ value = dirName;
+ }
+ }
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ // TODO Auto-generated method stub
+ }
+ @Override
+ public void modifyText(ModifyEvent e) {
+
+ if(!((Text)e.getSource()).getText().equals(value)) {
+ checkBuildDir();
+ buildDirChecked = true;
+ }
+ }
}
}
--
1.7.9.5
More information about the yocto
mailing list