@Override public void updateMinimumSize() { final Dimension min; if (getTarget().isMinimumSizeSet()) { min = getTarget().getMinimumSize(); min.width = Math.max(min.width, MINIMUM_WIDTH); min.height = Math.max(min.height, MINIMUM_HEIGHT); } else { min = new Dimension(MINIMUM_WIDTH, MINIMUM_HEIGHT); } final int maxW, maxH; if (graphicsConfig instanceof TextureSizeConstraining) { maxW = ((TextureSizeConstraining) graphicsConfig).getMaxTextureWidth(); maxH = ((TextureSizeConstraining) graphicsConfig).getMaxTextureHeight(); } else { maxW = maxH = Integer.MAX_VALUE; } final Dimension max; if (getTarget().isMaximumSizeSet()) { max = getTarget().getMaximumSize(); max.width = Math.min(max.width, maxW); max.height = Math.min(max.height, maxH); } else { max = new Dimension(maxW, maxH); } platformWindow.setSizeConstraints(min.width, min.height, max.width, max.height); }
public Dimension getMinimumSize() { FontMetrics fm = getFontMetrics(target.getFont()); Choice c = (Choice) target; int w = 0; for (int i = c.countItems(); i-- > 0; ) { w = Math.max(fm.stringWidth(c.getItem(i)), w); } return new Dimension(32 + w, Math.max(fm.getHeight() + 8, 15) + 5); }
XTextFieldPeer(TextField target) { super(target); text = target.getText(); xtext = new XAWTTextField(text, this, target.getParent()); xtext.getDocument().addDocumentListener(xtext); xtext.setCursor(target.getCursor()); XToolkit.specialPeerMap.put(xtext, this); initTextField(); setText(target.getText()); if (target.echoCharIsSet()) { setEchoChar(target.getEchoChar()); } else setEchoChar((char) 0); int start = target.getSelectionStart(); int end = target.getSelectionEnd(); // Fix for 5100200 // Restoring Motif behaviour // Since the end position of the selected text can be greater than the length of the text, // so we should set caret to max position of the text setCaretPosition(Math.min(end, text.length())); if (end > start) { // Should be called after setText() and setCaretPosition() select(start, end); } setEditable(target.isEditable()); // After this line we should not change the component's text firstChangeSkipped = true; AWTAccessor.getComponentAccessor().setPeer(xtext, this); }
public Dimension preferredSize(int v) { if (fm == null) { List li = (List) target; fm = getFontMetrics(li.getFont()); } Dimension d = minimumSize(v); d.width = Math.max(d.width, getMaxWidth() + 20); return d; }
@Override public void updateMinimumSize() { final Dimension min; if (getTarget().isMinimumSizeSet()) { min = getTarget().getMinimumSize(); min.width = Math.max(min.width, MINIMUM_WIDTH); min.height = Math.max(min.height, MINIMUM_HEIGHT); } else { min = new Dimension(MINIMUM_WIDTH, MINIMUM_HEIGHT); } final Dimension max; if (getTarget().isMaximumSizeSet()) { max = getTarget().getMaximumSize(); max.width = Math.min(max.width, getLWGC().getMaxTextureWidth()); max.height = Math.min(max.height, getLWGC().getMaxTextureHeight()); } else { max = new Dimension(getLWGC().getMaxTextureWidth(), getLWGC().getMaxTextureHeight()); } platformWindow.setSizeConstraints(min.width, min.height, max.width, max.height); }
void notifyChildEmbedded() { xembed.sendMessage( xembed.handle, XEMBED_EMBEDDED_NOTIFY, getWindow(), Math.min(xembed.version, XEMBED_VERSION), 0); if (isApplicationActive()) { xembedLog.fine("Sending WINDOW_ACTIVATE during initialization"); xembed.sendMessage(xembed.handle, XEMBED_WINDOW_ACTIVATE); if (hasFocus()) { xembedLog.fine("Sending FOCUS_GAINED during initialization"); xembed.sendMessage(xembed.handle, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT, 0, 0); } } }