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.FormInitListener;
import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormProcessListener;
import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.bebop.event.FormSubmissionListener;
import com.arsdigita.cms.ReusableImageAsset; import com.arsdigita.cms.ReusableImageAsset;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map; import java.util.Map;
@ -20,7 +21,7 @@ import org.apache.log4j.Logger;
* *
* @author Sören Bernstein (quasimodo) <sbernstein@zes.uni-bremen.de> * @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); private static final Logger s_log = Logger.getLogger(ImageComponentSelectListener.class);
MapComponentSelectionModel m_imageComponent; 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 { public void process(FormSectionEvent event) throws FormProcessException {
PageState ps = event.getPageState(); PageState ps = event.getPageState();
ImageComponent component = getImageComponent(ps); ImageComponent component = getImageComponent(ps);
@ -51,6 +61,9 @@ public abstract class ImageComponentAbstractListener implements FormInitListener
processImage(event, ps, component, image); processImage(event, ps, component, image);
} }
protected void cancelled(PageState ps) {};
protected abstract void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image); protected abstract void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image);
protected ImageComponent getImageComponent(PageState ps) { 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.ActionListener;
import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.bebop.event.FormSectionEvent;
import com.arsdigita.cms.ReusableImageAsset; 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 { class ImageComponentAdminListener extends ImageComponentAbstractListener implements ActionListener {
public ImageComponentAdminListener(MapComponentSelectionModel imageComponent) { private final ComponentMap m_pane;
public ImageComponentAdminListener(MapComponentSelectionModel imageComponent, ComponentMap pane) {
super(imageComponent); super(imageComponent);
m_pane = pane;
}
@Override
protected void cancelled(PageState ps) {
m_pane.reset(ps);
} }
@Override @Override
protected void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image) { protected void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image) {
m_pane.reset(ps);
} }
public void actionPerformed(ActionEvent ev) { 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) { public void reset(PageState ps) {
// clear selection // clear selection
m_imageModel.clearSelection(ps); m_imageModel.clearSelection(ps);
m_chooser.clearSelection(ps);
m_chooser.clearKeyword(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()); m_imageComponent = new MapComponentSelectionModel(componentModel, new HashMap());
Map selectors = m_imageComponent.getComponentsMap(); 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); ImageUploadComponent upload = new ImageUploadComponent(ImageComponent.ADMIN_IMAGES);
upload.getForm().addInitListener(m_adminListener); upload.getForm().addInitListener(m_adminListener);
upload.addProcessListener(m_adminListener); upload.getForm().addSubmissionListener(m_adminListener);
upload.getForm().addProcessListener(m_adminListener);
selectors.put(ImageComponent.UPLOAD, upload); selectors.put(ImageComponent.UPLOAD, upload);
body.addSegment( body.addSegment(
new Label(GlobalizationUtil.globalize("cms.ui.image_upload")), new Label(GlobalizationUtil.globalize("cms.ui.image_upload")),