diff options
author | Fred Ross-Perry <fred.ross-perry@artifex.com> | 2016-09-16 13:53:07 -0700 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2016-09-23 16:31:28 +0100 |
commit | a5db7f3bba96a1550daab9255f66a63b918df515 (patch) | |
tree | 7bf9df3186ffa9e95ba28cc17f5b43a6d83d23d2 /platform/java/src/kankan/wheel/widget/adapters/AbstractWheelTextAdapter.java | |
parent | 4af3e0db09623289f48c1c954455807a391b8870 (diff) | |
download | mupdf-a5db7f3bba96a1550daab9255f66a63b918df515.tar.xz |
Android example: move kankan module.
Out of platform/java and into the platform/android/example.
Diffstat (limited to 'platform/java/src/kankan/wheel/widget/adapters/AbstractWheelTextAdapter.java')
-rw-r--r-- | platform/java/src/kankan/wheel/widget/adapters/AbstractWheelTextAdapter.java | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/platform/java/src/kankan/wheel/widget/adapters/AbstractWheelTextAdapter.java b/platform/java/src/kankan/wheel/widget/adapters/AbstractWheelTextAdapter.java deleted file mode 100644 index 620c8e74..00000000 --- a/platform/java/src/kankan/wheel/widget/adapters/AbstractWheelTextAdapter.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright 2011 Yuri Kanivets - * - * 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 kankan.wheel.widget.adapters; - -import android.content.Context; -import android.graphics.Typeface; -import android.util.Log; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -/** - * Abstract wheel adapter provides common functionality for adapters. - */ -public abstract class AbstractWheelTextAdapter extends AbstractWheelAdapter { - - /** Text view resource. Used as a default view for adapter. */ - public static final int TEXT_VIEW_ITEM_RESOURCE = -1; - - /** No resource constant. */ - protected static final int NO_RESOURCE = 0; - - /** Default text color */ - public static final int DEFAULT_TEXT_COLOR = 0xFF101010; - - /** Default text color */ - public static final int LABEL_COLOR = 0xFF700070; - - /** Default text size */ - public static final int DEFAULT_TEXT_SIZE = 24; - - // Text settings - private int textColor = DEFAULT_TEXT_COLOR; - private int textSize = DEFAULT_TEXT_SIZE; - - // Current context - protected Context context; - // Layout inflater - protected LayoutInflater inflater; - - // Items resources - protected int itemResourceId; - protected int itemTextResourceId; - - // Empty items resources - protected int emptyItemResourceId; - - /** - * Constructor - * @param context the current context - */ - protected AbstractWheelTextAdapter(Context context) { - this(context, TEXT_VIEW_ITEM_RESOURCE); - } - - /** - * Constructor - * @param context the current context - * @param itemResource the resource ID for a layout file containing a TextView to use when instantiating items views - */ - protected AbstractWheelTextAdapter(Context context, int itemResource) { - this(context, itemResource, NO_RESOURCE); - } - - /** - * Constructor - * @param context the current context - * @param itemResource the resource ID for a layout file containing a TextView to use when instantiating items views - * @param itemTextResource the resource ID for a text view in the item layout - */ - protected AbstractWheelTextAdapter(Context context, int itemResource, int itemTextResource) { - this.context = context; - itemResourceId = itemResource; - itemTextResourceId = itemTextResource; - - inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - } - - /** - * Gets text color - * @return the text color - */ - public int getTextColor() { - return textColor; - } - - /** - * Sets text color - * @param textColor the text color to set - */ - public void setTextColor(int textColor) { - this.textColor = textColor; - } - - /** - * Gets text size - * @return the text size - */ - public int getTextSize() { - return textSize; - } - - /** - * Sets text size - * @param textSize the text size to set - */ - public void setTextSize(int textSize) { - this.textSize = textSize; - } - - /** - * Gets resource Id for items views - * @return the item resource Id - */ - public int getItemResource() { - return itemResourceId; - } - - /** - * Sets resource Id for items views - * @param itemResourceId the resource Id to set - */ - public void setItemResource(int itemResourceId) { - this.itemResourceId = itemResourceId; - } - - /** - * Gets resource Id for text view in item layout - * @return the item text resource Id - */ - public int getItemTextResource() { - return itemTextResourceId; - } - - /** - * Sets resource Id for text view in item layout - * @param itemTextResourceId the item text resource Id to set - */ - public void setItemTextResource(int itemTextResourceId) { - this.itemTextResourceId = itemTextResourceId; - } - - /** - * Gets resource Id for empty items views - * @return the empty item resource Id - */ - public int getEmptyItemResource() { - return emptyItemResourceId; - } - - /** - * Sets resource Id for empty items views - * @param emptyItemResourceId the empty item resource Id to set - */ - public void setEmptyItemResource(int emptyItemResourceId) { - this.emptyItemResourceId = emptyItemResourceId; - } - - - /** - * Returns text for specified item - * @param index the item index - * @return the text of specified items - */ - protected abstract CharSequence getItemText(int index); - - @Override - public View getItem(int index, View convertView, ViewGroup parent) { - if (index >= 0 && index < getItemsCount()) { - if (convertView == null) { - convertView = getView(itemResourceId, parent); - } - TextView textView = getTextView(convertView, itemTextResourceId); - if (textView != null) { - CharSequence text = getItemText(index); - if (text == null) { - text = ""; - } - textView.setText(text); - - if (itemResourceId == TEXT_VIEW_ITEM_RESOURCE) { - configureTextView(textView); - } - } - return convertView; - } - return null; - } - - @Override - public View getEmptyItem(View convertView, ViewGroup parent) { - if (convertView == null) { - convertView = getView(emptyItemResourceId, parent); - } - if (emptyItemResourceId == TEXT_VIEW_ITEM_RESOURCE && convertView instanceof TextView) { - configureTextView((TextView)convertView); - } - - return convertView; - } - - /** - * Configures text view. Is called for the TEXT_VIEW_ITEM_RESOURCE views. - * @param view the text view to be configured - */ - protected void configureTextView(TextView view) { - view.setTextColor(textColor); - view.setGravity(Gravity.CENTER); - view.setTextSize(textSize); - view.setLines(1); -// view.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD); - view.setTypeface(Typeface.SANS_SERIF, Typeface.NORMAL); - } - - /** - * Loads a text view from view - * @param view the text view or layout containing it - * @param textResource the text resource Id in layout - * @return the loaded text view - */ - private TextView getTextView(View view, int textResource) { - TextView text = null; - try { - if (textResource == NO_RESOURCE && view instanceof TextView) { - text = (TextView) view; - } else if (textResource != NO_RESOURCE) { - text = (TextView) view.findViewById(textResource); - } - } catch (ClassCastException e) { - Log.e("AbstractWheelAdapter", "You must supply a resource ID for a TextView"); - throw new IllegalStateException( - "AbstractWheelAdapter requires the resource ID to be a TextView", e); - } - - return text; - } - - /** - * Loads view from resources - * @param resource the resource Id - * @return the loaded view or null if resource is not set - */ - private View getView(int resource, ViewGroup parent) { - switch (resource) { - case NO_RESOURCE: - return null; - case TEXT_VIEW_ITEM_RESOURCE: - return new TextView(context); - default: - return inflater.inflate(resource, parent, false); - } - } -} |