Example usage for org.eclipse.jface.viewers ListViewer ListViewer

List of usage examples for org.eclipse.jface.viewers ListViewer ListViewer

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ListViewer ListViewer.

Prototype

public ListViewer(Composite parent, int style) 

Source Link

Document

Creates a list viewer on a newly-created list control under the given parent.

Usage

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());
}