--- /dev/null
+package org.openintents.filemanager;\r
+\r
+/* \r
+ * Copyright 2007 Steven Osborn \r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); \r
+ * you may not use this file except in compliance with the License. \r
+ * You may obtain a copy of the License at \r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0 \r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software \r
+ * distributed under the License is distributed on an "AS IS" BASIS, \r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \r
+ * See the License for the specific language governing permissions and \r
+ * limitations under the License. \r
+ */ \r
+\r
+import android.graphics.Bitmap;\r
+import android.graphics.drawable.BitmapDrawable;\r
+import android.graphics.drawable.Drawable; \r
+import android.os.Parcel;\r
+import android.os.Parcelable;\r
+\r
+/** @author Steven Osborn - http://steven.bitsetters.com \r
+ * @author George Venios - implemented Parcelable */ \r
+public class IconifiedText implements Comparable<IconifiedText>, Parcelable{ \r
+ \r
+ private String mText = ""; \r
+ private String mInfo = "";\r
+ private Drawable mIcon; \r
+ private boolean mSelectable = true; \r
+ private boolean mSelected; \r
+ private boolean mCheckBoxVisible;\r
+\r
+ public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {\r
+ public IconifiedText createFromParcel(Parcel in) {\r
+ return new IconifiedText(in);\r
+ }\r
+ \r
+ public IconifiedText[] newArray(int size) {\r
+ return new IconifiedText[size];\r
+ }\r
+ };\r
+ \r
+ public IconifiedText(String text, String info, Drawable bullet) { \r
+ mIcon = bullet; \r
+ mText = text; \r
+ mInfo = info;\r
+ } \r
+ \r
+ public IconifiedText(Parcel in){\r
+ mText = in.readString();\r
+ mInfo = in.readString();\r
+ mSelectable = in.readInt()==1?true:false;\r
+ mSelected = in.readInt()==1?true:false;\r
+ mCheckBoxVisible = in.readInt()==1?true:false;\r
+ }\r
+ \r
+ public boolean isSelected() {\r
+ return mSelected;\r
+ }\r
+\r
+ public void setSelected(boolean selected) {\r
+ this.mSelected = selected;\r
+ }\r
+\r
+ public boolean isSelectable() { \r
+ return mSelectable; \r
+ } \r
+ \r
+ public void setSelectable(boolean selectable) { \r
+ mSelectable = selectable; \r
+ } \r
+ \r
+ public String getText() { \r
+ return mText; \r
+ } \r
+ \r
+ public void setText(String text) { \r
+ mText = text; \r
+ } \r
+ \r
+ public String getInfo() { \r
+ return mInfo; \r
+ } \r
+ \r
+ public void setInfo(String info) { \r
+ mInfo = info; \r
+ } \r
+ \r
+ public void setIcon(Drawable icon) { \r
+ mIcon = icon; \r
+ } \r
+ \r
+ public void setIcon(Bitmap bitmap) {\r
+ mIcon = (new BitmapDrawable(bitmap));\r
+ }\r
+ \r
+ public Drawable getIcon() { \r
+ return mIcon; \r
+ } \r
+ \r
+ // Used by the adapter\r
+ public Object getIconBitmap() {\r
+ if(mIcon instanceof BitmapDrawable){\r
+ return ((BitmapDrawable) mIcon).getBitmap();\r
+ }\r
+ \r
+ return mIcon;\r
+ }\r
+\r
+ /** Make IconifiedText comparable by its name */ \r
+ \r
+ public int compareTo(IconifiedText other) { \r
+ if(this.mText != null) \r
+ return this.mText.compareTo(other.getText()); \r
+ else \r
+ throw new IllegalArgumentException(); \r
+ } \r
+ \r
+ public void setCheckIconVisible(boolean visible) {\r
+ mCheckBoxVisible = visible;\r
+ }\r
+ \r
+ public boolean isCheckIconVisible() {\r
+ return mCheckBoxVisible;\r
+ }\r
+\r
+ @Override\r
+ public int describeContents() {\r
+ // Auto-generated method stub\r
+ return 0;\r
+ }\r
+\r
+ @Override\r
+ public void writeToParcel(Parcel dest, int flags) {\r
+ dest.writeString(mText);\r
+ dest.writeString(mInfo);\r
+ dest.writeInt(mSelectable?1:0);\r
+ dest.writeInt(mSelected?1:0);\r
+ dest.writeInt(mCheckBoxVisible?1:0);\r
+ }\r
+} \r
+\r