diff --git a/src/main/java/org/olat/admin/sysinfo/InfoMessageControllerSingleVM.java b/src/main/java/org/olat/admin/sysinfo/InfoMessageControllerSingleVM.java index 62991eb0637e581ebb4437efc95749a10d51752e..9c49276297fcb6a40a48f110ec46b7f3237afef3 100644 --- a/src/main/java/org/olat/admin/sysinfo/InfoMessageControllerSingleVM.java +++ b/src/main/java/org/olat/admin/sysinfo/InfoMessageControllerSingleVM.java @@ -31,7 +31,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -53,7 +53,7 @@ public class InfoMessageControllerSingleVM extends BasicController { private Link infomsgEditButton,infomsgClearButton, maintenancemsgEditButton,maintenancemsgClearButton; private VelocityContainer infoMsgView, infoMsgEdit; private InfoMsgForm infoMsgForm, maintenanceMsgForm; - private Panel container; + private StackedPanel container; /** * @@ -62,7 +62,7 @@ public class InfoMessageControllerSingleVM extends BasicController { */ public InfoMessageControllerSingleVM(UserRequest ureq, WindowControl control) { super(ureq, control); - container = new Panel("container"); + container = new StackedPanel("container"); infoMsgView = createVelocityContainer("infomsg"); infoMsgEdit = createVelocityContainer("infomsgEdit"); infoMsgView.contextPut("cluster", Boolean.FALSE); @@ -170,7 +170,7 @@ public class InfoMessageControllerSingleVM extends BasicController { protected VelocityContainer getEditContainer() { return infoMsgEdit; } - protected Panel getMainContainer() { + protected StackedPanel getMainContainer() { return container; } protected InfoMsgForm getMaintenanceMsgForm() { diff --git a/src/main/java/org/olat/admin/user/UserSearchController.java b/src/main/java/org/olat/admin/user/UserSearchController.java index 4bf21a0ce67f91f1a78f1c8185abf7a277d41dda..212a193d826e706df54bef664c3ec38beec78248 100644 --- a/src/main/java/org/olat/admin/user/UserSearchController.java +++ b/src/main/java/org/olat/admin/user/UserSearchController.java @@ -36,7 +36,7 @@ import org.olat.core.gui.components.Component; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.StaticColumnDescriptor; import org.olat.core.gui.components.table.Table; import org.olat.core.gui.components.table.TableController; @@ -100,7 +100,7 @@ public class UserSearchController extends BasicController { private static final String ACTION_MULTISELECT_CHOOSE = "msc"; private VelocityContainer myContent; - private Panel searchPanel; + private StackedPanel searchPanel; private UserSearchForm searchform; private TableController tableCtr; private TableGuiConfiguration tableConfig; @@ -170,7 +170,7 @@ public class UserSearchController extends BasicController { myContent = new VelocityContainer("olatusersearch", VELOCITY_ROOT + "/usersearch.html", pT, this); backLink = LinkFactory.createButton("btn.back", myContent, this); - searchPanel = new Panel("usersearchPanel"); + searchPanel = new StackedPanel("usersearchPanel"); searchPanel.addListener(this); myContent.put("usersearchPanel", searchPanel); diff --git a/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java b/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java index 43fa5920cedb8e85eba0fa3ddfb178adb443e582..e8d2acc1c9aaccedf55831088ea9ea923ee8b142 100644 --- a/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java +++ b/src/main/java/org/olat/admin/user/UsermanagerUserSearchController.java @@ -61,7 +61,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.Table; import org.olat.core.gui.components.table.TableController; import org.olat.core.gui.components.table.TableEvent; @@ -119,7 +119,7 @@ public class UsermanagerUserSearchController extends BasicController implements private static final String CMD_BULKEDIT = "bulkEditUsers"; private VelocityContainer userListVC, userSearchVC, mailVC; - private Panel panel; + private StackedPanel panel; private UsermanagerUserSearchForm searchform; private TableController tableCtr; diff --git a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryDetailsController.java b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryDetailsController.java index 5e2326614998562e640bac9959d64dceb4ccd807..38f3d644ee3e8bea83db8120d2147683d4a5fd71 100644 --- a/src/main/java/org/olat/commons/calendar/ui/KalendarEntryDetailsController.java +++ b/src/main/java/org/olat/commons/calendar/ui/KalendarEntryDetailsController.java @@ -42,7 +42,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.tabbedpane.TabbedPane; import org.olat.core.gui.components.tabbedpane.TabbedPaneChangedEvent; import org.olat.core.gui.components.velocity.VelocityContainer; @@ -62,7 +62,7 @@ public class KalendarEntryDetailsController extends BasicController { private Collection<KalendarRenderWrapper> availableCalendars; private boolean isNew, isReadOnly; private KalendarEvent kalendarEvent; - private Panel mainPanel; + private StackedPanel mainPanel; private VelocityContainer mainVC, eventVC, linkVC; private TabbedPane pane; private KalendarEntryForm eventForm; diff --git a/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java b/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java index df4084c7b7ca8c08ffca221f6264b3d191fa1270..6883795cb78a9d6fa8ab298c69477fa34d63f31e 100644 --- a/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java +++ b/src/main/java/org/olat/commons/file/filechooser/FileChooseCreateEditController.java @@ -52,7 +52,7 @@ import org.olat.core.gui.components.form.flexible.impl.FormEvent; import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -224,7 +224,7 @@ public class FileChooseCreateEditController extends BasicController{ cmdUpload.execute(folderComponent, ureq, getTranslator(), true); cmdUpload.hideFieldset(); listenTo(cmdUpload); - Panel mainPanel = new Panel("upl"); + StackedPanel mainPanel = new StackedPanel("upl"); Component uploadComp = cmdUpload.getInitialComponent(); if (uploadComp != null) { mainPanel.pushContent(uploadComp); diff --git a/src/main/java/org/olat/commons/file/filechooser/FileChooserController.java b/src/main/java/org/olat/commons/file/filechooser/FileChooserController.java index e2cb0734ef8ed3130ca433a644688be5d474c361..7c766c41859a376bff8dd9da43c96f7113c427ef 100644 --- a/src/main/java/org/olat/commons/file/filechooser/FileChooserController.java +++ b/src/main/java/org/olat/commons/file/filechooser/FileChooserController.java @@ -38,7 +38,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -100,7 +100,7 @@ public class FileChooserController extends BasicController { private Link cancelButton; private FileUploadController fileUploadCtr; - private Panel panel; + private StackedPanel panel; private File uploadDir; private VFSContainer uploadContainer; diff --git a/src/main/java/org/olat/core/commons/chiefcontrollers/controller/simple/SimpleBaseController.java b/src/main/java/org/olat/core/commons/chiefcontrollers/controller/simple/SimpleBaseController.java index 1b7cf726e579434b62735e8047d804ea976e792f..af85f35073266331da87968d6ab974abbcf8e8a1 100644 --- a/src/main/java/org/olat/core/commons/chiefcontrollers/controller/simple/SimpleBaseController.java +++ b/src/main/java/org/olat/core/commons/chiefcontrollers/controller/simple/SimpleBaseController.java @@ -30,6 +30,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.panel.OncePanel; import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.ContentableController; import org.olat.core.gui.control.Controller; @@ -189,12 +190,12 @@ public class SimpleBaseController extends BasicController implements Contentable private void setGuiStack(GuiStack guiStack) { currentGuiStack = guiStack; - Panel guiStackPanel = currentGuiStack.getPanel(); + StackedPanel guiStackPanel = currentGuiStack.getPanel(); content.setContent(guiStackPanel); // place for modal dialogs, which are overlayd over the normal layout (using // css alpha blending) // maybe null if no current modal dialog -> clears the panel - Panel modalStackP = currentGuiStack.getModalPanel(); + StackedPanel modalStackP = currentGuiStack.getModalPanel(); modalPanel.setContent(modalStackP); } diff --git a/src/main/java/org/olat/core/commons/controllers/linkchooser/LinkChooserController.java b/src/main/java/org/olat/core/commons/controllers/linkchooser/LinkChooserController.java index eee6d477ae666e74798b3c5e4e84974d55859234..60392fd328367724c1ba24278759ca3088c72a30 100644 --- a/src/main/java/org/olat/core/commons/controllers/linkchooser/LinkChooserController.java +++ b/src/main/java/org/olat/core/commons/controllers/linkchooser/LinkChooserController.java @@ -29,7 +29,7 @@ package org.olat.core.commons.controllers.linkchooser; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.tabbedpane.TabbedPane; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; @@ -48,7 +48,7 @@ import org.olat.core.util.vfs.VFSContainer; public class LinkChooserController extends BasicController { private VelocityContainer tabbedPaneViewVC, closeVC; - private Panel mainPanel; + private StackedPanel mainPanel; private TabbedPane linkChooserTabbedPane; private FileLinkChooserController fileLinkChooserController; diff --git a/src/main/java/org/olat/core/commons/controllers/navigation/YearNavigationController.java b/src/main/java/org/olat/core/commons/controllers/navigation/YearNavigationController.java index 01a248a82045106c6f551a8c16c674aaa99dfa37..34623e809388294854b934ae076d425f64886b6e 100644 --- a/src/main/java/org/olat/core/commons/controllers/navigation/YearNavigationController.java +++ b/src/main/java/org/olat/core/commons/controllers/navigation/YearNavigationController.java @@ -26,7 +26,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -55,7 +55,7 @@ public class YearNavigationController extends BasicController { private YearNavigationModel model; private Link next, previous, yearLink; private VelocityContainer mainVC; - private Panel mainPanel; + private StackedPanel mainPanel; private List<Link> monthLinks; private List<? extends Dated> allObjects; private boolean showAll = true; diff --git a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java index 9056af30d3424f095ebc37ffd9f70dc6f4ae1a01..a31dee98ac212342a3d3b1a92a13bc6ae11b24f8 100644 --- a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java +++ b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java @@ -50,6 +50,7 @@ import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.panel.OncePanel; import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.text.TextFactory; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; @@ -133,7 +134,7 @@ public class BaseFullWebappController extends BasicController implements Generic // private BaseFullWebappControllerParts baseFullWebappControllerParts; protected Controller contentCtrl; - private Panel initialPanel; + private StackedPanel initialPanel; private DTabs myDTabsImpl; private static Integer MAX_TAB; private WindowSettings wSettings; @@ -523,12 +524,12 @@ public class BaseFullWebappController extends BasicController implements Generic private void setGuiStack(GuiStack guiStack) { currentGuiStack = guiStack; - Panel guiStackPanel = currentGuiStack.getPanel(); + StackedPanel guiStackPanel = currentGuiStack.getPanel(); main.setContent(guiStackPanel); // place for modal dialogs, which are overlayd over the normal layout (using // css alpha blending) // maybe null if no current modal dialog -> clears the panel - Panel modalStackP = currentGuiStack.getModalPanel(); + StackedPanel modalStackP = currentGuiStack.getModalPanel(); modalPanel.setContent(modalStackP); } diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java index d3f3712838ff9699e2c0a1a08f4aff92e7520bbe..54cc04d6bc21eaf877092ee4ea13cf26d24e201e 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java +++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java @@ -38,7 +38,7 @@ import org.olat.core.commons.modules.bc.meta.MetaInfo; import org.olat.core.commons.modules.bc.meta.MetaInfoFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -70,7 +70,7 @@ public class CmdCreateFile extends BasicController implements FolderCommand { private int status = FolderCommandStatus.STATUS_SUCCESS; private FolderComponent folderComponent; private VelocityContainer mainVC; - private Panel mainPanel; + private StackedPanel mainPanel; private CreateFileForm createFileForm; private Controller editorCtr; diff --git a/src/main/java/org/olat/core/commons/portlets/iframe/IframePortletRunController.java b/src/main/java/org/olat/core/commons/portlets/iframe/IframePortletRunController.java index abdf97f90ff3306be4c72dff5c00226e01c7e0db..d95cae99425254a4cd6faa96a816ecd7eb7ef484 100644 --- a/src/main/java/org/olat/core/commons/portlets/iframe/IframePortletRunController.java +++ b/src/main/java/org/olat/core/commons/portlets/iframe/IframePortletRunController.java @@ -35,7 +35,6 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -60,7 +59,6 @@ public class IframePortletRunController extends BasicController { private OLog log = Tracing.createLoggerFor(this.getClass()); - private Panel panel; private VelocityContainer iframeVC; private Link editLink; private Controller editorCtr; @@ -111,7 +109,7 @@ public class IframePortletRunController extends BasicController { editLink.setEnabled(editLinkEnabled);//edit link always there, but disabled if something went wrong } - panel = this.putInitialPanel(this.iframeVC); + putInitialPanel(iframeVC); } /** diff --git a/src/main/java/org/olat/core/gui/components/AbstractComponent.java b/src/main/java/org/olat/core/gui/components/AbstractComponent.java index 7084de639e973aea40c99ca7c24a7ba2bd5a2fca..60aafcd95e47034eee2c5be26f3481a546aee671 100644 --- a/src/main/java/org/olat/core/gui/components/AbstractComponent.java +++ b/src/main/java/org/olat/core/gui/components/AbstractComponent.java @@ -78,8 +78,7 @@ public abstract class AbstractComponent implements Component { * do not create a logger for this class otherwise millions of useless loggers are created which consumes * quite some memory */ - - private Container parent = null; + private ComponentCollection parent; /** * * @param name the name of this component @@ -415,14 +414,14 @@ public abstract class AbstractComponent implements Component { * to be called only by the container when a child is added * @param parent */ - public void setParent(Container parent){ + public void setParent(ComponentCollection parent){ this.parent = parent; } /** * @return */ - public Container getParent(){ + public ComponentCollection getParent(){ return parent; } diff --git a/src/main/java/org/olat/core/gui/components/Component.java b/src/main/java/org/olat/core/gui/components/Component.java index c0331d912030f91dbd40e0c9f2bc10a46ee72a90..b96f114a43e2b66eb3b7bfc3c141ee9ae7b370d2 100644 --- a/src/main/java/org/olat/core/gui/components/Component.java +++ b/src/main/java/org/olat/core/gui/components/Component.java @@ -72,9 +72,9 @@ public interface Component { public boolean isSilentlyDynamicalCmp(); - public Container getParent(); + public ComponentCollection getParent(); - public void setParent(Container parent); + public void setParent(ComponentCollection parent); public void addListener(ComponentEventListener controller); diff --git a/src/main/java/org/olat/core/gui/components/ComponentCollection.java b/src/main/java/org/olat/core/gui/components/ComponentCollection.java index 6c611a3163e4b65768d5e81d14722672e634321e..a181df9d3b0279b70ea5927aab331ed32483bf74 100644 --- a/src/main/java/org/olat/core/gui/components/ComponentCollection.java +++ b/src/main/java/org/olat/core/gui/components/ComponentCollection.java @@ -19,16 +19,20 @@ */ package org.olat.core.gui.components; +import java.util.Map; + /** * * Initial date: 06.02.2013<br> * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com * */ -public interface ComponentCollection { +public interface ComponentCollection extends Component { public Component getComponent(String name); public Iterable<Component> getComponents(); + + public Map<String, Component> getComponentMap(); } diff --git a/src/main/java/org/olat/core/gui/components/ComponentHelper.java b/src/main/java/org/olat/core/gui/components/ComponentHelper.java index 83fd0b2ee6d76908fd4e8bc474e3dd06b30338fc..ae274e741df75f46f4edcb192ddc0d0fe2d9bc38 100644 --- a/src/main/java/org/olat/core/gui/components/ComponentHelper.java +++ b/src/main/java/org/olat/core/gui/components/ComponentHelper.java @@ -98,7 +98,7 @@ public class ComponentHelper { * @param top * @param vr */ - public static void validateComponentTree(UserRequest ureq, Container top, ValidationResult vr) { + public static void validateComponentTree(UserRequest ureq, ComponentCollection top, ValidationResult vr) { doValidate(ureq, top, vr); } diff --git a/src/main/java/org/olat/core/gui/components/Window.java b/src/main/java/org/olat/core/gui/components/Window.java index e0da11f3c4e4a4fce264726e814bb0ec9ea07e96..728af05dfc079575bbec61f1f7ce13790be93184 100644 --- a/src/main/java/org/olat/core/gui/components/Window.java +++ b/src/main/java/org/olat/core/gui/components/Window.java @@ -93,7 +93,7 @@ import org.olat.testutils.codepoints.server.Codepoint; * * @author Felix Jost */ -public class Window extends Container { +public class Window extends AbstractComponent { private static final OLog log = Tracing.createLoggerFor(Window.class); @@ -138,7 +138,7 @@ public class Window extends Container { public static final Event ABOUT_TO_DISPATCH = new Event("about_to_dispatch"); private String uriPrefix; - private Container contentPane; + private ComponentCollection contentPane; private String latestTimestamp; private AsyncMediaResponsible asyncMediaResponsible; private String instanceId; @@ -201,7 +201,7 @@ public class Window extends Container { /** * @return Container */ - public Container getContentPane() { + public ComponentCollection getContentPane() { return contentPane; } @@ -210,7 +210,7 @@ public class Window extends Container { * * @param contentPane The contentPane to set */ - public void setContentPane(Container contentPane) { + public void setContentPane(ComponentCollection contentPane) { this.contentPane = contentPane; } @@ -373,7 +373,7 @@ public class Window extends Container { fireEvent(ureq, OLDTIMESTAMPCALL); } - Container top = getContentPane(); + ComponentCollection top = getContentPane(); // always validate here, since we are never in the case of just rerendering (we are in the bg iframe) ValidatingVisitor vv = new ValidatingVisitor(gsettings, jsAndCssAdder); ComponentTraverser ct = new ComponentTraverser(vv, top, false); @@ -665,7 +665,7 @@ public class Window extends Container { if (inline) { // do inline rendering. - Container top = getContentPane(); + ComponentCollection top = getContentPane(); // validate prior to rendering, but only if the timestamp was not null // / // the component just got dispatched diff --git a/src/main/java/org/olat/core/gui/components/date/DateComponentFactory.java b/src/main/java/org/olat/core/gui/components/date/DateComponentFactory.java index ce86f0723308d3dede435911864cc9d1600760ea..bc71eb0a8184abb02a3c23d0c46fa5aa060db9fc 100644 --- a/src/main/java/org/olat/core/gui/components/date/DateComponentFactory.java +++ b/src/main/java/org/olat/core/gui/components/date/DateComponentFactory.java @@ -21,7 +21,7 @@ package org.olat.core.gui.components.date; import java.util.Date; -import org.olat.core.gui.components.Container; +import org.olat.core.gui.components.velocity.VelocityContainer; /** * Description:<br> @@ -51,7 +51,7 @@ public class DateComponentFactory { * @return the date component */ public static DateComponent createDateComponentWithYear(String name, - Date date, Container container) { + Date date, VelocityContainer container) { DateComponent comp = new DateComponent(name, date, true); if (container != null) { container.put(name, comp); @@ -77,7 +77,7 @@ public class DateComponentFactory { * @return the date component */ public static DateComponent createDateComponentWithoutYear(String name, - Date date, Container container) { + Date date, VelocityContainer container) { DateComponent comp = new DateComponent(name, date, false); if (container != null) { container.put(name, comp); diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/Form.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/Form.java index 6fc738ada0eb2dbeab99890bcee16a6eaae5a2d2..6f3d7cbbd969f5a20dd1010f78e7ceb0ca954aa3 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/Form.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/Form.java @@ -47,7 +47,7 @@ import org.apache.commons.fileupload.util.Streams; import org.olat.core.gui.GUIInterna; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.Container; +import org.olat.core.gui.components.ComponentCollection; import org.olat.core.gui.components.form.flexible.FormBaseComponentIdProvider; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -156,13 +156,13 @@ public class Form extends LogDelegator { private String eventFieldId; // the real form - private FormItemContainer formLayout = null; + private FormItemContainer formLayout; private FormWrapperContainer formWrapperComponent; private Integer action; private boolean hasAlreadyFired; private List<FormBasicController> formListeners; private boolean isValidAndSubmitted=true; - private FormItem submitFormItem = null; + private FormItem submitFormItem; private boolean isDirtyMarking=true; private boolean multipartEnabled = false; private int multipartUploadMaxSizeKB = 0; @@ -202,7 +202,7 @@ public class Form extends LogDelegator { // this is where the formitems go to form.formLayout = formLayout; form.formLayout.setRootForm(form); - form.formListeners = new ArrayList<FormBasicController>(); + form.formListeners = new ArrayList<FormBasicController>(1); if(listener instanceof FormBasicController){ form.formListeners.add((FormBasicController)listener); } @@ -212,7 +212,7 @@ public class Form extends LogDelegator { // renders header + <formLayout> + footer of html form form.formWrapperComponent = new FormWrapperContainer(id, name, translator, form); form.formWrapperComponent.addListener(listener); - form.formWrapperComponent.put(formLayout.getComponent().getComponentName(), formLayout.getComponent()); + //form.formWrapperComponent.put(formLayout.getComponent().getComponentName(), formLayout.getComponent()); // generate name for form and dispatch uri hidden field form.formName = Form.FORMID + form.formWrapperComponent.getDispatchID(); @@ -526,11 +526,11 @@ public class Form extends LogDelegator { /** * @return */ - Container getFormLayout() { - return (Container) formLayout.getComponent(); + ComponentCollection getFormLayout() { + return (ComponentCollection) formLayout.getComponent(); } - public Container getInitialComponent() { + public Component getInitialComponent() { return formWrapperComponent; } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormBasicController.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormBasicController.java index 2274ce8da6b935b594bc57d3e2c65dd140324c7f..c5fdb0d9565892241e1cf00ddfeede1e8ba4c5d5 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormBasicController.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormBasicController.java @@ -33,7 +33,7 @@ import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; import org.olat.core.gui.components.form.flexible.FormUIFactory; import org.olat.core.gui.components.form.flexible.elements.InlineElement; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Disposable; import org.olat.core.gui.control.Event; @@ -80,7 +80,7 @@ public abstract class FormBasicController extends BasicController { protected Form mainForm; - protected Panel initialPanel; + protected StackedPanel initialPanel; protected FormUIFactory uifactory = FormUIFactory.getInstance(); diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainer.java index b0bb99c4695e0fbf5329fe24e57aac3100532442..00814593e696f4487e4540cd99a3b99634004d60 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainer.java @@ -25,14 +25,19 @@ */ package org.olat.core.gui.components.form.flexible.impl; +import java.util.Collections; +import java.util.Map; + import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.AbstractComponent; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; import org.olat.core.gui.components.ComponentRenderer; -import org.olat.core.gui.components.Container; import org.olat.core.gui.control.Event; import org.olat.core.gui.render.ValidationResult; import org.olat.core.gui.translator.Translator; -class FormWrapperContainer extends Container { +class FormWrapperContainer extends AbstractComponent implements ComponentCollection { // Renderer private static ComponentRenderer RENDERER = new FormWrapperContainerRenderer(); @@ -67,10 +72,28 @@ class FormWrapperContainer extends Container { /** * @return */ - Container getFormLayout() { + ComponentCollection getFormLayout() { return form.getFormLayout(); } + @Override + public Component getComponent(String name) { + if(form.getFormLayout().getComponentName().equals(name)) { + return form.getFormLayout(); + } + return null; + } + + @Override + public Iterable<Component> getComponents() { + return Collections.<Component>singletonList(form.getFormLayout()); + } + + @Override + public Map<String, Component> getComponentMap() { + return Collections.<String, Component>singletonMap(form.getFormLayout().getComponentName(), form.getFormLayout()); + } + /** * @return true: form contains multipart elements; false: form does not contain multipart elements */ @@ -83,9 +106,7 @@ class FormWrapperContainer extends Container { */ @Override protected void doDispatchRequest(UserRequest ureq) { - // form.evalFormRequest(ureq); - // } /** @@ -109,8 +130,6 @@ class FormWrapperContainer extends Container { fireEvent(ureq, org.olat.core.gui.components.form.Form.EVNT_VALIDATION_NOK); } } - - /** * @see org.olat.core.gui.components.Component#validate(org.olat.core.gui.UserRequest, org.olat.core.gui.render.ValidationResult) @@ -134,6 +153,4 @@ class FormWrapperContainer extends Container { public void fireFormEvent(UserRequest ureq, FormEvent event) { fireEvent(ureq, event); } - - } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainerRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainerRenderer.java index 08add6ddf378fe23d77fe388c6f2e6a6f45c4e3d..704083df7fa30a244be97f20469d8d702694947e 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainerRenderer.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormWrapperContainerRenderer.java @@ -29,8 +29,8 @@ import java.util.HashSet; import java.util.Set; import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; import org.olat.core.gui.components.ComponentRenderer; -import org.olat.core.gui.components.Container; import org.olat.core.gui.control.winmgr.AJAXFlags; import org.olat.core.gui.render.RenderResult; import org.olat.core.gui.render.Renderer; @@ -66,7 +66,7 @@ class FormWrapperContainerRenderer implements ComponentRenderer { public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderResult renderResult, String[] args) { FormWrapperContainer formC = (FormWrapperContainer) source; - Container toRender = formC.getFormLayout(); + ComponentCollection toRender = formC.getFormLayout(); /* * extract check for render instruction to the form wrapper @@ -138,7 +138,7 @@ class FormWrapperContainerRenderer implements ComponentRenderer { @Override public void renderBodyOnLoadJSFunctionCall(Renderer renderer, StringOutput sb, Component source, RenderingState rstate) { FormWrapperContainer formC = (FormWrapperContainer) source; - Container toRender = formC.getFormLayout(); + ComponentCollection toRender = formC.getFormLayout(); if (toRender != null) { renderer.renderBodyOnLoadJSFunctionCall(sb, toRender, rstate); } @@ -156,7 +156,7 @@ class FormWrapperContainerRenderer implements ComponentRenderer { public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderingState rstate) { FormWrapperContainer formC = (FormWrapperContainer) source; - Container toRender = formC.getFormLayout(); + ComponentCollection toRender = formC.getFormLayout(); if (toRender != null) { renderer.renderHeaderIncludes(sb, toRender, rstate); } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableComponent.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableComponent.java index 6446a8fb0b1b57f030516c4bbbebf92a746c3606..b1076b31285a4fddf1de4666004c7ff27067ccb3 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableComponent.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableComponent.java @@ -26,7 +26,9 @@ package org.olat.core.gui.components.form.flexible.impl.elements.table; import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.Map; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; @@ -93,6 +95,11 @@ public class FlexiTableComponent extends FormBaseComponentImpl implements Compon return cmp; } + @Override + public Map<String, Component> getComponentMap() { + return Collections.emptyMap(); + } + /** * @see org.olat.core.gui.components.Component#getHTMLRendererSingleton() */ diff --git a/src/main/java/org/olat/core/gui/components/panel/LayeredPanel.java b/src/main/java/org/olat/core/gui/components/panel/LayeredPanel.java index 84ef2776f6731cf40b57e85ee9fc1554694325c3..c1e1ad7b7272bbd2c6baeb5f51066fb975710853 100644 --- a/src/main/java/org/olat/core/gui/components/panel/LayeredPanel.java +++ b/src/main/java/org/olat/core/gui/components/panel/LayeredPanel.java @@ -35,7 +35,7 @@ import org.olat.core.gui.components.ComponentRenderer; * * @author gnaegi */ -public class LayeredPanel extends Panel { +public class LayeredPanel extends StackedPanel { private static final ComponentRenderer LAYERED_RENDERER = new LayeredPanelRenderer(); private int startLayerIndex; private int indexIncrement; diff --git a/src/main/java/org/olat/core/gui/components/panel/MainPanel.java b/src/main/java/org/olat/core/gui/components/panel/MainPanel.java index 1643e2521abd84cd854ac305eec4f8e09457efde..46853114e85ca8933526bf4645448fdefeaf8ded 100644 --- a/src/main/java/org/olat/core/gui/components/panel/MainPanel.java +++ b/src/main/java/org/olat/core/gui/components/panel/MainPanel.java @@ -24,7 +24,7 @@ import org.olat.core.gui.components.ComponentRenderer; /** * * This component wrapped the content to mimic - * the 3 columsn main controller with only + * the 3 columns main controller with only * one column. * * diff --git a/src/main/java/org/olat/core/gui/components/panel/OncePanel.java b/src/main/java/org/olat/core/gui/components/panel/OncePanel.java index 938d2f9497a7f7fde70a1db874a147b086cf684c..7ad7a947c36149f39924bb2041cb71b86f6d7185 100644 --- a/src/main/java/org/olat/core/gui/components/panel/OncePanel.java +++ b/src/main/java/org/olat/core/gui/components/panel/OncePanel.java @@ -25,8 +25,16 @@ */ package org.olat.core.gui.components.panel; +import java.util.Collections; +import java.util.Map; + import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.AbstractComponent; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; +import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.render.ValidationResult; +import org.olat.core.logging.AssertException; /** * Description:<br> @@ -37,10 +45,12 @@ import org.olat.core.gui.render.ValidationResult; * Initial Date: 19.01.2007 <br> * @author Felix Jost, http://www.goodsolutions.ch */ -public class OncePanel extends Panel { +public class OncePanel extends AbstractComponent implements ComponentCollection { + private static final ComponentRenderer RENDERER = new PanelRenderer(); private boolean hideOnNextValidate; - + private Component curContent; + /** * @param name */ @@ -48,9 +58,57 @@ public class OncePanel extends Panel { super(name); } - /* (non-Javadoc) - * @see org.olat.core.gui.components.Component#validate(org.olat.core.gui.UserRequest, org.olat.core.gui.render.ValidationResult) + /** + * @return + */ + public Component getContent() { + return curContent; + } + + /** + * clears the stack and sets the base content anew. + * + * @param newContent the newContent. if null, then the panel will be empty */ + public void setContent(Component newContent) { + curContent = newContent; + setDirty(true); + } + + @Override + public Component getComponent(String name) { + if(curContent != null && curContent.getComponentName().equals(name)) { + return curContent; + } + return null; + } + + @Override + public Iterable<Component> getComponents() { + if(curContent == null) { + return Collections.emptyList(); + } + return Collections.singletonList(curContent); + } + + @Override + public Map<String, Component> getComponentMap() { + if(curContent == null) { + return Collections.emptyMap(); + } + return Collections.singletonMap(curContent.getComponentName(), curContent); + } + + @Override + protected void doDispatchRequest(UserRequest ureq) { + throw new AssertException("a panel should never dispatch a request (unless it has droppables, which it has not), ureq = "+ureq); + } + + @Override + public ComponentRenderer getHTMLRendererSingleton() { + return RENDERER; + } + @Override public void validate(UserRequest ureq, ValidationResult vr) { super.validate(ureq, vr); diff --git a/src/main/java/org/olat/core/gui/components/panel/Panel.java b/src/main/java/org/olat/core/gui/components/panel/Panel.java index d2b046a39f50c3b2fd556ff53981e9f3edf67f1e..a0c078f4374634797f144b12a2a051b448860535 100644 --- a/src/main/java/org/olat/core/gui/components/panel/Panel.java +++ b/src/main/java/org/olat/core/gui/components/panel/Panel.java @@ -1,59 +1,48 @@ /** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ package org.olat.core.gui.components.panel; -import java.util.ArrayList; -import java.util.List; +import java.util.Collections; +import java.util.Map; import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.AbstractComponent; import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; import org.olat.core.gui.components.ComponentRenderer; -import org.olat.core.gui.components.Container; import org.olat.core.logging.AssertException; /** - * Description: <br> - * The panel implements a place holder component with a stack to hold zero, one - * or more components. Only the highest component on the stack is shown. * - * @author Felix Jost + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * */ -public class Panel extends Container { +public class Panel extends AbstractComponent implements ComponentCollection { private static final ComponentRenderer RENDERER = new PanelRenderer(); private Component curContent; - protected final List<Component> stackList = new ArrayList<Component>(3); // allow access to extending classes - /** * @param name */ public Panel(String name) { super(name); - curContent = null; } /** @@ -72,72 +61,50 @@ public class Panel extends Container { public Component getContent() { return curContent; } - - /** - * @see org.olat.core.gui.components.Container#put(org.olat.core.gui.components.Component) - */ - public void put(Component component) { - throw new AssertException("please don't use put(comp) in a panel, but setContent(component) or pushContent(component)"); - } - + /** * clears the stack and sets the base content anew. * * @param newContent the newContent. if null, then the panel will be empty */ public void setContent(Component newContent) { - stackList.clear(); - clear(); - if (newContent != null) { - pushContent(newContent); - } else { - curContent = null; - } + curContent = newContent; setDirty(true); } - /** - * @param newContent may not be null - */ - public void pushContent(Component newContent) { - if (curContent != null) super.remove(curContent); - super.put("pc", newContent); // add in tree for later rendering; - stackList.add(newContent); - curContent = newContent; - setDirty(true); + @Override + public Component getComponent(String name) { + if(curContent != null && curContent.getComponentName().equals(name)) { + return curContent; + } + return null; } - /** - * - */ - public void popContent() { - int stackHeight = stackList.size(); - if (stackHeight < 1) throw new AssertException("stack was empty!"); - if (curContent == null) throw new AssertException("stackHeight not zero, but curContent was null!"); - // remove the current active component as the containers child - super.remove(curContent); - stackList.remove(stackHeight - 1); // remove the top component - if (stackHeight == 1) { // after pop, the content is null - curContent = null; - } else { // stackHeight > 1 - curContent = stackList.get(stackHeight - 2); - super.put("pc", curContent); // set it as the container's child + @Override + public Iterable<Component> getComponents() { + if(curContent == null) { + return Collections.emptyList(); } - setDirty(true); + return Collections.singletonList(curContent); + } + + @Override + public Map<String, Component> getComponentMap() { + if(curContent == null) { + return Collections.emptyMap(); + } + return Collections.singletonMap(curContent.getComponentName(), curContent); } /** - * @see org.olat.core.gui.components.Container#getExtendedDebugInfo() + * @see org.olat.core.gui.components.Component#getExtendedDebugInfo() */ + @Override public String getExtendedDebugInfo() { StringBuilder sb = new StringBuilder(); - int size = stackList.size(); - for (int i = 0; i < size; i++) { - Component comp = stackList.get(i); // may be null - String compName = (comp == null ? "NULL" : comp.getComponentName()); - sb.append(compName).append(" | "); - } - return "stacksize:" + size + ", active:" + sb.toString(); + String compName = (curContent == null ? "NULL" : curContent.getComponentName()); + sb.append(compName).append(" | "); + return "stacksize:1, active:" + sb.toString(); } public ComponentRenderer getHTMLRendererSingleton() { diff --git a/src/main/java/org/olat/core/gui/components/panel/PanelRenderer.java b/src/main/java/org/olat/core/gui/components/panel/PanelRenderer.java index fcc498fd0fc494a72e058ad9804881f6a9f3269c..7a5ec29fcaa5c4488ec46dc1805c17386869839d 100644 --- a/src/main/java/org/olat/core/gui/components/panel/PanelRenderer.java +++ b/src/main/java/org/olat/core/gui/components/panel/PanelRenderer.java @@ -1,32 +1,26 @@ /** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ - + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <p> + * Licensed under the Apache License, Version 2.0 (the "License"); <br> + * you may not use this file except in compliance with the License.<br> + * You may obtain a copy of the License at the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <p> + * Unless required by applicable law or agreed to in writing,<br> + * software distributed under the License is distributed on an "AS IS" BASIS, <br> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> + * See the License for the specific language governing permissions and <br> + * limitations under the License. + * <p> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ package org.olat.core.gui.components.panel; import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.render.RenderResult; import org.olat.core.gui.render.Renderer; @@ -36,59 +30,34 @@ import org.olat.core.gui.render.URLBuilder; import org.olat.core.gui.translator.Translator; /** - * Description: <br> * - * @author Felix Jost + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * */ public class PanelRenderer implements ComponentRenderer { - /** - * - */ - public PanelRenderer() { - // - } - - /** - * @see org.olat.core.gui.render.ui.ComponentRenderer#render(org.olat.core.gui.render.Renderer, - * org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component, - * org.olat.core.gui.render.URLBuilder, org.olat.core.gui.translator.Translator, - * org.olat.core.gui.render.RenderResult, java.lang.String[]) - */ + @Override public void render(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderResult renderResult, String[] args) { - Panel panel = (Panel) source; - - Component toRender = panel.getContent(); - if (toRender != null) { - //FIXME:fj: replace , args with , null ? + ComponentCollection panel = (ComponentCollection) source; + for(Component toRender:panel.getComponents()) { renderer.render(sb, toRender, args); } } - /** - * @see org.olat.core.gui.render.ui.ComponentRenderer#renderHeaderIncludes(org.olat.core.gui.render.Renderer, - * org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component, - * org.olat.core.gui.render.URLBuilder, org.olat.core.gui.translator.Translator) - */ + @Override public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderingState rstate) { - Panel panel = (Panel) source; - Component toRender = panel.getContent(); - if (toRender != null) { + ComponentCollection panel = (ComponentCollection) source; + for(Component toRender:panel.getComponents()) { // delegate header rendering to the content renderer.renderHeaderIncludes(sb, toRender, rstate); } } - /** - * @see org.olat.core.gui.render.ui.ComponentRenderer#renderBodyOnLoadJSFunctionCall(org.olat.core.gui.render.Renderer, - * org.olat.core.gui.render.StringOutput, org.olat.core.gui.components.Component) - */ + @Override public void renderBodyOnLoadJSFunctionCall(Renderer renderer, StringOutput sb, Component source, RenderingState rstate) { - Panel panel = (Panel) source; - Component toRender = panel.getContent(); - - if (toRender != null) { + ComponentCollection panel = (ComponentCollection) source; + for(Component toRender:panel.getComponents()) { // delegate header rendering to the content renderer.renderBodyOnLoadJSFunctionCall(sb, toRender, rstate); } diff --git a/src/main/java/org/olat/core/gui/components/panel/StackedPanel.java b/src/main/java/org/olat/core/gui/components/panel/StackedPanel.java new file mode 100644 index 0000000000000000000000000000000000000000..2114fa366beadb41dfaa2b4ba7a7ad7c66f7e351 --- /dev/null +++ b/src/main/java/org/olat/core/gui/components/panel/StackedPanel.java @@ -0,0 +1,156 @@ +/** +* OLAT - Online Learning and Training<br> +* http://www.olat.org +* <p> +* Licensed under the Apache License, Version 2.0 (the "License"); <br> +* you may not use this file except in compliance with the License.<br> +* You may obtain a copy of the License at +* <p> +* http://www.apache.org/licenses/LICENSE-2.0 +* <p> +* Unless required by applicable law or agreed to in writing,<br> +* software distributed under the License is distributed on an "AS IS" BASIS, <br> +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> +* See the License for the specific language governing permissions and <br> +* limitations under the License. +* <p> +* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> +* University of Zurich, Switzerland. +* <hr> +* <a href="http://www.openolat.org"> +* OpenOLAT - Online Learning and Training</a><br> +* This file has been modified by the OpenOLAT community. Changes are licensed +* under the Apache 2.0 license as the original file. +* <p> +*/ + +package org.olat.core.gui.components.panel; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.AbstractComponent; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; +import org.olat.core.gui.components.ComponentRenderer; +import org.olat.core.logging.AssertException; + +/** + * Description: <br> + * The panel implements a place holder component with a stack to hold zero, one + * or more components. Only the highest component on the stack is shown. + * + * @author Felix Jost + */ +public class StackedPanel extends AbstractComponent implements ComponentCollection { + private static final ComponentRenderer RENDERER = new PanelRenderer(); + + private Component curContent; + protected final List<Component> stackList = new ArrayList<Component>(3); // allow access to extending classes + + /** + * @param name + */ + public StackedPanel(String name) { + super(name); + } + + /** + * since the Panel does and shown nothing (is only a convenient boundary to + * put components into, and to swap them), we dispatch the request to the + * delegate + * @param ureq + */ + protected void doDispatchRequest(UserRequest ureq) { + throw new AssertException("a panel should never dispatch a request (unless it has droppables, which it has not), ureq = "+ureq); + } + + /** + * @return + */ + public Component getContent() { + return curContent; + } + + @Override + public Component getComponent(String name) { + if(curContent != null && curContent.getComponentName().equals(name)) { + return curContent; + } + return null; + } + + @Override + public Iterable<Component> getComponents() { + if(curContent == null) { + return Collections.emptyList(); + } + return Collections.singletonList(curContent); + } + + @Override + public Map<String, Component> getComponentMap() { + if(curContent == null) { + return Collections.emptyMap(); + } + return Collections.singletonMap(curContent.getComponentName(), curContent); + } + + /** + * clears the stack and sets the base content anew. + * + * @param newContent the newContent. if null, then the panel will be empty + */ + public void setContent(Component newContent) { + stackList.clear(); + if (newContent != null) { + pushContent(newContent); + } else { + curContent = null; + } + setDirty(true); + } + + /** + * @param newContent may not be null + */ + public void pushContent(Component newContent) { + stackList.add(newContent); + curContent = newContent; + setDirty(true); + } + + public void popContent() { + int stackHeight = stackList.size(); + if (stackHeight < 1) throw new AssertException("stack was empty!"); + if (curContent == null) throw new AssertException("stackHeight not zero, but curContent was null!"); + stackList.remove(stackHeight - 1); // remove the top component + if (stackHeight == 1) { // after pop, the content is null + curContent = null; + } else { // stackHeight > 1 + curContent = stackList.get(stackHeight - 2); + } + setDirty(true); + } + + /** + * @see org.olat.core.gui.components.Component#getExtendedDebugInfo() + */ + public String getExtendedDebugInfo() { + StringBuilder sb = new StringBuilder(); + int size = stackList.size(); + for (int i = 0; i < size; i++) { + Component comp = stackList.get(i); // may be null + String compName = (comp == null ? "NULL" : comp.getComponentName()); + sb.append(compName).append(" | "); + } + return "stacksize:" + size + ", active:" + sb.toString(); + } + + public ComponentRenderer getHTMLRendererSingleton() { + return RENDERER; + } +} \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPane.java b/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPane.java index e310ecf889c684c60ec8cc6abc51e8b39d25959c..ad6c2fc5a55033311ca377aecbb1f0874e366d12 100644 --- a/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPane.java +++ b/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPane.java @@ -225,7 +225,7 @@ public class TabbedPane extends Container implements Activateable2 { } /** - * @see org.olat.core.gui.components.Container#getExtendedDebugInfo() + * @see org.olat.core.gui.components.Component#getExtendedDebugInfo() */ public String getExtendedDebugInfo() { return "selectedPane:" + selectedPane; diff --git a/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPaneChangedEvent.java b/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPaneChangedEvent.java index 9092195f5beec7ec9739a599b6b524f24bbde5c2..295a0e2fe9f5f53a61949d2640e3d488e636d3aa 100644 --- a/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPaneChangedEvent.java +++ b/src/main/java/org/olat/core/gui/components/tabbedpane/TabbedPaneChangedEvent.java @@ -34,6 +34,8 @@ import org.olat.core.gui.control.Event; */ public class TabbedPaneChangedEvent extends Event { + private static final long serialVersionUID = 2481268566284582151L; + /** * <code>TAB_CHANGED</code> */ diff --git a/src/main/java/org/olat/core/gui/components/util/ComponentUtil.java b/src/main/java/org/olat/core/gui/components/util/ComponentUtil.java index de2ed8c0aff9a4bfca9fa987b092999ca08dec67..c98de4a2706b3f0a6b1b73f06649ef223590073c 100644 --- a/src/main/java/org/olat/core/gui/components/util/ComponentUtil.java +++ b/src/main/java/org/olat/core/gui/components/util/ComponentUtil.java @@ -26,7 +26,6 @@ package org.olat.core.gui.components.util; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.Container; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -46,7 +45,7 @@ public class ComponentUtil { private static final String VELOCITY_ROOT = Util.getPackageVelocityRoot(ComponentUtil.class); - public static void registerForValidateEvents(Container parentContainer, Controller listeningController) { + public static void registerForValidateEvents(VelocityContainer parentContainer, Controller listeningController) { ValidateForwardComponent vfc = new ValidateForwardComponent("validatecomp"); vfc.addListener(listeningController); parentContainer.put("o_validate"+vfc.getDispatchID(), vfc); diff --git a/src/main/java/org/olat/core/gui/components/velocity/VelocityContainer.java b/src/main/java/org/olat/core/gui/components/velocity/VelocityContainer.java index 46930b72731a6fbb87c644e88252e5838deb9ec7..5582c35cc10683cca54f6669d1152ffe83cb139b 100644 --- a/src/main/java/org/olat/core/gui/components/velocity/VelocityContainer.java +++ b/src/main/java/org/olat/core/gui/components/velocity/VelocityContainer.java @@ -166,7 +166,7 @@ public class VelocityContainer extends Container { } /** - * @see org.olat.core.gui.components.Container#getExtendedDebugInfo() + * @see org.olat.core.gui.components.Component#getExtendedDebugInfo() */ public String getExtendedDebugInfo() { return "page:"+page+" "+super.getExtendedDebugInfo(); diff --git a/src/main/java/org/olat/core/gui/control/DefaultController.java b/src/main/java/org/olat/core/gui/control/DefaultController.java index 37bb16fd6384bde12489ce34af126c08a8174df4..53675082da3ab7598ac7c06302bbca7143ac780c 100644 --- a/src/main/java/org/olat/core/gui/control/DefaultController.java +++ b/src/main/java/org/olat/core/gui/control/DefaultController.java @@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicInteger; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.translator.Translator; import org.olat.core.id.OLATResourceable; @@ -68,7 +68,7 @@ public abstract class DefaultController implements Controller, ControllerEventLi private List<ControllerEventListener> listeners; private Component initialComponent; private boolean disposed = false; - private Panel wrapperPanel; + private StackedPanel wrapperPanel; private final IUserActivityLogger userActivityLogger; private WindowControl newWControl; @@ -301,10 +301,10 @@ public abstract class DefaultController implements Controller, ControllerEventLi // we also take care that no event is deliverd to implementors of this // abstract class after this controller has been disposed - if (initialComponent instanceof Panel) { - wrapperPanel = (Panel) initialComponent; + if (initialComponent instanceof StackedPanel) { + wrapperPanel = (StackedPanel) initialComponent; } else { - wrapperPanel = new Panel("autowrapper of controller " + this.getClass().getName()); + wrapperPanel = new StackedPanel("autowrapper of controller " + this.getClass().getName()); wrapperPanel.setContent(initialComponent); } this.initialComponent = wrapperPanel; diff --git a/src/main/java/org/olat/core/gui/control/controller/BasicController.java b/src/main/java/org/olat/core/gui/control/controller/BasicController.java index bdfb501818be08bcb17ab7ae0e7077776f2fbf93..5a957757b52ae884e84d08f4a4561002e209b0e0 100644 --- a/src/main/java/org/olat/core/gui/control/controller/BasicController.java +++ b/src/main/java/org/olat/core/gui/control/controller/BasicController.java @@ -34,7 +34,7 @@ import org.olat.core.dispatcher.mapper.Mapper; import org.olat.core.dispatcher.mapper.MapperService; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.DefaultController; @@ -267,15 +267,15 @@ public abstract class BasicController extends DefaultController { + ".html", translator, this); } - protected Panel putInitialPanel(Component initialContent) { - Panel p = new Panel("mainPanel"); + protected StackedPanel putInitialPanel(Component initialContent) { + StackedPanel p = new StackedPanel("mainPanel"); p.setContent(initialContent); super.setInitialComponent(p); return p; } - protected void setInitialComponent(@SuppressWarnings("unused") - Component initialComponent) { + @Override + protected void setInitialComponent(Component initialComponent) { throw new AssertException("please use method putInitialPanel!"); } diff --git a/src/main/java/org/olat/core/gui/control/generic/docking/DockController.java b/src/main/java/org/olat/core/gui/control/generic/docking/DockController.java index c2ec497bc4994e99fbf1acd973bf5ab93b5934fd..4075afbc659b5c6d58464de210549462190fa38a 100644 --- a/src/main/java/org/olat/core/gui/control/generic/docking/DockController.java +++ b/src/main/java/org/olat/core/gui/control/generic/docking/DockController.java @@ -29,7 +29,7 @@ package org.olat.core.gui.control.generic.docking; import org.olat.core.commons.fullWebApp.LayoutMain3ColsController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -49,7 +49,7 @@ public class DockController extends BasicController { private static final String CMD_UNDOCK = "ud"; private VelocityContainer mainVC; - private Panel panel; + private StackedPanel panel; private DockLayoutControllerCreatorCallback layoutCreator; Controller controller; diff --git a/src/main/java/org/olat/core/gui/control/guistack/GuiStack.java b/src/main/java/org/olat/core/gui/control/guistack/GuiStack.java index e87a362ede563f610bfdd7da02701ba0eea57409..749abb0d2b775c6a23e20fbb9d35d1a1d8e27073 100644 --- a/src/main/java/org/olat/core/gui/control/guistack/GuiStack.java +++ b/src/main/java/org/olat/core/gui/control/guistack/GuiStack.java @@ -26,7 +26,7 @@ package org.olat.core.gui.control.guistack; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; /** * Description:<br> @@ -64,11 +64,11 @@ public interface GuiStack { /** * @return */ - public Panel getPanel(); + public StackedPanel getPanel(); /** * @return Returns the modalPanel, which should be put so that it looks modal (e.g. alpha-blended background) may be null if no modal panel is needed */ - public Panel getModalPanel(); + public StackedPanel getModalPanel(); } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/control/guistack/GuiStackNiceImpl.java b/src/main/java/org/olat/core/gui/control/guistack/GuiStackNiceImpl.java index 8e2e9822cd221fcd13d357fe296e7a6699ebff1f..0079218d437217f85b86478bd9ff635d43814459 100644 --- a/src/main/java/org/olat/core/gui/control/guistack/GuiStackNiceImpl.java +++ b/src/main/java/org/olat/core/gui/control/guistack/GuiStackNiceImpl.java @@ -30,6 +30,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.panel.LayeredPanel; import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.WindowBackOffice; import org.olat.core.gui.control.util.ZIndexWrapper; @@ -44,8 +45,8 @@ import org.olat.core.util.Util; public class GuiStackNiceImpl implements GuiStack { private static final String VELOCITY_ROOT = Util.getPackageVelocityRoot(GuiStackNiceImpl.class); - private Panel panel; - private Panel modalPanel; + private StackedPanel panel; + private StackedPanel modalPanel; private int modalLayers; private WindowBackOffice wbo; @@ -54,7 +55,7 @@ public class GuiStackNiceImpl implements GuiStack { * */ private GuiStackNiceImpl() { - panel = new Panel("guistackpanel"); + panel = new StackedPanel("guistackpanel"); // Use a layered panel instead of a standard panel to support multiple modal layers modalPanel = new LayeredPanel("guistackmodalpanel", 900, 100); modalLayers = 0; @@ -185,14 +186,14 @@ public class GuiStackNiceImpl implements GuiStack { /** * @return */ - public Panel getPanel() { + public StackedPanel getPanel() { return panel; } /** * @return Returns the modalPanel. */ - public Panel getModalPanel() { + public StackedPanel getModalPanel() { return modalPanel; } diff --git a/src/main/java/org/olat/core/gui/control/guistack/GuiStackSimpleImpl.java b/src/main/java/org/olat/core/gui/control/guistack/GuiStackSimpleImpl.java index b9addafaee710ad31af97ac133aeee9005922e45..89122e74ee0649e262fa32aaff33caf4618a44a4 100644 --- a/src/main/java/org/olat/core/gui/control/guistack/GuiStackSimpleImpl.java +++ b/src/main/java/org/olat/core/gui/control/guistack/GuiStackSimpleImpl.java @@ -26,7 +26,7 @@ package org.olat.core.gui.control.guistack; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.util.Util; @@ -41,13 +41,13 @@ import org.olat.core.util.Util; public class GuiStackSimpleImpl implements GuiStack { private static final String VELOCITY_ROOT = Util.getPackageVelocityRoot(GuiStackSimpleImpl.class); - private Panel contentPanel; + private StackedPanel contentPanel; /** * */ public GuiStackSimpleImpl(Component initialComponent) { - contentPanel = new Panel("simpleguistack"); + contentPanel = new StackedPanel("simpleguistack"); contentPanel.setContent(initialComponent); } @@ -83,14 +83,14 @@ public class GuiStackSimpleImpl implements GuiStack { /* (non-Javadoc) * @see org.olat.core.gui.control.GuiStack#getPanel() */ - public Panel getPanel() { + public StackedPanel getPanel() { return contentPanel; } /* (non-Javadoc) * @see org.olat.core.gui.control.GuiStack#getModalPanel() */ - public Panel getModalPanel() { + public StackedPanel getModalPanel() { return null; } diff --git a/src/main/java/org/olat/core/gui/dev/controller/DevelopmentController.java b/src/main/java/org/olat/core/gui/dev/controller/DevelopmentController.java index 97bde4f22e25ed38e837a205e9cacc67f6b4def6..5537d7e10e6554294e3200addc6bf458a6377487 100644 --- a/src/main/java/org/olat/core/gui/dev/controller/DevelopmentController.java +++ b/src/main/java/org/olat/core/gui/dev/controller/DevelopmentController.java @@ -36,6 +36,7 @@ import java.util.Map; import org.olat.core.gui.UserRequest; import org.olat.core.gui.Windows; import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; import org.olat.core.gui.components.Container; import org.olat.core.gui.components.Window; import org.olat.core.gui.components.link.Link; @@ -397,8 +398,8 @@ public class DevelopmentController extends BasicController { private int cntTree(Component current) { int cnt = 1; - if (current instanceof Container) { - Container co = (Container) current; + if (current instanceof ComponentCollection) { + ComponentCollection co = (ComponentCollection) current; for (Component child:co.getComponents()) { cnt += cntTree(child); } diff --git a/src/main/java/org/olat/core/gui/render/Renderer.java b/src/main/java/org/olat/core/gui/render/Renderer.java index 9d82a5dbb7bfa6478fa430588a5d18cf4ffd9f23..e9ef3619a808c49d989e6fa2778cabc929db8e58 100644 --- a/src/main/java/org/olat/core/gui/render/Renderer.java +++ b/src/main/java/org/olat/core/gui/render/Renderer.java @@ -33,8 +33,8 @@ import org.olat.core.dispatcher.impl.StaticMediaDispatcher; import org.olat.core.gui.GUIInterna; import org.olat.core.gui.GlobalSettings; import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.ComponentCollection; import org.olat.core.gui.components.ComponentRenderer; -import org.olat.core.gui.components.Container; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.render.intercept.InterceptHandlerInstance; import org.olat.core.gui.translator.Translator; @@ -48,7 +48,7 @@ public class Renderer { private URLBuilder urlBuilder; private Translator translator; - private Container renderContainer; + private ComponentCollection renderContainer; private RenderResult renderResult; private GlobalSettings globalSettings; @@ -60,12 +60,12 @@ public class Renderer { * @param globalSettings * @return an instance of the renderer */ - public static Renderer getInstance(Container renderContainer, Translator translator, URLBuilder ubu, RenderResult renderResult, + public static Renderer getInstance(ComponentCollection renderContainer, Translator translator, URLBuilder ubu, RenderResult renderResult, GlobalSettings globalSettings) { return new Renderer(renderContainer, translator, ubu, renderResult, globalSettings); } - private Renderer(Container renderContainer, Translator translator, URLBuilder ubu, RenderResult renderResult, + private Renderer(ComponentCollection renderContainer, Translator translator, URLBuilder ubu, RenderResult renderResult, GlobalSettings globalSettings) { this.renderContainer = renderContainer; this.translator = translator; @@ -225,7 +225,7 @@ public class Renderer { if (GUIInterna.isLoadPerformanceMode()) { StringBuilder pathsb = new StringBuilder(); Component cc = source; - Container ccpar = cc.getParent(); + ComponentCollection ccpar = cc.getParent(); while (ccpar != null) { // omit content pane // find out name under which cc was registered in its parent - that is the relevant name, not the name of the component itself Map<String,Component> namedChildren = ccpar.getComponentMap(); diff --git a/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java b/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java index 1334055c6817f5510daa409423231d61ef10814f..719810cc1b8caadb181376e2c7a24504138d6812 100644 --- a/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java +++ b/src/main/java/org/olat/core/gui/render/intercept/debug/GuiDebugDispatcherController.java @@ -38,7 +38,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.components.delegating.DelegatingComponent; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -73,7 +73,7 @@ public class GuiDebugDispatcherController extends BasicController implements Int private DelegatingComponent dc; private Map<String, Component> idToComponent = new HashMap<String, Component>(); private PlainTextEditorController vcEditorController; - private Panel mainP; + private StackedPanel mainP; /** * @param ureq diff --git a/src/main/java/org/olat/core/util/i18n/ui/InlineTranslationInterceptHandlerController.java b/src/main/java/org/olat/core/util/i18n/ui/InlineTranslationInterceptHandlerController.java index 7d0152ccc35a643cf4a3c0dba75860cee12f548c..cddfc5974678599d12ea2e07def90bffcdaf3abc 100644 --- a/src/main/java/org/olat/core/util/i18n/ui/InlineTranslationInterceptHandlerController.java +++ b/src/main/java/org/olat/core/util/i18n/ui/InlineTranslationInterceptHandlerController.java @@ -29,7 +29,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.components.delegating.DelegatingComponent; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -76,7 +76,7 @@ public class InlineTranslationInterceptHandlerController extends BasicController private DelegatingComponent delegatingComponent; private TranslationToolI18nItemEditCrumbController i18nItemEditCtr; private CloseableModalController cmc; - private Panel mainP; + private StackedPanel mainP; // patterns to detect localized strings with identifyers private static final String decoratedTranslatedPattern = "(" + I18nManager.IDENT_PREFIX + "(.*?)" + I18nManager.IDENT_START_POSTFIX diff --git a/src/main/java/org/olat/course/DisposedCourseRestartController.java b/src/main/java/org/olat/course/DisposedCourseRestartController.java index a2d1aae15388daa0e6431c5a92cfb3b79ec7f33f..5f159096792ee88e24ffb9f26529bc9800d68068 100644 --- a/src/main/java/org/olat/course/DisposedCourseRestartController.java +++ b/src/main/java/org/olat/course/DisposedCourseRestartController.java @@ -29,7 +29,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -57,7 +57,7 @@ public class DisposedCourseRestartController extends BasicController { private VelocityContainer initialContent; private Link restartLink; private RepositoryEntry courseRepositoryEntry; - private Panel panel; + private StackedPanel panel; public DisposedCourseRestartController(UserRequest ureq, WindowControl wControl, RepositoryEntry courseRepositoryEntry) { super(ureq, wControl); diff --git a/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java b/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java index 53a083630e0923fbac4dae2cd21cefa2d9775d1e..fee914919598ce1c8ca3734bafff87ea6a31e121 100644 --- a/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java +++ b/src/main/java/org/olat/course/archiver/CourseLogsArchiveController.java @@ -32,7 +32,6 @@ import java.util.Locale; import org.olat.core.commons.modules.bc.FolderRunController; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.panel.Panel; @@ -214,7 +213,7 @@ public class CourseLogsArchiveController extends BasicController { myPanel.setContent(vcOngoing); // initialize polling - myPanel.put("updatecontrol", new JSAndCSSComponent("intervall", this.getClass(), 3000)); + //myPanel.put("updatecontrol", new JSAndCSSComponent("intervall", this.getClass(), 3000)); } protected void showExportFinished() { diff --git a/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java b/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java index 295ed6f244ef1cf0430f09c6bc1ca9186dd1084e..b31ece1de3c153719870415710e227d95eadb915 100644 --- a/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java +++ b/src/main/java/org/olat/course/archiver/ScoreAccountingArchiveController.java @@ -32,7 +32,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -56,7 +56,7 @@ import org.olat.user.UserManager; public class ScoreAccountingArchiveController extends BasicController { private OLATResourceable ores; - private Panel myPanel; + private StackedPanel myPanel; private VelocityContainer myContent; private VelocityContainer vcFeedback; private Link startButton, downloadButton; diff --git a/src/main/java/org/olat/course/area/CourseAreasController.java b/src/main/java/org/olat/course/area/CourseAreasController.java index 0d0b099807f2d2fbf81a07d831532715f18f344b..8e69e2f97f1776371bb52924e9a17705d9671151 100644 --- a/src/main/java/org/olat/course/area/CourseAreasController.java +++ b/src/main/java/org/olat/course/area/CourseAreasController.java @@ -27,7 +27,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.DefaultColumnDescriptor; import org.olat.core.gui.components.table.StaticColumnDescriptor; import org.olat.core.gui.components.table.Table; @@ -59,7 +59,7 @@ public class CourseAreasController extends MainLayoutBasicController { private static final String TABLE_ACTION_EDIT = "tbl_edit"; private static final String TABLE_ACTION_DELETE = "tbl_del"; - private final Panel mainPanel; + private final StackedPanel mainPanel; private final Link createAreaLink; private final VelocityContainer mainVC; private final TableController tableCtrl; diff --git a/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java b/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java index a252f74323b2f7bcf3efb51c3078e830bb08e91c..ea86bb2d5f6fe66e98994bb283019c4f91821646 100644 --- a/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java +++ b/src/main/java/org/olat/course/nodes/basiclti/LTIRunController.java @@ -37,7 +37,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -74,7 +74,7 @@ public class LTIRunController extends BasicController { private static final String PROP_NAME_DATA_EXCHANGE_ACCEPTED = "LtiDataExchageAccepted"; private Link startButton; - private final Panel mainPanel; + private final StackedPanel mainPanel; private VelocityContainer run, startPage, acceptPage; private BasicLTICourseNode courseNode; private ModuleConfiguration config; @@ -128,7 +128,7 @@ public class LTIRunController extends BasicController { String display = config.getStringValue(BasicLTICourseNode.CONFIG_DISPLAY, "iframe"); this.newWindow = "window".equals(display); - mainPanel = new Panel("ltiContainer"); + mainPanel = new StackedPanel("ltiContainer"); putInitialPanel(mainPanel); // only run directly when user as already accepted to data exchange or no data has to be exchanged diff --git a/src/main/java/org/olat/course/nodes/iq/IQRunController.java b/src/main/java/org/olat/course/nodes/iq/IQRunController.java index 132e3b48c803922544892661204c956cbbea1301..65e6a546c1460e01c99e09f5360384e2a070204f 100644 --- a/src/main/java/org/olat/course/nodes/iq/IQRunController.java +++ b/src/main/java/org/olat/course/nodes/iq/IQRunController.java @@ -39,6 +39,7 @@ import org.olat.core.gui.components.htmlsite.HtmlStaticPageComponent; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -117,7 +118,7 @@ public class IQRunController extends BasicController implements GenericEventList private IFrameDisplayController iFrameCtr; - private Panel mainPanel; + private StackedPanel mainPanel; private boolean assessmentStopped = true; //default: true private EventBus singleUserEventCenter; diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ProjectDetailsPanelController.java b/src/main/java/org/olat/course/nodes/projectbroker/ProjectDetailsPanelController.java index 5fc1deca4598ed9039ea3e23a58cd10bf2a953b3..dac10df16b610ed953224c6ad416585f32763333 100644 --- a/src/main/java/org/olat/course/nodes/projectbroker/ProjectDetailsPanelController.java +++ b/src/main/java/org/olat/course/nodes/projectbroker/ProjectDetailsPanelController.java @@ -27,7 +27,7 @@ package org.olat.course.nodes.projectbroker; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -52,7 +52,7 @@ import org.olat.course.run.environment.CourseEnvironment; */ public class ProjectDetailsPanelController extends BasicController { - private Panel detailsPanel; + private StackedPanel detailsPanel; private ProjectEditDetailsFormController editController; private ProjectDetailsDisplayController runController; @@ -78,7 +78,7 @@ public class ProjectDetailsPanelController extends BasicController { this.projectBrokerModuleConfiguration = projectBrokerModuleConfiguration; this.newCreatedProject = newCreatedProject; - detailsPanel = new Panel("projectdetails_panel"); + detailsPanel = new StackedPanel("projectdetails_panel"); runController = new ProjectDetailsDisplayController(ureq, wControl, project, courseEnv, courseNode, projectBrokerModuleConfiguration); listenTo(runController); detailsPanel.setContent(runController.getInitialComponent()); diff --git a/src/main/java/org/olat/course/nodes/projectbroker/ProjectListController.java b/src/main/java/org/olat/course/nodes/projectbroker/ProjectListController.java index 591e702708b1cd9a84e54b9c6533a4fe9c55a6ec..7e96a0dc780ee2efed5d9be62c4f125fad8d11b9 100644 --- a/src/main/java/org/olat/course/nodes/projectbroker/ProjectListController.java +++ b/src/main/java/org/olat/course/nodes/projectbroker/ProjectListController.java @@ -34,7 +34,7 @@ import org.olat.core.gui.Windows; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.BooleanColumnDescriptor; import org.olat.core.gui.components.table.ColumnDescriptor; import org.olat.core.gui.components.table.CustomRenderColumnDescriptor; @@ -89,7 +89,7 @@ public class ProjectListController extends BasicController implements GenericEve private VelocityContainer contentVC; - private Panel mainPanel; + private StackedPanel mainPanel; private ProjectListTableModel projectListTableModel; private TableController tableController; private Controller projectController; @@ -142,7 +142,7 @@ public class ProjectListController extends BasicController implements GenericEve } } contentVC.contextPut("infoProjectBrokerRunMode", infoProjectBrokerRunMode); - mainPanel = new Panel("projectlist_panel"); + mainPanel = new StackedPanel("projectlist_panel"); CoursePropertyManager cpm = userCourseEnv.getCourseEnvironment().getCoursePropertyManager(); if ( (ProjectBrokerManagerFactory.getProjectGroupManager().isAccountManager(ureq.getIdentity(), cpm, ne.getCourseNode() ) && !previewMode) || userCourseEnv.getCourseEnvironment().getCourseGroupManager().isIdentityCourseAdministrator(ureq.getIdentity()) @@ -427,8 +427,8 @@ public class ProjectListController extends BasicController implements GenericEve tableController.addColumnDescriptor(projectManagerDescriptor); // Custom-Fields List<CustomField> customFieldList = moduleConfig.getCustomFields(); - for (Iterator iterator = customFieldList.iterator(); iterator.hasNext();) { - CustomField customField = (CustomField) iterator.next(); + for (Iterator<CustomField> iterator = customFieldList.iterator(); iterator.hasNext();) { + CustomField customField = iterator.next(); if (customField.isTableViewEnabled()) { numberOfCustomFieldInTable++; DefaultColumnDescriptor columnDescriptor = new DefaultColumnDescriptor(customField.getName(), dataColumn++,null, ureq.getLocale()); diff --git a/src/main/java/org/olat/course/site/ui/DisposedCourseSiteRestartController.java b/src/main/java/org/olat/course/site/ui/DisposedCourseSiteRestartController.java index 7b5174761b55ef3467b491ccd24a78d3487b8b81..107c2d1f5171c0b1930311d37b00404899250efa 100644 --- a/src/main/java/org/olat/course/site/ui/DisposedCourseSiteRestartController.java +++ b/src/main/java/org/olat/course/site/ui/DisposedCourseSiteRestartController.java @@ -23,7 +23,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; @@ -49,7 +49,7 @@ public class DisposedCourseSiteRestartController extends BasicController { private VelocityContainer initialContent; private Link restartLink; private RepositoryEntry courseRepositoryEntry; - private Panel panel; + private StackedPanel panel; public DisposedCourseSiteRestartController(UserRequest ureq, WindowControl wControl, RepositoryEntry courseRepositoryEntry) { super(ureq, wControl); diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoController.java index f15a984b5c4558c8e2db139b6b9c0ac65c7baf5a..9af078b40c793ada50f04d73d79bddfb243444e7 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoController.java +++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoController.java @@ -27,31 +27,24 @@ package org.olat.gui.demo.guidemo; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; -import org.olat.core.logging.OLog; -import org.olat.core.logging.Tracing; import org.olat.gui.demo.GUIDemoMainController; public class GuiDemoController extends BasicController { - //how to create a logger - OLog log = Tracing.createLoggerFor(GuiDemoController.class); - Panel p; - VelocityContainer vcMain; + private final VelocityContainer vcMain; public GuiDemoController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); setBasePackage(GUIDemoMainController.class); //simple Text as first node in the guidemo tree vcMain = createVelocityContainer("guidemo"); - p = putInitialPanel(vcMain); + putInitialPanel(vcMain); } - @SuppressWarnings("unused") public void event(UserRequest ureq, Component source, Event event) { //no events to catch } diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoDialogController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoDialogController.java index 3059dfef76f9fb748857a6dbc83536464545936c..80f6d733c9cf523e66f8a0a959d61b36514e6c04 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoDialogController.java +++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoDialogController.java @@ -25,7 +25,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -63,7 +63,7 @@ public class GuiDemoDialogController extends BasicController { private DialogBoxController dialogBoxWithoutClose; private ArrayList<String> myButtons; private Link guimsgButton; - private Panel mainP; + private StackedPanel mainP; private MessageController guimsg; public GuiDemoDialogController(UserRequest ureq, WindowControl wControl) { @@ -78,8 +78,8 @@ public class GuiDemoDialogController extends BasicController { guimsgButton = LinkFactory.createButton("guidemo.dialog.guimsg", vcMain, this); //add source view control - Controller sourceview = new SourceViewController(ureq, wControl, this.getClass(), vcMain); - vcMain.put("sourceview", sourceview.getInitialComponent()); + Controller sourceview = new SourceViewController(ureq, wControl, this.getClass(), vcMain); + vcMain.put("sourceview", sourceview.getInitialComponent()); mainP = putInitialPanel(vcMain); } @@ -119,10 +119,10 @@ public class GuiDemoDialogController extends BasicController { listenTo(guimsg); mainP.pushContent(guimsg.getInitialComponent()); } - } - public void event(@SuppressWarnings("unused")UserRequest ureq, Controller source, Event event) { + @Override + public void event(UserRequest ureq, Controller source, Event event) { String feedbackMessage = null; if (source == dialogBoxOne) { if (event == Event.CANCELLED_EVENT) { diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormMainController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormMainController.java index 9ebf83edbc3c438547241495a3fc585b23a56d0e..7b56593c530ad6e10e01db04d40dc48f9cd893eb 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormMainController.java +++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoFlexiFormMainController.java @@ -34,12 +34,13 @@ import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; -import org.olat.core.gui.control.creator.ControllerCreator; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; +import org.olat.core.gui.control.creator.ControllerCreator; import org.olat.core.gui.control.generic.spacesaver.ShrinkController; import org.olat.core.gui.dev.controller.SourceViewController; @@ -58,7 +59,7 @@ public class GuiDemoFlexiFormMainController extends BasicController { private Map<String, ControllerCreator> demos = new HashMap<String, ControllerCreator>(); List<String> demolinknames; private Controller demoController; - private Panel contentP; + private StackedPanel contentP; private VelocityContainer content_sourceVC; private Panel sourceP; { @@ -118,7 +119,7 @@ public class GuiDemoFlexiFormMainController extends BasicController { mainVC.contextPut("demolinknames", demolinknames); // all democontroller content goes in this panel - contentP = new Panel("content"); + contentP = new StackedPanel("content"); content_sourceVC = createVelocityContainer("content_source"); mainVC.put("democontent", contentP); // diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoLinksController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoLinksController.java index b437df43895ead00089e2eec3b130fdd982f4876..32dc8d23de413a9c063694bdc4dee48db816670f 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoLinksController.java +++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoLinksController.java @@ -48,8 +48,7 @@ import org.olat.core.logging.OLATRuntimeException; public class GuiDemoLinksController extends BasicController { - Panel p; - VelocityContainer mainVC; + private final VelocityContainer mainVC; private Link buttonXSmall; private Link buttonSmall; @@ -126,11 +125,10 @@ public class GuiDemoLinksController extends BasicController { Controller sourceView = new SourceViewController(ureq, wControl, this.getClass(), mainVC); mainVC.put("sourceview", sourceView.getInitialComponent()); - // form buttons mainVC.put("formbuttonctr",new FormButtonsDemoController(ureq, wControl).getInitialComponent()); - p = putInitialPanel(mainVC); + putInitialPanel(mainVC); } public void event(UserRequest ureq, Component source, Event event) { diff --git a/src/main/java/org/olat/login/LoginAuthprovidersController.java b/src/main/java/org/olat/login/LoginAuthprovidersController.java index 5e2fefbe743d506c883fadccfe240f66fb6f27d6..2aa79e30b33dc3d8d716baf9dc128a57a3578110 100644 --- a/src/main/java/org/olat/login/LoginAuthprovidersController.java +++ b/src/main/java/org/olat/login/LoginAuthprovidersController.java @@ -41,7 +41,7 @@ import org.olat.core.commons.fullWebApp.LayoutMain3ColsController; import org.olat.core.dispatcher.DispatcherModule; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.tree.GenericTreeModel; import org.olat.core.gui.components.tree.GenericTreeNode; import org.olat.core.gui.components.tree.MenuTree; @@ -89,7 +89,7 @@ public class LoginAuthprovidersController extends MainLayoutBasicController impl private VelocityContainer content; private Controller authController; private final List<Controller> authControllers = new ArrayList<Controller>(); - private Panel dmzPanel; + private StackedPanel dmzPanel; private GenericTreeNode checkNode; private GenericTreeNode accessibilityNode; private GenericTreeNode aboutNode; @@ -110,7 +110,7 @@ public class LoginAuthprovidersController extends MainLayoutBasicController impl ureq.getUserSession().removeEntryFromNonClearedStore("error.change.email.time"); } - dmzPanel = new Panel("content"); + dmzPanel = new StackedPanel("content"); content = initLoginContent(ureq, null); dmzPanel.pushContent(content); diff --git a/src/main/java/org/olat/modules/dialog/DialogElementsController.java b/src/main/java/org/olat/modules/dialog/DialogElementsController.java index 37acc51d88c59ae07eb4beced3a8759e690cf20f..dbb8ad47bf5a24f0e1f3f6e3599a2dcdf8e34ae6 100644 --- a/src/main/java/org/olat/modules/dialog/DialogElementsController.java +++ b/src/main/java/org/olat/modules/dialog/DialogElementsController.java @@ -41,7 +41,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.TableController; import org.olat.core.gui.components.table.TableEvent; import org.olat.core.gui.components.table.TableGuiConfiguration; @@ -110,7 +110,7 @@ public class DialogElementsController extends BasicController { private CourseNode courseNode; private FileUploadController fileUplCtr; private LinkChooserController fileCopyCtr; - private Panel dialogPanel; + private StackedPanel dialogPanel; private ForumManager forumMgr; private DialogElement recentDialogElement, selectedElement; private DialogElementsTableModel tableModel; diff --git a/src/main/java/org/olat/modules/fo/FilterForUserController.java b/src/main/java/org/olat/modules/fo/FilterForUserController.java index fb391de1989db2a291e7a8c6f365437a2721a5c1..fa7ab48248760aa150110a8b76b9565dfb4569c4 100644 --- a/src/main/java/org/olat/modules/fo/FilterForUserController.java +++ b/src/main/java/org/olat/modules/fo/FilterForUserController.java @@ -38,7 +38,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.BaseTableDataModelWithoutFilter; import org.olat.core.gui.components.table.DefaultColumnDescriptor; import org.olat.core.gui.components.table.StaticColumnDescriptor; @@ -104,7 +104,7 @@ public class FilterForUserController extends BasicController { private final TableController userListCtr; private final AutoCompleterController userAutoCompleterCtr; private final DateFormat dateFormat; - private final Panel searchPanel; + private final StackedPanel searchPanel; private final OLATResourceable forumOres; diff --git a/src/main/java/org/olat/modules/fo/ForumController.java b/src/main/java/org/olat/modules/fo/ForumController.java index 6946ae486b0b59f5b18a237aefb98974826ad828..d564f619e497b4d1139aac4b6e1e4fd3e173ec4c 100644 --- a/src/main/java/org/olat/modules/fo/ForumController.java +++ b/src/main/java/org/olat/modules/fo/ForumController.java @@ -49,7 +49,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.BooleanColumnDescriptor; import org.olat.core.gui.components.table.ColumnDescriptor; import org.olat.core.gui.components.table.CustomCellRenderer; @@ -145,7 +145,7 @@ public class ForumController extends BasicController implements GenericEventList private Collator collator; - private Panel forumPanel; + private StackedPanel forumPanel; private VelocityContainer vcListTitles; private VelocityContainer vcEditMessage; @@ -220,7 +220,7 @@ public class ForumController extends BasicController implements GenericEventList collator = Collator.getInstance(ureq.getLocale()); collator.setStrength(Collator.PRIMARY); - forumPanel = new Panel("forumPanel"); + forumPanel = new StackedPanel("forumPanel"); forumPanel.addListener(this); //create page diff --git a/src/main/java/org/olat/modules/wiki/WikiMainController.java b/src/main/java/org/olat/modules/wiki/WikiMainController.java index 3236c6ef31e57e7bfdf5c34ff06b7f29bd8c1f34..841eb4e76024a0ce7287cbb84c4f952c6dca5fb4 100644 --- a/src/main/java/org/olat/modules/wiki/WikiMainController.java +++ b/src/main/java/org/olat/modules/wiki/WikiMainController.java @@ -45,6 +45,7 @@ import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.tabbedpane.TabbedPane; import org.olat.core.gui.components.tabbedpane.TabbedPaneChangedEvent; import org.olat.core.gui.components.table.Table; @@ -146,7 +147,7 @@ public class WikiMainController extends BasicController implements CloneableCont private WikiSecurityCallback securityCallback; private WikiArticleSearchForm searchOrCreateArticleForm; private Controller searchCtrl; - private Panel mainPanel; + private StackedPanel mainPanel; public static final String ACTION_COMPARE = "compare"; public static final String ACTION_SHOW = "view.version"; diff --git a/src/main/java/org/olat/portfolio/ui/structel/EPMultipleMapController.java b/src/main/java/org/olat/portfolio/ui/structel/EPMultipleMapController.java index cc93c764f24a5569320e5a603a520317617f79e6..92012a41ebbad03a33981a30a65cc97a06bd734e 100644 --- a/src/main/java/org/olat/portfolio/ui/structel/EPMultipleMapController.java +++ b/src/main/java/org/olat/portfolio/ui/structel/EPMultipleMapController.java @@ -29,7 +29,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; import org.olat.core.gui.components.link.LinkFactory; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; @@ -90,7 +90,7 @@ public class EPMultipleMapController extends BasicController implements Activate private EPMapViewController mapViewCtrl; private EPShareListController shareListController; private CloseableModalController shareBox; - private Panel myPanel; + private StackedPanel myPanel; private final EPMapRunViewOption option; private final Identity mapOwner; diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/OrdersAdminController.java b/src/main/java/org/olat/resource/accesscontrol/ui/OrdersAdminController.java index 916b45096b427d860e74485f3ef974d682efaf96..e3af6cdbf578944e7e45681df336f4b4ecdaed34 100644 --- a/src/main/java/org/olat/resource/accesscontrol/ui/OrdersAdminController.java +++ b/src/main/java/org/olat/resource/accesscontrol/ui/OrdersAdminController.java @@ -27,7 +27,7 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.gui.ShortName; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.ColumnDescriptor; import org.olat.core.gui.components.table.CustomRenderColumnDescriptor; import org.olat.core.gui.components.table.DefaultColumnDescriptor; @@ -68,7 +68,7 @@ public class OrdersAdminController extends BasicController implements Activateab private static final String CMD_SELECT = "sel"; - private final Panel mainPanel; + private final StackedPanel mainPanel; private final VelocityContainer mainVC; private final TableController tableCtr; private OrdersSearchForm searchForm; diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/OrdersController.java b/src/main/java/org/olat/resource/accesscontrol/ui/OrdersController.java index 071cbe3008ee144d89a6886aa71786fc519a311a..3b960dbd28791482303de783715bb5c34958a06f 100644 --- a/src/main/java/org/olat/resource/accesscontrol/ui/OrdersController.java +++ b/src/main/java/org/olat/resource/accesscontrol/ui/OrdersController.java @@ -27,7 +27,7 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.gui.ShortName; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.panel.Panel; +import org.olat.core.gui.components.panel.StackedPanel; import org.olat.core.gui.components.table.ColumnDescriptor; import org.olat.core.gui.components.table.CustomRenderColumnDescriptor; import org.olat.core.gui.components.table.DefaultColumnDescriptor; @@ -67,7 +67,7 @@ public class OrdersController extends BasicController implements Activateable2 { private static final String CMD_SELECT = "sel"; - private final Panel mainPanel; + private final StackedPanel mainPanel; private final VelocityContainer mainVC; private final TableController tableCtr; private OrderDetailController detailController;