Example usage for com.jgoodies.forms.layout Sizes DLUY8

List of usage examples for com.jgoodies.forms.layout Sizes DLUY8

Introduction

In this page you can find the example usage for com.jgoodies.forms.layout Sizes DLUY8.

Prototype

ConstantSize DLUY8

To view the source code for com.jgoodies.forms.layout Sizes DLUY8.

Click Source Link

Usage

From source file:se.streamsource.streamflow.client.ui.administration.templates.SelectedTemplatesView.java

License:Apache License

public SelectedTemplatesView(@Service ApplicationContext appContext, @Uses SelectedTemplatesModel model,
        @Structure Module module) {//  w  w w .j  av  a2s  .co m
    this.model = model;
    model.addObserver(this);

    selectedTemplatesBinder = module.objectBuilderFactory().newObject(StateBinder.class);
    selectedTemplatesBinder.addObserver(this);
    selectedTemplatesBinder.addConverter(new StateBinder.Converter() {
        public Object toComponent(Object value) {
            if (value instanceof LinkValue) {
                return ((LinkValue) value).text().get();
            } else
                return value;
        }

        public Object fromComponent(Object value) {
            return value;
        }
    });
    selectedTemplatesBinder.setResourceMap(appContext.getResourceMap(getClass()));
    SelectedTemplatesDTO template = selectedTemplatesBinder.bindingTemplate(SelectedTemplatesDTO.class);

    defaultTemplate.getLabel().setFont(defaultTemplate.getLabel().getFont().deriveFont(Font.BOLD));
    defaultTemplate.setPreferredSize(new Dimension(150, 25));

    formTemplate.getLabel().setFont(formTemplate.getLabel().getFont().deriveFont(Font.BOLD));
    formTemplate.setPreferredSize(new Dimension(150, 25));

    caseTemplate.getLabel().setFont(caseTemplate.getLabel().getFont().deriveFont(Font.BOLD));
    caseTemplate.setPreferredSize(new Dimension(150, 25));

    FormLayout layout = new FormLayout("80dlu, 5dlu, 150:grow",
            "pref, 2dlu, pref, 2dlu, pref, 2dlu, pref:grow");

    JPanel panel = new JPanel(layout);
    DefaultFormBuilder builder = new DefaultFormBuilder(layout, panel);
    builder.setBorder(Borders.createEmptyBorder(Sizes.DLUY8, Sizes.DLUX4, Sizes.DLUY2, Sizes.DLUX8));

    CellConstraints cc = new CellConstraints();

    setActionMap(appContext.getActionMap(this));
    MacOsUIWrapper.convertAccelerators(appContext.getActionMap(SelectedTemplatesView.class, this));

    ActionMap am = getActionMap();

    // Select default template
    javax.swing.Action defaultTemplateAction = am.get("defaultTemplate");
    defaultTemplateButton = new StreamflowButton(defaultTemplateAction);

    defaultTemplateButton.registerKeyboardAction(defaultTemplateAction,
            (KeyStroke) defaultTemplateAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    defaultTemplateButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(defaultTemplateButton, cc.xy(1, 3, CellConstraints.FILL, CellConstraints.TOP));

    builder.add(selectedTemplatesBinder.bind(defaultTemplate, template.defaultPdfTemplate()),
            new CellConstraints(3, 3, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(3, 0, 0, 0)));

    // Select form template
    javax.swing.Action formTemplateAction = am.get("formTemplate");
    formTemplateButton = new StreamflowButton(formTemplateAction);

    formTemplateButton.registerKeyboardAction(formTemplateAction,
            (KeyStroke) formTemplateAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    formTemplateButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(formTemplateButton, cc.xy(1, 5, CellConstraints.FILL, CellConstraints.TOP));

    builder.add(selectedTemplatesBinder.bind(formTemplate, template.formPdfTemplate()),
            new CellConstraints(3, 5, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(3, 0, 0, 0)));

    // Select case template
    javax.swing.Action caseTemplateAction = am.get("caseTemplate");
    caseTemplateButton = new StreamflowButton(caseTemplateAction);

    caseTemplateButton.registerKeyboardAction(caseTemplateAction,
            (KeyStroke) caseTemplateAction.getValue(javax.swing.Action.ACCELERATOR_KEY),
            JComponent.WHEN_IN_FOCUSED_WINDOW);

    caseTemplateButton.setHorizontalAlignment(SwingConstants.LEFT);

    builder.add(caseTemplateButton, cc.xy(1, 7, CellConstraints.FILL, CellConstraints.TOP));

    builder.add(selectedTemplatesBinder.bind(caseTemplate, template.casePdfTemplate()),
            new CellConstraints(3, 7, 1, 1, CellConstraints.LEFT, CellConstraints.TOP, new Insets(3, 0, 0, 0)));

    add(panel, BorderLayout.CENTER);

    selectedTemplatesBinder.updateWith(model.getSelectedTemplatesValue());

    new RefreshWhenShowing(this, model);
}