aboutsummaryrefslogtreecommitdiffstats
path: root/ddms
diff options
context:
space:
mode:
authorKeiji Ariyama <keiji_ariyama@c-lis.co.jp>2011-02-15 18:59:35 +0900
committerKeiji Ariyama <keiji_ariyama@c-lis.co.jp>2011-02-16 06:14:41 +0900
commit796a21508827c4f1f9c92f778b94241da9e3ccf5 (patch)
tree62ccf8d8f2a6e6d3d6a444df68c938b3a572c4d4 /ddms
parent99f15759c9fc900577710102cc07f566ce593ddf (diff)
downloadsdk-796a21508827c4f1f9c92f778b94241da9e3ccf5.zip
sdk-796a21508827c4f1f9c92f778b94241da9e3ccf5.tar.gz
sdk-796a21508827c4f1f9c92f778b94241da9e3ccf5.tar.bz2
Add validation messages to the DDMS edit filter dialog.
Fixing issue 3584. http://code.google.com/p/android/issues/detail?id=3584 Change-Id: I689c0036f36678c92c08d05a6690610f95233c66
Diffstat (limited to 'ddms')
-rw-r--r--ddms/libs/ddmuilib/src/com/android/ddmuilib/logcat/EditFilterDialog.java74
1 files changed, 59 insertions, 15 deletions
diff --git a/ddms/libs/ddmuilib/src/com/android/ddmuilib/logcat/EditFilterDialog.java b/ddms/libs/ddmuilib/src/com/android/ddmuilib/logcat/EditFilterDialog.java
index 8bbc7c5..6cd44d0 100644
--- a/ddms/libs/ddmuilib/src/com/android/ddmuilib/logcat/EditFilterDialog.java
+++ b/ddms/libs/ddmuilib/src/com/android/ddmuilib/logcat/EditFilterDialog.java
@@ -43,7 +43,10 @@ import org.eclipse.swt.widgets.Text;
public class EditFilterDialog extends Dialog {
private static final int DLG_WIDTH = 400;
- private static final int DLG_HEIGHT = 250;
+ private static final int DLG_HEIGHT = 260;
+
+ private static final String IMAGE_WARNING = "warning.png"; //$NON-NLS-1$
+ private static final String IMAGE_EMPTY = "empty.png"; //$NON-NLS-1$
private Shell mParent;
@@ -68,6 +71,8 @@ public class EditFilterDialog extends Dialog {
private Button mOkButton;
+ private Label mNameWarning;
+ private Label mTagWarning;
private Label mPidWarning;
public EditFilterDialog(Shell parent) {
@@ -151,7 +156,7 @@ public class EditFilterDialog extends Dialog {
// top part with the filter name
Composite nameComposite = new Composite(mShell, SWT.NONE);
nameComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
- nameComposite.setLayout(new GridLayout(2, false));
+ nameComposite.setLayout(new GridLayout(3, false));
Label l = new Label(nameComposite, SWT.NONE);
l.setText("Filter Name:");
@@ -172,6 +177,10 @@ public class EditFilterDialog extends Dialog {
}
});
+ mNameWarning = new Label(nameComposite, SWT.NONE);
+ mNameWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(IMAGE_EMPTY,
+ mShell.getDisplay()));
+
// separator
l = new Label(mShell, SWT.SEPARATOR | SWT.HORIZONTAL);
l.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
@@ -192,9 +201,8 @@ public class EditFilterDialog extends Dialog {
tagText.setText(mTag);
}
}
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 2;
- tagText.setLayoutData(gd);
+
+ tagText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
tagText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
mTag = tagText.getText().trim();
@@ -202,6 +210,10 @@ public class EditFilterDialog extends Dialog {
}
});
+ mTagWarning = new Label(main, SWT.NONE);
+ mTagWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(IMAGE_EMPTY,
+ mShell.getDisplay()));
+
l = new Label(main, SWT.NONE);
l.setText("by pid:");
@@ -223,14 +235,14 @@ public class EditFilterDialog extends Dialog {
});
mPidWarning = new Label(main, SWT.NONE);
- mPidWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage("empty.png", //$NON-NLS-1$
+ mPidWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(IMAGE_EMPTY,
mShell.getDisplay()));
l = new Label(main, SWT.NONE);
l.setText("by Log level:");
final Combo logCombo = new Combo(main, SWT.DROP_DOWN | SWT.READ_ONLY);
- gd = new GridData(GridData.FILL_HORIZONTAL);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.horizontalSpan = 2;
logCombo.setLayoutData(gd);
@@ -324,26 +336,58 @@ public class EditFilterDialog extends Dialog {
*/
private void validate() {
+ boolean result = true;
+
// then we check it only contains digits.
if (mPid != null) {
if (mPid.matches("[0-9]*") == false) { //$NON-NLS-1$
- mOkButton.setEnabled(false);
mPidWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(
- "warning.png", //$NON-NLS-1$
+ IMAGE_WARNING,
mShell.getDisplay()));
- return;
+ mPidWarning.setToolTipText("PID must be a number"); //$NON-NLS-1$
+ result = false;
} else {
mPidWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(
- "empty.png", //$NON-NLS-1$
+ IMAGE_EMPTY,
mShell.getDisplay()));
+ mPidWarning.setToolTipText(null);
}
}
- if (mName == null || mName.length() == 0) {
- mOkButton.setEnabled(false);
- return;
+ // then we check it not contains character | or :
+ if (mTag != null) {
+ if (mTag.matches(".*[:|].*") == true) { //$NON-NLS-1$
+ mTagWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(
+ IMAGE_WARNING,
+ mShell.getDisplay()));
+ mTagWarning.setToolTipText("Tag cannot contain | or :"); //$NON-NLS-1$
+ result = false;
+ } else {
+ mTagWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(
+ IMAGE_EMPTY,
+ mShell.getDisplay()));
+ mTagWarning.setToolTipText(null);
+ }
+ }
+
+ // then we check it not contains character | or :
+ if (mName != null && mName.length() > 0) {
+ if (mName.matches(".*[:|].*") == true) { //$NON-NLS-1$
+ mNameWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(
+ IMAGE_WARNING,
+ mShell.getDisplay()));
+ mNameWarning.setToolTipText("Name cannot contain | or :"); //$NON-NLS-1$
+ result = false;
+ } else {
+ mNameWarning.setImage(ImageLoader.getDdmUiLibLoader().loadImage(
+ IMAGE_EMPTY,
+ mShell.getDisplay()));
+ mNameWarning.setToolTipText(null);
+ }
+ } else {
+ result = false;
}
- mOkButton.setEnabled(true);
+ mOkButton.setEnabled(result);
}
}