diff options
author | itrimble | 2009-05-05 19:21:57 +0000 |
---|---|---|
committer | itrimble | 2009-05-05 19:21:57 +0000 |
commit | 525b167e9c78f9e705f3749e2309b7661bb27513 (patch) | |
tree | 835ef219e6395df401139cf8630cfe6ef37330ea | |
parent | 457656f0f4acd2b07baef8a8d9c7b8e535fb862e (diff) | |
download | webtools.jsf-525b167e9c78f9e705f3749e2309b7661bb27513.tar.gz webtools.jsf-525b167e9c78f9e705f3749e2309b7661bb27513.tar.xz webtools.jsf-525b167e9c78f9e705f3749e2309b7661bb27513.zip |
Bug 275033: [WPE] Extra padding results in "expanded" layout.
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java index db251dd05..e8925561e 100644 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java +++ b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/style/AbstractStyle.java @@ -11,11 +11,13 @@ *******************************************************************************/ package org.eclipse.jst.pagedesigner.css2.style; +import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.eclipse.draw2d.geometry.Insets; import org.eclipse.jst.pagedesigner.IHTMLConstants; +import org.eclipse.jst.pagedesigner.converter.ITagConverter; import org.eclipse.jst.pagedesigner.css2.CSSUtil; import org.eclipse.jst.pagedesigner.css2.ICSSStyle; import org.eclipse.jst.pagedesigner.css2.font.CSSFontManager; @@ -387,10 +389,17 @@ public class AbstractStyle implements ICSSStyle */ public Insets getPaddingInsets() { if (_paddingInsets == null) { - int top = getInsetProperty(ICSSPropertyID.ATTR_PADDING_TOP)+ARTIFICIAL_BORDER_OFFSET; - int left = getInsetProperty(ICSSPropertyID.ATTR_PADDING_LEFT)+ARTIFICIAL_BORDER_OFFSET; - int bottom = getInsetProperty(ICSSPropertyID.ATTR_PADDING_BOTTOM)+ARTIFICIAL_BORDER_OFFSET; - int right = getInsetProperty(ICSSPropertyID.ATTR_PADDING_RIGHT)+ARTIFICIAL_BORDER_OFFSET; + int top = getInsetProperty(ICSSPropertyID.ATTR_PADDING_TOP); + int left = getInsetProperty(ICSSPropertyID.ATTR_PADDING_LEFT); + int bottom = getInsetProperty(ICSSPropertyID.ATTR_PADDING_BOTTOM); + int right = getInsetProperty(ICSSPropertyID.ATTR_PADDING_RIGHT); + //add extra padding only for the top element of a source tag's rendering + if (elementIsTagConverted()) { + top += ARTIFICIAL_BORDER_OFFSET; + left += ARTIFICIAL_BORDER_OFFSET; + bottom += ARTIFICIAL_BORDER_OFFSET; + right += ARTIFICIAL_BORDER_OFFSET; + } _paddingInsets = new Insets(top, left, bottom, right); } return _paddingInsets; @@ -683,4 +692,18 @@ public class AbstractStyle implements ICSSStyle this._counters = null; CounterHelper.processCounterIncrement(this); } + + private boolean elementIsTagConverted() { + boolean isTagConverted = false; + if (_element instanceof INodeNotifier) { + Collection nodeAdapters = ((INodeNotifier)_element).getAdapters(); + for (Object nodeAdapter: nodeAdapters) { + if (nodeAdapter instanceof ITagConverter) { + isTagConverted = true; + break; + } + } + } + return isTagConverted; + } } |