package at.medevit.elexis.agenda.ui.view;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;
import at.medevit.elexis.agenda.ui.composite.SideBarComposite;
import at.medevit.elexis.agenda.ui.composite.WeekComposite;
import ch.elexis.agenda.data.Termin;
import ch.elexis.core.data.events.ElexisEvent;
import ch.elexis.core.data.events.ElexisEventDispatcher;
import ch.elexis.core.ui.events.ElexisUiEventListenerImpl;
public class WeekView extends ViewPart {
private WeekComposite composite;
private ElexisUiEventListenerImpl reloadListener =
new ElexisUiEventListenerImpl(Termin.class, ElexisEvent.EVENT_RELOAD) {
@Override
public void runInUi(ElexisEvent ev){
if (composite != null && !composite.isDisposed()) {
composite.refetchEvents();
}
}
};
public WeekView(){
// TODO Auto-generated constructor stub
}
@Override
public void createPartControl(Composite parent){
Composite container = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout(2, false);
layout.horizontalSpacing = 0;
layout.verticalSpacing = 0;
layout.marginHeight = 0;
layout.marginWidth = 0;
container.setLayout(layout);
SideBarComposite sideBar = new SideBarComposite(container, SWT.NONE);
sideBar.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true));
composite = new WeekComposite(getSite(), container, SWT.NONE);
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
sideBar.setAgendaComposite(composite);
ElexisEventDispatcher.getInstance().addListeners(reloadListener);
}
@Override
public void dispose(){
ElexisEventDispatcher.getInstance().removeListeners(reloadListener);
}
@Override
public void setFocus(){
if (composite != null && !composite.isDisposed()) {
composite.setFocus();
}
}
}