Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Java by r ( 15 years ago )
package com.storytime;
import java.io.IOException;
import java.io.InputStream;
import java.util.Vector;
import javax.microedition.io.Connector;
import javax.microedition.io.file.FileConnection;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.system.PersistentObject;
import net.rim.device.api.system.PersistentStore;
import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.DrawStyle;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Font;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.BitmapField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.ListField;
import net.rim.device.api.ui.component.ListFieldCallback;
import net.rim.device.api.ui.component.RichTextField;
public class TaskField extends ListField implements ListFieldCallback {
private Vector rows;
private Bitmap p1,p2,p3;
TableRowManager row;
BitmapField _ridehood,_img2,_img3,_imgPreview;
private Bitmap bt_preview;
//String filePath = "file:///SDCard/StoryTime/Preview/";
private static Vector _data;
private static PersistentObject storeData;
private static long storeKey = 0xe7c96286f6bf8a4bL;
public TaskField() {
super(0, ListField.MULTI_SELECT);
setRowHeight(250);
setEmptyString("Hooray, no tasks here!", DrawStyle.HCENTER);
// TODO Auto-generated constructor stub
setCallback(this);
//String dateString = "";
rows=new Vector();
synchronized (storeData) {
if (_data.isEmpty()) {
new PersistData(-1);
}
if (!_data.isEmpty()) {
for (int x = 0; x <_data.size(); x++)
{
TableRow row=new TableRow();
StoreInfo info = (StoreInfo) _data.elementAt(x);
int st_indx = Integer.parseInt(info.getElement(StoreInfo.ind));
System.out.println("**************storyId********"+st_indx);
System.out.println("**************Inside Taskfield********");
if (x==0)
{
p1=Bitmap.getBitmapResource("20.jpg");
_ridehood=new BitmapField(p1);
row.add(_ridehood);
_ridehood.setPadding(25, 0, 0, 0);
}else
{
FileConnection fc = null;
InputStream input = null;
try
{
fc = (FileConnection) Connector.open("file:///SDCard/StoryTime/Preview/"+st_indx+".jpg",Connector.READ_WRITE);
if (fc.exists())
{
input = fc.openInputStream();
byte[] data = new byte[(int) fc.fileSize()];
input.read(data);
bt_preview = Bitmap.createBitmapFromPNG(data, 0, data.length);
}
}
catch (Exception e)
{
e.printStackTrace();
// TODO: handle exception
}
finally
{
if(input!=null)
{
try
{
input.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
if (fc!=null)
{
try
{
fc.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
_imgPreview=new BitmapField(bt_preview,Field.USE_ALL_WIDTH|Field.USE_ALL_HEIGHT);
row.add(_imgPreview);
_imgPreview.setPadding(25, 0, 0, 0);
}
LabelField task = new LabelField(info.getElement(StoreInfo.Title) ,LabelField.USE_ALL_WIDTH|DrawStyle.HCENTER);
if (x % 1 == 0)
{
task.setFont(Font.getDefault().derive(Font.ITALIC));
task.setPadding(20, 20, 0, 0);
}else
{
task.setFont(Font.getDefault().derive(Font.ITALIC));
task.setPadding(20, 20, 0, 0);
}
row.add(task);
Font myFont = Font.getDefault().derive(Font.PLAIN,16);
RichTextField richText_desc = new RichTextField(info.getElement(StoreInfo.Description),DrawStyle.ELLIPSIS|DrawStyle.RIGHT|Field.USE_ALL_WIDTH)
{
protected void paint(Graphics graphics)
{
graphics.setColor(Color.BLACK);
super.paint(graphics);
}
};
richText_desc.setFont(myFont);
row.add(richText_desc);
Bitmap _readBook=Bitmap.getBitmapResource("Btn-Read.png");
BitmapField _readBookField=new BitmapField(_readBook,BitmapField.USE_ALL_WIDTH|BitmapField.USE_ALL_HEIGHT|DrawStyle.ELLIPSIS);
row.add(_readBookField);
LabelField task2=new LabelField("Size 50kb:",LabelField.USE_ALL_WIDTH);
task2.setFont(Font.getDefault().derive(Font.PLAIN,20));
row.add(task2);
Bitmap _callDivider=Bitmap.getBitmapResource("celldivider_android.png");
BitmapField _callDividerField=new BitmapField(_callDivider,BitmapField.USE_ALL_WIDTH|BitmapField.USE_ALL_HEIGHT|DrawStyle.ELLIPSIS);
row.add(_callDividerField);
Bitmap _callDivider1=Bitmap.getBitmapResource("celldivider_android.png");
BitmapField _callDividerField1=new BitmapField(_callDivider1,BitmapField.USE_ALL_WIDTH|BitmapField.USE_ALL_HEIGHT|DrawStyle.ELLIPSIS);
row.add(_callDividerField1);
rows.addElement(row);
}
}
}
setSize(rows.size());
}
static {
storeData = PersistentStore.getPersistentObject(storeKey);
synchronized (storeData) {
if (storeData.getContents() == null) {
storeData.setContents(new Vector());
storeData.commit();
}
}
_data = new Vector();
_data = (Vector) storeData.getContents();
}
public void drawListRow(ListField listField, Graphics graphics, int index,
int y, int width) {
// TODO Auto-generated method stub
TaskField list=(TaskField) listField;
TableRow rowManager=(TableRow) list.rows.elementAt(index);
System.out.println("************list.getRowHeight()**************"+list.getRowHeight());
rowManager.drawrow(graphics, 0, y, width, list.getRowHeight());
}
public Object get(ListField listField, int index) {
// TODO Auto-generated method stub
return null;
}
public int getPreferredWidth(ListField listField) {
// TODO Auto-generated method stub
return 0;
}
public int indexOfList(ListField listField, String prefix, int start) {
// TODO Auto-generated method stub
return 0;
}
protected boolean navigationClick(int status, int time) {
int index= this.getSelectedIndex();
String storyId = null;
String ind,imgCount;
StoreInfo info = (StoreInfo) _data.elementAt(index);
storyId=info.getElement(StoreInfo.StoryId);
ind=info.getElement(StoreInfo.ind);
imgCount=info.getElement(StoreInfo.imgCount);
if (index==0) {
UiApplication.getUiApplication().pushScreen(new Story("redridinghood","15"));
}else
{
PlsWaitScreen _dialog=new PlsWaitScreen(storyId,imgCount,index);
UiApplication.getUiApplication().pushScreen(_dialog);
}
//UiApplication.getUiApplication().popScreen(_dialog);
return super.navigationClick(status, time);
}
}
Revise this Paste