Search in sources :

Example 11 with BevelBorder

use of javax.swing.border.BevelBorder in project WorldPainter by Captain-Chaos.

the class App method createStatusBar.

private JPanel createStatusBar() {
    JPanel statusBar = new JPanel();
    statusBar.setLayout(new FlowLayout(FlowLayout.LEADING));
    StringBuilder warnings = new StringBuilder();
    Configuration config = Configuration.getInstance();
    if (config.isAutosaveEnabled() && config.isAutosaveInhibited()) {
        warnings.append("Autosave disabled");
    }
    if (config.isSafeMode()) {
        if (warnings.length() > 0) {
            warnings.append(": ");
        }
        warnings.append("Safe mode");
    }
    if (warnings.length() > 0) {
        JLabel warningsLabel = new JLabel(warnings.toString(), IconUtils.loadScaledIcon("org/pepsoft/worldpainter/icons/error.png"), SwingConstants.LEADING);
        warningsLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
        statusBar.add(warningsLabel);
    }
    locationLabel = new JLabel(MessageFormat.format(strings.getString("location.0.1"), -99999, -99999));
    locationLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(locationLabel);
    heightLabel = new JLabel(MessageFormat.format(strings.getString("height.0.of.1"), 9999, 9999));
    heightLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(heightLabel);
    slopeLabel = new JLabel("Slope: 90°");
    slopeLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(slopeLabel);
    materialLabel = new JLabel(MessageFormat.format(strings.getString("material.0"), Material.MOSSY_COBBLESTONE.toString()));
    materialLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(materialLabel);
    waterLabel = new JLabel(MessageFormat.format(strings.getString("fluid.level.1.depth.2"), 9999, 9999));
    waterLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(waterLabel);
    biomeLabel = new JLabel("Auto biome: Mega Spruce Taiga Hills (ID 161)");
    biomeLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(biomeLabel);
    radiusLabel = new JLabel(MessageFormat.format(strings.getString("radius.0"), 999));
    radiusLabel.setToolTipText(strings.getString("scroll.the.mouse.wheel"));
    radiusLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(radiusLabel);
    zoomLabel = new JLabel(MessageFormat.format(strings.getString("zoom.0"), 3200));
    zoomLabel.setBorder(new BevelBorder(BevelBorder.LOWERED));
    statusBar.add(zoomLabel);
    final JProgressBar memoryBar = new JProgressBar();
    memoryBar.setBorder(new BevelBorder(BevelBorder.LOWERED));
    java.awt.Dimension preferredSize = memoryBar.getPreferredSize();
    preferredSize.width = 100;
    memoryBar.setPreferredSize(preferredSize);
    memoryBar.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            if (logger.isDebugEnabled()) {
                logger.debug("Forcing garbage collect");
            }
            System.gc();
        }
    });
    statusBar.add(memoryBar);
    new Timer(2500, new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            long free = runtime.freeMemory();
            long total = runtime.totalMemory();
            long max = runtime.maxMemory();
            long inUse = total - free;
            memoryBar.setValue((int) (inUse * 100 / max));
            int inUseMB = (int) (inUse / ONE_MEGABYTE);
            int maxMB = (int) (max / ONE_MEGABYTE);
            memoryBar.setToolTipText(MessageFormat.format(strings.getString("memory.usage.0.mb.of.1.mb"), inUseMB, maxMB));
        }

        private final Runtime runtime = Runtime.getRuntime();
    }).start();
    return statusBar;
}
Also used : BevelBorder(javax.swing.border.BevelBorder) TerrainPaint(org.pepsoft.worldpainter.painting.TerrainPaint) Paint(org.pepsoft.worldpainter.painting.Paint) LayerPaint(org.pepsoft.worldpainter.painting.LayerPaint) Timer(javax.swing.Timer) java.awt(java.awt)

Example 12 with BevelBorder

use of javax.swing.border.BevelBorder in project netbeans-rcp-lite by outersky.

the class PatternSandbox method initComponents.

/**
 * Initialize UI components.
 */
protected void initComponents() {
    cboxPattern = new JComboBox<String>();
    cboxPattern.setEditable(true);
    cboxPattern.setRenderer(new ShorteningCellRenderer());
    lblPattern = new JLabel();
    lblPattern.setLabelFor(cboxPattern);
    lblHint = new JLabel();
    lblHint.setEnabled(false);
    lblOptions = new JLabel();
    textPane = new JTextPane();
    textScrollPane = new JScrollPane();
    textScrollPane.setViewportView(textPane);
    textScrollPane.setPreferredSize(new Dimension(350, 100));
    textScrollPane.setBorder(new BevelBorder(BevelBorder.LOWERED));
    searchCriteria = new BasicSearchCriteria();
    initSpecificComponents();
    pnlOptions = createOptionsPanel();
    btnApply = new JButton();
    btnCancel = new JButton();
    cboxPatternForegroundStd = cboxPattern.getEditor().getEditorComponent().getForeground();
    initTextPaneContent();
    initHighlighter();
    setMnemonics();
    layoutComponents();
    initInteraction();
    this.addHierarchyListener(this);
    highlightMatchesLater();
}
Also used : BevelBorder(javax.swing.border.BevelBorder)

Example 13 with BevelBorder

use of javax.swing.border.BevelBorder in project dwoss by gg-net.

the class RedTapeController method fillToolBar.

/**
 * Fills the toolbar as well as organizing the popupmenus.
 * <p/>
 */
public void fillToolBar() {
    view.actionBar.removeAll();
    view.actionBar.setLayout(new FlowLayout(FlowLayout.LEADING, 3, 3));
    view.actionBar.add(new JButton(new AbstractAction("Kunden bearbeiten") {

        @Override
        public void actionPerformed(ActionEvent e) {
            openUpdateCustomer(model.getPurchaseCustomer().id());
            view.customerDetailArea.setText(Dl.remote().lookup(CustomerService.class).asHtmlHighDetailed(model.getPurchaseCustomer().id()));
        }
    }));
    // build customer dependant actions.
    if (model.getPurchaseCustomer().violationMessage().isPresent()) {
        Ui.build(view).alert("Kunde ist invalid: " + model.getPurchaseCustomer().violationMessage().get());
    } else if (getViewOnlyCustomerIds().contains(model.getPurchaseCustomer().id())) {
    // Don't allow anything here.
    } else if (model.getPurchaseCustomer().flags().contains(CustomerFlag.SYSTEM_CUSTOMER)) {
        view.actionBar.add(new JButton(new DossierCreateAction(parent(), false, RedTapeController.this, model.getPurchaseCustomer().id())));
    } else {
        view.actionBar.add(new JButton(new DossierCreateAction(parent(), false, RedTapeController.this, model.getPurchaseCustomer().id())));
        view.actionBar.add(new JButton(new DossierCreateAction(parent(), true, RedTapeController.this, model.getPurchaseCustomer().id())));
    }
    JToolBar.Separator sep = new JToolBar.Separator();
    sep.setAlignmentX(JComponent.CENTER_ALIGNMENT);
    view.actionBar.add(sep);
    if (model.getSelectedDocument() != null && !getViewOnlyCustomerIds().contains(model.getPurchaseCustomer().id())) {
        Document selDocument = model.getSelectedDocument();
        DossierUpdateAction action = new DossierUpdateAction(parent(), this, model.getPurchaseCustomer().id(), model.getSelectedDocument());
        view.actionBar.add(new JButton(action));
        // Deactivate Button if a Update isn't possible or allowed.
        if (!isSelectedDocumentEditable()) {
            action.setEnabled(false);
        }
        if (selDocument.getType().equals(DocumentType.CREDIT_MEMO)) {
            Dl.local().lookup(Guardian.class).add(action, CREATE_ANNULATION_INVOICE);
            accessDependentActions.add(action);
        }
        view.setDocumentPopupActions(action, new AbstractAction("Details") {

            @Override
            public void actionPerformed(ActionEvent e) {
                openDocumentViewer(model.getSelectedDocument());
            }
        });
        view.actionBar.add(new JButton(new DocumentJasperViewAction(selDocument, DocumentViewType.DEFAULT, this, model.getPurchaseCustomer().id())));
        if (selDocument.getType() == DocumentType.ORDER)
            view.actionBar.add(new JButton(new DocumentJasperViewAction(selDocument, DocumentViewType.RESERVATION, this, model.getPurchaseCustomer().id())));
        if (!EnumSet.of(DocumentType.ANNULATION_INVOICE, DocumentType.COMPLAINT, DocumentType.CREDIT_MEMO).contains(selDocument.getType())) {
            view.actionBar.add(new DocumentJasperViewAction(selDocument, DocumentViewType.SHIPPING, this, model.getPurchaseCustomer().id()));
        }
    }
    for (Component component : view.actionBar.getComponents()) {
        if (component instanceof JButton) {
            ((JButton) component).setBorder(new BevelBorder(SoftBevelBorder.LOWERED, Color.lightGray, Color.DARK_GRAY, Color.DARK_GRAY, Color.lightGray));
        }
    }
    view.actionBar.revalidate();
    view.actionBar.repaint();
}
Also used : BevelBorder(javax.swing.border.BevelBorder) SoftBevelBorder(javax.swing.border.SoftBevelBorder) ActionEvent(java.awt.event.ActionEvent) DocumentJasperViewAction(eu.ggnet.dwoss.redtapext.ui.cao.jasper.DocumentJasperViewAction) Document(eu.ggnet.dwoss.redtape.ee.entity.Document) Guardian(eu.ggnet.dwoss.core.widget.auth.Guardian)

Example 14 with BevelBorder

use of javax.swing.border.BevelBorder in project servoy-client by Servoy.

the class ComponentFactoryHelper method createBorderString.

public static String createBorderString(Object currentBorder) {
    String retval = null;
    if (currentBorder != null) {
        if (currentBorder instanceof CompoundBorder) {
            Border oborder = ((CompoundBorder) currentBorder).getOutsideBorder();
            Border iborder = ((CompoundBorder) currentBorder).getInsideBorder();
            // $NON-NLS-1$
            retval = COMPOUND_BORDER + ",";
            // $NON-NLS-1$
            retval += ";" + createBorderString(oborder);
            // $NON-NLS-1$ //$NON-NLS-2$
            retval += ";" + createBorderString(iborder) + ";";
        } else if (currentBorder instanceof BevelBorder) {
            BevelBorder border = (BevelBorder) currentBorder;
            int type = border.getBevelType();
            // $NON-NLS-1$
            retval = BEVEL_BORDER + "," + type;
            if (border.getHighlightInnerColor() != null || border.getHighlightOuterColor() != null || border.getShadowInnerColor() != null || border.getShadowOuterColor() != null) {
                // $NON-NLS-1$
                retval += "," + PersistHelper.createColorString(border.getHighlightOuterColor());
                // $NON-NLS-1$
                retval += "," + PersistHelper.createColorString(border.getHighlightInnerColor());
                // $NON-NLS-1$
                retval += "," + PersistHelper.createColorString(border.getShadowOuterColor());
                // $NON-NLS-1$
                retval += "," + PersistHelper.createColorString(border.getShadowInnerColor());
            }
        } else if (currentBorder instanceof EtchedBorder) {
            EtchedBorder border = (EtchedBorder) currentBorder;
            int type = border.getEtchType();
            Color hi = border.getHighlightColor();
            Color sh = border.getShadowColor();
            // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            retval = ETCHED_BORDER + "," + type + "," + PersistHelper.createColorString(hi) + "," + PersistHelper.createColorString(sh);
        } else if (currentBorder instanceof LineBorder) {
            LineBorder border = (LineBorder) currentBorder;
            int thick = border.getThickness();
            Color lineColor = border.getLineColor();
            // $NON-NLS-1$ //$NON-NLS-2$
            retval = LINE_BORDER + "," + thick + "," + PersistHelper.createColorString(lineColor);
        } else if (currentBorder instanceof TitledBorder) {
            TitledBorder border = (TitledBorder) currentBorder;
            String s = border.getTitle();
            // escape //$NON-NLS-1$ //$NON-NLS-2$
            s = Utils.stringReplace(s, ",", "|");
            Font f = border.getTitleFont();
            Color c = border.getTitleColor();
            // $NON-NLS-1$
            retval = TITLED_BORDER + "," + s;
            int justification = border.getTitleJustification();
            int position = border.getTitlePosition();
            if (justification != 0 || position != 0 || f != null || c != null) {
                // $NON-NLS-1$ //$NON-NLS-2$
                retval += "," + justification + "," + position;
                if (f != null) {
                    // $NON-NLS-1$
                    retval += "," + PersistHelper.createFontString(f);
                    if (c != null) {
                        // $NON-NLS-1$
                        retval += "," + PersistHelper.createColorString(c);
                    }
                }
            }
        } else if (currentBorder instanceof SpecialMatteBorder) {
            SpecialMatteBorder border = (SpecialMatteBorder) currentBorder;
            retval = // $NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
            ((border instanceof RoundedBorder) ? ROUNDED_BORDER : SPECIAL_MATTE_BORDER) + "," + border.getTop() + "," + border.getRight() + "," + border.getBottom() + "," + // $NON-NLS-1$
            border.getLeft();
            // $NON-NLS-1$
            retval += "," + PersistHelper.createColorString(border.getTopColor());
            // $NON-NLS-1$
            retval += "," + PersistHelper.createColorString(border.getRightColor());
            // $NON-NLS-1$
            retval += "," + PersistHelper.createColorString(border.getBottomColor());
            // $NON-NLS-1$
            retval += "," + PersistHelper.createColorString(border.getLeftColor());
            if (border instanceof RoundedBorder) {
                // $NON-NLS-1$
                retval += "," + ((RoundedBorder) border).getRoundingRadiusString();
                // $NON-NLS-1$
                retval += "," + ((RoundedBorder) border).getBorderStylesString();
            } else {
                // $NON-NLS-1$
                retval += "," + border.getRoundingRadius();
                // $NON-NLS-1$
                retval += "," + SpecialMatteBorder.createDashString(border.getDashPattern());
            }
        } else if (currentBorder instanceof MatteBorder) {
            MatteBorder border = (MatteBorder) currentBorder;
            Insets i = ComponentFactoryHelper.getBorderInsetsForNoComponent(border);
            Color lineColor = border.getMatteColor();
            // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
            retval = MATTE_BORDER + "," + i.top + "," + i.right + "," + i.bottom + "," + i.left + "," + PersistHelper.createColorString(lineColor);
        } else if (currentBorder instanceof EmptyBorder) {
            EmptyBorder border = (EmptyBorder) currentBorder;
            Insets i = ComponentFactoryHelper.getBorderInsetsForNoComponent(border);
            // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
            retval = EMPTY_BORDER + "," + i.top + "," + i.right + "," + i.bottom + "," + i.left;
        } else {
            // $NON-NLS-1$
            retval = "<select>";
        }
    }
    return retval;
}
Also used : Insets(java.awt.Insets) BevelBorder(javax.swing.border.BevelBorder) SpecialMatteBorder(com.servoy.j2db.util.gui.SpecialMatteBorder) Color(java.awt.Color) LineBorder(javax.swing.border.LineBorder) TitledBorder(javax.swing.border.TitledBorder) Font(java.awt.Font) EtchedBorder(javax.swing.border.EtchedBorder) SpecialMatteBorder(com.servoy.j2db.util.gui.SpecialMatteBorder) MatteBorder(javax.swing.border.MatteBorder) CompoundBorder(javax.swing.border.CompoundBorder) RoundedBorder(com.servoy.j2db.util.gui.RoundedBorder) EmptyBorder(javax.swing.border.EmptyBorder) SpecialMatteBorder(com.servoy.j2db.util.gui.SpecialMatteBorder) LineBorder(javax.swing.border.LineBorder) MatteBorder(javax.swing.border.MatteBorder) Border(javax.swing.border.Border) CompoundBorder(javax.swing.border.CompoundBorder) TitledBorder(javax.swing.border.TitledBorder) RoundedBorder(com.servoy.j2db.util.gui.RoundedBorder) BevelBorder(javax.swing.border.BevelBorder) EmptyBorder(javax.swing.border.EmptyBorder) EtchedBorder(javax.swing.border.EtchedBorder)

Example 15 with BevelBorder

use of javax.swing.border.BevelBorder in project servoy-client by Servoy.

the class WebBaseButton method instrumentBodyText.

@SuppressWarnings("nls")
protected static String instrumentBodyText(CharSequence bodyText, boolean trustDataAsHtml, int halign, int valign, boolean hasHtmlOrImage, Border border, Insets margin, String cssid, char mnemonic, String elementID, String imgURL, Dimension size, boolean isButton, Cursor bodyCursor, boolean isAnchored, int anchors, String cssClass, int rotation, boolean isEnabled, ComponentTag openTag) {
    boolean isElementAnchored = anchors != IAnchorConstants.DEFAULT;
    Insets padding = null;
    Insets borderMargin = null;
    boolean usePadding = false;
    if (border == null) {
        padding = margin;
    } else // empty border gets handled as margin
    if (border instanceof EmptyBorder && !(border instanceof MatteBorder)) {
        usePadding = true;
        padding = ComponentFactoryHelper.getBorderInsetsForNoComponent(border);
    } else // empty border inside compound border gets handled as margin
    if (border instanceof CompoundBorder) {
        Border inside = ((CompoundBorder) border).getInsideBorder();
        if (inside instanceof EmptyBorder && !(border instanceof MatteBorder)) {
            usePadding = true;
            padding = ComponentFactoryHelper.getBorderInsetsForNoComponent(inside);
        }
        Border outside = ((CompoundBorder) border).getOutsideBorder();
        if (outside != null) {
            borderMargin = ComponentFactoryHelper.getBorderInsetsForNoComponent(outside);
        }
    } else if (!(border instanceof BevelBorder) && !(border instanceof EtchedBorder)) {
        if (border instanceof TitledBorder) {
            usePadding = true;
            // margin + border + padding, see beneath
            padding = new Insets(5, 7, 5, 7);
            // add the legend height
            padding.top += ComponentFactoryHelper.getTitledBorderHeight(border);
        } else {
            padding = ComponentFactoryHelper.getBorderInsetsForNoComponent(border);
        }
    }
    // In order to vertically align the text inside the <button>, we wrap the text inside a <span>, and we absolutely
    // position the <span> in the <button>. However, for centering vertically we drop this absolute positioning and
    // rely on the fact that by default the <button> tag vertically centers its content.
    StringBuilder instrumentedBodyText = new StringBuilder();
    String onFocus = "onfocus=\"this.parentNode.focus()\"";
    if (openTag.getAttribute("onfocus") != null && openTag.getAttribute("onfocus").length() > 0 && openTag.getName().equals("label"))
        onFocus = "onclick=" + "\"" + openTag.getAttribute("onfocus").replaceFirst("this", "this.parentNode") + "\"";
    // the latest browsers (except for IE), do not trigger an onfocus neither on the span nor on the parent label element
    // as a workaround, an onclick is added in the span of label elements that does what the parent onfocus does
    // $NON-NLS-1$
    instrumentedBodyText.append("<span ").append(onFocus).append(" style='").append((bodyCursor == null ? "" : "cursor: " + (bodyCursor.getType() == Cursor.HAND_CURSOR ? "pointer" : "default") + "; ")).append("display: block;");
    int top = 0;
    int bottom = 0;
    int left = 0;
    int right = 0;
    if (padding != null && usePadding) {
        top = padding.top;
        bottom = padding.bottom;
        left = padding.left;
        right = padding.right;
    }
    if (rotation == 0 || size.width >= size.height) {
        // Horizontal alignment and anchoring.
        // $NON-NLS-1$ //$NON-NLS-2$
        instrumentedBodyText.append(" left: ").append(left).append("px;");
        // $NON-NLS-1$ //$NON-NLS-2$
        instrumentedBodyText.append(" right: ").append(right).append("px;");
        // Vertical alignment and anchoring.
        if (cssid == null) {
            if (// $NON-NLS-1$ //$NON-NLS-2$
            valign == ISupportTextSetup.TOP)
                // $NON-NLS-1$ //$NON-NLS-2$
                instrumentedBodyText.append(" top: ").append(top).append("px;");
            else // $NON-NLS-1$ //$NON-NLS-2$
            if (valign == ISupportTextSetup.BOTTOM)
                instrumentedBodyText.append(" bottom: ").append(bottom).append("px;");
        }
        // Full height.
        if (// $NON-NLS-1$
        hasHtmlOrImage && valign != ISupportTextSetup.CENTER && cssid == null)
            // $NON-NLS-1$
            instrumentedBodyText.append(" height: 100%;");
        else if (// $NON-NLS-1$
        (cssid != null) || (valign != ISupportTextSetup.CENTER))
            // $NON-NLS-1$
            instrumentedBodyText.append(" position: absolute;");
        else if (!isButton && !hasHtmlOrImage && imgURL == null) {
            int innerHeight = size.height;
            if (padding != null)
                innerHeight -= padding.top + padding.bottom;
            if (borderMargin != null)
                innerHeight -= borderMargin.top + borderMargin.bottom;
            instrumentedBodyText.append("height: ").append(innerHeight).append("px;line-height: ").append(innerHeight).append("px;");
        }
        if (isAnchored) {
            // $NON-NLS-1$
            instrumentedBodyText.append(" position: relative;");
        }
    } else {
        // this is a special case, invert width and height so that text is fully visible when rotated
        int innerWidth = size.height;
        if (padding != null)
            innerWidth -= padding.top + padding.bottom;
        if (borderMargin != null)
            innerWidth -= borderMargin.top + borderMargin.bottom;
        int innerHeight = size.width;
        if (padding != null)
            innerHeight -= padding.left + padding.right;
        if (borderMargin != null)
            innerHeight -= borderMargin.left + borderMargin.right;
        int rotationOffset = (innerWidth - innerHeight) / 2;
        // $NON-NLS-1$ //$NON-NLS-2$
        instrumentedBodyText.append(" left: -").append(rotationOffset).append("px;");
        // $NON-NLS-1$ //$NON-NLS-2$
        instrumentedBodyText.append(" top: ").append(rotationOffset).append("px;");
        instrumentedBodyText.append(" position: absolute;");
        instrumentedBodyText.append(" height: ").append(innerHeight).append("px;");
        instrumentedBodyText.append(" width: ").append(innerWidth).append("px;");
        instrumentedBodyText.append("line-height: ").append(innerHeight).append("px;");
    }
    if (!hasHtmlOrImage)
        instrumentedBodyText.append(" overflow: hidden;");
    if (// $NON-NLS-1$
    halign == ISupportTextSetup.LEFT)
        // $NON-NLS-1$
        instrumentedBodyText.append(" text-align: left;");
    else if (// $NON-NLS-1$
    halign == ISupportTextSetup.RIGHT)
        // $NON-NLS-1$
        instrumentedBodyText.append(" text-align: right;");
    else
        // $NON-NLS-1$
        instrumentedBodyText.append(" text-align: center;");
    if (rotation > 0) {
        String rotationCss = "rotate(" + rotation + "deg)";
        // $NON-NLS-1$
        instrumentedBodyText.append(" -ms-transform: ").append(rotationCss).append(";").append(" -moz-transform: ").append(rotationCss).append(";").append(" -webkit-transform: ").append(rotationCss).append(";").append(" -o-transform: ").append(rotationCss).append(";").append(" transform: ").append(rotationCss).append(";");
    }
    // $NON-NLS-1$
    if (cssid != null && cssClass == null)
        instrumentedBodyText.append(" visibility: hidden;");
    // $NON-NLS-1$
    instrumentedBodyText.append("'");
    if (cssClass != null) {
        // $NON-NLS-1$
        instrumentedBodyText.append(" class='");
        instrumentedBodyText.append(cssClass);
        // $NON-NLS-1$
        instrumentedBodyText.append("'");
    }
    if (cssid != null) {
        // $NON-NLS-1$
        instrumentedBodyText.append(" id='");
        instrumentedBodyText.append(cssid);
        // $NON-NLS-1$
        instrumentedBodyText.append("'");
    }
    // $NON-NLS-1$
    instrumentedBodyText.append(">");
    // in ie<8 the filter:alpha(opacity=50) applied on the <button> element is not applied to the <img> element
    String IE8filterFIx = "";
    if (!isEnabled) {
        WebClientInfo webClientInfo = new WebClientInfo((WebRequestCycle) RequestCycle.get());
        ClientProperties cp = webClientInfo.getProperties();
        if (cp.isBrowserInternetExplorer() && cp.getBrowserVersionMajor() != -1 && cp.getBrowserVersionMajor() < 9) {
            IE8filterFIx = "filter:alpha(opacity=50);";
        }
    }
    if (!Strings.isEmpty(bodyText)) {
        CharSequence bodyTextValue = sanitize(bodyText, trustDataAsHtml);
        if (mnemonic > 0 && !hasHtmlOrImage) {
            StringBuilder sbBodyText = new StringBuilder(bodyTextValue);
            int mnemonicIdx = sbBodyText.indexOf(Character.toString(mnemonic));
            if (mnemonicIdx != -1) {
                sbBodyText.insert(mnemonicIdx + 1, "</u>");
                sbBodyText.insert(mnemonicIdx, "<u>");
                bodyTextValue = sbBodyText;
            }
        }
        if (imgURL != null) {
            String onLoadCall = isElementAnchored ? " onload=\"Servoy.Utils.setLabelChildHeight('" + elementID + "', " + valign + ");\"" : "";
            StringBuilder sb = new StringBuilder("<img id=\"").append(elementID).append("_img").append("\" src=\"").append(imgURL).append("\" style=\"vertical-align: middle;").append(IE8filterFIx).append((isElementAnchored && (cssClass == null) ? "visibility:hidden;" : "")).append("\"").append(onLoadCall).append("/>");
            sb.append("<span style=\"vertical-align:middle;\">&nbsp;").append(bodyTextValue);
            bodyTextValue = sb;
        }
        instrumentedBodyText.append(bodyTextValue);
        if (imgURL != null) {
            instrumentedBodyText.append("</span>");
        }
    } else if (imgURL != null) {
        instrumentedBodyText.append("<img id=\"");
        instrumentedBodyText.append(elementID).append("_img\"");
        instrumentedBodyText.append("style=\"").append((isElementAnchored && (cssClass == null) ? " visibility:hidden;" : "")).append(IE8filterFIx).append(// hide it until setLabelChildHeight is calculated
        "\"");
        instrumentedBodyText.append(" src=\"");
        instrumentedBodyText.append(imgURL);
        String onLoadCall = isElementAnchored ? " onload=\"Servoy.Utils.setLabelChildHeight('" + elementID + "', " + valign + ");\"" : "";
        instrumentedBodyText.append("\" align=\"middle\"").append(onLoadCall).append("/>");
    }
    // $NON-NLS-1$
    instrumentedBodyText.append("</span>");
    if (border instanceof TitledBorder) {
        instrumentedBodyText = new StringBuilder(getTitledBorderOpenMarkup((TitledBorder) border)).append(instrumentedBodyText).append(getTitledBorderCloseMarkup());
    }
    if (border instanceof CompoundBorder) {
        Border outside = ((CompoundBorder) border).getOutsideBorder();
        if (outside != null && outside instanceof TitledBorder) {
            instrumentedBodyText = new StringBuilder(getTitledBorderOpenMarkup((TitledBorder) outside)).append(instrumentedBodyText).append(getTitledBorderCloseMarkup());
        }
    }
    return instrumentedBodyText.toString();
}
Also used : WebClientInfo(org.apache.wicket.protocol.http.request.WebClientInfo) ClientProperties(org.apache.wicket.protocol.http.ClientProperties) Insets(java.awt.Insets) BevelBorder(javax.swing.border.BevelBorder) TitledBorder(javax.swing.border.TitledBorder) Point(java.awt.Point) MatteBorder(javax.swing.border.MatteBorder) EtchedBorder(javax.swing.border.EtchedBorder) CompoundBorder(javax.swing.border.CompoundBorder) EmptyBorder(javax.swing.border.EmptyBorder) MatteBorder(javax.swing.border.MatteBorder) Border(javax.swing.border.Border) CompoundBorder(javax.swing.border.CompoundBorder) TitledBorder(javax.swing.border.TitledBorder) EmptyBorder(javax.swing.border.EmptyBorder) BevelBorder(javax.swing.border.BevelBorder) EtchedBorder(javax.swing.border.EtchedBorder)

Aggregations

BevelBorder (javax.swing.border.BevelBorder)44 JPanel (javax.swing.JPanel)15 JLabel (javax.swing.JLabel)13 JScrollPane (javax.swing.JScrollPane)11 Dimension (java.awt.Dimension)10 BorderLayout (java.awt.BorderLayout)9 FlowLayout (java.awt.FlowLayout)9 Insets (java.awt.Insets)9 ActionEvent (java.awt.event.ActionEvent)9 JButton (javax.swing.JButton)9 Font (java.awt.Font)8 Color (java.awt.Color)7 EtchedBorder (javax.swing.border.EtchedBorder)7 TitledBorder (javax.swing.border.TitledBorder)7 ActionListener (java.awt.event.ActionListener)6 JTextField (javax.swing.JTextField)6 EmptyBorder (javax.swing.border.EmptyBorder)6 GridBagConstraints (java.awt.GridBagConstraints)4 GridBagLayout (java.awt.GridBagLayout)4 ImageIcon (javax.swing.ImageIcon)4