summaryrefslogtreecommitdiffstats
path: root/src/com/android/swe/browser/view/PieItem.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/swe/browser/view/PieItem.java')
-rw-r--r--src/com/android/swe/browser/view/PieItem.java159
1 files changed, 159 insertions, 0 deletions
diff --git a/src/com/android/swe/browser/view/PieItem.java b/src/com/android/swe/browser/view/PieItem.java
new file mode 100644
index 00000000..9e04ecbf
--- /dev/null
+++ b/src/com/android/swe/browser/view/PieItem.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2011 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.browser.view;
+
+import android.view.View;
+
+import com.android.browser.view.PieMenu.PieView;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Pie menu item
+ */
+public class PieItem {
+
+ private View mView;
+ private PieView mPieView;
+ private int level;
+ private float start;
+ private float sweep;
+ private float animate;
+ private int inner;
+ private int outer;
+ private boolean mSelected;
+ private boolean mEnabled;
+ private List<PieItem> mItems;
+
+ public PieItem(View view, int level) {
+ mView = view;
+ this.level = level;
+ mEnabled = true;
+ setAnimationAngle(getAnimationAngle());
+ setAlpha(getAlpha());
+ }
+
+ public PieItem(View view, int level, PieView sym) {
+ mView = view;
+ this.level = level;
+ mPieView = sym;
+ mEnabled = false;
+ }
+
+ public boolean hasItems() {
+ return mItems != null;
+ }
+
+ public List<PieItem> getItems() {
+ return mItems;
+ }
+
+ public void addItem(PieItem item) {
+ if (mItems == null) {
+ mItems = new ArrayList<PieItem>();
+ }
+ mItems.add(item);
+ }
+
+ public void setAlpha(float alpha) {
+ if (mView != null) {
+ mView.setAlpha(alpha);
+ }
+ }
+
+ public float getAlpha() {
+ if (mView != null) {
+ return mView.getAlpha();
+ }
+ return 1;
+ }
+
+ public void setAnimationAngle(float a) {
+ animate = a;
+ }
+
+ public float getAnimationAngle() {
+ return animate;
+ }
+
+ public void setEnabled(boolean enabled) {
+ mEnabled = enabled;
+ }
+
+ public void setSelected(boolean s) {
+ mSelected = s;
+ if (mView != null) {
+ mView.setSelected(s);
+ }
+ }
+
+ public boolean isSelected() {
+ return mSelected;
+ }
+
+ public int getLevel() {
+ return level;
+ }
+
+ public void setGeometry(float st, float sw, int inside, int outside) {
+ start = st;
+ sweep = sw;
+ inner = inside;
+ outer = outside;
+ }
+
+ public float getStart() {
+ return start;
+ }
+
+ public float getStartAngle() {
+ return start + animate;
+ }
+
+ public float getSweep() {
+ return sweep;
+ }
+
+ public int getInnerRadius() {
+ return inner;
+ }
+
+ public int getOuterRadius() {
+ return outer;
+ }
+
+ public boolean isPieView() {
+ return (mPieView != null);
+ }
+
+ public View getView() {
+ return mView;
+ }
+
+ public void setPieView(PieView sym) {
+ mPieView = sym;
+ }
+
+ public PieView getPieView() {
+ if (mEnabled) {
+ return mPieView;
+ }
+ return null;
+ }
+
+}