/* (non-Javadoc) * @see org.d3s.alricg.generator.views.RefreshableViewPartImpl#createTable(org.eclipse.swt.widgets.Composite) */ @Override protected TableViewer createTable(Composite parent) { // init Table int idx = 0; final TableViewer tableViewer = new TableViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); tableViewer.getTable().setLinesVisible(true); tableViewer.getTable().setHeaderVisible(true); ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE); // Columns setzen TableViewerColumn tc = new TableViewerColumn(tableViewer, SWT.LEFT, idx++); tc.getColumn().setText("*"); tc.setLabelProvider(new CustomColumnLabelProvider.GeneralImageProvider()); tc.getColumn().setWidth(25); tc.getColumn().setMoveable(false); tc.getColumn() .addSelectionListener( new ViewerSelectionListener( new CustomColumnViewerSorter.GeneralImageSorter(), tableViewer)); tc = new TableViewerColumn(tableViewer, SWT.LEFT, idx++); tableViewer.getTable().setSortColumn(tc.getColumn()); tc.getColumn().setText("Name"); tc.setLabelProvider(new CustomColumnLabelProvider.NameLabelProvider()); tc.getColumn().setWidth(DEFAULT_FIRSTCOLUMN_WIDTH); tc.getColumn() .addSelectionListener( new ViewerSelectionListener(new CustomColumnViewerSorter.NameSorter(), tableViewer)); tc = new TableViewerColumn(tableViewer, SWT.LEFT, idx++); tc.getColumn().setText("Art"); tc.setLabelProvider(new CustomColumnLabelProvider.FertigkeitArtProvider()); tc.getColumn().setWidth(125); tc.getColumn().setMoveable(true); tc.getColumn() .addSelectionListener( new ViewerSelectionListener( new CustomColumnViewerSorter.FertigkeitArtSorter(), tableViewer)); tc = new TableViewerColumn(tableViewer, SWT.LEFT, idx++); tc.getColumn().setText("GP"); tc.getColumn().setToolTipText("Generierungspunkte Kosten"); tc.setLabelProvider(new CustomColumnLabelProvider.VorNachteilGpProvider()); tc.getColumn().setWidth(100); tc.getColumn().setMoveable(true); tc.getColumn() .addSelectionListener( new ViewerSelectionListener( new CustomColumnViewerSorter.VorNachteilGpSorter(), tableViewer)); tc = new TableViewerColumn(tableViewer, SWT.LEFT, idx++); tc.getColumn().setText("SE"); tc.getColumn().setToolTipText("Schlechte Eigenschaft"); tc.getColumn().setWidth(27); tc.setLabelProvider(new SchlechteEigenschaftProvider()); tc.getColumn() .addSelectionListener( new ViewerSelectionListener( new CustomColumnViewerSorter.SchlechteEigenschaftSorter(), tableViewer)); tc = new TableViewerColumn(tableViewer, SWT.LEFT, idx++); tc.getColumn().setText("Voraussetzung"); tc.setLabelProvider(new CharElementVoraussetzungProvider()); tc.getColumn().setWidth(200); tc.getColumn().setMoveable(true); tc.getColumn() .addSelectionListener( new ViewerSelectionListener( new CustomColumnViewerSorter.CharElementVoraussetzungSorter(), tableViewer)); // Inhalt und Sortierung setzen tableViewer.setContentProvider(new TableViewContentProvider()); tableViewer.getTable().setSortDirection(SWT.UP); tableViewer.setSorter(new CustomColumnViewerSorter.NameSorter()); tableViewer.setInput( ViewUtils.buildTableView( StoreDataAccessor.getInstance().getXmlAccessors(), getRegulator(), this.getObjectCreator())); return tableViewer; }
/** Erstellt eine TreeTable + ContextMenu und setzt sie in den View */ protected TreeViewer createTree(Composite parent) { // Init Viewer int idx = 0; final TreeViewer treeViewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); treeViewer.getTree().setLinesVisible(true); treeViewer.getTree().setHeaderVisible(true); ColumnViewerToolTipSupport.enableFor(treeViewer, ToolTip.NO_RECREATE); // Columns TreeViewerColumn tc = new TreeViewerColumn(treeViewer, SWT.LEFT, idx++); tc.getColumn().setText("Name"); treeViewer.getTree().setSortColumn(tc.getColumn()); tc.setLabelProvider(new CustomColumnLabelProvider.NameLabelProvider()); tc.getColumn().setWidth(DEFAULT_FIRSTCOLUMN_WIDTH); tc.getColumn() .addSelectionListener( new ViewerSelectionListener(new CustomColumnViewerSorter.NameSorter(), treeViewer)); tc = new TreeViewerColumn(treeViewer, SWT.LEFT, idx++); tc.getColumn().setText("*"); tc.setLabelProvider(new CustomColumnLabelProvider.GeneralImageProvider()); tc.getColumn().setWidth(25); tc.getColumn().setMoveable(false); tc.getColumn() .addSelectionListener( new ViewerSelectionListener( new CustomColumnViewerSorter.GeneralImageSorter(), treeViewer)); tc = new TreeViewerColumn(treeViewer, SWT.LEFT, idx++); tc.getColumn().setText("Art"); tc.setLabelProvider( new ColumnLabelProvider() { @Override public String getText(Object element) { if (((TreeObject) element).getValue() instanceof Talent) { return ((Talent) ((TreeObject) element).getValue()).getArt().toString(); } return ""; //$NON-NLS-1$ } }); tc.getColumn().setWidth(75); tc.getColumn().setMoveable(true); tc.getColumn().addSelectionListener(new ViewerSelectionListener(new ArtSorter(), treeViewer)); tc = new TreeViewerColumn(treeViewer, SWT.LEFT, idx++); tc.getColumn().setText("Probe"); tc.setLabelProvider(new CustomColumnLabelProvider.Faehigkeit3EigenschaftProvider()); tc.getColumn().setWidth(75); tc.getColumn().setMoveable(true); tc = new TreeViewerColumn(treeViewer, SWT.LEFT, idx++); tc.getColumn().setText("SKT"); tc.setLabelProvider(new CustomColumnLabelProvider.SKTLabelProvider()); tc.getColumn().setWidth(75); tc.getColumn().setMoveable(true); tc.getColumn() .addSelectionListener( new ViewerSelectionListener(new CustomColumnViewerSorter.SktSorter(), treeViewer)); tc = new TreeViewerColumn(treeViewer, SWT.LEFT, idx++); tc.getColumn().setText("Voraussetzung"); tc.setLabelProvider(new CustomColumnLabelProvider.CharElementVoraussetzungProvider()); tc.getColumn().setWidth(150); tc.getColumn().setMoveable(true); tc.getColumn() .addSelectionListener( new ViewerSelectionListener( new CustomColumnViewerSorter.CharElementVoraussetzungSorter(), treeViewer)); // Inhalt und Sortierung setzen TreeObject root = ViewUtils.buildTreeView( StoreDataAccessor.getInstance().getXmlAccessors(), getRegulator(), this.getObjectCreator()); treeViewer.setContentProvider(new TreeViewContentProvider(root)); treeViewer.getTree().setSortDirection(SWT.DOWN); treeViewer.setSorter(new CustomColumnViewerSorter.NameSorter()); treeViewer.setInput(root); return treeViewer; }