diff options
author | Artur Signell <artur.signell@itmill.com> | 2008-12-01 06:19:17 +0000 |
---|---|---|
committer | Artur Signell <artur.signell@itmill.com> | 2008-12-01 06:19:17 +0000 |
commit | 6611eebd41a7a32485e0790a2376c42897d53787 (patch) | |
tree | 7b4a8cdd5b3a62e2950efaddf4b71fe463cbc923 | |
parent | 383e39e4bd5b95ca522a214c73b8acaea9c1c949 (diff) | |
download | vaadin-framework-6611eebd41a7a32485e0790a2376c42897d53787.tar.gz vaadin-framework-6611eebd41a7a32485e0790a2376c42897d53787.zip |
Test case and fix for #2245 - SplitPanel without both components cannot be painted
svn changeset:6049/svn branch:trunk
-rw-r--r-- | src/com/itmill/toolkit/tests/tickets/Ticket2245.java | 17 | ||||
-rw-r--r-- | src/com/itmill/toolkit/ui/AbstractComponent.java | 3 | ||||
-rw-r--r-- | src/com/itmill/toolkit/ui/SplitPanel.java | 8 |
3 files changed, 25 insertions, 3 deletions
diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket2245.java b/src/com/itmill/toolkit/tests/tickets/Ticket2245.java new file mode 100644 index 0000000000..816a191b20 --- /dev/null +++ b/src/com/itmill/toolkit/tests/tickets/Ticket2245.java @@ -0,0 +1,17 @@ +package com.itmill.toolkit.tests.tickets; + +import com.itmill.toolkit.Application; +import com.itmill.toolkit.ui.SplitPanel; +import com.itmill.toolkit.ui.Window; + +public class Ticket2245 extends Application { + + @Override + public void init() { + Window main = new Window("The Main Window"); + main.getLayout().setSizeFull(); + setMainWindow(main); + SplitPanel sp = new SplitPanel(SplitPanel.ORIENTATION_VERTICAL); + main.addComponent(sp); + } +} diff --git a/src/com/itmill/toolkit/ui/AbstractComponent.java b/src/com/itmill/toolkit/ui/AbstractComponent.java index 7bcc6fb642..958d597bab 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponent.java +++ b/src/com/itmill/toolkit/ui/AbstractComponent.java @@ -609,7 +609,8 @@ public abstract class AbstractComponent implements Component, MethodEventSource if (isVisible()) { // TODO split this method - if (getApplication().isDebugMode() + if (getApplication() != null + && getApplication().isDebugMode() && !DebugUtilities.validateComponentRelativeSizes(this, false)) { addStyleName("invalidlayout"); diff --git a/src/com/itmill/toolkit/ui/SplitPanel.java b/src/com/itmill/toolkit/ui/SplitPanel.java index 0e51b9fcee..0f03df0f99 100644 --- a/src/com/itmill/toolkit/ui/SplitPanel.java +++ b/src/com/itmill/toolkit/ui/SplitPanel.java @@ -212,12 +212,16 @@ public class SplitPanel extends AbstractLayout { if (firstComponent != null) { firstComponent.paint(target); } else { - (new OrderedLayout()).paint(target); + OrderedLayout temporaryComponent = new OrderedLayout(); + temporaryComponent.setParent(this); + temporaryComponent.paint(target); } if (secondComponent != null) { secondComponent.paint(target); } else { - (new OrderedLayout()).paint(target); + OrderedLayout temporaryComponent = new OrderedLayout(); + temporaryComponent.setParent(this); + temporaryComponent.paint(target); } } |