aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/draw9patch/ui/StatusPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/draw9patch/ui/StatusPanel.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/draw9patch/ui/StatusPanel.java357
1 files changed, 0 insertions, 357 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/draw9patch/ui/StatusPanel.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/draw9patch/ui/StatusPanel.java
deleted file mode 100644
index 6ad258ee2..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/draw9patch/ui/StatusPanel.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (C) 2013 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.ide.eclipse.adt.internal.editors.draw9patch.ui;
-
-import com.android.ide.eclipse.adt.AdtPlugin;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FormAttachment;
-import org.eclipse.swt.layout.FormData;
-import org.eclipse.swt.layout.FormLayout;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Scale;
-
-/**
- * Status and control pane.
- */
-public class StatusPanel extends Composite implements KeyListener {
-
- public static final int SCALE_MIN = 2;
- public static final int SCALE_MAX = 6;
-
- public static final int ZOOM_MIN = 100;
- public static final int ZOOM_MAX = 800;
-
- public static final int PADDING_TOP = 12;
- public static final int PADDING_RIGHT = 0;
- public static final int PADDING_BOTTOM = 5;
- public static final int PADDING_LEFT = 10;
-
- public static final int MIN_WIDTH = 800;
-
- private Button mShowLock = null;
- private Button mShowPatches = null;
- private Button mShowBadPatches = null;
- private Button mShowContent = null;
-
- private Label mHelpLabel = null;
-
- private Label mXPosLabel = null;
- private Label mYPosLabel = null;
-
- private ZoomControl mZoomControl = null;
- private ZoomControl mScaleControl = null;
-
- private StatusChangedListener mListener = null;
-
- public void setStatusChangedListener(StatusChangedListener l) {
- mListener = l;
- }
-
- public void setHelpText(String text) {
- Point size = getSize();
- // check window width
- if (MIN_WIDTH < size.x) {
- mHelpLabel.setText(text);
- mHelpLabel.setVisible(true);
- } else {
- mHelpLabel.setText("N/A");
- mHelpLabel.setVisible(false);
- }
- }
-
- /**
- * Set mouse cursor position.
- */
- public void setPosition(int x, int y) {
- mXPosLabel.setText(String.format("X: %4d px", x));
- mYPosLabel.setText(String.format("Y: %4d px", y));
- }
-
- public StatusPanel(Composite parent, int style) {
- super(parent, style);
- setLayout(new FormLayout());
-
- final Composite container = new Composite(this, SWT.NULL);
- container.setLayout(new FormLayout());
-
- FormData innerForm = new FormData();
- innerForm.left = new FormAttachment(0, PADDING_LEFT);
- innerForm.top = new FormAttachment(0, PADDING_TOP);
- innerForm.right = new FormAttachment(100, PADDING_RIGHT);
- innerForm.bottom = new FormAttachment(100, -PADDING_BOTTOM);
- container.setLayoutData(innerForm);
-
- buildPosition(container);
-
- Composite zoomPanels = new Composite(container, SWT.NULL);
- zoomPanels.setLayout(new GridLayout(3, false));
-
- buildZoomControl(zoomPanels);
- buildScaleControl(zoomPanels);
-
- Composite checkPanel = new Composite(container, SWT.NULL);
- checkPanel.setLayout(new GridLayout(2, false));
- FormData checkPanelForm = new FormData();
- checkPanelForm.left = new FormAttachment(zoomPanels, 0);
- checkPanelForm.bottom = new FormAttachment(100, -PADDING_BOTTOM);
- checkPanel.setLayoutData(checkPanelForm);
-
- buildCheckboxes(checkPanel);
-
- mHelpLabel = new Label(container, SWT.BORDER_SOLID | SWT.BOLD | SWT.WRAP);
- mHelpLabel.setBackground(new Color(AdtPlugin.getDisplay(), 0xFF, 0xFF, 0xFF));
- FormData hintForm = new FormData();
- hintForm.left = new FormAttachment(checkPanel, 5);
- hintForm.right = new FormAttachment(mXPosLabel, -10);
- hintForm.top = new FormAttachment(PADDING_TOP);
- hintForm.bottom = new FormAttachment(100, -PADDING_BOTTOM);
- mHelpLabel.setLayoutData(hintForm);
-
- /*
- * If the window width is not much, the "help label" will break the window.
- * Because that is wrapped automatically.
- *
- * This listener catch resized events and reset help text.
- *
- * setHelpText method checks window width.
- * If window is too narrow, help text will be set invisible.
- */
- container.addControlListener(new ControlListener() {
- @Override
- public void controlResized(ControlEvent event) {
- // reset text
- setHelpText(ImageViewer.HELP_MESSAGE_KEY_TIPS);
- }
- @Override
- public void controlMoved(ControlEvent event) {
- }
- });
-
- }
-
- private void buildPosition(Composite parent) {
- mXPosLabel = new Label(parent, SWT.NULL);
- mYPosLabel = new Label(parent, SWT.NULL);
-
- mXPosLabel.setText(String.format("X: %4d px", 1000));
- mYPosLabel.setText(String.format("Y: %4d px", 1000));
-
- FormData bottomRight = new FormData();
- bottomRight.bottom = new FormAttachment(100, 0);
- bottomRight.right = new FormAttachment(100, 0);
- mYPosLabel.setLayoutData(bottomRight);
-
- FormData aboveYPosLabel = new FormData();
- aboveYPosLabel.bottom = new FormAttachment(mYPosLabel);
- aboveYPosLabel.right = new FormAttachment(100, 0);
- mXPosLabel.setLayoutData(aboveYPosLabel);
- }
-
- private void buildScaleControl(Composite parent) {
- mScaleControl = new ZoomControl(parent);
- mScaleControl.maxLabel.setText("6x");
- mScaleControl.minLabel.setText("2x");
- mScaleControl.scale.setMinimum(SCALE_MIN);
- mScaleControl.scale.setMaximum(SCALE_MAX);
- mScaleControl.scale.setSelection(2);
- mScaleControl.scale.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- super.widgetSelected(event);
- if (mListener != null) {
- Scale scale = (Scale) event.widget;
- mListener.scaleChanged(scale.getSelection());
- }
- }
- });
- }
-
- private void buildZoomControl(Composite parent) {
- mZoomControl = new ZoomControl(parent);
- mZoomControl.maxLabel.setText("800%");
- mZoomControl.minLabel.setText("100%");
- mZoomControl.scale.setMinimum(ZOOM_MIN);
- mZoomControl.scale.setMaximum(ZOOM_MAX - ZOOM_MIN);
- mZoomControl.scale.setSelection(400);
- mZoomControl.scale.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- super.widgetSelected(event);
- if (mListener != null) {
- Scale scale = (Scale) event.widget;
- mListener.zoomChanged(scale.getSelection() + ZOOM_MIN);
- }
- }
- });
-
- }
-
- private void buildCheckboxes(Composite parent) {
- // check lock
- mShowLock = new Button(parent, SWT.CHECK);
- mShowLock.setText("show Lock");
- mShowLock.setSelection(true);
- mShowLock.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- super.widgetSelected(event);
- if (mListener != null) {
- mListener.lockVisibilityChanged(mShowLock.getSelection());
- }
- }
- });
-
- // check patches
- mShowPatches = new Button(parent, SWT.CHECK);
- mShowPatches.setText("show Patches");
- mShowPatches.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- super.widgetSelected(event);
- if (mListener != null) {
- mListener.patchesVisibilityChanged(mShowPatches.getSelection());
- }
- }
- });
-
- // check patches
- mShowBadPatches = new Button(parent, SWT.CHECK);
- mShowBadPatches.setText("show Bad patches");
- mShowBadPatches.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- super.widgetSelected(event);
- if (mListener != null) {
- mListener.badPatchesVisibilityChanged(mShowBadPatches.getSelection());
- }
- }
- });
-
- // check contents(padding)
- mShowContent = new Button(parent, SWT.CHECK);
- mShowContent.setText("show Contents");
- mShowContent.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent event) {
- super.widgetSelected(event);
- if (mListener != null) {
- mListener.contentAreaVisibilityChanged(mShowContent.getSelection());
- }
- }
- });
- }
-
- @Override
- public void keyPressed(KeyEvent event) {
- switch (event.character) {
- case 'c':
- mShowContent.setSelection(!mShowContent.getSelection());
- if (mListener != null) {
- mListener.contentAreaVisibilityChanged(mShowContent.getSelection());
- }
- break;
- case 'l':
- mShowLock.setSelection(!mShowLock.getSelection());
- if (mListener != null) {
- mListener.lockVisibilityChanged(mShowLock.getSelection());
- }
- break;
- case 'p':
- mShowPatches.setSelection(!mShowPatches.getSelection());
- if (mListener != null) {
- mListener.patchesVisibilityChanged(mShowPatches.getSelection());
- }
- break;
- case 'b':
- mShowBadPatches.setSelection(!mShowBadPatches.getSelection());
- if (mListener != null) {
- mListener.badPatchesVisibilityChanged(mShowBadPatches.getSelection());
- }
- break;
- }
- }
-
- @Override
- public void keyReleased(KeyEvent event) {
- }
-
- private static class ZoomControl {
-
- private Label minLabel;
- private Label maxLabel;
- Scale scale;
-
- public ZoomControl(Composite composite) {
- minLabel = new Label(composite, SWT.RIGHT);
- scale = new Scale(composite, SWT.HORIZONTAL);
- maxLabel = new Label(composite, SWT.LEFT);
- }
- }
-
- /**
- * Status changed events listener.
- */
- public interface StatusChangedListener {
- /**
- * Zoom level has been changed.
- * @param zoom
- */
- public void zoomChanged(int zoom);
-
- /**
- * Scale has been changed.
- * @param scale
- */
- public void scaleChanged(int scale);
-
- /**
- * Lock visibility has been changed.
- * @param visible
- */
- public void lockVisibilityChanged(boolean visible);
-
- /**
- * Patches visibility has been changed.
- * @param visible
- */
- public void patchesVisibilityChanged(boolean visible);
-
- /**
- * BadPatches visibility has been changed.
- * @param visible
- */
- public void badPatchesVisibilityChanged(boolean visible);
-
- /**
- * Content visibility has been changed.
- * @param visible
- */
- public void contentAreaVisibilityChanged(boolean visible);
- }
-}