List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer
public TableViewer(Composite parent, int style)
From source file:at.rc.tacos.client.view.admin.PhoneAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it.//from www. j a v a 2 s . com */ @Override public void createPartControl(final Composite parent) { String authorization = SessionManager.getInstance().getLoginInformation().getAuthorization(); // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Mobiltelefone"); if (!authorization.equalsIgnoreCase("Administrator")) form.setEnabled(false); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { // get the selected mobile phone ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); MobilePhoneDetail phone = (MobilePhoneDetail) obj; // create the editor input and open MobilePhoneEditorInput input = new MobilePhoneEditorInput(phone, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, MobilePhoneEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the mobile phone " + phone, IStatus.ERROR); } } }); viewer.setContentProvider(new MobilePhoneContentProvider()); viewer.setLabelProvider(new MobilePhoneLabelProvider()); viewer.setInput(ModelFactory.getInstance().getPhoneManager().toArray()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }
From source file:at.rc.tacos.client.view.admin.ServiceTypeAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it.//ww w. java 2 s . c o m */ @Override public void createPartControl(final Composite parent) { String authorization = SessionManager.getInstance().getLoginInformation().getAuthorization(); // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Dienstverhltnisse"); if (!authorization.equalsIgnoreCase("Administrator")) form.setEnabled(false); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { // get the selected service type ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); ServiceType serviceType = (ServiceType) obj; // create the editor input and open ServiceTypeEditorInput input = new ServiceTypeEditorInput(serviceType, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, ServiceTypeEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the service type " + serviceType, IStatus.ERROR); } } }); viewer.setContentProvider(new ServiceTypeContentProvider()); viewer.setLabelProvider(new ServiceTypeLabelProvider()); viewer.setInput(ModelFactory.getInstance().getServiceManager().toArray()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }
From source file:at.rc.tacos.client.view.admin.StaffMemberAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it./*from w w w .j a v a 2 s . c o m*/ */ @Override public void createPartControl(final Composite parent) { // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Mitarbeiter"); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); StaffMember member = (StaffMember) obj; Login login = ModelFactory.getInstance().getLoginManager().getLoginByUsername(member.getUserName()); // assert valid if (login == null) { Activator.getDefault().log("Failed to open the editor for the staff member " + member + "\n The login object for the user is null", IStatus.ERROR); MessageDialog.openError(getSite().getShell(), "Fehler beim ndern von " + member.getUserName(), "Der Mitarbeiter" + member.getFirstName() + " " + member.getLastName() + " kann nicht editiert werden"); } StaffMemberEditorInput input = new StaffMemberEditorInput(member, login, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, StaffMemberEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the staff member " + member, IStatus.ERROR); } } }); viewer.setContentProvider(new StaffMemberContentProvider()); viewer.setLabelProvider(new StaffMemberLabelProvider()); viewer.setInput(ModelFactory.getInstance().getStaffManager().getStaffList()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }
From source file:at.rc.tacos.client.view.admin.VehicleAdminView.java
License:Open Source License
/** * This is a callback that will allow us to create the viewer and initialize * it.//from w w w . j a v a 2s. c o m */ @Override public void createPartControl(final Composite parent) { String authorization = SessionManager.getInstance().getLoginInformation().getAuthorization(); // the scrolled form toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); form.setText("Liste der Fahrzeuge"); if (!authorization.equalsIgnoreCase("Administrator")) form.setEnabled(false); toolkit.decorateFormHeading(form.getForm()); GridLayout layout = new GridLayout(); layout.horizontalSpacing = 0; layout.verticalSpacing = 0; layout.marginHeight = 0; layout.marginWidth = 0; form.getBody().setLayout(layout); form.getBody().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer = new TableViewer(form.getBody(), SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); viewer.getTable().setLayout(new GridLayout()); viewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent dce) { ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); VehicleDetail vehicle = (VehicleDetail) obj; VehicleDetailEditorInput input = new VehicleDetailEditorInput(vehicle, false); IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); try { page.openEditor(input, VehicleDetailEditor.ID); } catch (PartInitException e) { Activator.getDefault().log("Failed to open the editor for the vehicle " + vehicle, IStatus.ERROR); } } }); viewer.setContentProvider(new VehicleContentProvider()); viewer.setLabelProvider(new VehicleLabelProvider()); viewer.setInput(ModelFactory.getInstance().getVehicleManager().getVehicleList()); getViewSite().setSelectionProvider(viewer); // add actions to the toolbar createToolBarActions(); // set this table as a selection provider getViewSite().setSelectionProvider(viewer); }
From source file:at.rc.tacos.client.view.DialysisView.java
License:Open Source License
/** * Call back method to create the control and initialize them. * //from w w w. j av a 2 s . co m * @param parent * the parent composite to add */ @Override public void createPartControl(final Composite parent) { // Create the scrolled parent component toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createScrolledForm(parent); toolkit.decorateFormHeading(form.getForm()); form.getBody().setLayout(new FillLayout()); final Composite composite = form.getBody(); viewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.setContentProvider(new DialysisTransportContentProvider()); viewer.setLabelProvider(new DialysisTransportLabelProvider()); viewer.setInput(ModelFactory.getInstance().getDialyseManager()); viewer.getTable().setLinesVisible(true); viewer.refresh(); final Table table_2 = viewer.getTable(); table_2.setLinesVisible(true); table_2.setHeaderVisible(true); final TableColumn lockColumn = new TableColumn(table_2, SWT.NONE); lockColumn.setToolTipText("Eintrag wird gerade bearbeitet"); lockColumn.setWidth(24); lockColumn.setText("L"); final TableColumn newColumnTableColumnStationDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnStationDialyse.setToolTipText("Zustndige Ortsstelle"); newColumnTableColumnStationDialyse.setWidth(200); newColumnTableColumnStationDialyse.setText("OS"); final TableColumn newColumnTableColumnAbfDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnAbfDialyse.setToolTipText("Geplante Abfahrt an Ortsstelle"); newColumnTableColumnAbfDialyse.setWidth(68); newColumnTableColumnAbfDialyse.setText("Abf"); final TableColumn newColumnTableColumnAnkDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnAnkDialyse.setToolTipText("Geplante Ankunft beim Patienten"); newColumnTableColumnAnkDialyse.setWidth(68); newColumnTableColumnAnkDialyse.setText("Ank"); final TableColumn newColumnTableColumnTerminDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnTerminDialyse.setToolTipText("Termin auf der Dialyse"); newColumnTableColumnTerminDialyse.setWidth(68); newColumnTableColumnTerminDialyse.setText("Termin"); final TableColumn newColumnTableColumnRTAbfahrtDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnRTAbfahrtDialyse.setToolTipText("Abfahrt an der Ortsstelle"); newColumnTableColumnRTAbfahrtDialyse.setWidth(68); newColumnTableColumnRTAbfahrtDialyse.setText("RT Abfahrt"); final TableColumn newColumnTableColumnAbholbereitDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnAbholbereitDialyse.setToolTipText("Patient ist mit Dialyse fertig, abholbereit im LKH"); newColumnTableColumnAbholbereitDialyse.setWidth(68); newColumnTableColumnAbholbereitDialyse.setText("Abholbereit"); final TableColumn newColumnTableColumnWohnortDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnWohnortDialyse.setWidth(250); newColumnTableColumnWohnortDialyse.setText("Wohnort"); final TableColumn newColumnTableColumnNameDialyse = new TableColumn(table_2, SWT.NONE); newColumnTableColumnNameDialyse.setWidth(250); newColumnTableColumnNameDialyse.setText("Name"); final TableColumn newColumnTableColumnDialyseort = new TableColumn(table_2, SWT.NONE); newColumnTableColumnDialyseort.setWidth(250); newColumnTableColumnDialyseort.setText("Dialyseort"); final TableColumn newColumnTableColumnMontag = new TableColumn(table_2, SWT.NONE); newColumnTableColumnMontag.setData("newKey", null); newColumnTableColumnMontag.setWidth(30); newColumnTableColumnMontag.setText("Mo"); final TableColumn newColumnTableColumnDienstag = new TableColumn(table_2, SWT.NONE); newColumnTableColumnDienstag.setWidth(30); newColumnTableColumnDienstag.setText("Di"); final TableColumn newColumnTableColumnMittwoch = new TableColumn(table_2, SWT.NONE); newColumnTableColumnMittwoch.setWidth(30); newColumnTableColumnMittwoch.setText("Mi"); final TableColumn newColumnTableColumnDonnerstag = new TableColumn(table_2, SWT.NONE); newColumnTableColumnDonnerstag.setWidth(30); newColumnTableColumnDonnerstag.setText("Do"); final TableColumn newColumnTableColumnFreitag = new TableColumn(table_2, SWT.NONE); newColumnTableColumnFreitag.setWidth(30); newColumnTableColumnFreitag.setText("Fr"); final TableColumn newColumnTableColumnSamstag = new TableColumn(table_2, SWT.NONE); newColumnTableColumnSamstag.setWidth(30); newColumnTableColumnSamstag.setText("Sa"); final TableColumn newColumnTableColumnSonntag = new TableColumn(table_2, SWT.NONE); newColumnTableColumnSonntag.setWidth(30); newColumnTableColumnSonntag.setText("So"); final TableColumn newColumnTableColumnTA = new TableColumn(table_2, SWT.NONE); newColumnTableColumnTA.setWidth(90); newColumnTableColumnTA.setText("TA"); final TableColumn newColumnTableColumnStationaer = new TableColumn(table_2, SWT.NONE); newColumnTableColumnStationaer.setToolTipText("Patient wird derzeit nicht transportiert"); newColumnTableColumnStationaer.setWidth(40); newColumnTableColumnStationaer.setText("Stat"); viewer.getTable().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (viewer.getTable().getItem(new Point(e.x, e.y)) == null) { viewer.setSelection(new StructuredSelection()); } } }); /** make the columns sort able */ Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = viewer.getTable().getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = viewer.getTable().getSortDirection(); // revert the sort order if the column is the same if (sortColumn == currentColumn) { if (dir == SWT.UP) dir = SWT.DOWN; else dir = SWT.UP; } else { viewer.getTable().setSortColumn(currentColumn); dir = SWT.UP; } // sort the data based on column and direction String sortIdentifier = null; if (currentColumn == newColumnTableColumnStationDialyse) sortIdentifier = DialysisTransportSorter.RESP_STATION_SORTER; if (currentColumn == newColumnTableColumnAbfDialyse) sortIdentifier = DialysisTransportSorter.ABF_SORTER; if (currentColumn == newColumnTableColumnAnkDialyse) sortIdentifier = DialysisTransportSorter.AT_PATIENT_SORTER; if (currentColumn == newColumnTableColumnTerminDialyse) sortIdentifier = DialysisTransportSorter.TERM_SORTER; if (currentColumn == newColumnTableColumnWohnortDialyse) sortIdentifier = DialysisTransportSorter.TRANSPORT_FROM_SORTER; if (currentColumn == newColumnTableColumnNameDialyse) sortIdentifier = DialysisTransportSorter.PATIENT_SORTER; if (currentColumn == newColumnTableColumnDialyseort) sortIdentifier = DialysisTransportSorter.TRANSPORT_TO_SORTER; if (currentColumn == newColumnTableColumnRTAbfahrtDialyse) sortIdentifier = DialysisTransportSorter.RT_SORTER; if (currentColumn == newColumnTableColumnAbholbereitDialyse) sortIdentifier = DialysisTransportSorter.READY_SORTER; if (currentColumn == newColumnTableColumnTA) sortIdentifier = DialysisTransportSorter.TA_SORTER; // apply the filter viewer.getTable().setSortDirection(dir); viewer.setSorter(new DialysisTransportSorter(sortIdentifier, dir)); } }; // attach the listener newColumnTableColumnStationDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnAbfDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnAnkDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnTerminDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnWohnortDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnNameDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnRTAbfahrtDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnAbholbereitDialyse.addListener(SWT.Selection, sortListener); newColumnTableColumnTA.addListener(SWT.Selection, sortListener); newColumnTableColumnDialyseort.addListener(SWT.Selection, sortListener); makeActions(); hookContextMenu(); createToolBarActions(); viewer.refresh(); }
From source file:at.rc.tacos.client.view.JournalView.java
License:Open Source License
/** * Callback method to create the control and initialize them. * // w ww . j av a2 s . c om * @param parent * the parent composite to add */ @Override public void createPartControl(final Composite parent) { // Create the scrolled parent component toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createForm(parent); toolkit.decorateFormHeading(form); form.getBody().setLayout(new FillLayout()); final Composite composite = form.getBody(); viewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.setContentProvider(new JournalViewContentProvider()); viewer.setLabelProvider(new JournalViewLabelProvider()); viewer.setInput(ModelFactory.getInstance().getTransportManager()); viewer.getTable().setLinesVisible(true); // set the tooltip tooltip = new JournalViewTooltip(viewer.getControl()); // show the tooltip when the selection has changed viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { TableItem[] selection = viewer.getTable().getSelection(); if (selection != null && selection.length > 0) { Rectangle bounds = selection[0].getBounds(); tooltip.show(new Point(bounds.x, bounds.y)); } } }); viewer.getTable().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (viewer.getTable().getItem(new Point(e.x, e.y)) == null) { viewer.setSelection(new StructuredSelection()); } } }); // sort the table by default viewer.setSorter(new TransportSorter(TransportSorter.TRANSPORT_FROM_SORTER, SWT.DOWN)); // create the table for the transports final Table table = viewer.getTable(); table.setLinesVisible(true); table.setHeaderVisible(true); final TableColumn lockColumn = new TableColumn(table, SWT.NONE); lockColumn.setToolTipText("Eintrag wird gerade bearbeitet"); lockColumn.setWidth(24); lockColumn.setText("L"); final TableColumn realOSJournal = new TableColumn(table, SWT.NONE); realOSJournal.setToolTipText("Ortsstelle, die den Transport durchgefhrt hat"); realOSJournal.setWidth(29); realOSJournal.setText("OS"); final TableColumn columnTNrJournal = new TableColumn(table, SWT.NONE); columnTNrJournal.setMoveable(true); columnTNrJournal.setToolTipText("Transportnummer"); columnTNrJournal.setWidth(70); columnTNrJournal.setText("TNr"); final TableColumn columnPrioritaetJournal = new TableColumn(table, SWT.NONE); columnPrioritaetJournal.setToolTipText( "1 (NEF), 2 (Transport), 3 (Terminfahrt), 4 (Rcktransport), 5 (Heimtransport), 6 (Sonstiges), 7 (NEF extern)"); columnPrioritaetJournal.setWidth(20); columnPrioritaetJournal.setText("Pr"); final TableColumn columnTransportVonJournal = new TableColumn(table, SWT.NONE); columnTransportVonJournal.setMoveable(true); columnTransportVonJournal.setWidth(250); columnTransportVonJournal.setText("Transport von"); final TableColumn columnPatientJournal = new TableColumn(table, SWT.NONE); columnPatientJournal.setMoveable(true); columnPatientJournal.setWidth(195); columnPatientJournal.setText("Patient"); final TableColumn columnTransportNachJournal = new TableColumn(table, SWT.NONE); columnTransportNachJournal.setWidth(250); columnTransportNachJournal.setText("Transport nach"); final TableColumn columnErkrVerlJournal = new TableColumn(table, SWT.NONE); columnErkrVerlJournal.setWidth(120); columnErkrVerlJournal.setText("Erkr/Verl"); final TableColumn columnAEJournal = new TableColumn(table, SWT.NONE); columnAEJournal.setToolTipText("Auftrag erteilt"); columnAEJournal.setWidth(43); columnAEJournal.setText("AE"); final TableColumn columnS1Journal = new TableColumn(table, SWT.NONE); columnS1Journal.setToolTipText("Transportbeginn"); columnS1Journal.setWidth(43); columnS1Journal.setText("S1"); final TableColumn columnS2Journal = new TableColumn(table, SWT.NONE); columnS2Journal.setToolTipText("Bei Patient"); columnS2Journal.setWidth(43); columnS2Journal.setText("S2"); final TableColumn columnS3Journal = new TableColumn(table, SWT.NONE); columnS3Journal.setToolTipText("Abfahrt mit Patient"); columnS3Journal.setWidth(43); columnS3Journal.setText("S3"); final TableColumn columnS4Journal = new TableColumn(table, SWT.NONE); columnS4Journal.setToolTipText("Ankunft Zielort"); columnS4Journal.setWidth(43); columnS4Journal.setText("S4"); final TableColumn columnS5Journal = new TableColumn(table, SWT.NONE); columnS5Journal.setToolTipText("Ziel frei"); columnS5Journal.setWidth(43); columnS5Journal.setText("S5"); final TableColumn columnS6Journal = new TableColumn(table, SWT.NONE); columnS6Journal.setToolTipText("Fahrzeug eingerckt"); columnS6Journal.setWidth(43); columnS6Journal.setText("S6"); final TableColumn columnFzgJournal = new TableColumn(table, SWT.NONE); columnFzgJournal.setWidth(45); columnFzgJournal.setText("Fzg"); final TableColumn columnFahrerJournal = new TableColumn(table, SWT.NONE); columnFahrerJournal.setWidth(120); columnFahrerJournal.setText("Fahrer"); final TableColumn columnSaniIJournal = new TableColumn(table, SWT.NONE); columnSaniIJournal.setWidth(120); columnSaniIJournal.setText("Sanitter I"); final TableColumn columnSaniIIJournal = new TableColumn(table, SWT.NONE); columnSaniIIJournal.setWidth(120); columnSaniIIJournal.setText("Sanitter II"); // make the columns sort able Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = viewer.getTable().getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = viewer.getTable().getSortDirection(); // revert the sort order if the column is the same if (sortColumn == currentColumn) { if (dir == SWT.UP) dir = SWT.DOWN; else dir = SWT.UP; } else { viewer.getTable().setSortColumn(currentColumn); dir = SWT.UP; } // sort the data based on column and direction String sortIdentifier = null; if (currentColumn == columnTNrJournal) sortIdentifier = TransportSorter.TNR_SORTER; if (currentColumn == columnPrioritaetJournal) sortIdentifier = TransportSorter.PRIORITY_SORTER; if (currentColumn == columnTransportVonJournal) sortIdentifier = TransportSorter.TRANSPORT_FROM_SORTER; if (currentColumn == columnPatientJournal) sortIdentifier = TransportSorter.PATIENT_SORTER; if (currentColumn == columnTransportNachJournal) sortIdentifier = TransportSorter.TRANSPORT_TO_SORTER; if (currentColumn == columnErkrVerlJournal) sortIdentifier = TransportSorter.KIND_OF_ILLNESS_SORTER; if (currentColumn == columnAEJournal) sortIdentifier = TransportSorter.AE_SORTER; if (currentColumn == columnS1Journal) sortIdentifier = TransportSorter.S1_SORTER; if (currentColumn == columnS2Journal) sortIdentifier = TransportSorter.S2_SORTER; if (currentColumn == columnS3Journal) sortIdentifier = TransportSorter.S3_SORTER; if (currentColumn == columnS4Journal) sortIdentifier = TransportSorter.S4_SORTER; if (currentColumn == columnS5Journal) sortIdentifier = TransportSorter.S5_SORTER; if (currentColumn == columnS6Journal) sortIdentifier = TransportSorter.S6_SORTER; if (currentColumn == columnFzgJournal) sortIdentifier = TransportSorter.VEHICLE_SORTER; if (currentColumn == columnFahrerJournal) sortIdentifier = TransportSorter.DRIVER_SORTER; if (currentColumn == columnSaniIJournal) sortIdentifier = TransportSorter.PARAMEDIC_I_SORTER; if (currentColumn == columnSaniIIJournal) sortIdentifier = TransportSorter.PARAMEDIC_II_SORTER; // apply the filter viewer.getTable().setSortDirection(dir); viewer.setSorter(new TransportSorter(sortIdentifier, dir)); } }; // attach the listener columnTNrJournal.addListener(SWT.Selection, sortListener); columnPrioritaetJournal.addListener(SWT.Selection, sortListener); columnTransportVonJournal.addListener(SWT.Selection, sortListener); columnPatientJournal.addListener(SWT.Selection, sortListener); columnTransportNachJournal.addListener(SWT.Selection, sortListener); columnErkrVerlJournal.addListener(SWT.Selection, sortListener); columnAEJournal.addListener(SWT.Selection, sortListener); columnS1Journal.addListener(SWT.Selection, sortListener); columnS2Journal.addListener(SWT.Selection, sortListener); columnS3Journal.addListener(SWT.Selection, sortListener); columnS4Journal.addListener(SWT.Selection, sortListener); columnS5Journal.addListener(SWT.Selection, sortListener); columnS6Journal.addListener(SWT.Selection, sortListener); columnFzgJournal.addListener(SWT.Selection, sortListener); columnSaniIJournal.addListener(SWT.Selection, sortListener); columnSaniIIJournal.addListener(SWT.Selection, sortListener); // create the actions makeActions(); hookContextMenu(); // show only transport with the status journal viewer.addFilter(new TransportStateViewFilter(PROGRAM_STATUS_JOURNAL)); viewer.addFilter(new TransportDateFilter(Calendar.getInstance())); viewer.refresh(); }
From source file:at.rc.tacos.client.view.OutstandingTransportsView.java
License:Open Source License
/** * Call back method to create the control and initialize them. * /*w w w . ja va 2 s . c om*/ * @param parent * the parent composite to add */ @Override public void createPartControl(final Composite parent) { // Create the scrolled parent component toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createForm(parent); form.setText("Offene Transporte"); toolkit.decorateFormHeading(form); form.getBody().setLayout(new FillLayout()); final Composite composite = form.getBody(); viewerOffTrans = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewerOffTrans.setContentProvider(new OutstandingTransportsViewContentProvider()); viewerOffTrans.setLabelProvider(new OutstandingTransportsViewLabelProvider()); viewerOffTrans.setInput(ModelFactory.getInstance().getTransportManager()); viewerOffTrans.getTable().setLinesVisible(true); viewerOffTrans.getTable().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (viewerOffTrans.getTable().getItem(new Point(e.x, e.y)) == null) { viewerOffTrans.setSelection(new StructuredSelection()); } } }); viewerOffTrans.refresh(); // make the actions for the context menu when selection has changed viewerOffTrans.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { this.makeActions(); this.hookContextMenu(); } /** * Creates the needed actions */ public void makeActions() { forwardTransportAction = new ForwardTransportAction(viewerOffTrans); editTransportAction = new EditTransportAction(viewerOffTrans, "outstanding"); cancelTransportAction = new CancelTransportAction(viewerOffTrans); copyTransportAction = new CopyTransportAction(viewerOffTrans); // get the list of all vehicle with the status ready for action List<VehicleDetail> readyVehicles = ModelFactory.getInstance().getVehicleManager() .getReadyVehicleList(); // loop and create the actions actionList.clear(); for (VehicleDetail veh : readyVehicles) { AssignCarAction action = new AssignCarAction(viewerOffTrans, veh); actionList.add(action); } } /** * Creates the context menu */ private void hookContextMenu() { MenuManager menuManager = new MenuManager("#OutstandingPopupMenu"); menuManager.setRemoveAllWhenShown(true); menuManager.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { fillContextMenu(manager); } }); Menu menu = menuManager.createContextMenu(viewerOffTrans.getControl()); viewerOffTrans.getControl().setMenu(menu); // getSite().registerContextMenu(menuManager, viewerOffTrans); } /** * Fills the context menu with the actions */ private void fillContextMenu(IMenuManager manager) { // get the selected object final Object firstSelectedObject = ((IStructuredSelection) viewerOffTrans.getSelection()) .getFirstElement(); // cast to a RosterEntry Transport transport = (Transport) firstSelectedObject; if (transport == null) return; // submenu for the available vehicles MenuManager menuManagerSub = new MenuManager("Fahrzeug zuweisen"); // add the actions manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); manager.add(menuManagerSub); // create a list of ready vehicles and disable the selection if // the transport is locked boolean locked = lockManager.containsLock(Transport.ID, transport.getTransportId()); for (AssignCarAction ac : actionList) { menuManagerSub.add(ac); if (locked) { ac.setEnabled(false); } } manager.add(new Separator()); manager.add(editTransportAction); manager.add(new Separator()); manager.add(cancelTransportAction); manager.add(forwardTransportAction); manager.add(new Separator()); manager.add(copyTransportAction); // if locked if (locked) { copyTransportAction.setEnabled(false); } else copyTransportAction.setEnabled(true); } }); // set the default sorter viewerOffTrans.setSorter(new TransportSorter(TransportSorter.PRIORITY_SORTER, SWT.UP)); final Table tableOff = viewerOffTrans.getTable(); tableOff.setLinesVisible(true); tableOff.setHeaderVisible(true); final TableColumn lockColumn = new TableColumn(tableOff, SWT.NONE); lockColumn.setToolTipText("Eintrag wird gerade bearbeitet"); lockColumn.setWidth(24); lockColumn.setText("L"); final TableColumn prioritaetOffeneTransporte = new TableColumn(tableOff, SWT.NONE); prioritaetOffeneTransporte.setToolTipText( "A (NEF), B (BD1), C (Transport), D (Rcktransport), E (Heimtransport), F (Sonstiges), E (NEF extern)"); prioritaetOffeneTransporte.setWidth(26); prioritaetOffeneTransporte.setText("Pr"); final TableColumn respOSOffeneTransporte = new TableColumn(tableOff, SWT.NONE); respOSOffeneTransporte.setToolTipText("Zustndige Ortsstelle"); respOSOffeneTransporte.setWidth(30); respOSOffeneTransporte.setText("OS"); final TableColumn abfOffeneTransporte = new TableColumn(tableOff, SWT.NONE); abfOffeneTransporte.setToolTipText("Abfahrt auf der Dienststelle"); abfOffeneTransporte.setWidth(43); abfOffeneTransporte.setText("Abf"); final TableColumn ankOffeneTransporte = new TableColumn(tableOff, SWT.NONE); ankOffeneTransporte.setToolTipText("Ankunft beim Patienten"); ankOffeneTransporte.setWidth(43); ankOffeneTransporte.setText("Ank."); final TableColumn terminOffeneTransporte = new TableColumn(tableOff, SWT.NONE); terminOffeneTransporte.setToolTipText("Terminzeit am Zielort"); terminOffeneTransporte.setWidth(43); terminOffeneTransporte.setText("Termin"); final TableColumn transportVonOffeneTransporte = new TableColumn(tableOff, SWT.NONE); transportVonOffeneTransporte.setWidth(250); transportVonOffeneTransporte.setText("Transport von"); final TableColumn patientOffeneTransporte = new TableColumn(tableOff, SWT.NONE); patientOffeneTransporte.setWidth(200); patientOffeneTransporte.setText("Patient"); final TableColumn transportNachOffeneTransporte = new TableColumn(tableOff, SWT.NONE); transportNachOffeneTransporte.setWidth(250); transportNachOffeneTransporte.setText("Transport nach"); final TableColumn aufgOffeneTransporte = new TableColumn(tableOff, SWT.NONE); aufgOffeneTransporte.setToolTipText("Zeit zu der der Transport aufgenommen wurde"); aufgOffeneTransporte.setWidth(43); aufgOffeneTransporte.setText("Aufg"); final TableColumn tOffeneTransporte = new TableColumn(tableOff, SWT.NONE); tOffeneTransporte.setToolTipText("Transportart"); tOffeneTransporte.setWidth(22); tOffeneTransporte.setText("T"); final TableColumn erkrankungVerletzungOffeneTransporte = new TableColumn(tableOff, SWT.NONE); erkrankungVerletzungOffeneTransporte.setWidth(150); erkrankungVerletzungOffeneTransporte.setText("Erkrankung/Verletzung"); final TableColumn anmerkungOffeneTransporte = new TableColumn(tableOff, SWT.NONE); anmerkungOffeneTransporte.setWidth(542); anmerkungOffeneTransporte.setText("Anmerkung"); // make the columns sortable Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = viewerOffTrans.getTable().getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = viewerOffTrans.getTable().getSortDirection(); // revert the sort order if the column is the same if (sortColumn == currentColumn) { if (dir == SWT.UP) dir = SWT.DOWN; else dir = SWT.UP; } else { viewerOffTrans.getTable().setSortColumn(currentColumn); dir = SWT.UP; } // sort the data based on column and direction String sortIdentifier = null; if (currentColumn == prioritaetOffeneTransporte) sortIdentifier = TransportSorter.PRIORITY_SORTER; if (currentColumn == respOSOffeneTransporte) sortIdentifier = TransportSorter.RESP_STATION_SORTER; if (currentColumn == abfOffeneTransporte) sortIdentifier = TransportSorter.ABF_SORTER; if (currentColumn == ankOffeneTransporte) sortIdentifier = TransportSorter.AT_PATIENT_SORTER; if (currentColumn == terminOffeneTransporte) sortIdentifier = TransportSorter.TERM_SORTER; if (currentColumn == transportVonOffeneTransporte) sortIdentifier = TransportSorter.TRANSPORT_FROM_SORTER; if (currentColumn == patientOffeneTransporte) sortIdentifier = TransportSorter.PATIENT_SORTER; if (currentColumn == transportNachOffeneTransporte) sortIdentifier = TransportSorter.TRANSPORT_TO_SORTER; if (currentColumn == aufgOffeneTransporte) sortIdentifier = TransportSorter.AUFG_SORTER; if (currentColumn == tOffeneTransporte) sortIdentifier = TransportSorter.TA_SORTER; if (currentColumn == erkrankungVerletzungOffeneTransporte) sortIdentifier = TransportSorter.KIND_OF_ILLNESS_SORTER; if (currentColumn == anmerkungOffeneTransporte) sortIdentifier = TransportSorter.NOTES_SORTER; // apply the filter viewerOffTrans.getTable().setSortDirection(dir); viewerOffTrans.setSorter(new TransportSorter(sortIdentifier, dir)); } }; // attach the listener prioritaetOffeneTransporte.addListener(SWT.Selection, sortListener); respOSOffeneTransporte.addListener(SWT.Selection, sortListener); abfOffeneTransporte.addListener(SWT.Selection, sortListener); ankOffeneTransporte.addListener(SWT.Selection, sortListener); terminOffeneTransporte.addListener(SWT.Selection, sortListener); transportVonOffeneTransporte.addListener(SWT.Selection, sortListener); patientOffeneTransporte.addListener(SWT.Selection, sortListener); transportNachOffeneTransporte.addListener(SWT.Selection, sortListener); aufgOffeneTransporte.addListener(SWT.Selection, sortListener); tOffeneTransporte.addListener(SWT.Selection, sortListener); erkrankungVerletzungOffeneTransporte.addListener(SWT.Selection, sortListener); anmerkungOffeneTransporte.addListener(SWT.Selection, sortListener); viewerOffTrans.resetFilters(); // apply the filter to show only outstanding transports viewerOffTrans.addFilter(new TransportStateViewFilter(PROGRAM_STATUS_OUTSTANDING)); viewerOffTrans.refresh(); }
From source file:at.rc.tacos.client.view.PersonalView.java
License:Open Source License
/** * Callback method to create the control and initalize them. * //from w w w .j a va2 s. c o m * @param parent * the parent composite to add */ @Override public void createPartControl(final Composite parent) { // Create the scrolled parent component toolkit = new FormToolkit(CustomColors.FORM_COLOR(parent.getDisplay())); form = toolkit.createForm(parent); toolkit.decorateFormHeading(form); form.getBody().setLayout(new FillLayout()); final Composite composite = form.getBody(); // tab folder tabFolder = new TabFolder(composite, SWT.NONE); tabFolder.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { // assert valid if (e.item.getData() == null) return; if (!(e.item.getData() instanceof Location)) return; // remove all location filter for (ViewerFilter filter : viewer.getFilters()) { if (filter instanceof PersonalViewFilter) viewer.removeFilter(filter); } // cast to a location and apply the new filter Location location = (Location) e.item.getData(); viewer.addFilter(new PersonalViewFilter(location)); } }); viewer = new TableViewer(tabFolder, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.setContentProvider(new PersonalViewContentProvider()); viewer.setLabelProvider(new PersonalViewLabelProvider()); viewer.setInput(ModelFactory.getInstance().getRosterEntryManager().toArray()); viewer.getTable().setLinesVisible(true); // set the tooltip tooltip = new PersonalTooltip(viewer.getControl()); // show the tooltip when the selection has changed viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { TableItem[] selection = viewer.getTable().getSelection(); if (selection != null && selection.length > 0) { Rectangle bounds = selection[0].getBounds(); tooltip.show(new Point(bounds.x, bounds.y)); } } }); viewer.getTable().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (viewer.getTable().getItem(new Point(e.x, e.y)) == null) { viewer.setSelection(new StructuredSelection()); } } }); // sort the table by default viewer.setSorter(new PersonalViewSorter(PersonalViewSorter.NAME_SORTER, SWT.UP)); viewer.addFilter(new PersonalDateFilter(Calendar.getInstance())); // create the table for the roster entries final Table table = viewer.getTable(); table.setLinesVisible(true); table.setHeaderVisible(true); final TableColumn lockColumn = new TableColumn(table, SWT.NONE); lockColumn.setToolTipText("Eintrag wird gerade bearbeitet"); lockColumn.setWidth(24); lockColumn.setText("L"); final TableColumn columnStandby = new TableColumn(table, SWT.NONE); columnStandby.setToolTipText("Mitarbeiter auf Bereitschaft (Symbol, wenn der Fall)"); columnStandby.setWidth(30); columnStandby.setText("B"); final TableColumn columnNotes = new TableColumn(table, SWT.NONE); columnNotes.setToolTipText("Anmerkung (Symbol, wenn Anmerkung vorhanden)"); columnNotes.setWidth(30); columnNotes.setText("A"); final TableColumn columnStaffName = new TableColumn(table, SWT.NONE); columnStaffName.setWidth(130); columnStaffName.setText("Name"); final TableColumn columnWorkTime = new TableColumn(table, SWT.NONE); columnWorkTime.setToolTipText("Dienst lt. Dienstplan"); columnWorkTime.setWidth(120); columnWorkTime.setText("Dienst"); final TableColumn columnCheckin = new TableColumn(table, SWT.NONE); columnCheckin.setToolTipText("Zeit der tatschlichen Anmeldung"); columnCheckin.setWidth(70); columnCheckin.setText("Anm"); final TableColumn columnCheckout = new TableColumn(table, SWT.NONE); columnCheckout.setToolTipText("Zeit der tatschlichen Abmeldung"); columnCheckout.setWidth(70); columnCheckout.setText("Abm"); final TableColumn columnService = new TableColumn(table, SWT.NONE); columnService.setToolTipText("Dienstverhltnis"); columnService.setWidth(90); columnService.setText("DV"); final TableColumn columnJob = new TableColumn(table, SWT.NONE); columnJob.setToolTipText("Verwendung"); columnJob.setWidth(80); columnJob.setText("V"); final TableColumn columnVehicle = new TableColumn(table, SWT.NONE); columnVehicle.setToolTipText("Fahrzeug, dem der Mitarbeiter zugewiesen ist"); columnVehicle.setWidth(55); columnVehicle.setText("Fzg"); // make the columns sortable Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = viewer.getTable().getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = viewer.getTable().getSortDirection(); // revert the sortorder if the column is the same if (sortColumn == currentColumn) { if (dir == SWT.UP) dir = SWT.DOWN; else dir = SWT.UP; } else { viewer.getTable().setSortColumn(currentColumn); dir = SWT.UP; } // sort the data based on column and direction String sortIdentifier = null; if (currentColumn == columnStaffName) sortIdentifier = PersonalViewSorter.NAME_SORTER; if (currentColumn == columnWorkTime) sortIdentifier = PersonalViewSorter.WORKTIME_SORTER; if (currentColumn == columnCheckin) sortIdentifier = PersonalViewSorter.CHECKIN_SORTER; if (currentColumn == columnCheckout) sortIdentifier = PersonalViewSorter.CHECKOUT_SORTER; if (currentColumn == columnService) sortIdentifier = PersonalViewSorter.SERVICE_SORTER; if (currentColumn == columnJob) sortIdentifier = PersonalViewSorter.JOB_SORTER; // apply the filter viewer.getTable().setSortDirection(dir); viewer.setSorter(new PersonalViewSorter(sortIdentifier, dir)); } }; // attach the listener columnStaffName.addListener(SWT.Selection, sortListener); columnWorkTime.addListener(SWT.Selection, sortListener); columnCheckin.addListener(SWT.Selection, sortListener); columnCheckout.addListener(SWT.Selection, sortListener); columnService.addListener(SWT.Selection, sortListener); columnJob.addListener(SWT.Selection, sortListener); // create the actions makeActions(); hookContextMenu(); // load the data loadData(); }
From source file:at.rc.tacos.client.view.PrebookingView.java
License:Open Source License
/** * Creates and returns the table viewer. * /*from w w w . java 2 s .co m*/ * @param parent * the parent composite to insert * @return the created table */ private TableViewer createTableViewer(Composite parent) { final TableViewer viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.setContentProvider(new PrebookingViewContentProvider()); viewer.setLabelProvider(new PrebookingViewLabelProvider()); viewer.setInput(ModelFactory.getInstance().getTransportManager().toArray()); viewer.getTable().setLinesVisible(true); viewer.getTable().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (viewer.getTable().getItem(new Point(e.x, e.y)) == null) { viewer.setSelection(new StructuredSelection()); } } }); final Table table = viewer.getTable(); table.setLinesVisible(true); table.setHeaderVisible(true); final TableColumn blockColumn = new TableColumn(table, SWT.NONE); blockColumn.setToolTipText("Eintrag wird gerade bearbeitet"); blockColumn.setWidth(24); blockColumn.setText("L"); final TableColumn bTableColumnOrtsstelle = new TableColumn(table, SWT.NONE); bTableColumnOrtsstelle.setWidth(30); bTableColumnOrtsstelle.setText("OS"); final TableColumn bTableColumnAbfahrt = new TableColumn(table, SWT.NONE); bTableColumnAbfahrt.setToolTipText("Geplante Abfahrt an der Ortsstelle"); bTableColumnAbfahrt.setWidth(43); bTableColumnAbfahrt.setText("Abf"); final TableColumn bTableColumnAnkunft = new TableColumn(table, SWT.NONE); bTableColumnAnkunft.setToolTipText("Geplante Ankunft beim Patienten"); bTableColumnAnkunft.setWidth(43); bTableColumnAnkunft.setText("Ank"); final TableColumn bTableColumnTermin = new TableColumn(table, SWT.NONE); bTableColumnTermin.setToolTipText("Termin am Zielort"); bTableColumnTermin.setWidth(43); bTableColumnTermin.setText("Termin"); final TableColumn bTableColumnTransportVon = new TableColumn(table, SWT.NONE); bTableColumnTransportVon.setWidth(188); bTableColumnTransportVon.setText("Transport von"); final TableColumn bTtableColumnPatient = new TableColumn(table, SWT.NONE); bTtableColumnPatient.setWidth(160); bTtableColumnPatient.setText("Patient"); final TableColumn bTableColumnTransportNach = new TableColumn(table, SWT.NONE); bTableColumnTransportNach.setWidth(188); bTableColumnTransportNach.setText("Transport nach"); final TableColumn bTableColumnTA = new TableColumn(table, SWT.NONE); bTableColumnTA.setToolTipText("Transportart"); bTableColumnTA.setWidth(23); bTableColumnTA.setText("T"); final TableColumn anmerkungTransporte = new TableColumn(table, SWT.NONE); anmerkungTransporte.setWidth(66); anmerkungTransporte.setText("Anmerkung"); Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = viewer.getTable().getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = viewer.getTable().getSortDirection(); // revert the sort order if the column is the same if (sortColumn == currentColumn) { if (dir == SWT.UP) dir = SWT.DOWN; else dir = SWT.UP; } else { viewer.getTable().setSortColumn(currentColumn); dir = SWT.UP; } // sort the data based on column and direction String sortIdentifier = null; if (currentColumn == bTableColumnOrtsstelle) sortIdentifier = TransportSorter.RESP_STATION_SORTER; if (currentColumn == bTableColumnAbfahrt) sortIdentifier = TransportSorter.ABF_SORTER; if (currentColumn == bTableColumnAnkunft) sortIdentifier = TransportSorter.AT_PATIENT_SORTER; if (currentColumn == bTableColumnTermin) sortIdentifier = TransportSorter.TERM_SORTER; if (currentColumn == bTableColumnTransportVon) sortIdentifier = TransportSorter.TRANSPORT_FROM_SORTER; if (currentColumn == bTtableColumnPatient) sortIdentifier = TransportSorter.PATIENT_SORTER; if (currentColumn == bTableColumnTransportNach) sortIdentifier = TransportSorter.TRANSPORT_TO_SORTER; if (currentColumn == bTableColumnTA) sortIdentifier = TransportSorter.TA_SORTER; if (currentColumn == anmerkungTransporte) sortIdentifier = TransportSorter.NOTES_SORTER; // apply the filter viewer.getTable().setSortDirection(dir); viewer.setSorter(new TransportSorter(sortIdentifier, dir)); } }; // attach the listener bTableColumnOrtsstelle.addListener(SWT.Selection, sortListener); bTableColumnAbfahrt.addListener(SWT.Selection, sortListener); bTableColumnAnkunft.addListener(SWT.Selection, sortListener); bTableColumnTermin.addListener(SWT.Selection, sortListener); bTableColumnTransportVon.addListener(SWT.Selection, sortListener); bTtableColumnPatient.addListener(SWT.Selection, sortListener); bTableColumnTransportNach.addListener(SWT.Selection, sortListener); bTableColumnTA.addListener(SWT.Selection, sortListener); anmerkungTransporte.addListener(SWT.Selection, sortListener); return viewer; }
From source file:at.rc.tacos.client.view.TransportForm.java
License:Open Source License
private void createAssignCarTable() { viewerAssign = new TableViewer(assignCarGroup, SWT.VIRTUAL | SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION); assignVehicleContentProvider = new AssignVehicleContentProvider(); viewerAssign.setContentProvider(assignVehicleContentProvider); viewerAssign.setLabelProvider(new VehicleAssignLabelProvider()); viewerAssign.setInput(ModelFactory.getInstance().getVehicleManager().getReadyVehicleList()); final Table table_1 = viewerAssign.getTable(); final FormData fd_table_1 = new FormData(); fd_table_1.right = new FormAttachment(0, 824); fd_table_1.left = new FormAttachment(0, 3); fd_table_1.top = new FormAttachment(0, 1); fd_table_1.bottom = new FormAttachment(0, 122); table_1.setLayoutData(fd_table_1);// w ww.j a v a 2 s . c om viewerAssign.getTable().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (viewerAssign.getTable().getItem(new Point(e.x, e.y)) == null) { viewerAssign.setSelection(new StructuredSelection()); } } }); final Table table = viewerAssign.getTable(); table.setLinesVisible(true); table.setHeaderVisible(true); final TableColumn stationColumn = new TableColumn(table, SWT.NONE); stationColumn.setToolTipText("Aktuelle Dienststelle des Fahrzeuges"); stationColumn.setWidth(30); stationColumn.setText("Dienststelle"); final TableColumn nameColumn = new TableColumn(table, SWT.NONE); nameColumn.setToolTipText("Fahrzeug"); nameColumn.setWidth(60); nameColumn.setText("Fahrzeug"); final TableColumn typeColumn = new TableColumn(table, SWT.NONE); typeColumn.setWidth(60); typeColumn.setText("Fahrzeugtyp"); final TableColumn driverColumn = new TableColumn(table, SWT.NONE); driverColumn.setToolTipText("Fahrer"); driverColumn.setWidth(100); driverColumn.setText("Fahrer"); final TableColumn medicIColumn = new TableColumn(table, SWT.NONE); medicIColumn.setToolTipText("Sanitter I"); medicIColumn.setWidth(100); medicIColumn.setText("Sanitter I"); final TableColumn medicIIColumn = new TableColumn(table, SWT.NONE); medicIIColumn.setToolTipText("Sanitter II"); medicIIColumn.setWidth(100); medicIIColumn.setText("Sanitter II"); Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = viewerAssign.getTable().getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = viewerAssign.getTable().getSortDirection(); // revert the sort order if the column is the same if (sortColumn == currentColumn) { if (dir == SWT.UP) dir = SWT.DOWN; else dir = SWT.UP; } else { viewerAssign.getTable().setSortColumn(currentColumn); dir = SWT.UP; } // sort the data based on column and direction String sortIdentifier = null; if (currentColumn == stationColumn) sortIdentifier = VehicleSorter.CURRENT_STATION_SORTER; if (currentColumn == nameColumn) sortIdentifier = VehicleSorter.VEHICLE_SORTER; if (currentColumn == typeColumn) sortIdentifier = VehicleSorter.VEHICLE_TYPE_SORTER; if (currentColumn == driverColumn) sortIdentifier = VehicleSorter.DRIVER_SORTER; if (currentColumn == medicIColumn) sortIdentifier = VehicleSorter.PARAMEDIC_I_SORTER; if (currentColumn == medicIIColumn) sortIdentifier = VehicleSorter.PARAMEDIC_II_SORTER; // apply the filter viewerAssign.getTable().setSortDirection(dir); viewerAssign.setSorter(new VehicleSorter(sortIdentifier, dir)); viewerAssign.refresh(); } }; // attach the listener stationColumn.addListener(SWT.Selection, sortListener); nameColumn.addListener(SWT.Selection, sortListener); typeColumn.addListener(SWT.Selection, sortListener); driverColumn.addListener(SWT.Selection, sortListener); medicIColumn.addListener(SWT.Selection, sortListener); medicIIColumn.addListener(SWT.Selection, sortListener); viewerAssign.refresh(); }