diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.examples.installer/examples/gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.examples.installer/examples/gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java | 329 |
1 files changed, 0 insertions, 329 deletions
diff --git a/plugins/org.eclipse.emf.cdo.examples.installer/examples/gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java b/plugins/org.eclipse.emf.cdo.examples.installer/examples/gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java deleted file mode 100644 index c4922bb185..0000000000 --- a/plugins/org.eclipse.emf.cdo.examples.installer/examples/gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - * - * Initial Publication: - * Eclipse Magazin - http://www.eclipse-magazin.de - */ -package org.gastro.rcp.internal.department; - -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider.FontAndColorProvider; - -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.TreeViewerColumn; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Tree; -import org.eclipse.swt.widgets.TreeColumn; -import org.eclipse.ui.part.ViewPart; - -import com.swtdesigner.ResourceManager; -import com.swtdesigner.SWTResourceManager; - -import org.gastro.business.BusinessDay; -import org.gastro.business.Order; -import org.gastro.business.OrderDetail; -import org.gastro.business.OrderState; -import org.gastro.inventory.Department; -import org.gastro.inventory.Product; -import org.gastro.rcp.IModel; -import org.gastro.rcp.IModel.ITransactionalOperation; - -import java.text.NumberFormat; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Eike Stepper - */ -public class OrdersView extends ViewPart -{ - public static final String ID = "org.gastro.rcp.orders.view"; - - private static final AdapterFactory FACTORY = IModel.INSTANCE.getAdapterFactory(); - - private TreeViewer treeViewer; - - private Adapter businessDayAdapter = new AdapterImpl() - { - @Override - public void notifyChanged(Notification msg) - { - try - { - treeViewer.getTree().getDisplay().asyncExec(new Runnable() - { - public void run() - { - try - { - treeViewer.refresh(true); - treeViewer.expandAll(); - } - catch (Exception ex) - { - } - } - }); - } - catch (Exception ex) - { - } - } - }; - - public OrdersView() - { - } - - /** - * Passing the focus request to the viewer's control. - */ - @Override - public void setFocus() - { - } - - @Override - public void dispose() - { - IModel.INSTANCE.getBusinessDay().eAdapters().remove(businessDayAdapter); - super.dispose(); - } - - /** - * This is a callback that will allow us to create the viewer and initialize it. - */ - @Override - public void createPartControl(Composite parent) - { - BusinessDay businessDay = IModel.INSTANCE.getBusinessDay(); - businessDay.eAdapters().add(businessDayAdapter); - - { - treeViewer = new TreeViewer(parent, SWT.NONE); - treeViewer.addSelectionChangedListener(new ISelectionChangedListener() - { - public void selectionChanged(SelectionChangedEvent event) - { - Object object = ((IStructuredSelection)event.getSelection()).getFirstElement(); - if (object instanceof OrderDetail) - { - OrderDetail orderDetail = (OrderDetail)object; - IModel.INSTANCE.modify(orderDetail, new ITransactionalOperation<OrderDetail>() - { - public Object execute(OrderDetail orderDetail) - { - orderDetail.setState(orderDetail.getState() == OrderState.ORDERED ? OrderState.SERVED - : OrderState.ORDERED); - return null; - } - }); - - treeViewer.refresh(true); - } - } - }); - - Tree tree = treeViewer.getTree(); - tree.setToolTipText("Klicken um Zustand zu wechseln"); - tree.setForeground(SWTResourceManager.getColor(SWT.COLOR_DARK_BLUE)); - tree.setFont(SWTResourceManager.getFont("Segoe UI", 16, SWT.BOLD)); - { - TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); - TreeColumn trclmnTitel = treeViewerColumn.getColumn(); - trclmnTitel.setToolTipText("Klicken um Zustand zu wechseln"); - trclmnTitel.setWidth(400); - trclmnTitel.setText("Angebot"); - } - - { - TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); - TreeColumn trclmnQuantity = treeViewerColumn.getColumn(); - trclmnQuantity.setResizable(false); - trclmnQuantity.setAlignment(SWT.RIGHT); - trclmnQuantity.setWidth(50); - trclmnQuantity.setText("Menge"); - } - - { - TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); - TreeColumn trclmnPreis = treeViewerColumn.getColumn(); - trclmnPreis.setAlignment(SWT.RIGHT); - trclmnPreis.setResizable(false); - trclmnPreis.setWidth(100); - trclmnPreis.setText("Preis"); - } - - { - TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE); - TreeColumn trclmnSumme = treeViewerColumn.getColumn(); - trclmnSumme.setAlignment(SWT.RIGHT); - trclmnSumme.setResizable(false); - trclmnSumme.setWidth(100); - trclmnSumme.setText("Summe"); - } - - treeViewer.setContentProvider(new AdapterFactoryContentProvider(FACTORY) - { - @Override - public Object[] getElements(Object object) - { - return getChildren(object); - } - - @Override - public Object[] getChildren(Object object) - { - Department department = (Department)IModel.INSTANCE.getStation(); - if (object instanceof BusinessDay) - { - BusinessDay businessDay = (BusinessDay)object; - List<Object> result = new ArrayList<Object>(); - for (Order order : businessDay.getOrders()) - { - for (OrderDetail orderDetail : order.getOrderDetails()) - { - if (orderDetail.getState() == OrderState.ORDERED) - { - Product product = orderDetail.getOffering().getProduct(); - if (product != null) - { - if (product.getDepartment() != department) - { - continue; - } - } - - result.add(order); - break; - } - } - } - - return result.toArray(); - } - - if (object instanceof Order) - { - Order order = (Order)object; - List<Object> result = new ArrayList<Object>(); - for (OrderDetail orderDetail : order.getOrderDetails()) - { - Product product = orderDetail.getOffering().getProduct(); - if (product == null || product.getDepartment() == department) - { - result.add(orderDetail); - } - } - - return result.toArray(); - } - - return super.getChildren(object); - } - - @Override - public boolean hasChildren(Object object) - { - return getChildren(object).length != 0; - } - }); - - treeViewer.setLabelProvider(new FontAndColorProvider(FACTORY, treeViewer) - { - @Override - public String getColumnText(Object object, int columnIndex) - { - if (object instanceof Order) - { - Order order = (Order)object; - switch (columnIndex) - { - case 0: - return order.getTable().getStationID(); - case 1: - case 2: - case 3: - return ""; - } - } - - if (object instanceof OrderDetail) - { - OrderDetail orderDetail = (OrderDetail)object; - switch (columnIndex) - { - case 0: - return orderDetail.getOffering().getName(); - case 1: - return "" + orderDetail.getQuantity() + "x"; - case 2: - return formatPrice(orderDetail.getOffering().getPrice()); - case 3: - return formatPrice(orderDetail.getOffering().getPrice() * orderDetail.getQuantity()); - } - } - - return super.getColumnText(object, columnIndex); - } - - @Override - public Image getColumnImage(Object object, int columnIndex) - { - if (columnIndex == 0 && object instanceof OrderDetail) - { - OrderDetail orderDetail = (OrderDetail)object; - if (orderDetail.getState() == OrderState.ORDERED) - { - return ResourceManager.getPluginImage("org.gastro.rcp.department", "icons/ordered.gif"); - } - - return ResourceManager.getPluginImage("org.gastro.rcp.department", "icons/served.gif"); - } - - return null; - } - - @Override - public Color getForeground(Object object, int columnIndex) - { - if (object instanceof OrderDetail) - { - OrderDetail orderDetail = (OrderDetail)object; - if (orderDetail.getState() != OrderState.ORDERED) - { - return treeViewer.getTree().getDisplay().getSystemColor(SWT.COLOR_GRAY); - } - } - - return super.getForeground(object, columnIndex); - } - - private String formatPrice(float price) - { - return NumberFormat.getCurrencyInstance().format(price); - } - }); - - treeViewer.setInput(businessDay); - treeViewer.expandAll(); - } - } -} |