Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java')
-rw-r--r--plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java658
1 files changed, 329 insertions, 329 deletions
diff --git a/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java b/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java
index 8d77d2c9c1..c4922bb185 100644
--- a/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java
+++ b/plugins/org.gastro.rcp.department/src/org/gastro/rcp/internal/department/OrdersView.java
@@ -1,329 +1,329 @@
-/*
- * 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();
- }
- }
-}
+/*
+ * 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();
+ }
+ }
+}

Back to the top