package de.bht.fpa.icashbox.ui.orders; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.StructuredSelection; import com.google.inject.Inject; import de.bht.fpa.icashbox.model.Coffee; import de.bht.fpa.icashbox.model.Milk; import de.bht.fpa.icashbox.model.Order; import de.bht.fpa.icashbox.model.Sugar; import de.bht.fpa.icashbox.model.Tea; import de.bht.fpa.icashbox.mvp.BasePresenter; public class OrderPresenter extends BasePresenter<OrderView, Order> { @Inject private OrderTreeContentProvider orderTreeContentProvider; @Inject private AddProductBtnSelection addProductBtnSelection; @Inject private AddExtrasBtnSelection addExtrasBtnSelection; @Inject private ProductDescriptionCellLabelProvider productDescriptionCellLabelProvider; @Inject private ProductPriceCellLabelProvider productPriceCellLabelProvider; @Inject private ClassLabelProvider classLabelProvider; @SuppressWarnings("rawtypes") @Override protected void uiAvailable(OrderView view) { view.getAddProductBtn().addSelectionListener(addProductBtnSelection); view.getAddExtraBtn().addSelectionListener(addExtrasBtnSelection); view.getOrderTreeViewer().setContentProvider(orderTreeContentProvider); view.getTreeViewerProductColumn().setLabelProvider(productDescriptionCellLabelProvider); view.getTreeViewerPriceColumn().setLabelProvider(productPriceCellLabelProvider); view.getProductsComboViewer().setContentProvider(ArrayContentProvider.getInstance()); view.getProductsComboViewer().setLabelProvider(classLabelProvider); Class[] products = new Class[] { Coffee.class, Tea.class }; view.getProductsComboViewer().setInput(products); view.getProductsComboViewer().setSelection(new StructuredSelection(products[0])); view.getExtrasComboViewer().setContentProvider(ArrayContentProvider.getInstance()); view.getExtrasComboViewer().setLabelProvider(classLabelProvider); Class[] extras = new Class[] { Milk.class, Sugar.class }; view.getExtrasComboViewer().setInput(extras); view.getExtrasComboViewer().setSelection(new StructuredSelection(extras[0])); getView().getOrderTreeViewer().setInput(getModel()); } @Override protected void uiDispose(OrderView view) { view.getAddProductBtn().removeSelectionListener(addProductBtnSelection); view.getAddExtraBtn().removeSelectionListener(addExtrasBtnSelection); } }