use of org.olat.core.gui.components.velocity.VelocityContainer in project OpenOLAT by OpenOLAT.
the class QTIEditorMainController method init.
private void init(UserRequest ureq) {
main = createVelocityContainer("index");
JSAndCSSComponent jsAndCss;
// Add html header js
jsAndCss = new JSAndCSSComponent("qitjsandcss", new String[] { "js/openolat/qti.js" }, null);
main.put("qitjsandcss", jsAndCss);
mainPanel = new Panel("p_qti_editor");
mainPanel.setContent(main);
if (notEditable) {
// test not editable
VelocityContainer notEditableVc = createVelocityContainer("notEditable");
notEditableButton = LinkFactory.createButton("ok", notEditableVc, this);
Panel panel = new Panel("notEditable");
panel.setContent(notEditableVc);
columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), null, panel, null);
putInitialPanel(columnLayoutCtr.getInitialComponent());
return;
}
stackedPanel = new TooledStackedPanel("qtiEditorStackedPanel", getTranslator(), this);
stackedPanel.setCssClass("o_edit_mode");
// initialize the history
if (qtiPackage.isResumed() && qtiPackage.hasSerializedChangelog()) {
// there were already changes made -> reload!
history = qtiPackage.loadChangelog();
} else {
// start with a fresh history. Editor is resumed but no changes were made
// so far.
history = new HashMap<String, Memento>();
}
// The menu tree model represents the structure of the qti document.
// All insert/move operations on the model are propagated to the structure
// by the node
menuTreeModel = new QTIEditorTreeModel(qtiPackage);
menuTree = new MenuTree("QTIDocumentTree");
menuTree.setTreeModel(menuTreeModel);
menuTree.setSelectedNodeId(menuTree.getTreeModel().getRootNode().getIdent());
// listen to the tree
menuTree.addListener(this);
// remember the qtidoc title when we started this editor, to correctly name
// the history report
startedWithTitle = menuTree.getSelectedNode().getAltText();
//
main.put("tabbedPane", menuTreeModel.getQtiRootNode().createEditTabbedPane(ureq, getWindowControl(), getTranslator(), this));
main.contextPut("qtititle", menuTreeModel.getQtiRootNode().getAltText());
main.contextPut("isRestrictedEdit", restrictedEdit ? Boolean.TRUE : Boolean.FALSE);
//
columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), menuTree, mainPanel, "qtieditor" + qtiPackage.getRepresentingResourceable());
listenTo(columnLayoutCtr);
stackedPanel.pushController("Editor", columnLayoutCtr);
// qtiPackage must be loaded previousely
populateToolC();
// Add css background
if (restrictedEdit) {
addSectionLink.setEnabled(false);
addSCLink.setEnabled(false);
addMCLink.setEnabled(false);
addPoolLink.setEnabled(false);
addFIBLink.setEnabled(false);
if (!qtiPackage.getQTIDocument().isSurvey()) {
addKPrimLink.setEnabled(false);
}
addEssayLink.setEnabled(false);
columnLayoutCtr.addCssClassToMain("o_editor_qti_correct");
} else {
columnLayoutCtr.addCssClassToMain("o_editor_qti");
}
deleteLink.setEnabled(false);
moveLink.setEnabled(false);
copyLink.setEnabled(false);
putInitialPanel(stackedPanel);
if (restrictedEdit) {
// we would like to us a modal dialog here, but this does not work! we
// can't push to stack because the outher workflows pushes us after the
// controller to the stack. Thus, if we used a modal dialog here the
// dialog would never show up.
columnLayoutCtr.setCol3(new Panel("empty"));
columnLayoutCtr.hideCol1(true);
columnLayoutCtr.hideCol2(true);
String text = translate("qti.restricted.edit.warning") + "<br/><br/>" + createReferenceesMsg(ureq);
proceedRestricedEditDialog = DialogBoxUIFactory.createYesNoDialog(ureq, getWindowControl(), null, text);
listenTo(proceedRestricedEditDialog);
proceedRestricedEditDialog.activate();
}
}
use of org.olat.core.gui.components.velocity.VelocityContainer in project OpenOLAT by OpenOLAT.
the class EPMapRunController method event.
@Override
protected void event(UserRequest ureq, Component source, Event event) {
if (source == createMapLink) {
// if only normal maps can be created, show popup immediately, else present selection in callout
if (option.equals(EPMapRunViewOption.MY_DEFAULTS_MAPS)) {
VelocityContainer mapCreateVC = createVelocityContainer("createMapCallout");
createMapCalloutLink = LinkFactory.createLink("create.map.default", mapCreateVC, this);
createMapCalloutLink.setElementCssClass("o_sel_create_default_map");
createMapFromTemplateLink = LinkFactory.createLink("create.map.fromTemplate", mapCreateVC, this);
createMapFromTemplateLink.setElementCssClass("o_sel_create_template_map");
String title = translate("create.map");
removeAsListenerAndDispose(mapCreateCalloutCtrl);
mapCreateCalloutCtrl = new CloseableCalloutWindowController(ureq, getWindowControl(), mapCreateVC, createMapLink, title, true, null);
listenTo(mapCreateCalloutCtrl);
mapCreateCalloutCtrl.activate();
} else {
popUpCreateMapBox(ureq);
}
} else if (source == createMapFromTemplateLink) {
closeCreateMapCallout();
popUpCreateMapFromTemplateBox(ureq);
} else if (source == createMapCalloutLink) {
closeCreateMapCallout();
popUpCreateMapBox(ureq);
}
}
use of org.olat.core.gui.components.velocity.VelocityContainer in project OpenOLAT by OpenOLAT.
the class ConditionEditController method getWrappedDefaultAccessConditionVC.
/**
* Get the condition editor wrapped as a generic accessability condition editor
* @param title The title of this access condition, displayed as header in the surrounding fieldset
* @return The wrapped condition editor component
*/
public VelocityContainer getWrappedDefaultAccessConditionVC(String title) {
Translator accessTranslator = Util.createPackageTranslator(EditorMainController.class, getLocale());
VelocityContainer defaultAccessConditionView = new VelocityContainer("defaultAccessConditionView", VELOCITY_ROOT + "/defaultaccessedit.html", accessTranslator, null);
defaultAccessConditionView.put("defaultAccessConditionView", myContent);
if (passwordConditionEditController != null) {
defaultAccessConditionView.put("pwcond", passwordConditionEditController.getInitialComponent());
defaultAccessConditionView.contextPut("renderPW", true);
}
defaultAccessConditionView.contextPut("title", title);
return defaultAccessConditionView;
}
use of org.olat.core.gui.components.velocity.VelocityContainer in project OpenOLAT by OpenOLAT.
the class BusinessGroupMainRunController method getNoAccessMessage.
private Component getNoAccessMessage(UserRequest ureq, BusinessGroup group) {
VelocityContainer vc = createVelocityContainer("access_denied");
vc.contextPut("name", group.getName());
columnLayoutCtr = new LayoutMain3ColsController(ureq, getWindowControl(), null, vc, "grouprun");
// cleanup on dispose
listenTo(columnLayoutCtr);
return columnLayoutCtr.getInitialComponent();
}
use of org.olat.core.gui.components.velocity.VelocityContainer in project OpenOLAT by OpenOLAT.
the class GuiDemoFlexiFormMainController method event.
/**
* @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
* org.olat.core.gui.components.Component,
* org.olat.core.gui.control.Event)
*/
@Override
public void event(UserRequest ureq, Component source, Event event) {
// there are only events of type link from the demos navigation
if (source instanceof Link) {
Link sl = (Link) source;
// userobject tells which demo to activate
String uob = (String) sl.getUserObject();
if (uob != null) {
ControllerCreator cc = demos.get(uob);
// update source
VelocityContainer sourceVC = createVelocityContainer(uob);
ShrinkController sc = new ShrinkController(false, sourceVC, "toggle source");
sourceP.setContent(sc.getInitialComponent());
// cleanup former democontroller
if (demoController != null)
demoController.dispose();
contentP.popContent();
// create new demo controller
demoController = cc.createController(ureq, getWindowControl());
contentP.pushContent(demoController.getInitialComponent());
}
}
}
Aggregations