/**
*
*/
package de.toaot.view.timeline;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.part.ViewPart;
import org.eclipse.ui.progress.UIJob;
import winterwell.jtwitter.TwitterException;
import winterwell.jtwitter.Twitter.Status;
import de.toaot.twitter.auth.TwitterFactory;
/**
* @author hseifert
*
*/
public class Friends extends ViewPart {
List<Status> status = null;
/**
*
*/
public Friends() {
// TODO Auto-generated constructor stub
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets
* .Composite)
*/
@Override
public void createPartControl(Composite parent) {
final Link text = new Link(parent, SWT.BORDER | SWT.MULTI);
final Shell shell = parent.getShell();
UIJob uiJob = new UIJob("Update UI") {
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
try {
status = TwitterFactory.getTwitter().getFriendsTimeline();
} catch (TwitterException e) {
MessageDialog.openError(shell, "Fehler",
"Es gab einen Fehler beim Laden der Follower-Tweets. "
+ e.getMessage());
}
if (status != null && !status.isEmpty()) {
text.setText(TimelineHelper.prepareStatus(status));
status.clear();
} else {
MessageDialog.openError(shell, "Fehler",
"Es konnten keine Follower-Tweets geladen werden.");
}
return org.eclipse.core.runtime.Status.OK_STATUS;
}
};
uiJob.schedule();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
*/
@Override
public void setFocus() {
// TODO Auto-generated method stub
}
}