811a5a4a |
1 | package org.openintents.filemanager;\r |
2 | \r |
3 | /* \r |
4 | * Copyright 2007 Steven Osborn \r |
5 | * \r |
6 | * Licensed under the Apache License, Version 2.0 (the "License"); \r |
7 | * you may not use this file except in compliance with the License. \r |
8 | * You may obtain a copy of the License at \r |
9 | * \r |
10 | * http://www.apache.org/licenses/LICENSE-2.0 \r |
11 | * \r |
12 | * Unless required by applicable law or agreed to in writing, software \r |
13 | * distributed under the License is distributed on an "AS IS" BASIS, \r |
14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \r |
15 | * See the License for the specific language governing permissions and \r |
16 | * limitations under the License. \r |
17 | */ \r |
18 | \r |
19 | import android.graphics.Bitmap;\r |
20 | import android.graphics.drawable.BitmapDrawable;\r |
21 | import android.graphics.drawable.Drawable; \r |
22 | import android.os.Parcel;\r |
23 | import android.os.Parcelable;\r |
24 | \r |
25 | /** @author Steven Osborn - http://steven.bitsetters.com \r |
26 | * @author George Venios - implemented Parcelable */ \r |
27 | public class IconifiedText implements Comparable<IconifiedText>, Parcelable{ \r |
28 | \r |
29 | private String mText = ""; \r |
30 | private String mInfo = "";\r |
31 | private Drawable mIcon; \r |
32 | private boolean mSelectable = true; \r |
33 | private boolean mSelected; \r |
34 | private boolean mCheckBoxVisible;\r |
35 | \r |
36 | public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {\r |
37 | public IconifiedText createFromParcel(Parcel in) {\r |
38 | return new IconifiedText(in);\r |
39 | }\r |
40 | \r |
41 | public IconifiedText[] newArray(int size) {\r |
42 | return new IconifiedText[size];\r |
43 | }\r |
44 | };\r |
45 | \r |
46 | public IconifiedText(String text, String info, Drawable bullet) { \r |
47 | mIcon = bullet; \r |
48 | mText = text; \r |
49 | mInfo = info;\r |
50 | } \r |
51 | \r |
52 | public IconifiedText(Parcel in){\r |
53 | mText = in.readString();\r |
54 | mInfo = in.readString();\r |
55 | mSelectable = in.readInt()==1?true:false;\r |
56 | mSelected = in.readInt()==1?true:false;\r |
57 | mCheckBoxVisible = in.readInt()==1?true:false;\r |
58 | }\r |
59 | \r |
60 | public boolean isSelected() {\r |
61 | return mSelected;\r |
62 | }\r |
63 | \r |
64 | public void setSelected(boolean selected) {\r |
65 | this.mSelected = selected;\r |
66 | }\r |
67 | \r |
68 | public boolean isSelectable() { \r |
69 | return mSelectable; \r |
70 | } \r |
71 | \r |
72 | public void setSelectable(boolean selectable) { \r |
73 | mSelectable = selectable; \r |
74 | } \r |
75 | \r |
76 | public String getText() { \r |
77 | return mText; \r |
78 | } \r |
79 | \r |
80 | public void setText(String text) { \r |
81 | mText = text; \r |
82 | } \r |
83 | \r |
84 | public String getInfo() { \r |
85 | return mInfo; \r |
86 | } \r |
87 | \r |
88 | public void setInfo(String info) { \r |
89 | mInfo = info; \r |
90 | } \r |
91 | \r |
92 | public void setIcon(Drawable icon) { \r |
93 | mIcon = icon; \r |
94 | } \r |
95 | \r |
96 | public void setIcon(Bitmap bitmap) {\r |
97 | mIcon = (new BitmapDrawable(bitmap));\r |
98 | }\r |
99 | \r |
100 | public Drawable getIcon() { \r |
101 | return mIcon; \r |
102 | } \r |
103 | \r |
104 | // Used by the adapter\r |
105 | public Object getIconBitmap() {\r |
106 | if(mIcon instanceof BitmapDrawable){\r |
107 | return ((BitmapDrawable) mIcon).getBitmap();\r |
108 | }\r |
109 | \r |
110 | return mIcon;\r |
111 | }\r |
112 | \r |
113 | /** Make IconifiedText comparable by its name */ \r |
114 | \r |
115 | public int compareTo(IconifiedText other) { \r |
116 | if(this.mText != null) \r |
117 | return this.mText.compareTo(other.getText()); \r |
118 | else \r |
119 | throw new IllegalArgumentException(); \r |
120 | } \r |
121 | \r |
122 | public void setCheckIconVisible(boolean visible) {\r |
123 | mCheckBoxVisible = visible;\r |
124 | }\r |
125 | \r |
126 | public boolean isCheckIconVisible() {\r |
127 | return mCheckBoxVisible;\r |
128 | }\r |
129 | \r |
130 | @Override\r |
131 | public int describeContents() {\r |
132 | // Auto-generated method stub\r |
133 | return 0;\r |
134 | }\r |
135 | \r |
136 | @Override\r |
137 | public void writeToParcel(Parcel dest, int flags) {\r |
138 | dest.writeString(mText);\r |
139 | dest.writeString(mInfo);\r |
140 | dest.writeInt(mSelectable?1:0);\r |
141 | dest.writeInt(mSelected?1:0);\r |
142 | dest.writeInt(mCheckBoxVisible?1:0);\r |
143 | }\r |
144 | } \r |
145 | \r |