|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectsk.baka.ambient.activity.main.AbstractController
sk.baka.ambient.activity.main.AbstractListController
public abstract class AbstractListController
The items in this controller are rendered as a list and can be selected.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class sk.baka.ambient.activity.main.AbstractController |
|---|
AbstractController.Listener |
| Field Summary | |
|---|---|
protected int |
highlightColor
The color of highlighted items in the list. |
GesturesListView |
listView
The list instance. |
| Fields inherited from class sk.baka.ambient.activity.main.AbstractController |
|---|
app, cycle, listener, mainActivity, mainView |
| Constructor Summary | |
|---|---|
protected |
AbstractListController(int mainViewId,
int listViewId,
Activity mainActivity)
Creates new controller. |
| Method Summary | |
|---|---|
boolean |
canComputeItems()
Checks if the model currently supports computing tracks. |
boolean |
canHighlight()
Checks if we can start highlight mode now. |
List<TrackMetadataBean> |
computeTracks(Interval highlight)
Retrieve a list of tracks from the selection. |
void |
destroy()
The controller is about to be destroyed. |
void |
dropItems(List<TrackMetadataBean> tracks,
int x,
int y,
int index)
The drag'n'drop operation is finished. |
Object |
getClipboard()
Retrieves current clipboard value. |
String |
getHint(Interval highlight)
Returns a very short and simple string representation of the selected contents. |
void |
highlightChanged(Interval highlight)
Selection was changed. |
boolean |
isComputeTracksLong(Interval interval)
Checks if the IGestureListViewListener.computeTracks(Interval) method will be a long
operation. |
boolean |
isComputeTracksOnlineOp(Interval interval)
Checks if the IGestureListViewListener.computeTracks(Interval) method will involve
polling of some data from the Internet. |
boolean |
isReadOnly()
Checks if the list view is currently read-only. |
Interval |
moveItems(Interval highlight,
int delta)
Move selected items up or down. |
Interval |
moveItemsByOne(Interval highlight,
boolean down)
Move selected items up or down. |
protected void |
performZoom(boolean zoom)
Zooms, or un-zooms the controller. |
protected abstract void |
recomputeListItems()
Recomputes the model. |
void |
removeItems(Interval remove)
Remove these items from the list. |
void |
setClipboard(TrackListClipboardObject clipboard)
Sets the new clipboard. |
void |
update(Interval target)
Overrides default functionality - the recomputeListItems() is
invoked and the list view contents are updated. |
| Methods inherited from class sk.baka.ambient.activity.main.AbstractController |
|---|
equals, flipVisibility, hashCode, hide, initButtonBar, initButtonBar, initButtonBar, isDestroyed, isVisible, isZoomed, onAction, setVisibility, show, visibilityChanged, zoom |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface sk.baka.ambient.views.gesturelist.IGestureListViewListener |
|---|
itemActivated, update |
| Field Detail |
|---|
public GesturesListView listView
protected final int highlightColor
| Constructor Detail |
|---|
protected AbstractListController(int mainViewId,
int listViewId,
Activity mainActivity)
mainViewId - the view whose visibility is controlled.listViewId - the id of the GesturesListViewmainActivity - the main activity instance.| Method Detail |
|---|
protected abstract void recomputeListItems()
model. You don't have
to call the ModelHolder.notifyModified() - it is called
automatically after the method finishes.
public void highlightChanged(Interval highlight)
IGestureListViewListener
highlightChanged in interface IGestureListViewListenerhighlight - highlighted itemspublic void update(Interval target)
recomputeListItems() is
invoked and the list view contents are updated.
update in class AbstractControllertarget - reset selection to this interval.public boolean canComputeItems()
IGestureListViewListener
canComputeItems in interface IGestureListViewListenertrue if the model can compute tracks,
false otherwise.public boolean isReadOnly()
IGestureListViewListener
isReadOnly in interface IGestureListViewListenertrue if the view cannot be modified,
false otherwise.public List<TrackMetadataBean> computeTracks(Interval highlight)
IGestureListViewListener
Retrieve a list of tracks from the selection. This operation may not be
invoked from the handler's thread (depending on the result of the
IGestureListViewListener.isComputeTracksLong(Interval) method). The method implementation
should thus periodically check for the interrupted flag. When interrupted, it should return an empty list or
null ASAP. It may do so by throwing an exception
If the method is invoked in a non-handler thread the callee wraps the result in a thread-safe list.
The method may throw RuntimeException - it will be caught and
displayed unless the thread is interrupted.
This method is only invoked when IGestureListViewListener.canComputeItems() returns
true.
computeTracks in interface IGestureListViewListenerhighlight - the selection
null.
public void dropItems(List<TrackMetadataBean> tracks,
int x,
int y,
int index)
IGestureListViewListener
dropItems in interface IGestureListViewListenertracks - the tracksx - the drop point x axis relative to the item upper-left corner.y - the drop point y axis relative to the item upper-left corner.index - the index of the item where the files were dropped.
public Interval moveItems(Interval highlight,
int delta)
IGestureListViewListenerMove selected items up or down. The listener must update the items and return the new highlight. This operation is always considered as a short-running and thus always executed directly in handler's event thread.
The list view will be redrawn automatically when the method returns.
This operation is invoked only when IGestureListViewListener.isReadOnly() returns
false.
moveItems in interface IGestureListViewListenerhighlight - move these itemsdelta - drop the items before item with this index.
public Interval moveItemsByOne(Interval highlight,
boolean down)
IGestureListViewListenerMove selected items up or down. The listener must update the items and return the new highlight. This operation is always considered as a short-running and thus always executed directly in handler's event thread.
The list view will be redrawn automatically when the method returns.
This operation is invoked only when IGestureListViewListener.isReadOnly() returns
false.
moveItemsByOne in interface IGestureListViewListenerhighlight - move these itemsdown - down if true then move the highlighted interval
down, otherwise move it up.
public String getHint(Interval highlight)
IGestureListViewListenerReturns a very short and simple string representation of the selected contents.
This method is only invoked when IGestureListViewListener.canComputeItems() returns
true.
getHint in interface IGestureListViewListenerhighlight - the highlighted items.
null
if no hint should be shown.public boolean isComputeTracksLong(Interval interval)
IGestureListViewListener
Checks if the IGestureListViewListener.computeTracks(Interval) method will be a long
operation. If yes, then the operation will be run in new thread. If not,
the operation will be run in handler event thread.
This method is only invoked when IGestureListViewListener.canComputeItems() returns
true.
isComputeTracksLong in interface IGestureListViewListenerinterval - the selection
true if long operation, false
otherwise.public boolean isComputeTracksOnlineOp(Interval interval)
IGestureListViewListener
Checks if the IGestureListViewListener.computeTracks(Interval) method will involve
polling of some data from the Internet.
This method is only invoked when IGestureListViewListener.canComputeItems() returns
true.
isComputeTracksOnlineOp in interface IGestureListViewListenerinterval - the selection
true if some Internet resources will be polled,
false otherwise.public void removeItems(Interval remove)
IGestureListViewListenerRemove these items from the list. The list view sets the highlight automatically to zero interval.
This operation is invoked even when IGestureListViewListener.isReadOnly() returns
false as some use cases activates a "Go Back" activity
instead of deleting items.
removeItems in interface IGestureListViewListenerremove - remove these items. The interval is not null
however it may be empty.public boolean canHighlight()
IGestureListViewListener
canHighlight in interface IGestureListViewListenertrue if highlight mode can be started,
false otherwise.public void setClipboard(TrackListClipboardObject clipboard)
IGestureListViewListener
setClipboard in interface IGestureListViewListenerclipboard - the clipboard to set.public Object getClipboard()
IGestureListViewListener
getClipboard in interface IGestureListViewListenerpublic void destroy()
AbstractControllersuper() if you override
this method!
destroy in class AbstractControllerprotected void performZoom(boolean zoom)
AbstractController
performZoom in class AbstractControllerzoom - true zoom the controller in, false
zoom the controller out.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||