Skip to content
Snippets Groups Projects
Commit 9696571b authored by srosse's avatar srosse
Browse files

OO-1219: update the preview of questions after clicking the breadcrumb

parent 6f54c28c
No related branches found
No related tags found
No related merge requests found
...@@ -256,6 +256,7 @@ public abstract class AbstractComponent implements Component { ...@@ -256,6 +256,7 @@ public abstract class AbstractComponent implements Component {
* *
* @return a list of the controllers listening (normally only one) * @return a list of the controllers listening (normally only one)
*/ */
@Override
public List<ComponentEventListener> debuginfoGetListeners() { public List<ComponentEventListener> debuginfoGetListeners() {
return listeners; return listeners;
} }
...@@ -263,6 +264,7 @@ public abstract class AbstractComponent implements Component { ...@@ -263,6 +264,7 @@ public abstract class AbstractComponent implements Component {
/** /**
* @param controller * @param controller
*/ */
@Override
public void addListener(ComponentEventListener controller) { public void addListener(ComponentEventListener controller) {
// tests if the same controller was already registered to avoid // tests if the same controller was already registered to avoid
// double-firing. // double-firing.
...@@ -272,7 +274,8 @@ public abstract class AbstractComponent implements Component { ...@@ -272,7 +274,8 @@ public abstract class AbstractComponent implements Component {
+ "', controller was: " + controller.toString()); + "', controller was: " + controller.toString());
listeners.add(controller); listeners.add(controller);
} }
@Override
public void removeListener(ComponentEventListener controller) { public void removeListener(ComponentEventListener controller) {
listeners.remove(controller); listeners.remove(controller);
} }
......
...@@ -78,6 +78,8 @@ public interface Component { ...@@ -78,6 +78,8 @@ public interface Component {
public void addListener(ComponentEventListener controller); public void addListener(ComponentEventListener controller);
public void removeListener(ComponentEventListener controller);
public List<ComponentEventListener> debuginfoGetListeners(); public List<ComponentEventListener> debuginfoGetListeners();
public void dispatchRequest(UserRequest ureq); public void dispatchRequest(UserRequest ureq);
......
...@@ -32,6 +32,7 @@ import org.olat.core.gui.components.link.Link; ...@@ -32,6 +32,7 @@ import org.olat.core.gui.components.link.Link;
import org.olat.core.gui.components.link.LinkFactory; import org.olat.core.gui.components.link.LinkFactory;
import org.olat.core.gui.components.stack.BreadcrumbPanel; import org.olat.core.gui.components.stack.BreadcrumbPanel;
import org.olat.core.gui.components.stack.BreadcrumbPanelAware; import org.olat.core.gui.components.stack.BreadcrumbPanelAware;
import org.olat.core.gui.components.stack.PopEvent;
import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.components.velocity.VelocityContainer;
import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event; import org.olat.core.gui.control.Event;
...@@ -71,6 +72,7 @@ public class QuestionItemDetailsController extends BasicController implements Br ...@@ -71,6 +72,7 @@ public class QuestionItemDetailsController extends BasicController implements Br
private CloseableModalController cmc; private CloseableModalController cmc;
private final VelocityContainer mainVC; private final VelocityContainer mainVC;
private DialogBoxController confirmDeleteBox; private DialogBoxController confirmDeleteBox;
private LayoutMain3ColsController editMainCtrl;
private SelectBusinessGroupController selectGroupCtrl; private SelectBusinessGroupController selectGroupCtrl;
private final MetadatasController metadatasCtrl; private final MetadatasController metadatasCtrl;
private final UserCommentsAndRatingsController commentsAndRatingCtr; private final UserCommentsAndRatingsController commentsAndRatingCtr;
...@@ -141,11 +143,16 @@ public class QuestionItemDetailsController extends BasicController implements Br ...@@ -141,11 +143,16 @@ public class QuestionItemDetailsController extends BasicController implements Br
@Override @Override
protected void doDispose() { protected void doDispose() {
// if(stackPanel != null) {
stackPanel.removeListener(this);
}
} }
@Override @Override
public void setBreadcrumbPanel(BreadcrumbPanel stackPanel) { public void setBreadcrumbPanel(BreadcrumbPanel stackPanel) {
if(stackPanel != null) {
stackPanel.addListener(this);
}
this.stackPanel = stackPanel; this.stackPanel = stackPanel;
} }
...@@ -167,6 +174,13 @@ public class QuestionItemDetailsController extends BasicController implements Br ...@@ -167,6 +174,13 @@ public class QuestionItemDetailsController extends BasicController implements Br
fireEvent(ureq, new QItemEvent("next", metadatasCtrl.getItem())); fireEvent(ureq, new QItemEvent("next", metadatasCtrl.getItem()));
} else if(source == previousItem) { } else if(source == previousItem) {
fireEvent(ureq, new QItemEvent("previous", metadatasCtrl.getItem())); fireEvent(ureq, new QItemEvent("previous", metadatasCtrl.getItem()));
} else if(source == stackPanel) {
if(event instanceof PopEvent) {
PopEvent pop = (PopEvent)event;
if(pop.getController() == editMainCtrl) {
doContentChanged(ureq);
}
}
} }
} }
...@@ -222,8 +236,8 @@ public class QuestionItemDetailsController extends BasicController implements Br ...@@ -222,8 +236,8 @@ public class QuestionItemDetailsController extends BasicController implements Br
editCtrl = spi.getEditableController(ureq, getWindowControl(), item); editCtrl = spi.getEditableController(ureq, getWindowControl(), item);
listenTo(editCtrl); listenTo(editCtrl);
LayoutMain3ColsController mainCtrl = new LayoutMain3ColsController(ureq, getWindowControl(), editCtrl); editMainCtrl = new LayoutMain3ColsController(ureq, getWindowControl(), editCtrl);
stackPanel.pushController("Edition", mainCtrl); stackPanel.pushController("Edition", editMainCtrl);
} }
private void doContentChanged(UserRequest ureq) { private void doContentChanged(UserRequest ureq) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment