/** * {@inheritDoc} */ @Override public void propertyChange(PropertyChangeEvent evt) { IValueConnector newModelConnector = (IValueConnector) evt.getNewValue(); mvcBinder.bind(detailConnector, newModelConnector); detailConnector.setModelConnector(newModelConnector); } }
@Override public void selectionChange(SelectionChangeEvent evt) { int leadingIndex = evt.getLeadingIndex(); IValueConnector selectedModelConnector = null; if (leadingIndex >= 0) { IValueConnector selectedViewConnector = connector.getChildConnector(leadingIndex); if (selectedViewConnector != null) { selectedModelConnector = selectedViewConnector.getModelConnector(); } } getMvcBinder().bind(rowConnectorPrototype, selectedModelConnector); } });
/** * {@inheritDoc} */ @Override public void recycle(IMvcBinder mvcBinder) { try { setMute(true); if (mvcBinder != null) { mvcBinder.bind(this, null); } setParentConnector(null); setConnectorValue(null); } finally { setMute(false); } }
/** * {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { List<IDisplayableAction> actions = new ArrayList<IDisplayableAction>(); okAction.putInitialContext(ActionContextConstants.SOURCE_VIEW_CONNECTOR, getViewConnector(context)); actions.add(okAction); actions.add(cancelAction); context.put(ActionContextConstants.DIALOG_ACTIONS, actions); IModelValueConnector componentsModelConnector = (IModelValueConnector) context .get(ActionContextConstants.ACTION_PARAM); BasicTableViewDescriptor tableViewDescriptor = new BasicTableViewDescriptor(); tableViewDescriptor.setModelDescriptor(componentsModelConnector .getModelDescriptor()); IView<JComponent> collectionView = getViewFactory(context).createView( tableViewDescriptor, actionHandler, getLocale(context)); context.put(ActionContextConstants.DIALOG_VIEW, collectionView); getMvcBinder(context).bind(collectionView.getConnector(), componentsModelConnector); return super.execute(actionHandler, context); }
/** * {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { List<IDisplayableAction> actions = new ArrayList<IDisplayableAction>(); okAction.putInitialContext(ActionContextConstants.SOURCE_VIEW_CONNECTOR, getViewConnector(context)); actions.add(okAction); actions.add(cancelAction); context.put(ActionContextConstants.DIALOG_ACTIONS, actions); IModelValueConnector componentsModelConnector = (IModelValueConnector) context .get(ActionContextConstants.ACTION_PARAM); BasicTableViewDescriptor tableViewDescriptor = new BasicTableViewDescriptor(); tableViewDescriptor.setModelDescriptor(componentsModelConnector .getModelDescriptor()); IView<SComponent> collectionView = getViewFactory(context).createView( tableViewDescriptor, actionHandler, getLocale(context)); context.put(ActionContextConstants.DIALOG_VIEW, collectionView); getMvcBinder(context).bind(collectionView.getConnector(), componentsModelConnector); return super.execute(actionHandler, context); }
/** * {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { List<IDisplayableAction> actions = new ArrayList<IDisplayableAction>(); okAction.putInitialContext(ActionContextConstants.SOURCE_VIEW_CONNECTOR, getViewConnector(context)); actions.add(okAction); actions.add(cancelAction); context.put(ActionContextConstants.DIALOG_ACTIONS, actions); IModelValueConnector componentsModelConnector = (IModelValueConnector) context .get(ActionContextConstants.ACTION_PARAM); BasicTableViewDescriptor tableViewDescriptor = new BasicTableViewDescriptor(); tableViewDescriptor.setModelDescriptor(componentsModelConnector .getModelDescriptor()); IView<ULCComponent> collectionView = getViewFactory(context).createView( tableViewDescriptor, actionHandler, getLocale(context)); context.put(ActionContextConstants.DIALOG_VIEW, collectionView); getMvcBinder(context).bind(collectionView.getConnector(), componentsModelConnector); return super.execute(actionHandler, context); }
@Override public void valueChange(ValueChangeEvent evt) { ICollectionConnector connector = (ICollectionConnector) evt.getSource(); int targetCount = connector.getChildConnectorCount(); List<RComponent> extraSections = new ArrayList<>(); for (int i = 0; i < targetCount; i++) { IValueConnector elementConnector = connector.getChildConnector(i); int childId = System.identityHashCode(elementConnector); if (!childIds.containsKey(childId)) { IView<RComponent> extraSection = createView(viewDescriptor.getRepeatedViewDescriptor(), actionHandler, locale); extraSection.setParent(repeaterView); RComponent peer = extraSection.getPeer(); RemoteValueState state = ((IRemoteStateOwner) elementConnector).getState(); peer.setState(state); extraSections.add(peer); getMvcBinder().bind(extraSection.getConnector(), elementConnector); childIds.put(childId, extraSection); } } if (!extraSections.isEmpty()) { addRepeatedSections(repeater, extraSections); } } });
/** * {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { List<IDisplayableAction> actions = new ArrayList<IDisplayableAction>(); Object component = context.get(ActionContextConstants.ACTION_PARAM); okAction.putInitialContext(ActionContextConstants.SOURCE_VIEW_CONNECTOR, getViewConnector(context)); okAction.putInitialContext(ActionContextConstants.ACTION_PARAM, component); actions.add(okAction); actions.add(cancelAction); context.put(ActionContextConstants.DIALOG_ACTIONS, actions); IView<ULCComponent> componentView = getViewFactory(context).createView( getViewDescriptor(context), actionHandler, getLocale(context)); context.put(ActionContextConstants.DIALOG_VIEW, componentView); IValueConnector componentConnector = modelConnectorFactory .createModelConnector(ACTION_MODEL_NAME, getViewDescriptor(context) .getModelDescriptor()); componentConnector.setConnectorValue(getModel(context)); getMvcBinder(context) .bind(componentView.getConnector(), componentConnector); return super.execute(actionHandler, context); }
/** * {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { List<IDisplayableAction> actions = new ArrayList<IDisplayableAction>(); Object component = context.get(ActionContextConstants.ACTION_PARAM); okAction.putInitialContext(ActionContextConstants.SOURCE_VIEW_CONNECTOR, getViewConnector(context)); okAction.putInitialContext(ActionContextConstants.ACTION_PARAM, component); actions.add(okAction); actions.add(cancelAction); context.put(ActionContextConstants.DIALOG_ACTIONS, actions); IView<SComponent> componentView = getViewFactory(context).createView( getViewDescriptor(context), actionHandler, getLocale(context)); context.put(ActionContextConstants.DIALOG_VIEW, componentView); IValueConnector componentConnector = modelConnectorFactory .createModelConnector(ACTION_MODEL_NAME, getViewDescriptor(context) .getModelDescriptor()); componentConnector.setConnectorValue(getModel(context)); getMvcBinder(context) .bind(componentView.getConnector(), componentConnector); return super.execute(actionHandler, context); }
private void rebindDataProvider() { IRepeaterViewDescriptor viewDescriptor = (IRepeaterViewDescriptor) repeaterView.getDescriptor(); ICollectionConnector collectionConnector = (ICollectionConnector) repeaterView.getConnector(); container.removeAll(); for (int i = 0; i < collectionConnector.getChildConnectorCount(); i++) { IValueConnector child = collectionConnector.getChildConnector(i); JComponent component = componentTank.get(child); if (component == null) { IView<JComponent> repeatedView = viewFactory.createView(viewDescriptor.getRepeatedViewDescriptor(), actionHandler, locale); repeatedView.setParent(repeaterView); component = repeatedView.getPeer(); deepAttachListener(component); mvcBinder.bind(repeatedView.getConnector(), child); componentTank.put(child, component); } container.add(component); } }
/** * {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { List<IDisplayableAction> actions = new ArrayList<IDisplayableAction>(); Object component = context.get(ActionContextConstants.ACTION_PARAM); okAction.putInitialContext(ActionContextConstants.SOURCE_VIEW_CONNECTOR, getViewConnector(context)); okAction.putInitialContext(ActionContextConstants.ACTION_PARAM, component); actions.add(okAction); actions.add(cancelAction); context.put(ActionContextConstants.DIALOG_ACTIONS, actions); IView<JComponent> componentView = getViewFactory(context).createView( getViewDescriptor(context), actionHandler, getLocale(context)); context.put(ActionContextConstants.DIALOG_VIEW, componentView); IValueConnector componentConnector = modelConnectorFactory .createModelConnector(ACTION_MODEL_NAME, getViewDescriptor(context) .getModelDescriptor()); componentConnector.setConnectorValue(getModel(context)); getMvcBinder(context) .bind(componentView.getConnector(), componentConnector); return super.execute(actionHandler, context); }
/** * {@inheritDoc} */ @Override public void bind(IValueConnector masterConnector, final IValueConnector detailConnector) { if (masterConnector instanceof IItemSelectable) { ((IItemSelectable) masterConnector) .addItemSelectionListener(new BoundConnectorSelectionListener( detailConnector)); } else { // Do not simply add the detail connector since it will propagate // writability of the master to the detail which is wrong. see bug#342. // } else if (masterConnector instanceof ICompositeValueConnector) { // ((ICompositeValueConnector) masterConnector) // .addChildConnector(detailConnector); mvcBinder.bind(detailConnector, masterConnector.getModelConnector()); masterConnector.addPropertyChangeListener( IValueConnector.MODEL_CONNECTOR_PROPERTY, new BoundConnectorModelListener(detailConnector)); } }
/** * {@inheritDoc} */ @Override protected void displayWorkspace(String workspaceName) { if (workspaceViews == null) { workspaceViews = new HashSet<String>(); } if (!workspaceViews.contains(workspaceName)) { IViewDescriptor workspaceViewDescriptor = getWorkspace(workspaceName) .getViewDescriptor(); IValueConnector workspaceConnector = getBackendController() .getWorkspaceConnector(workspaceName); IView<SComponent> workspaceView = createWorkspaceView(workspaceName, workspaceViewDescriptor, (Workspace) workspaceConnector .getConnectorValue()); // getViewFactory().decorateWithTitle(moduleView, getLocale()); workspaceViews.add(workspaceName); cardPanel.add(workspaceView.getPeer(), workspaceName); getMvcBinder().bind(workspaceView.getConnector(), workspaceConnector); } setSelectedWorkspaceName(workspaceName); }
/** * {@inheritDoc} */ @Override public boolean execute(IActionHandler actionHandler, Map<String, Object> context) { List<IDisplayableAction> actions = getDialogActions(context); context.put(ModalDialogAction.DIALOG_ACTIONS, actions); IViewDescriptor editViewDescriptor = getViewDescriptor(context); IView<E> dialogView = getViewFactory(context).createView(editViewDescriptor, actionHandler, getLocale(context)); String dialogTitle = getI18nName(getTranslationProvider(context), getLocale(context)); if (dialogTitle != null && dialogTitle.length() > 0) { context.put(ModalDialogAction.DIALOG_TITLE, dialogTitle); } context.put(ModalDialogAction.DIALOG_VIEW, dialogView); Object component = getComponentToEdit(context); IModelDescriptor modelDescriptor = getEditModelDescriptor(context); if (modelDescriptor == null && editViewDescriptor instanceof ICardViewDescriptor) { ICardViewDescriptor cvd = (ICardViewDescriptor) editViewDescriptor; String cardName = cvd.getCardNameForModel(component, getBackendController(context).getApplicationSession() .getSubject()); IViewDescriptor vd = cvd.getCardViewDescriptor(cardName); modelDescriptor = vd.getModelDescriptor(); } IValueConnector componentConnector = getBackendController(context).createModelConnector(ACTION_MODEL_NAME, modelDescriptor); componentConnector.setConnectorValue(component); getMvcBinder(context).bind(dialogView.getConnector(), componentConnector); return super.execute(actionHandler, context); }
workspaceInternalFrames.put(workspaceName, workspaceInternalFrame); controllerFrame.getContentPane().add(workspaceInternalFrame); getMvcBinder().bind(workspaceView.getConnector(), workspaceConnector); workspaceInternalFrame.pack(); workspaceInternalFrame.setSize(controllerFrame.getSize());
/** * Creates and binds the login view. * * @return the login view */ protected IView<E> createLoginView() { IViewDescriptor loginViewDescriptor = getLoginViewDescriptor(); BasicViewDescriptor refinedViewDescriptor = ((BasicViewDescriptor) loginViewDescriptor).clone(); refinedViewDescriptor.setActionMap(null); refinedViewDescriptor.setSecondaryActionMap(null); IView<E> loginView = getViewFactory().createView(refinedViewDescriptor, this, getLocale()); IValueConnector loginModelConnector = getBackendController().createModelConnector("login", loginViewDescriptor.getModelDescriptor()); getMvcBinder().bind(loginView.getConnector(), loginModelConnector); loginModelConnector.setConnectorValue(getLoginCallbackHandler()); return loginView; }
/** * {@inheritDoc} */ @Override protected RComponent createWorkspaceView(String workspaceName) { RSplitContainer viewComponent = new RSplitContainer(workspaceName + "_split"); viewComponent.setOrientation(EOrientation.HORIZONTAL.toString()); IViewDescriptor workspaceNavigatorViewDescriptor = getWorkspace(workspaceName).getViewDescriptor(); IValueConnector workspaceConnector = getBackendController().getWorkspaceConnector(workspaceName); IView<RComponent> workspaceNavigator = createWorkspaceNavigator(workspaceName, workspaceNavigatorViewDescriptor); IView<RComponent> moduleAreaView = createModuleAreaView(workspaceName); viewComponent.setLeftTop(workspaceNavigator.getPeer()); viewComponent.setRightBottom(moduleAreaView.getPeer()); getMvcBinder().bind(workspaceNavigator.getConnector(), workspaceConnector); return viewComponent; }
.getId()); mvcBinder.bind(editorView.getConnector(), modelConnector);
/** * {@inheritDoc} * * @param workspaceName * the workspace name * @return the r component */ @Override protected RComponent createWorkspaceView(String workspaceName) { Workspace workspace = getWorkspace(workspaceName); List<Module> modules = workspace.getModules(); IView<RComponent> moduleAreaView = createModuleAreaView(workspaceName); RMobileCardPage moduleAreaPage = new RMobileCardPage(workspaceName + "_moduleArea"); moduleAreaPage.setPages((RCardContainer) moduleAreaView.getPeer()); if (isShortcutToSingleModule(modules)) { return moduleAreaPage; } else { RMobileNavPage viewComponent = new RMobileNavPage(workspaceName + "_navigation"); viewComponent.setLabel(workspace.getI18nName()); viewComponent.setToolTip(workspace.getI18nDescription()); viewComponent.setHeaderText(workspace.getI18nPageHeaderDescription()); IViewDescriptor workspaceNavigatorViewDescriptor = workspace.getViewDescriptor(); IValueConnector workspaceConnector = getBackendController().getWorkspaceConnector(workspaceName); IView<RComponent> workspaceNavigator = createWorkspaceNavigator(workspaceName, workspaceNavigatorViewDescriptor); viewComponent.setSelectionView(workspaceNavigator.getPeer()); viewComponent.setNextPage(moduleAreaPage); getMvcBinder().bind(workspaceNavigator.getConnector(), workspaceConnector); return viewComponent; } }