Search in sources :

Example 1 with EJPopupFormController

use of org.entirej.framework.core.data.controllers.EJPopupFormController in project rap by entirej.

the class EJRWTApplicationContainer method buildApplication.

void buildApplication(EJRWTApplicationManager applicationManager, Composite mainWindow, String serviceForm) {
    _applicationManager = applicationManager;
    _mainPane = new Composite(mainWindow, SWT.NO_FOCUS);
    _mainPane.setData(EJ_RWT.CUSTOM_VARIANT, "applayout");
    mainWindow.setLayout(new FillLayout());
    if (serviceForm == null)
        buildApplicationContainer();
    else
        buildServiceApplicationContainer(serviceForm);
    if (_formContainer == null) {
        _formContainer = new EJRWTFormContainer() {

            EJRWTAbstractDialog _popupDialog;

            EJRWTFormPopUp _formPopup;

            @Override
            public EJInternalForm switchToForm(String key) {
                // ignore
                return null;
            }

            @Override
            public EJInternalForm switchToForm(EJInternalForm form) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public void removeFormSelectedListener(EJRWTFormSelectedListener selectionListener) {
            // ignore
            }

            @Override
            public void popupFormClosed() {
                if (_formPopup != null) {
                    _formPopup.close();
                    _formPopup = null;
                }
            }

            @Override
            public void openPopupForm(EJPopupFormController popupController) {
                _formPopup = new EJRWTFormPopUp(_applicationManager.getShell(), popupController);
                _formPopup.showForm();
            }

            @Override
            public Collection<EJInternalForm> getAllForms() {
                // ignore
                return Collections.emptyList();
            }

            @Override
            public EJInternalForm getActiveForm() {
                // ignore
                return null;
            }

            @Override
            public boolean containsForm(String formName) {
                // ignore
                return false;
            }

            @Override
            public void closeForm(EJInternalForm form) {
                if (_formPopup != null && _formPopup.getPopupController().getPopupForm().equals(form)) {
                    _formPopup.close();
                    _formPopup = null;
                    return;
                }
                if (_popupDialog != null) {
                    _popupDialog.close();
                    _popupDialog = null;
                }
            }

            @Override
            public void addFormSelectedListener(EJRWTFormSelectedListener selectionListener) {
            // ignore
            }

            @Override
            public EJInternalForm addForm(final EJInternalForm form) {
                final int height = form.getProperties().getFormHeight();
                final int width = form.getProperties().getFormWidth();
                final EJRWTFormRenderer formRenderer = (EJRWTFormRenderer) form.getRenderer();
                _popupDialog = new EJRWTAbstractDialog(_applicationManager.getShell()) {

                    private static final long serialVersionUID = -4685316941898120169L;

                    @Override
                    public void createBody(Composite parent) {
                        parent.setLayout(new FillLayout());
                        final ScrolledComposite scrollComposite = new EJRWTScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
                        formRenderer.createControl(scrollComposite);
                        scrollComposite.setContent(formRenderer.getGuiComponent());
                        scrollComposite.setExpandHorizontal(true);
                        scrollComposite.setExpandVertical(true);
                        scrollComposite.setMinSize(form.getProperties().getFormWidth(), form.getProperties().getFormHeight());
                        formRenderer.gainInitialFocus();
                    }

                    @Override
                    public int open() {
                        return super.open();
                    }

                    private void addExtraButton(Composite parent, String label, int id) {
                        if (label == null || label.length() == 0) {
                            return;
                        }
                        createButton(parent, id, label, false);
                    }

                    @Override
                    public boolean close() {
                        return super.close();
                    }
                };
                _popupDialog.create();
                final EJCoreFormProperties coreFormProperties = form.getProperties();
                _popupDialog.getShell().setData("POPUP - " + coreFormProperties.getName());
                _popupDialog.getShell().setText(coreFormProperties.getTitle() == null ? coreFormProperties.getName() : coreFormProperties.getTitle());
                // add dialog border offsets
                _popupDialog.getShell().setSize(width + 80, height + 100);
                _popupDialog.centreLocation();
                _popupDialog.open();
                _popupDialog.activateDialog();
                return form;
            }

            @Override
            public void updateFormTitle(EJInternalForm form) {
            // TODO Auto-generated method stub
            }
        };
    }
}
Also used : Composite(org.eclipse.swt.widgets.Composite) EJRWTScrolledComposite(org.entirej.applicationframework.rwt.layout.EJRWTScrolledComposite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) EJRWTFormPopUp(org.entirej.applicationframework.rwt.application.form.containers.EJRWTFormPopUp) FillLayout(org.eclipse.swt.layout.FillLayout) EJInternalForm(org.entirej.framework.core.internal.EJInternalForm) EJRWTScrolledComposite(org.entirej.applicationframework.rwt.layout.EJRWTScrolledComposite) EJCoreFormProperties(org.entirej.framework.core.properties.EJCoreFormProperties) EJRWTFormContainer(org.entirej.applicationframework.rwt.application.interfaces.EJRWTFormContainer) EJRWTAbstractDialog(org.entirej.applicationframework.rwt.application.form.containers.EJRWTAbstractDialog) Collection(java.util.Collection) EJRWTFormRenderer(org.entirej.applicationframework.rwt.renderers.form.EJRWTFormRenderer) EJRWTScrolledComposite(org.entirej.applicationframework.rwt.layout.EJRWTScrolledComposite) ScrolledComposite(org.eclipse.swt.custom.ScrolledComposite) EJRWTFormSelectedListener(org.entirej.applicationframework.rwt.application.interfaces.EJRWTFormSelectedListener) EJPopupFormController(org.entirej.framework.core.data.controllers.EJPopupFormController)

Aggregations

Collection (java.util.Collection)1 ScrolledComposite (org.eclipse.swt.custom.ScrolledComposite)1 FillLayout (org.eclipse.swt.layout.FillLayout)1 Composite (org.eclipse.swt.widgets.Composite)1 EJRWTAbstractDialog (org.entirej.applicationframework.rwt.application.form.containers.EJRWTAbstractDialog)1 EJRWTFormPopUp (org.entirej.applicationframework.rwt.application.form.containers.EJRWTFormPopUp)1 EJRWTFormContainer (org.entirej.applicationframework.rwt.application.interfaces.EJRWTFormContainer)1 EJRWTFormSelectedListener (org.entirej.applicationframework.rwt.application.interfaces.EJRWTFormSelectedListener)1 EJRWTScrolledComposite (org.entirej.applicationframework.rwt.layout.EJRWTScrolledComposite)1 EJRWTFormRenderer (org.entirej.applicationframework.rwt.renderers.form.EJRWTFormRenderer)1 EJPopupFormController (org.entirej.framework.core.data.controllers.EJPopupFormController)1 EJInternalForm (org.entirej.framework.core.internal.EJInternalForm)1 EJCoreFormProperties (org.entirej.framework.core.properties.EJCoreFormProperties)1