/* * 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; } }