mirror of
https://github.com/vaadin/framework.git
synced 2024-09-13 15:46:01 +02:00
fixes #2304, panel without caption/custom styles
svn changeset:6136/svn branch:trunk
This commit is contained in:
parent
1c3b755ac5
commit
69a467cb0d
@ -105,6 +105,48 @@ public class IPanel extends SimplePanel implements Container {
|
||||
|
||||
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
|
||||
rendering = true;
|
||||
if (!uidl.hasAttribute("cached")) {
|
||||
// Handle caption displaying and style names, prior generics.
|
||||
// Affects size
|
||||
// calculations
|
||||
|
||||
// Restore default stylenames
|
||||
contentNode.setClassName(CLASSNAME + "-content");
|
||||
bottomDecoration.setClassName(CLASSNAME + "-deco");
|
||||
captionNode.setClassName(CLASSNAME + "-caption");
|
||||
boolean hasCaption = false;
|
||||
if (uidl.hasAttribute("caption")
|
||||
&& !uidl.getStringAttribute("caption").equals("")) {
|
||||
setCaption(uidl.getStringAttribute("caption"));
|
||||
hasCaption = true;
|
||||
} else {
|
||||
setCaption("");
|
||||
captionNode.setClassName(CLASSNAME + "-nocaption");
|
||||
}
|
||||
|
||||
// Add proper stylenames for all elements. This way we can prevent
|
||||
// unwanted CSS selector inheritance.
|
||||
if (uidl.hasAttribute("style")) {
|
||||
final String[] styles = uidl.getStringAttribute("style").split(
|
||||
" ");
|
||||
final String captionBaseClass = CLASSNAME
|
||||
+ (hasCaption ? "-caption" : "-nocaption");
|
||||
final String contentBaseClass = CLASSNAME + "-content";
|
||||
final String decoBaseClass = CLASSNAME + "-deco";
|
||||
String captionClass = captionBaseClass;
|
||||
String contentClass = contentBaseClass;
|
||||
String decoClass = decoBaseClass;
|
||||
for (int i = 0; i < styles.length; i++) {
|
||||
captionClass += " " + captionBaseClass + "-" + styles[i];
|
||||
contentClass += " " + contentBaseClass + "-" + styles[i];
|
||||
decoClass += " " + decoBaseClass + "-" + styles[i];
|
||||
}
|
||||
captionNode.setClassName(captionClass);
|
||||
contentNode.setClassName(contentClass);
|
||||
bottomDecoration.setClassName(decoClass);
|
||||
|
||||
}
|
||||
}
|
||||
// Ensure correct implementation
|
||||
if (client.updateComponent(this, uidl, false)) {
|
||||
rendering = false;
|
||||
@ -114,53 +156,12 @@ public class IPanel extends SimplePanel implements Container {
|
||||
this.client = client;
|
||||
id = uidl.getId();
|
||||
|
||||
// Restore default stylenames
|
||||
captionNode.setClassName(CLASSNAME + "-caption");
|
||||
contentNode.setClassName(CLASSNAME + "-content");
|
||||
bottomDecoration.setClassName(CLASSNAME + "-deco");
|
||||
|
||||
// Handle caption displaying
|
||||
boolean hasCaption = false;
|
||||
if (uidl.hasAttribute("caption")
|
||||
&& !uidl.getStringAttribute("caption").equals("")) {
|
||||
setCaption(uidl.getStringAttribute("caption"));
|
||||
hasCaption = true;
|
||||
} else {
|
||||
setCaption("");
|
||||
captionNode.setClassName(CLASSNAME + "-nocaption");
|
||||
}
|
||||
|
||||
setIconUri(uidl, client);
|
||||
|
||||
handleDescription(uidl);
|
||||
|
||||
handleError(uidl);
|
||||
|
||||
// Add proper stylenames for all elements. This way we can prevent
|
||||
// unwanted CSS selector inheritance.
|
||||
if (uidl.hasAttribute("style")) {
|
||||
final String[] styles = uidl.getStringAttribute("style").split(" ");
|
||||
final String captionBaseClass = CLASSNAME
|
||||
+ (hasCaption ? "-caption" : "-nocaption");
|
||||
final String contentBaseClass = CLASSNAME + "-content";
|
||||
final String decoBaseClass = CLASSNAME + "-deco";
|
||||
String captionClass = captionBaseClass;
|
||||
String contentClass = contentBaseClass;
|
||||
String decoClass = decoBaseClass;
|
||||
for (int i = 0; i < styles.length; i++) {
|
||||
captionClass += " " + captionBaseClass + "-" + styles[i];
|
||||
contentClass += " " + contentBaseClass + "-" + styles[i];
|
||||
decoClass += " " + decoBaseClass + "-" + styles[i];
|
||||
}
|
||||
captionNode.setClassName(captionClass);
|
||||
contentNode.setClassName(contentClass);
|
||||
bottomDecoration.setClassName(decoClass);
|
||||
|
||||
}
|
||||
|
||||
// Height adjustment
|
||||
// iLayout(false);
|
||||
|
||||
// Render content
|
||||
final UIDL layoutUidl = uidl.getChildUIDL(0);
|
||||
final Paintable newLayout = client.getPaintable(layoutUidl);
|
||||
|
Loading…
Reference in New Issue
Block a user