ImagesPane

* Reset funktioniert
* Cancel funktioniert

git-svn-id: https://svn.libreccm.org/ccm/trunk@1779 8810af33-2d31-482b-a856-94f89814c4df
master
quasi 2012-07-20 11:01:47 +00:00
parent 511c5a9d95
commit 4d301a8f49
4 changed files with 30 additions and 5 deletions

View File

@ -11,6 +11,7 @@ import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.event.FormSubmissionListener;
import com.arsdigita.cms.ReusableImageAsset;
import java.util.Iterator;
import java.util.Map;
@ -20,7 +21,7 @@ import org.apache.log4j.Logger;
*
* @author Sören Bernstein (quasimodo) <sbernstein@zes.uni-bremen.de>
*/
public abstract class ImageComponentAbstractListener implements FormInitListener, FormProcessListener {
public abstract class ImageComponentAbstractListener implements FormInitListener, FormProcessListener, FormSubmissionListener {
private static final Logger s_log = Logger.getLogger(ImageComponentSelectListener.class);
MapComponentSelectionModel m_imageComponent;
@ -38,6 +39,15 @@ public abstract class ImageComponentAbstractListener implements FormInitListener
}
}
public void submitted(FormSectionEvent event) throws FormProcessException {
PageState ps = event.getPageState();
ImageComponent component = getImageComponent(ps);
if(component.getSaveCancelSection().getCancelButton().isSelected(ps)) {
cancelled(ps);
}
}
public void process(FormSectionEvent event) throws FormProcessException {
PageState ps = event.getPageState();
ImageComponent component = getImageComponent(ps);
@ -51,6 +61,9 @@ public abstract class ImageComponentAbstractListener implements FormInitListener
processImage(event, ps, component, image);
}
protected void cancelled(PageState ps) {};
protected abstract void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image);
protected ImageComponent getImageComponent(PageState ps) {

View File

@ -10,6 +10,7 @@ import com.arsdigita.bebop.event.ActionEvent;
import com.arsdigita.bebop.event.ActionListener;
import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ReusableImageAsset;
import com.arsdigita.toolbox.ui.ComponentMap;
/**
*
@ -17,12 +18,21 @@ import com.arsdigita.cms.ReusableImageAsset;
*/
class ImageComponentAdminListener extends ImageComponentAbstractListener implements ActionListener {
public ImageComponentAdminListener(MapComponentSelectionModel imageComponent) {
private final ComponentMap m_pane;
public ImageComponentAdminListener(MapComponentSelectionModel imageComponent, ComponentMap pane) {
super(imageComponent);
m_pane = pane;
}
@Override
protected void cancelled(PageState ps) {
m_pane.reset(ps);
}
@Override
protected void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image) {
m_pane.reset(ps);
}
public void actionPerformed(ActionEvent ev) {

View File

@ -160,10 +160,11 @@ public class ImageLibraryComponent extends SimpleContainer implements ImageCompo
}
}
// Reset this component
// Reset this component
public void reset(PageState ps) {
// clear selection
m_imageModel.clearSelection(ps);
m_chooser.clearSelection(ps);
m_chooser.clearKeyword(ps);
}
}

View File

@ -47,11 +47,12 @@ public class ImagesPane extends LayoutPanel implements Resettable {
m_imageComponent = new MapComponentSelectionModel(componentModel, new HashMap());
Map selectors = m_imageComponent.getComponentsMap();
m_adminListener = new ImageComponentAdminListener(m_imageComponent);
m_adminListener = new ImageComponentAdminListener(m_imageComponent, this);
ImageUploadComponent upload = new ImageUploadComponent(ImageComponent.ADMIN_IMAGES);
upload.getForm().addInitListener(m_adminListener);
upload.addProcessListener(m_adminListener);
upload.getForm().addSubmissionListener(m_adminListener);
upload.getForm().addProcessListener(m_adminListener);
selectors.put(ImageComponent.UPLOAD, upload);
body.addSegment(
new Label(GlobalizationUtil.globalize("cms.ui.image_upload")),