/**
*
*/
package de.toaot.view.timeline;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
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.Twitter.Message;
import de.toaot.twitter.auth.TwitterFactory;
/**
* @author hseifert
*
*/
public class Direct extends ViewPart {
List<Message> messages = null;
/**
*
*/
public Direct() {
// 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) {
messages = TwitterFactory.getTwitter().getDirectMessages();
if (messages != null && !messages.isEmpty()) {
text.setText(TimelineHelper.prepareMessage(messages));
messages.clear();
} else {
MessageDialog.openError(shell, "Fehler",
"Es konnten keine Direktnachrichten geladen werden.");
}
return Status.OK_STATUS;
}
};
uiJob.schedule();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
*/
@Override
public void setFocus() {
// TODO Auto-generated method stub
}
}