/*******************************************************************************
* Copyright Lorensius. W. L. T
*
* 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 com.fanfou.app.opensource.ui.quickaction;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
/**
* Action item, displayed as menu with icon and text.
*
* @author Lorensius. W. L. T <lorenz@londatiga.net>
*
* Contributors: - Kevin Peck <kevinwpeck@gmail.com>
*
*/
public class ActionItem {
private Drawable icon;
private Bitmap thumb;
private String title;
private int actionId = -1;
private boolean selected;
private boolean sticky;
/**
* Constructor
*/
public ActionItem() {
this(-1, null, null);
}
/**
* Constructor
*
* @param icon
* {@link Drawable} action icon
*/
public ActionItem(final Drawable icon) {
this(-1, null, icon);
}
/**
* Constructor
*
* @param actionId
* Action ID of item
* @param icon
* {@link Drawable} action icon
*/
public ActionItem(final int actionId, final Drawable icon) {
this(actionId, null, icon);
}
/**
* Constructor
*
* @param actionId
* Action id of the item
* @param title
* Text to show for the item
*/
public ActionItem(final int actionId, final String title) {
this(actionId, title, null);
}
/**
* Constructor
*
* @param actionId
* Action id for case statements
* @param title
* Title
* @param icon
* Icon to use
*/
public ActionItem(final int actionId, final String title,
final Drawable icon) {
this.title = title;
this.icon = icon;
this.actionId = actionId;
}
/**
* @return Our action id
*/
public int getActionId() {
return actionId;
}
/**
* Get action icon
*
* @return {@link Drawable} action icon
*/
public Drawable getIcon() {
return this.icon;
}
/**
* Get thumb image
*
* @return Thumb image
*/
public Bitmap getThumb() {
return this.thumb;
}
/**
* Get action title
*
* @return action title
*/
public String getTitle() {
return this.title;
}
/**
* Check if item is selected
*
* @return true or false
*/
public boolean isSelected() {
return this.selected;
}
/**
* @return true if button is sticky, menu stays visible after press
*/
public boolean isSticky() {
return sticky;
}
/**
* Set action id
*
* @param actionId
* Action id for this action
*/
public void setActionId(final int actionId) {
this.actionId = actionId;
}
/**
* Set action icon
*
* @param icon
* {@link Drawable} action icon
*/
public void setIcon(final Drawable icon) {
this.icon = icon;
}
/**
* Set selected flag;
*
* @param selected
* Flag to indicate the item is selected
*/
public void setSelected(final boolean selected) {
this.selected = selected;
}
/**
* Set sticky status of button
*
* @param sticky
* true for sticky, pop up sends event but does not disappear
*/
public void setSticky(final boolean sticky) {
this.sticky = sticky;
}
/**
* Set thumb
*
* @param thumb
* Thumb image
*/
public void setThumb(final Bitmap thumb) {
this.thumb = thumb;
}
/**
* Set action title
*
* @param title
* action title
*/
public void setTitle(final String title) {
this.title = title;
}
}