List of usage examples for org.eclipse.jface.viewers ListViewer ListViewer
public ListViewer(Composite parent, int style)
From source file:alma.acs.alarmsanalyzer.view.LostView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { listViewer = new ListViewer(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); listViewer.setContentProvider(LostSourcesContainer.getInstance()); listViewer.setSorter(new ViewerSorter()); listViewer.setInput(null);/*from ww w .j a v a2 s . co m*/ System.out.println("Done"); LostSourcesContainer.getInstance().setViewer(listViewer); listViewer.setInput(LostSourcesContainer.getInstance()); }
From source file:alma.acs.alarmsystemprofiler.parts.LostSourcesPart.java
License:Open Source License
public void createPartControl(Composite parent) { listViewer = new ListViewer(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); listViewer.setContentProvider(LostSourcesContainer.getInstance()); listViewer.setSorter(new ViewerSorter()); listViewer.setInput(null);/*from w w w . jav a2 s. c om*/ }
From source file:application.GUI.java
/** * Create contents of the window.//from w ww . j av a 2 s. c o m */ protected void createContents() { // Check license // System.out.println("Initiating..."); // licenseChecker = new LicenseChecker(); // if (!licenseChecker.checkLicense()) { // shell = new Shell(); // shell.setSize(SHELL_WIDTH, SHELL_HEIGHT); // shell.setText(PROGRAM_NAME); // // lblLicense = new Label(shell, SWT.NONE); // lblLicense // .setText("License check failed, contact Uldrer for further information."); // lblLicense.setBounds(200, 200, 700, 424); // FontData[] fontData = lblLicense.getFont().getFontData(); // for (int i = 0; i < fontData.length; ++i) { // fontData[i].setHeight(18); // } // final Font newFont = new Font(shell.getDisplay(), fontData); // lblLicense.setFont(newFont); // // // Since you created the font, you must dispose it // lblLicense.addDisposeListener(new DisposeListener() { // public void widgetDisposed(DisposeEvent e) { // newFont.dispose(); // } // }); // // return; // } ConfigInfo config = new ConfigInfo(); String configFile = "config.xml"; ConfigLoader configLoader = new ConfigLoader(); configLoader.readConfig(configFile, config); if (config.countryIds.isEmpty()) { System.out.println("No country ids specified in config.xml, exiting."); return; } dmgRetriever = new DamageRetriever(config.countryIds, config.muIds); battles = new ArrayList<BattleInfo>(); shell = new Shell(); shell.setSize(SHELL_WIDTH, SHELL_HEIGHT); shell.setText(PROGRAM_NAME); TextViewer textViewer = new TextViewer(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); resultText = textViewer.getTextWidget(); resultText.setEditable(false); resultText.setBounds(370, 220, 600, 424); resultText.setText(WEIGHT_EXPLANATION + "Retrieving MU-Member information..."); progressBar = new ProgressBar(shell, SWT.NONE); progressBar.setBounds(10, 422, 170, 17); Label lblMembers = new Label(shell, SWT.NONE); lblMembers.setText("Members"); lblMembers.setBounds(MEMBER_START_Y, 52, 50, 15); lblMuMembers = new Label(shell, SWT.NONE); lblMuMembers.setText(""); lblMuMembers.setBounds(MEMBER_START_Y + lblMembers.getBounds().width + TEXT_SEPARATION, 52, 250, 15); ListViewer listviewer_2 = new ListViewer(shell, SWT.BORDER | SWT.V_SCROLL); memberList = listviewer_2.getList(); memberList.setBounds(MEMBER_START_Y, 93 + 2 * TEXT_HEIGHT_SEPARATION, MEMBER_LIST_WIDTH, 68); memberList.getVerticalBar().addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { int selection = memberList.getVerticalBar().getSelection(); memberBattleDmgList.setTopIndex(selection); memberT2DmgList.setTopIndex(selection); memberEnemyDmgList.setTopIndex(selection); } @Override public void widgetDefaultSelected(SelectionEvent e) { int selection = memberList.getVerticalBar().getSelection(); memberBattleDmgList.setTopIndex(selection); memberT2DmgList.setTopIndex(selection); memberEnemyDmgList.setTopIndex(selection); } }); ListViewer listviewer_3 = new ListViewer(shell, SWT.BORDER); memberBattleDmgList = listviewer_3.getList(); memberBattleDmgList.setBounds(MEMBER_START_Y + MEMBER_LIST_WIDTH, 93 + 2 * TEXT_HEIGHT_SEPARATION, DMG_LIST_WIDTH, 68); ListViewer listviewer_4 = new ListViewer(shell, SWT.BORDER); memberT2DmgList = listviewer_4.getList(); memberT2DmgList.setBounds(MEMBER_START_Y + DMG_LIST_WIDTH + MEMBER_LIST_WIDTH, 93 + 2 * TEXT_HEIGHT_SEPARATION, DMG_LIST_WIDTH, 68); ListViewer listviewer_5 = new ListViewer(shell, SWT.BORDER); memberEnemyDmgList = listviewer_5.getList(); memberEnemyDmgList.setBounds(MEMBER_START_Y + 2 * DMG_LIST_WIDTH + MEMBER_LIST_WIDTH, 93 + 2 * TEXT_HEIGHT_SEPARATION, DMG_LIST_WIDTH, 68); Label lblMemberNames = new Label(shell, SWT.NONE); lblMemberNames.setText("Name"); lblMemberNames.setBounds(MEMBER_START_Y, 72 + TEXT_HEIGHT_SEPARATION, MEMBER_LIST_WIDTH, 15); Label lblMemberBattleDmg = new Label(shell, SWT.NONE); lblMemberBattleDmg.setText("Battle Damage"); lblMemberBattleDmg.setBounds(MEMBER_START_Y + MEMBER_LIST_WIDTH, 72 + TEXT_HEIGHT_SEPARATION, DMG_LIST_WIDTH, 15); Label lblMemberT2Dmg = new Label(shell, SWT.NONE); lblMemberT2Dmg.setText("T2 Damage"); lblMemberT2Dmg.setBounds(MEMBER_START_Y + DMG_LIST_WIDTH + MEMBER_LIST_WIDTH, 72 + TEXT_HEIGHT_SEPARATION, DMG_LIST_WIDTH, 15); Label lblMemberEnemyDmg = new Label(shell, SWT.NONE); lblMemberEnemyDmg.setText("Damage for enemy"); lblMemberEnemyDmg.setBounds(MEMBER_START_Y + 2 * DMG_LIST_WIDTH + MEMBER_LIST_WIDTH, 72 + TEXT_HEIGHT_SEPARATION, DMG_LIST_WIDTH + 20, 15); btnGetDamage = new Button(shell, SWT.NONE); btnGetDamage.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (!retrievingData) { retrievingData = true; progressBar.setSelection(0); dmgRetriever.SetBattles(battles); retrieveThread = new Thread(dmgRetriever); retrieveThread.start(); } else { resultText.setText(WEIGHT_EXPLANATION + "Please wait. Retrieving API data."); } } }); btnGetDamage.setBounds(10, 457, 100, 25); btnGetDamage.setText("Get damage"); btnGetDamage.setEnabled(false); muListViewer = new StringListViewer(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); muList = muListViewer.getList(); muList.setBounds(263, 93 + 2 * TEXT_HEIGHT_SEPARATION, 187, 68); muList.setItems(dmgRetriever.getMilitaryUnitInfo()); muListViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { String mu = muListViewer.getStringSelection(); currentlySelectedMu = mu; lblMuMembers.setText(mu); MemberStorage mbStore = dmgRetriever.getMilitaryUnitMemberInfo(mu); memberList.setItems(mbStore.getNames()); memberBattleDmgList.setItems(mbStore.getBattelDmg()); memberT2DmgList.setItems(mbStore.getT2Dmg()); memberEnemyDmgList.setItems(mbStore.getEnemyDmg()); } }); final Color myColor = new Color(Display.getCurrent(), 255, 0, 0); memberEnemyDmgList.setForeground(myColor); memberEnemyDmgList.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { myColor.dispose(); } }); Label lblApplication = new Label(shell, SWT.NONE); lblApplication.setFont(SWTResourceManager.getFont("Segoe UI", 12, SWT.NORMAL)); lblApplication.setBounds(SHELL_WIDTH / 2 - 100, 10, 330, 50); lblApplication.setText(PROGRAM_NAME); Label lblBattleIds = new Label(shell, SWT.NONE); lblBattleIds.setBounds(26, 72, 150, 15); lblBattleIds.setText("Battle ids selected"); Label lblMus = new Label(shell, SWT.NONE); lblMus.setText("Military Units"); lblMus.setBounds(263, 72, 100, 15); battleId = new Text(shell, SWT.BORDER); battleId.setBounds(26, 204 + 2 * TEXT_HEIGHT_SEPARATION, 92, 23); ListViewer listViewer = new ListViewer(shell, SWT.BORDER | SWT.V_SCROLL); battleIdList = listViewer.getList(); battleIdList.setBounds(27, 93 + 2 * TEXT_HEIGHT_SEPARATION, 187, 68); defendingChecked = false; Button btnCheckDefender = new Button(shell, SWT.CHECK); btnCheckDefender.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { defendingChecked = !defendingChecked; } }); btnCheckDefender.setBounds(26, 230 + 2 * TEXT_HEIGHT_SEPARATION, 91, 25); btnCheckDefender.setText("Defenders"); Button btnAddBattleId = new Button(shell, SWT.NONE); btnAddBattleId.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String bIdText = battleId.getText(); int bId = 0; boolean defender = defendingChecked; if (bIdText.equals("")) { return; } try { bId = Integer.parseInt(bIdText); } catch (NumberFormatException exception) { battleId.setText(""); return; } System.out.println("Battle id: " + bId + " added."); battleId.setText(""); battles.add(new BattleInfo(bId, defender)); String[] info = new String[battles.size()]; int j = 0; for (BattleInfo battle : battles) { info[j] = battle.getId().toString() + " "; if (battle.isDefender()) { info[j] += "defending side"; } else { info[j] += "attacking side"; } j++; } battleIdList.setItems(info); } }); btnAddBattleId.setBounds(140, 202 + 2 * TEXT_HEIGHT_SEPARATION, 91, 25); btnAddBattleId.setText("Add"); Label lblBattleId = new Label(shell, SWT.NONE); lblBattleId.setBounds(27, 183 + TEXT_HEIGHT_SEPARATION, 91, 15); lblBattleId.setText("Battle id"); weightValue = new Text(shell, SWT.BORDER); weightValue.addListener(SWT.KeyUp, new Listener() { public void handleEvent(Event e) { if (!retrievingData) { int selectionIndex = btnChooseWeight.getSelectionIndex(); String text = weightValue.getText(); double val; try { val = Double.parseDouble(text); if (val >= 0 && val <= 1) { dmgRetriever.setWeight(selectionIndex, val); } } catch (NumberFormatException exception) { // Not correctly set value } } } }); weightValue.setBounds(26, 264 + 2 * TEXT_HEIGHT_SEPARATION, 92, 23); btnChooseWeight = new Combo(shell, SWT.DROP_DOWN | SWT.READ_ONLY); btnChooseWeight.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { int selecteionIndex = btnChooseWeight.getSelectionIndex(); String[] weights = dmgRetriever.getWeights(); weightValue.setText(weights[selecteionIndex]); } }); btnChooseWeight.setBounds(140, 264 + 2 * TEXT_HEIGHT_SEPARATION, 170, 23); btnChooseWeight.setItems(COMBO_WEIGHTS); btnChooseWeight.select(0); weightValue.setText(dmgRetriever.getWeights()[0]); Label versionLabel = new Label(shell, SWT.COLOR_DARK_GRAY); versionLabel.setBounds(10, SHELL_HEIGHT - 80, 300, 15); versionLabel.setText("Created by Uldrer. Version: " + PROGRAM_VERSION); Button btnRemoveBattleId = new Button(shell, SWT.NONE); btnRemoveBattleId.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String bIdText = battleId.getText(); int bId = 0; if (bIdText.equals("")) { String[] idsSelected = battleIdList.getSelection(); if (idsSelected.length > 0) { bIdText = idsSelected[0]; } else { return; } } try { String[] tokens = bIdText.split(" "); bId = Integer.parseInt(tokens[0]); } catch (NumberFormatException exception) { battleId.setText(""); return; } int index = battles.indexOf(new BattleInfo(bId)); if (index == -1) { battleId.setText(""); return; } battles.remove(index); String[] info = new String[battles.size()]; int j = 0; for (BattleInfo battle : battles) { info[j] = battle.getId().toString() + " "; if (battle.isDefender()) { info[j] += "defending side"; } else { info[j] += "attacking side"; } j++; } battleIdList.setItems(info); System.out.println("Battle id: " + bId + " removed."); battleId.setText(""); } }); btnRemoveBattleId.setBounds(240, 202 + 2 * TEXT_HEIGHT_SEPARATION, 91, 25); btnRemoveBattleId.setText("Remove"); dmgRetriever.addProgressListener(new ProgressListener() { @Override public void progressEvent(ProgressEvent e) { double percent = e.getPercent(); if (percent == 1) { MemberStorage mbStore; switch (e.getType()) { case BATTLE: // all done String result = dmgRetriever.getResult(); doResultTextUpdate(resultText, result); retrievingData = false; mbStore = dmgRetriever.getMilitaryUnitMemberInfo(currentlySelectedMu); doListUpdate(memberList, mbStore.getNames()); doListUpdate(memberBattleDmgList, mbStore.getBattelDmg()); doListUpdate(memberT2DmgList, mbStore.getT2Dmg()); doListUpdate(memberEnemyDmgList, mbStore.getEnemyDmg()); doProgressBarUpdate(progressBar, percent); break; case MU: doResultTextUpdate(resultText, "Finished parsing mu members."); mbStore = dmgRetriever.getMilitaryUnitMemberInfo(currentlySelectedMu); doListUpdate(memberList, mbStore.getNames()); doListUpdate(memberBattleDmgList, mbStore.getBattelDmg()); doListUpdate(memberT2DmgList, mbStore.getT2Dmg()); doListUpdate(memberEnemyDmgList, mbStore.getEnemyDmg()); setDmgBtnEnabled(btnGetDamage, true); break; } } else { doProgressBarUpdate(progressBar, percent); } } }); }
From source file:at.bitandart.zoubek.mervin.review.wizards.ReviewSelectionPage.java
License:Open Source License
@Override public void createControl(Composite parent) { Composite mainPanel = new Composite(parent, SWT.NONE); mainPanel.setLayout(new GridLayout(1, false)); reviewListViewer = new ListViewer(mainPanel, SWT.BORDER | SWT.SINGLE); reviewListViewer.setLabelProvider(new LabelProvider() { @Override/*from w w w. j ava2 s . c om*/ public String getText(Object element) { if (element instanceof IReviewDescriptor) { return ((IReviewDescriptor) element).getTitle(); } return super.getText(element); } }); reviewListViewer.setContentProvider(ArrayContentProvider.getInstance()); reviewListViewer.setInput(reviews); reviewListViewer.getList().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); reviewListViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { ISelection selection = event.getSelection(); if (selection != null) { setPageComplete(!selection.isEmpty()); } } }); setControl(mainPanel); setMessage("Select a review to load."); setTitle("Select Review"); setPageComplete(false); }
From source file:ccw.preferences.SyntaxColoringPreferencePage.java
License:Open Source License
private Control createSyntaxPage(final Composite parent) { fOverlayStore.load();/* w ww . java 2s . c o m*/ fOverlayStore.start(); Composite colorComposite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; colorComposite.setLayout(layout); Link link = new Link(colorComposite, SWT.NONE); link.setText(Messages.SyntaxColoringPreferencePage_link); link.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { PreferencesUtil.createPreferenceDialogOn(parent.getShell(), e.text, null, null); } }); // TODO replace by link-specific tooltips when // bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=88866 gets fixed // link.setToolTipText(Messages.JavaEditorColoringConfigurationBlock_link_tooltip); GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); gridData.widthHint = 150; // only expand further if anyone else requires it gridData.horizontalSpan = 2; link.setLayoutData(gridData); Label label; label = new Label(colorComposite, SWT.LEFT); label.setText(Messages.SyntaxColoringPreferencePage_coloring_element); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Composite editorComposite = new Composite(colorComposite, SWT.NONE); layout = new GridLayout(); layout.numColumns = 2; layout.marginHeight = 0; layout.marginWidth = 0; editorComposite.setLayout(layout); GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false); editorComposite.setLayoutData(gd); fListViewer = new ListViewer(editorComposite, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); fListViewer.setLabelProvider(new ColorListLabelProvider()); fListViewer.setContentProvider(new ColorListContentProvider()); fListViewer.setInput(fListModel); gd = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, true); gd.heightHint = convertHeightInCharsToPixels(30); int maxWidth = 0; for (Iterator<HighlightingColorListItem> it = fListModel.iterator(); it.hasNext();) { HighlightingColorListItem item = it.next(); maxWidth = Math.max(maxWidth, convertWidthInCharsToPixels(item.getDisplayName().length())); } ScrollBar vBar = ((Scrollable) fListViewer.getControl()).getVerticalBar(); if (vBar != null) maxWidth += vBar.getSize().x * 3; // scrollbars and tree indentation guess gd.widthHint = maxWidth; fListViewer.getControl().setLayoutData(gd); Composite stylesComposite = new Composite(editorComposite, SWT.NONE); layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; layout.numColumns = 2; stylesComposite.setLayout(layout); stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH)); fEnableCheckbox = new Button(stylesComposite, SWT.CHECK); fEnableCheckbox.setText(Messages.SyntaxColoringPreferencePage_enable); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.BEGINNING; gd.horizontalSpan = 2; fEnableCheckbox.setLayoutData(gd); fColorEditorLabel = new Label(stylesComposite, SWT.LEFT); fColorEditorLabel.setText(Messages.SyntaxColoringPreferencePage_color); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; fColorEditorLabel.setLayoutData(gd); fSyntaxForegroundColorEditor = new ColorSelector(stylesComposite); Button foregroundColorButton = fSyntaxForegroundColorEditor.getButton(); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); foregroundColorButton.setLayoutData(gd); fBoldCheckBox = new Button(stylesComposite, SWT.CHECK); fBoldCheckBox.setText(Messages.SyntaxColoringPreferencePage_bold); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; gd.horizontalSpan = 2; fBoldCheckBox.setLayoutData(gd); fItalicCheckBox = new Button(stylesComposite, SWT.CHECK); fItalicCheckBox.setText(Messages.SyntaxColoringPreferencePage_italic); gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent = 20; gd.horizontalSpan = 2; fItalicCheckBox.setLayoutData(gd); /* TODO enable once text attributes are used fStrikethroughCheckBox= new Button(stylesComposite, SWT.CHECK); fStrikethroughCheckBox.setText(Messages.SyntaxColoringPreferencePage_strikethrough); gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent= 20; gd.horizontalSpan= 2; fStrikethroughCheckBox.setLayoutData(gd); fUnderlineCheckBox= new Button(stylesComposite, SWT.CHECK); fUnderlineCheckBox.setText(Messages.SyntaxColoringPreferencePage_underline); gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); gd.horizontalIndent= 20; gd.horizontalSpan= 2; fUnderlineCheckBox.setLayoutData(gd); */ label = new Label(colorComposite, SWT.LEFT); label.setText(Messages.SyntaxColoringPreferencePage_preview); label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Control previewer = createPreviewer(colorComposite); gd = new GridData(GridData.FILL_BOTH); gd.widthHint = convertWidthInCharsToPixels(20); gd.heightHint = convertHeightInCharsToPixels(5); previewer.setLayoutData(gd); fListViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { handleSyntaxColorListSelection(); } }); foregroundColorButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); // TODO: remove this ? PreferenceConverter.setValue(getPreferenceStore(), item.getColorKey(), fSyntaxForegroundColorEditor.getColorValue()); PreferenceConverter.setValue(fOverlayStore, item.getColorKey(), fSyntaxForegroundColorEditor.getColorValue()); } }); fBoldCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); fOverlayStore.setValue(item.getBoldKey(), fBoldCheckBox.getSelection()); } }); fItalicCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); fOverlayStore.setValue(item.getItalicKey(), fItalicCheckBox.getSelection()); } }); /* fStrikethroughCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item= getHighlightingColorListItem(); fOverlayStore.setValue(item.getStrikethroughKey(), fStrikethroughCheckBox.getSelection()); } }); fUnderlineCheckBox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item= getHighlightingColorListItem(); fOverlayStore.setValue(item.getUnderlineKey(), fUnderlineCheckBox.getSelection()); } }); */ fEnableCheckbox.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { // do nothing } public void widgetSelected(SelectionEvent e) { HighlightingColorListItem item = getHighlightingColorListItem(); boolean enable = fEnableCheckbox.getSelection(); fOverlayStore.setValue(item.getEnableKey(), enable); fEnableCheckbox.setSelection(enable); fSyntaxForegroundColorEditor.getButton().setEnabled(enable); fColorEditorLabel.setEnabled(enable); fBoldCheckBox.setEnabled(enable); fItalicCheckBox.setEnabled(enable); /* TODO re-enable once text attributes are used fStrikethroughCheckBox.setEnabled(enable); fUnderlineCheckBox.setEnabled(enable); */ } }); colorComposite.layout(false); fListViewer.setSelection(new StructuredSelection(fListModel.get(0))); return colorComposite; }
From source file:ch.elexis.core.ui.dialogs.KontaktSelektor.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { // SashForm ret=new SashForm(parent,SWT.NONE); Composite ret = new Composite(parent, SWT.NONE); ret.setLayout(new GridLayout()); ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); if (showBezugsKontakt) { new Label(ret, SWT.NONE).setText("Bezugskontakte"); bezugsKontaktViewer = new ListViewer(ret, SWT.SINGLE); bezugsKontaktViewer.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); bezugsKontaktViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { Patient patient = ElexisEventDispatcher.getSelectedPatient(); if (patient != null) { ArrayList<PersistentObject> elements = new ArrayList<PersistentObject>(); ArrayList<String> addedKontakte = new ArrayList<String>(); // add the patient itself elements.add(patient); addedKontakte.add(patient.getId()); List<BezugsKontakt> bezugsKontakte = patient.getBezugsKontakte(); if (bezugsKontakte != null) { for (BezugsKontakt bezugsKontakt : bezugsKontakte) { elements.add(bezugsKontakt); addedKontakte.add(bezugsKontakt.get("otherID")); }/*from ww w . j av a2 s .c om*/ } // required contacts of biling system Fall[] faelle = patient.getFaelle(); for (Fall fall : faelle) { String reqs = fall.getRequirements(); if (reqs != null) { for (String req : reqs.split(";")) { final String[] r = req.split(":"); // no valid entry if (r.length < 2) { continue; } // only consider contacts if (r[1].equals("K")) { String kontaktID = fall.getInfoString(r[0]); if (!kontaktID.startsWith("**ERROR")) { Kontakt kontakt = Kontakt.load(kontaktID); if (kontakt.isValid()) { elements.add(kontakt); addedKontakte.add(kontakt.getId()); } } } } } } return elements.toArray(); } return new Object[] {}; } public void dispose() { // nothing to do } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing to do } }); bezugsKontaktViewer.setLabelProvider(new KontaktSelektorLabelProvider()); bezugsKontaktViewer.setInput(this); bezugsKontaktViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (isSelecting) { return; } IStructuredSelection sel = (IStructuredSelection) cv.getViewerWidget().getSelection(); if (sel.size() > 0) { isSelecting = true; cv.getViewerWidget().setSelection(new StructuredSelection(), false); isSelecting = false; } } }); } else { bezugsKontaktViewer = null; } if (showBezugsKontakt) { new Label(ret, SWT.NONE).setText("Andere Kontakte"); } if (extraText != null) { new Label(ret, SWT.WRAP).setText(extraText); } vc = new ViewerConfigurer( // new LazyContentProvider(cv,dataloader, null), kl, new KontaktSelektorLabelProvider(), new DefaultControlFieldProvider(cv, new String[] { Messages.KontaktSelector_abbreviation, Messages.KontaktSelector_expression1, Messages.KontaktSelector_birthDate }), new ViewerConfigurer.ButtonProvider() { public Button createButton(final Composite parent) { Button ret = new Button(parent, SWT.PUSH); ret.setText("Neu erstellen..."); ret.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (hints == null) { hints = new String[3]; hints[0] = vc.getControlFieldProvider().getValues()[1]; } KontaktErfassenDialog ked = new KontaktErfassenDialog(parent.getShell(), hints); ked.open(); selection = ked.getResult(); okPressed(); // cv.getViewerWidget().refresh(); // cv.getViewerWidget().setSelection(new // StructuredSelection(kr), true); } }); return ret; } public boolean isAlwaysEnabled() { return false; } }, new SimpleWidgetProvider(SimpleWidgetProvider.TYPE_LAZYLIST, SWT.NONE, cv)); Composite types = new Composite(ret, SWT.BORDER); types.setLayout(new FillLayout()); types.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); bAll = new Button(types, SWT.RADIO); bPersons = new Button(types, SWT.RADIO); bOrgs = new Button(types, SWT.RADIO); bAll.setText("Alle"); bPersons.setText("Personen"); bOrgs.setText("Organisationen"); bAll.addSelectionListener(fba); bPersons.addSelectionListener(fba); bOrgs.addSelectionListener(fba); initContactTypeSelection(); cv.create(vc, ret, SWT.NONE, "1"); GridData gd = SWTHelper.getFillGridData(1, true, 1, true); gd.heightHint = 100; cv.getViewerWidget().getControl().setLayoutData(gd); setTitle(title); setMessage(message); vc.getContentProvider().startListening(); cv.addDoubleClickListener(this); // cv.getViewerWidget().addFilter(filter); kl.addQueryFilter(fp); if (showBezugsKontakt) { cv.getViewerWidget().addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (isSelecting) { return; } if (bezugsKontaktViewer != null) { IStructuredSelection sel = (IStructuredSelection) bezugsKontaktViewer.getSelection(); if (sel.size() > 0) { isSelecting = true; bezugsKontaktViewer.setSelection(new StructuredSelection(), false); isSelecting = false; } } } }); } return ret; }
From source file:ch.elexis.core.ui.laboratory.preferences.LabGroupPrefs.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); composite.setLayout(new GridLayout(1, false)); Label label;/*from ww w . j a v a 2 s .co m*/ GridLayout layout; Composite topArea = new Composite(composite, SWT.NONE); topArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); layout = new GridLayout(3, false); layout.verticalSpacing = 20; topArea.setLayout(layout); label = new Label(topArea, SWT.NONE); label.setText(Messages.LabGroupPrefs_ExplanationsLine1 + Messages.LabGroupPrefs_ExplanationsLine2 + Messages.LabGroupPrefs_ExplanationsLine3); label.setLayoutData(SWTHelper.getFillGridData(3, true, 1, false)); GridData gd; label = new Label(topArea, SWT.NONE); label.setText(Messages.LabGroupPrefs_group); gd = SWTHelper.getFillGridData(1, false, 1, false); gd.verticalAlignment = GridData.BEGINNING; label.setLayoutData(gd); groupsViewer = new ComboViewer(topArea, SWT.READ_ONLY); gd = SWTHelper.getFillGridData(1, true, 1, false); gd.verticalAlignment = GridData.BEGINNING; groupsViewer.getControl().setLayoutData(gd); groupsViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection sel = (IStructuredSelection) groupsViewer.getSelection(); Object element = sel.getFirstElement(); if (element instanceof LabGroup) { actGroup = (LabGroup) element; itemsViewer.refresh(); } updateButtonsState(); } }); groupsViewer.setContentProvider(new GroupsContentProvider()); groupsViewer.setLabelProvider(new DefaultLabelProvider()); groupsViewer.setInput(this); Composite groupButtonArea = new Composite(topArea, SWT.PUSH); layout = new GridLayout(1, false); layout.marginHeight = 0; groupButtonArea.setLayout(layout); newButton = new Button(groupButtonArea, SWT.PUSH); newButton.setText(Messages.LabGroupPrefs_new); newButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { InputDialog dialog = new InputDialog( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.LabGroupPrefs_newLabGroup, Messages.LabGroupPrefs_selectNameForLabGroup, "", null); //$NON-NLS-1$ int rc = dialog.open(); if (rc == Window.OK) { String name = dialog.getValue(); LabGroup group = new LabGroup(name, null); groupsViewer.refresh(); groupsViewer.setSelection(new StructuredSelection(group)); } } @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); removeButton = new Button(groupButtonArea, SWT.PUSH); removeButton.setText(Messages.LabGroupPrefs_delete); removeButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { if (actGroup != null) { if (SWTHelper.askYesNo(Messages.LabGroupPrefs_deleteGroup, MessageFormat.format(Messages.LabGroupPrefs_reallyDeleteGroup, actGroup.getLabel()))) ; { actGroup.delete(); actGroup = null; groupsViewer.refresh(); itemsViewer.refresh(); selectFirstGroup(); } } } @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); final Button showGroups = new Button(topArea, SWT.NONE | SWT.CHECK); showGroups.setText(Messages.LabGroupPrefs_showLabGroupsOnly); showGroups.setSelection(CoreHub.userCfg.get(SHOW_GROUPS_ONLY, false)); showGroups.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { CoreHub.userCfg.set(SHOW_GROUPS_ONLY, showGroups.getSelection()); } }); Composite bottomArea = new Composite(composite, SWT.NONE); bottomArea.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); bottomArea.setLayout(new GridLayout(1, false)); label = new Label(bottomArea, SWT.NONE); label.setText(Messages.LabGroupPrefs_containingLabItems); itemsViewer = new ListViewer(bottomArea, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); itemsViewer.getControl().setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); itemsViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateItemButtonsState(); } }); itemsViewer.setContentProvider(new GroupItemsContentProvider()); itemsViewer.setLabelProvider(new ItemsLabelProvider()); itemsViewer.setInput(this); Composite buttonArea = new Composite(bottomArea, SWT.NONE); buttonArea.setLayoutData(SWTHelper.getFillGridData(1, false, 1, false)); buttonArea.setLayout(new GridLayout(2, true)); addItemButton = new Button(buttonArea, SWT.PUSH); addItemButton.setText(Messages.LabGroupPrefs_add); addItemButton.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); removeItemButton = new Button(buttonArea, SWT.PUSH); removeItemButton.setText(Messages.LabGroupPrefs_remove); removeItemButton.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); addItemButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { if (actGroup != null) { LabItemSelektor selektor = new LabItemSelektor( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); if (selektor.open() == Dialog.OK) { List<LabItem> items = selektor.getSelection(); // list of existing items List<LabItem> existingItems = actGroup.getItems(); for (Object obj : items) { if (obj instanceof LabItem) { LabItem item = (LabItem) obj; if (!existingItems.contains(item)) { actGroup.addItem(item); } } } itemsViewer.refresh(); } } } @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); removeItemButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { if (actGroup != null) { IStructuredSelection sel = (IStructuredSelection) itemsViewer.getSelection(); for (Object obj : sel.toList()) { if (obj instanceof LabItem) { LabItem item = (LabItem) obj; actGroup.removeItem(item); } } itemsViewer.refresh(); } } @Override public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); selectFirstGroup(); return composite; }
From source file:ch.elexis.core.ui.preferences.ReminderPrefences.java
License:Open Source License
@Override protected Control createContents(Composite parent) { Composite ret = new Composite(parent, SWT.NONE); ret.setLayout(new GridLayout(3, true)); new Label(ret, SWT.NONE).setText(Messages.ReminderPrefences_SetColors); DecoratedStringChooser chooser = new DecoratedStringChooser(ret, cfg, strings); chooser.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 3, 1)); showRemindersOnPatientSelectionEventBtn = new Button(ret, SWT.CHECK); showRemindersOnPatientSelectionEventBtn.setText(Messages.ReminderPrefences_ShowPatientSelectionRedminders); showRemindersOnPatientSelectionEventBtn .setSelection(CoreHub.userCfg.get(Preferences.USR_SHOWPATCHGREMINDER, false)); showRemindersOnPatientSelectionEventBtn.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 3, 1)); new Label(ret, SWT.NONE); new Label(ret, SWT.NONE); new Label(ret, SWT.NONE); Label lblSeparator = new Label(ret, SWT.HORIZONTAL | SWT.SEPARATOR); lblSeparator.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); Label lblLabelConfig = new Label(ret, SWT.NONE); lblLabelConfig.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); lblLabelConfig.setText("Pendenzen (mit Patienten-Bezug) Label Optionen"); Label lblChoosen = new Label(ret, SWT.NONE); lblChoosen.setText("Gewhlt"); new Label(ret, SWT.NONE); Label lblAvailable = new Label(ret, SWT.NONE); lblAvailable.setText("Noch verfgbar"); GridData gdListViewer = new GridData(); gdListViewer.horizontalAlignment = SWT.FILL; gdListViewer.verticalAlignment = SWT.CENTER; gdListViewer.minimumHeight = 100;// ww w . j a v a2 s.com gdListViewer.heightHint = 100; lViewerChoosen = new ListViewer(ret, SWT.BORDER | SWT.V_SCROLL); lViewerChoosen.getList().setLayoutData(gdListViewer); lViewerChoosen.setContentProvider(new ArrayContentProvider()); lViewerChoosen.setInput(choosenFields); Composite btnComposite = new Composite(ret, SWT.NONE); btnComposite.setLayout(new GridLayout()); btnComposite.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, false)); Button btnAdd = new Button(btnComposite, SWT.PUSH); btnAdd.setImage(Images.IMG_PREVIOUS.getImage()); btnAdd.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = (IStructuredSelection) lViewerAvailable.getSelection(); String item = (String) sel.getFirstElement(); lViewerAvailable.remove(item); lViewerChoosen.add(item); lblInfo.setText(getPreviewLabel()); } }); Button btnRemove = new Button(btnComposite, SWT.PUSH); btnRemove.setImage(Images.IMG_NEXT.getImage()); btnRemove.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection sel = (IStructuredSelection) lViewerChoosen.getSelection(); String item = (String) sel.getFirstElement(); lViewerChoosen.remove(item); lViewerAvailable.add(item); lblInfo.setText(getPreviewLabel()); } }); lViewerAvailable = new ListViewer(ret, SWT.BORDER | SWT.V_SCROLL); lViewerAvailable.getList().setLayoutData(gdListViewer); lViewerAvailable.setContentProvider(new ArrayContentProvider()); lViewerAvailable.setInput(availableFields); new Label(ret, SWT.NONE); new Label(ret, SWT.NONE); new Label(ret, SWT.NONE); lblInfo = new Label(ret, SWT.NONE); lblInfo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); lblInfo.setText(getPreviewLabel()); return ret; }
From source file:ch.elexis.core.ui.util.viewers.SimpleWidgetProvider.java
License:Open Source License
public StructuredViewer createViewer(Composite parent) { switch (type) { case TYPE_TREE: return new TreeViewer(parent, style); case TYPE_LIST: return new ListViewer(parent, style); case TYPE_TABLE: return new TableViewer(parent, style); case TYPE_LAZYLIST: TableViewer ret = new TableViewer(parent, style | SWT.VIRTUAL); // ret.getTable().setItemCount(0); return ret; }//from www .ja v a 2 s. c o m return null; }
From source file:ch.elexis.core.ui.views.rechnung.RechnungsBlatt.java
License:Open Source License
public RechnungsBlatt(Composite parent, IViewSite site) { super(parent, SWT.NONE); this.site = site; setLayout(new GridLayout()); form = tk.createScrolledForm(this); form.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); // TableWrapLayout twl=new TableWrapLayout(); Composite body = form.getBody(); body.setLayout(new GridLayout()); // body.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); rnform = new LabeledInputField.AutoForm(body, rndata, 2, 3); // rnform.setEnabled(false); for (InputData li : rndata) { li.setEditable(false);/*from w ww. ja v a2 s. co m*/ } rnform.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); rnAdressat = new Label(body, SWT.NONE); rnAdressat.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); IExpansionListener ecExpansionListener = new ExpansionAdapter() { @Override public void expansionStateChanging(final ExpansionEvent e) { ExpandableComposite src = (ExpandableComposite) e.getSource(); saveExpandedState(KEY_RECHNUNGSBLATT + src.getText(), e.getState()); } }; ecBuchungen = WidgetFactory.createExpandableComposite(tk, form, Messages.RechnungsBlatt_bookings); //$NON-NLS-1$ ecBuchungen.addExpansionListener(ecExpansionListener); // tk.createLabel(body, "Buchungen"); buchungen = new ListViewer(ecBuchungen, SWT.V_SCROLL | SWT.BORDER); // TableWrapData twd=new TableWrapData(TableWrapData.FILL_GRAB); SWTHelper.setGridDataHeight(buchungen.getControl(), 4, true); buchungen.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public Object[] getElements(Object inputElement) { Rechnung actRn = (Rechnung) inputElement; if (actRn == null) { return new String[] { Messages.RechnungsBlatt_noBillSelected }; } List<Zahlung> lz = actRn.getZahlungen(); return lz.toArray(); } }); tk.adapt(buchungen.getControl(), true, true); ecBuchungen.setClient(buchungen.getControl()); buchungen.setLabelProvider(new DefaultLabelProvider() { public String getColumnText(Object element, int columnIndex) { return getText(element); } @Override public String getText(Object element) { if (element instanceof Zahlung) { Zahlung zahlung = (Zahlung) element; StringBuilder sb = new StringBuilder(); sb.append(zahlung.getLabel()); String bemerkung = zahlung.getBemerkung(); if (!StringTool.isNothing(bemerkung)) { sb.append(" ("); //$NON-NLS-1$ sb.append(bemerkung); sb.append(")"); //$NON-NLS-1$ } return sb.toString(); } else { return element.toString(); } } }); buchungen.setInput(null); // new Label(body,SWT.SEPARATOR|SWT.HORIZONTAL); ecBemerkungen = WidgetFactory.createExpandableComposite(tk, form, Messages.RechnungsBlatt_remarks); //$NON-NLS-1$ ecBemerkungen.addExpansionListener(ecExpansionListener); tBemerkungen = SWTHelper.createText(tk, ecBemerkungen, 5, SWT.BORDER); tBemerkungen.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { if (actRn != null) { actRn.setBemerkung(tBemerkungen.getText()); } } }); ecBemerkungen.setClient(tBemerkungen); // tk.createLabel(body, "Statusnderungen"); ecStatus = WidgetFactory.createExpandableComposite(tk, form, Messages.RechnungsBlatt_sateChangements); //$NON-NLS-1$ ecStatus.addExpansionListener(ecExpansionListener); lbJournal = new org.eclipse.swt.widgets.List(ecStatus, SWT.V_SCROLL | SWT.BORDER); SWTHelper.setGridDataHeight(lbJournal, 4, true); tk.adapt(lbJournal, true, true); ecStatus.setClient(lbJournal); ecFehler = WidgetFactory.createExpandableComposite(tk, form, Messages.RechnungsBlatt_errorMessages); //$NON-NLS-1$ ecFehler.addExpansionListener(ecExpansionListener); tRejects = SWTHelper.createText(tk, ecFehler, 4, SWT.READ_ONLY | SWT.V_SCROLL); ecFehler.setClient(tRejects); ecAusgaben = WidgetFactory.createExpandableComposite(tk, form, Messages.RechnungsBlatt_outputs); //$NON-NLS-1$ ecAusgaben.addExpansionListener(ecExpansionListener); lbOutputs = new org.eclipse.swt.widgets.List(ecAusgaben, SWT.V_SCROLL | SWT.BORDER); ecAusgaben.setClient(lbOutputs); SWTHelper.setGridDataHeight(lbOutputs, 4, true); tk.adapt(lbOutputs, true, true); ecKons = WidgetFactory.createExpandableComposite(tk, form, Messages.RechnungsBlatt_consultations); //$NON-NLS-1$ ecKons.addExpansionListener(ecExpansionListener); konsultationenViewer = new ListViewer(ecKons, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); ecKons.setClient(konsultationenViewer.getList()); konsultationenViewer.setContentProvider(new IStructuredContentProvider() { public Object[] getElements(Object inputElement) { List<Object> elements = new ArrayList<Object>(); if (actRn != null) { List<Konsultation> konsultationen = actRn.getKonsultationen(); if (konsultationen != null) { for (Konsultation konsultation : konsultationen) { elements.add(konsultation); List<IDiagnose> diagnosen = konsultation.getDiagnosen(); if (diagnosen != null) { for (IDiagnose diagnose : diagnosen) { elements.add(diagnose); } } List<Verrechnet> leistungen = konsultation.getLeistungen(); if (leistungen != null) { for (Verrechnet verrechnet : leistungen) { elements.add(verrechnet); } } } } } return elements.toArray(); } public void dispose() { // nothing to do } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // nothing to do } }); konsultationenViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof Konsultation) { Konsultation konsultation = (Konsultation) element; Money sum = new Money(0); List<Verrechnet> leistungen = konsultation.getLeistungen(); if (leistungen != null) { for (Verrechnet verrechnet : leistungen) { int zahl = verrechnet.getZahl(); Money preis = verrechnet.getNettoPreis(); preis.multiply(zahl); sum.addMoney(preis); } } return konsultation.getLabel() + " (" + sum.toString() + ")"; //$NON-NLS-1$ //$NON-NLS-2$ } else if (element instanceof IDiagnose) { IDiagnose diagnose = (IDiagnose) element; return " - " + diagnose.getLabel(); //$NON-NLS-1$ } else if (element instanceof Verrechnet) { Verrechnet verrechnet = (Verrechnet) element; int zahl = verrechnet.getZahl(); Money preis = verrechnet.getNettoPreis(); preis.multiply(zahl); return " - " + zahl + " " + verrechnet.getLabel() + " (" + preis.toString() //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + ")"; //$NON-NLS-1$ } else { return element.toString(); } } }); konsultationenViewer.setInput(this); // form.getToolBarManager().add() ecStorno = WidgetFactory.createExpandableComposite(tk, form, Messages.RechnungsBlatt_storno); ecStorno.addExpansionListener(ecExpansionListener); stornoViewer = new ListViewer(ecStorno, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER); ecStorno.setClient(stornoViewer.getList()); stornoViewer.setContentProvider(new IStructuredContentProvider() { @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { //nothing to do } @Override public void dispose() { //nothing to do } @Override public Object[] getElements(Object inputElement) { List<Object> elements = new ArrayList<Object>(); if (actRn != null) { List<Konsultation> konsultationen = actRn.getKonsultationen(); if (konsultationen == null || konsultationen.isEmpty()) { HashMap<Konsultation, List<VerrechnetCopy>> elementsMap = new HashMap<Konsultation, List<VerrechnetCopy>>(); // prepare heading label that will look like this dd.MM.yyyy (cancelled) - amountOfMoney StringBuilder sbHeadingLabel = new StringBuilder(); sbHeadingLabel.append(Messages.AccountView_bill + " " + actRn.getDatumRn()); //$NON-NLS-1$ sbHeadingLabel.append(Messages.RechnungsBlatt_stornoLabel); // store all verrechnetCopies and add label with sum of all cancelled items Query<VerrechnetCopy> vcQuery = new Query<VerrechnetCopy>(VerrechnetCopy.class); vcQuery.add(VerrechnetCopy.RECHNUNGID, Query.EQUALS, actRn.getId()); List<VerrechnetCopy> vcList = vcQuery.execute(); Money sum = new Money(0); for (VerrechnetCopy vc : vcList) { // add amount of money this item/s cost Money price = vc.getNettoPreis(); price.multiply(vc.getZahl()); sum.addMoney(price); // add verrechnet to map addToMap(vc, elementsMap); } // add the map to the elements Set<Konsultation> keys = elementsMap.keySet(); for (Konsultation konsultation : keys) { if (konsultation != null) { elements.add(konsultation); } else { elements.add("?"); //$NON-NLS-1$ } elements.addAll(elementsMap.get(konsultation)); } // finalize heading label by adding sum of money of all cancellations sbHeadingLabel.append(sum.toString()); elements.add(0, sbHeadingLabel.toString()); } } return elements.toArray(); } private void addToMap(VerrechnetCopy copy, HashMap<Konsultation, List<VerrechnetCopy>> elementsMap) { String konsId = copy.get(VerrechnetCopy.BEHANDLUNGID); if (konsId != null && !konsId.isEmpty()) { Konsultation kons = Konsultation.load(konsId); if (kons != null && kons.exists()) { List<VerrechnetCopy> list = elementsMap.get(kons); if (list == null) { list = new ArrayList<VerrechnetCopy>(); } list.add(copy); elementsMap.put(kons, list); } else { List<VerrechnetCopy> list = elementsMap.get(null); if (list == null) { list = new ArrayList<VerrechnetCopy>(); } list.add(copy); elementsMap.put(null, list); } } } }); stornoViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (element instanceof VerrechnetCopy) { VerrechnetCopy vc = (VerrechnetCopy) element; int amount = vc.getZahl(); Money price = vc.getNettoPreis(); price.multiply(amount); return " - " + amount + " " + vc.getLabel() + " (" + price.toString() //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + ")"; //$NON-NLS-1$ } else if (element instanceof Konsultation) { return "Konsultation " + ((Konsultation) element).getDatum(); } else { return element.toString(); } } }); stornoViewer.setInput(this); List<IViewContribution> filtered = ViewContributionHelper .getFilteredAndPositionSortedContributions(detailComposites, 0); for (IViewContribution ivc : filtered) { ExpandableComposite ec = WidgetFactory.createExpandableComposite(tk, form, ivc.getLocalizedTitle()); ec.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); ec.addExpansionListener(ecExpansionListener); Composite mainComposite = new Composite(ec, SWT.None); mainComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); mainComposite.setLayout(new GridLayout(1, false)); Composite ret = ivc.initComposite(mainComposite); tk.adapt(ret); ec.setClient(ret); } GlobalEventDispatcher.addActivationListener(this, site.getPart()); }