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