Selaa lähdekoodia

fixes #2339 and renamed some util methods

svn changeset:6227/svn branch:trunk
tags/6.7.0.beta1
Matti Tahvonen 15 vuotta sitten
vanhempi
commit
a628656414

+ 17
- 1
src/com/itmill/toolkit/terminal/gwt/client/Util.java Näytä tiedosto

@@ -249,7 +249,8 @@ public class Util {
return element.cloneNode(deep);
}-*/;

public static int measureHorizontalPadding(Element element, int paddingGuess) {
public static int measureHorizontalPaddingAndBorder(Element element,
int paddingGuess) {
String originalWidth = DOM.getStyleAttribute(element, "width");
int originalOffsetWidth = element.getOffsetWidth();
int widthGuess = (originalOffsetWidth - paddingGuess);
@@ -263,6 +264,21 @@ public class Util {
return padding;
}

public static int measureVerticalPaddingAndBorder(Element element,
int paddingGuess) {
String originalHeight = DOM.getStyleAttribute(element, "height");
int originalOffsetHeight = element.getOffsetHeight();
int widthGuess = (originalOffsetHeight - paddingGuess);
if (widthGuess < 1) {
widthGuess = 1;
}
DOM.setStyleAttribute(element, "height", widthGuess + "px");
int padding = element.getOffsetHeight() - widthGuess;

DOM.setStyleAttribute(element, "height", originalHeight);
return padding;
}

public static int measureHorizontalBorder(Element element) {
int borders;
if (BrowserInfo.get().isIE()) {

+ 1
- 1
src/com/itmill/toolkit/terminal/gwt/client/ui/IAccordion.java Näytä tiedosto

@@ -328,7 +328,7 @@ public class IAccordion extends ITabsheetBase implements
}

int captionWidth = caption.getRequiredWidth();
int padding = Util.measureHorizontalPadding(caption.getElement(),
int padding = Util.measureHorizontalPaddingAndBorder(caption.getElement(),
18);
return captionWidth + padding;
}

+ 14
- 1
src/com/itmill/toolkit/terminal/gwt/client/ui/ICustomLayout.java Näytä tiedosto

@@ -68,6 +68,8 @@ public class ICustomLayout extends ComplexPanel implements Paintable,

private String width = "";

private HashMap<String, FloatSize> locationToExtraSize = new HashMap<String, FloatSize>();

public ICustomLayout() {
setElement(DOM.createDiv());
// Clear any unwanted styling
@@ -265,6 +267,13 @@ public class ICustomLayout extends ComplexPanel implements Paintable,
if (!"".equals(location)) {
locationToElement.put(location, elem);
elem.setInnerHTML("");
int x = Util.measureHorizontalPaddingAndBorder(elem, 0);
int y = Util.measureVerticalPaddingAndBorder(elem, 0);

FloatSize fs = new FloatSize(x, y);

locationToExtraSize.put(location, fs);

} else {
final int len = DOM.getChildCount(elem);
for (int i = 0; i < len; i++) {
@@ -509,7 +518,11 @@ public class ICustomLayout extends ComplexPanel implements Paintable,
public RenderSpace getAllocatedSpace(Widget child) {
com.google.gwt.dom.client.Element pe = child.getElement()
.getParentElement();
return new RenderSpace(pe.getOffsetWidth(), pe.getOffsetHeight(), true);

FloatSize extra = locationToExtraSize.get(getLocation(child));
return new RenderSpace(pe.getOffsetWidth() - (int) extra.getWidth(), pe
.getOffsetHeight()
- (int) extra.getHeight(), true);
}

@Override

+ 1
- 1
src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java Näytä tiedosto

@@ -930,7 +930,7 @@ public class IFilterSelect extends Composite implements Paintable, Field,

public int getTextboxPadding() {
if (textboxPadding < 0) {
textboxPadding = Util.measureHorizontalPadding(tb.getElement(), 4);
textboxPadding = Util.measureHorizontalPaddingAndBorder(tb.getElement(), 4);
}
return textboxPadding;
}

+ 2
- 2
src/com/itmill/toolkit/terminal/gwt/client/ui/IPanel.java Näytä tiedosto

@@ -268,7 +268,7 @@ public class IPanel extends SimplePanel implements Container {
*/
DOM.setStyleAttribute(captionNode, "width", "1px");

int parentPadding = Util.measureHorizontalPadding(getElement(), 0);
int parentPadding = Util.measureHorizontalPaddingAndBorder(getElement(), 0);

int parentWidthExcludingPadding = getElement().getOffsetWidth()
- parentPadding;
@@ -465,7 +465,7 @@ public class IPanel extends SimplePanel implements Container {

DOM.setStyleAttribute(contentNode, "overflow", "auto");

captionPaddingHorizontal = Util.measureHorizontalPadding(captionNode,
captionPaddingHorizontal = Util.measureHorizontalPaddingAndBorder(captionNode,
26);

captionMarginLeft = Util.measureMarginLeft(captionNode);

Loading…
Peruuta
Tallenna