PieItem.java revision 1acef69ffc079d1bc029ff7eb1f5043f7efd7f36
10860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb/* 20860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Copyright (C) 2011 The Android Open Source Project 30860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * 40860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Licensed under the Apache License, Version 2.0 (the "License"); you may not 50860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * use this file except in compliance with the License. You may obtain a copy of 60860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * the License at 70860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * 80860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * http://www.apache.org/licenses/LICENSE-2.0 90860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * 100860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Unless required by applicable law or agreed to in writing, software 110860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 120860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 130860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * License for the specific language governing permissions and limitations under 140860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * the License. 150860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb */ 160860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 170860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolbpackage com.android.browser.view; 180860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 191acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolbimport com.android.browser.view.PieMenu.PieView; 201acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb 210860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolbimport android.view.View; 220860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 230860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb/** 240860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb * Pie menu item 250860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb */ 260860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolbpublic class PieItem { 270860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 280860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb private View mView; 291acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb private PieView mPieView; 300860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb private int level; 310860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb private float start; 320860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb private float sweep; 330860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb private int inner; 340860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb private int outer; 350860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb private boolean mSelected; 360860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 370860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public PieItem(View view, int level) { 380860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb mView = view; 390860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb this.level = level; 400860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 410860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 421acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb public PieItem(View view, int level, PieView sym) { 431acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb mView = view; 441acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb this.level = level; 451acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb mPieView = sym; 461acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb } 471acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb 480860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public void setSelected(boolean s) { 490860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb mSelected = s; 500860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb if (mView != null) { 510860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb mView.setSelected(s); 520860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 530860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 540860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 550860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public boolean isSelected() { 560860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb return mSelected; 570860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 580860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 590860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public int getLevel() { 600860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb return level; 610860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 620860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 630860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public void setGeometry(float st, float sw, int inside, int outside) { 640860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb start = st; 650860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb sweep = sw; 660860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb inner = inside; 670860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb outer = outside; 680860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 690860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 700860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public float getStartAngle() { 710860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb return start; 720860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 730860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 740860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public float getSweep() { 750860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb return sweep; 760860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 770860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 780860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public int getInnerRadius() { 790860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb return inner; 800860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 810860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 820860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public int getOuterRadius() { 830860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb return outer; 840860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 850860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 861acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb public boolean isPieView() { 871acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb return (mPieView != null); 881acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb } 891acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb 900860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb public View getView() { 910860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb return mView; 920860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb } 930860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb 941acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb public void setPieView(PieView sym) { 951acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb mPieView = sym; 961acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb } 971acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb 981acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb public PieView getPieView() { 991acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb return mPieView; 1001acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb } 1011acef69ffc079d1bc029ff7eb1f5043f7efd7f36Michael Kolb 1020860d99a463f7645bcc9aaa246fd8852e90dbb5dMichael Kolb} 103