aboutsummaryrefslogtreecommitdiffstats
path: root/ddms/libs/ddmuilib/src/com/android/ddmuilib/FindDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'ddms/libs/ddmuilib/src/com/android/ddmuilib/FindDialog.java')
-rw-r--r--ddms/libs/ddmuilib/src/com/android/ddmuilib/FindDialog.java142
1 files changed, 0 insertions, 142 deletions
diff --git a/ddms/libs/ddmuilib/src/com/android/ddmuilib/FindDialog.java b/ddms/libs/ddmuilib/src/com/android/ddmuilib/FindDialog.java
deleted file mode 100644
index fe3f438..0000000
--- a/ddms/libs/ddmuilib/src/com/android/ddmuilib/FindDialog.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ddmuilib;
-
-
-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.Button;
-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.swt.widgets.Text;
-
-/**
- * {@link FindDialog} provides a text box where users can enter text that should be
- * searched for in the target editor/view. The buttons "Find Previous" and "Find Next"
- * allow users to search forwards/backwards. This dialog simply provides a front end for the user
- * and the actual task of searching is delegated to the {@link IFindTarget}.
- */
-public class FindDialog extends Dialog {
- private Label mStatusLabel;
- private Button mFindNext;
- private Button mFindPrevious;
- private final IFindTarget mTarget;
- private Text mSearchText;
- private String mPreviousSearchText;
- private final int mDefaultButtonId;
-
- /** Id of the "Find Next" button */
- public static final int FIND_NEXT_ID = IDialogConstants.CLIENT_ID;
-
- /** Id of the "Find Previous button */
- public static final int FIND_PREVIOUS_ID = IDialogConstants.CLIENT_ID + 1;
-
- public FindDialog(Shell shell, IFindTarget target) {
- this(shell, target, FIND_PREVIOUS_ID);
- }
-
- /**
- * Construct a find dialog.
- * @param shell shell to use
- * @param target delegate to be invoked on user action
- * @param defaultButtonId one of {@code #FIND_NEXT_ID} or {@code #FIND_PREVIOUS_ID}.
- */
- public FindDialog(Shell shell, IFindTarget target, int defaultButtonId) {
- super(shell);
-
- mTarget = target;
- mDefaultButtonId = defaultButtonId;
-
- setShellStyle((getShellStyle() & ~SWT.APPLICATION_MODAL) | SWT.MODELESS);
- setBlockOnOpen(true);
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- Composite panel = new Composite(parent, SWT.NONE);
- panel.setLayout(new GridLayout(2, false));
- panel.setLayoutData(new GridData(GridData.FILL_BOTH));
-
- Label lblMessage = new Label(panel, SWT.NONE);
- lblMessage.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
- lblMessage.setText("Find:");
-
- mSearchText = new Text(panel, SWT.BORDER);
- mSearchText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
- mSearchText.addModifyListener(new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- boolean hasText = !mSearchText.getText().trim().isEmpty();
- mFindNext.setEnabled(hasText);
- mFindPrevious.setEnabled(hasText);
- }
- });
-
- mStatusLabel = new Label(panel, SWT.NONE);
- mStatusLabel.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_RED));
- GridData gd = new GridData();
- gd.horizontalSpan = 2;
- gd.grabExcessHorizontalSpace = true;
- mStatusLabel.setLayoutData(gd);
-
- return panel;
- }
-
- @Override
- protected void createButtonsForButtonBar(Composite parent) {
- createButton(parent, IDialogConstants.CLOSE_ID, IDialogConstants.CLOSE_LABEL, false);
-
- mFindNext = createButton(parent, FIND_NEXT_ID, "Find Next",
- mDefaultButtonId == FIND_NEXT_ID);
- mFindPrevious = createButton(parent, FIND_PREVIOUS_ID, "Find Previous",
- mDefaultButtonId != FIND_NEXT_ID);
- mFindNext.setEnabled(false);
- mFindPrevious.setEnabled(false);
- }
-
- @Override
- protected void buttonPressed(int buttonId) {
- if (buttonId == IDialogConstants.CLOSE_ID) {
- close();
- return;
- }
-
- if (buttonId == FIND_PREVIOUS_ID || buttonId == FIND_NEXT_ID) {
- if (mTarget != null) {
- String searchText = mSearchText.getText();
- boolean newSearch = !searchText.equals(mPreviousSearchText);
- mPreviousSearchText = searchText;
- boolean searchForward = buttonId == FIND_NEXT_ID;
-
- boolean hasMatches = mTarget.findAndSelect(searchText, newSearch, searchForward);
- if (!hasMatches) {
- mStatusLabel.setText("String not found");
- mStatusLabel.pack();
- } else {
- mStatusLabel.setText("");
- }
- }
- }
- }
-}