Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoritrimble2009-05-05 19:21:57 +0000
committeritrimble2009-05-05 19:21:57 +0000
commit525b167e9c78f9e705f3749e2309b7661bb27513 (patch)
tree835ef219e6395df401139cf8630cfe6ef37330ea
parent457656f0f4acd2b07baef8a8d9c7b8e535fb862e (diff)
downloadwebtools.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.java31
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;
+ }
}

Back to the top