/** * displays the selected workspace. * <p> * {@inheritDoc} */ public void actionPerformed(@SuppressWarnings("unused") ActionEvent e) { try { getBackendController().checkWorkspaceAccess(workspaceName); displayWorkspace(workspaceName); } catch (SecurityException ex) { handleException(ex, null); } } }
/** * Login to the application. */ @Override public void login() { if (performLogin()) { loginDialog.dispose(); updateControllerFrame(); execute(getStartupAction(), getStartupActionContext()); } else { loginFailed(loginDialog); } }
private List<JMenu> createActionMenus() { return createMenus(getActionMap()); }
private List<JMenu> createHelpActionMenus() { return createMenus(getHelpActions()); }
private void initLoginProcess() { createControllerFrame(); if (isLoginInteractive()) { IView<JComponent> loginView = createLoginView(); IViewDescriptor loginViewDescriptor = getLoginViewDescriptor(); loginDialog = new JDialog(controllerFrame, loginViewDescriptor.getI18nName(this, getLocale()), true); loginDialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); for (ActionList actionList : loginViewDescriptor.getActionMap().getActionLists(this)) { for (IDisplayableAction action : actionList.getActions()) { JButton button = new JButton(getViewFactory().getActionFactory().createAction(action, getViewFactory().getIconFactory().getSmallIconSize(), this, loginView, getLocale())); buttonBox.add(button); if (i == 0) { exitButton.setAction(getViewFactory().getActionFactory().createAction(getExitAction(), this, null, getLocale())); exitButton.setIcon(getIconFactory().getCancelIcon(getIconFactory().getSmallIconSize())); buttonBox.add(exitButton); mainPanel.add(new JLabel(loginViewDescriptor.getI18nDescription(this, getLocale())), BorderLayout.NORTH); mainPanel.add(loginView.getPeer(), BorderLayout.CENTER); loginDialog.setVisible(true); } else { performLogin(); updateControllerFrame(); execute(getStartupAction(), getInitialActionContext());
if (getWorkspaceNames() != null && !getWorkspaceNames().isEmpty()) { applicationToolBar.add(createComboButton(createWorkspaceActionList())); if (getNavigationActions() != null && isAccessGranted(getNavigationActions())) { try { pushToSecurityContext(getNavigationActions()); for (ActionList actionList : getNavigationActions() .getActionLists(this)) { completeApplicationToolBar(applicationToolBar, actionList); restoreLastSecurityContextSnapshot(); if (getActionMap() != null && isAccessGranted(getActionMap())) { try { pushToSecurityContext(getActionMap()); for (ActionList actionList : getActionMap().getActionLists(this)) { completeApplicationToolBar(applicationToolBar, actionList); restoreLastSecurityContextSnapshot(); repeatStatusLabel.setVisible(false); applicationToolBar.add(Box.createHorizontalStrut(5)); if (getHelpActions() != null && isAccessGranted(getHelpActions())) { try { pushToSecurityContext(getHelpActions()); for (ActionList actionList : getHelpActions().getActionLists(this)) { completeApplicationToolBar(applicationToolBar, actionList);
if (!ObjectUtils.equals(workspaceName, getSelectedWorkspaceName())) { cancelCurrentActionTimer(); super.displayWorkspace(workspaceName, bypassModuleBoundaryActions); if (workspaceName != null) { IViewDescriptor workspaceNavigatorViewDescriptor = getWorkspace(workspaceName).getViewDescriptor(); IValueConnector workspaceConnector = getBackendController().getWorkspaceConnector(workspaceName); IView<JComponent> workspaceNavigator = createWorkspaceNavigator(workspaceName, workspaceNavigatorViewDescriptor); IView<JComponent> moduleAreaView = createModuleAreaView(workspaceName); JSplitPane workspaceView = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); workspaceView.setOneTouchExpandable(true); workspaceView.add(workspaceNavigator.getPeer()); workspaceView.add(moduleAreaView.getPeer()); workspaceInternalFrame = createJInternalFrame( workspaceView, workspaceNavigatorViewDescriptor.getI18nName(this, getLocale()), getIconFactory().getIcon( workspaceNavigatorViewDescriptor.getIcon(), getIconFactory().getSmallIconSize())); workspaceInternalFrame .addInternalFrameListener(new WorkspaceInternalFrameListener( workspaceInternalFrames.put(workspaceName, workspaceInternalFrame); desktopPane.add(workspaceInternalFrame); getMvcBinder().bind(workspaceNavigator.getConnector(), workspaceConnector); workspaceInternalFrame.pack();
/** * Creates the initial view from the root view descriptor, then a JFrame * containing this view and presents it to the user. * <p> * {@inheritDoc} */ @Override public boolean start(IBackendController backendController, Locale locale) { if (super.start(backendController, locale)) { Toolkit.getDefaultToolkit().getSystemEventQueue().push( new WaitCursorEventQueue(500)); CallbackHandler callbackHandler = getLoginCallbackHandler(); if (callbackHandler instanceof DialogCallbackHandler) { ((DialogCallbackHandler) callbackHandler) .setParentComponent(controllerFrame); } if (performLogin()) { displayControllerFrame(); execute(getStartupAction(), getInitialActionContext()); return true; } stop(); } return false; }
private void updateFrameTitle() { String workspaceName = getSelectedWorkspaceName(); if (workspaceName != null) { controllerFrame.setTitle(getWorkspace(getSelectedWorkspaceName()) .getViewDescriptor().getI18nDescription(getTranslationProvider(), getLocale()) + " - " + getI18nName(getTranslationProvider(), getLocale())); } else { controllerFrame.setTitle(getI18nName(getTranslationProvider(), getLocale())); } }
private JMenu createWorkspacesMenu() { JMenu workspacesMenu = new JMenu(getTranslationProvider().getTranslation( "workspaces", getLocale())); workspacesMenu.setIcon(getIconFactory().getIcon( getWorkspacesMenuIconImageUrl(), IIconFactory.SMALL_ICON_SIZE)); for (String workspaceName : getWorkspaceNames()) { IViewDescriptor workspaceViewDescriptor = getWorkspace(workspaceName) .getViewDescriptor(); JMenuItem workspaceMenuItem = new JMenuItem(new WorkspaceSelectionAction( workspaceName, workspaceViewDescriptor)); workspacesMenu.add(workspaceMenuItem); } workspacesMenu.addSeparator(); workspacesMenu.add(new JMenuItem(new QuitAction())); return workspacesMenu; }
.get(workspaceName); if (workspaceInternalFrame == null) { IViewDescriptor workspaceViewDescriptor = getWorkspace(workspaceName) .getViewDescriptor(); IValueConnector workspaceConnector = getBackendController() .getWorkspaceConnector(workspaceName); IView<JComponent> workspaceView = createWorkspaceView(workspaceName, workspaceViewDescriptor, (Workspace) workspaceConnector .getConnectorValue()); workspaceInternalFrame = createJInternalFrame(workspaceView); workspaceInternalFrame .addInternalFrameListener(new WorkspaceInternalFrameListener( workspaceInternalFrames.put(workspaceName, workspaceInternalFrame); controllerFrame.getContentPane().add(workspaceInternalFrame); getMvcBinder().bind(workspaceView.getConnector(), workspaceConnector); workspaceInternalFrame.pack(); workspaceInternalFrame.setSize(controllerFrame.getSize()); throw new ControllerException(ex); setSelectedWorkspaceName(workspaceName); workspaceInternalFrame.toFront();
controllerFrame.setGlassPane(createHermeticGlassPane()); controllerFrame.addWindowListener(new WindowAdapter() { int w = 12 * screenRes; int h = 8 * screenRes; if (getFrameWidth() != null) { w = getFrameWidth(); if (getFrameHeight() != null) { h = getFrameHeight(); ImageIcon frameIcon = ((ImageIcon) getIconFactory().getIcon(getIcon(), getIconFactory().getSmallIconSize())); if (frameIcon != null) { controllerFrame.setIconImage(frameIcon.getImage()); updateFrameTitle(); controllerFrame.setVisible(true);
private void updateFrameTitle() { String workspaceName = getSelectedWorkspaceName(); if (workspaceName != null) { controllerFrame.setTitle(getSelectedWorkspace() .getViewDescriptor().getI18nDescription(this, getLocale()) + " - " + getI18nName(this, getLocale())); } else { controllerFrame.setTitle(getI18nName(this, getLocale())); } }
private JMenu createActionMenu(ActionList actionList) { JMenu menu = new JMenu(actionList.getI18nName(getTranslationProvider(), getLocale())); if (actionList.getDescription() != null) { menu.setToolTipText(actionList.getI18nDescription( getTranslationProvider(), getLocale()) + IActionFactory.TOOLTIP_ELLIPSIS); } menu.setIcon(getIconFactory().getIcon(actionList.getIconImageURL(), IIconFactory.SMALL_ICON_SIZE)); for (IDisplayableAction action : actionList.getActions()) { menu.add(new JMenuItem(getViewFactory().getActionFactory().createAction( action, this, menu, null, null, getLocale()))); } return menu; }
return true; String userFriendlyExceptionMessage = computeUserFriendlyExceptionMessage(ex); Component sourceComponent = controllerFrame; if (userFriendlyExceptionMessage != null) { .toHtml(HtmlHelper.emphasis(HtmlHelper .escapeForHTML(userFriendlyExceptionMessage))), getTranslation("error", getLocale()), JOptionPane.ERROR_MESSAGE, getIconFactory().getErrorIcon(getIconFactory().getLargeIconSize())); } else { traceUnexpectedException(ex); JErrorDialog dialog = JErrorDialog.createInstance(sourceComponent, this, getLocale()); dialog.setMessageIcon(getIconFactory().getErrorIcon( getIconFactory().getMediumIconSize())); dialog.setTitle(getTranslation("error", getLocale())); dialog.setMessage(HtmlHelper.toHtml(HtmlHelper.emphasis(HtmlHelper .escapeForHTML(ex.getLocalizedMessage()))));
/** * Creates a new JInternalFrame and populates it with a view. * * @param view * the view to be set into the internal frame. * @return the constructed internal frame. */ private JInternalFrame createJInternalFrame(IView<JComponent> view) { JInternalFrame internalFrame = new JInternalFrame(view.getDescriptor() .getI18nName(getTranslationProvider(), getLocale())); internalFrame.setFrameIcon(getIconFactory().getIcon( view.getDescriptor().getIconImageURL(), IIconFactory.SMALL_ICON_SIZE)); internalFrame.setResizable(true); internalFrame.setClosable(false); internalFrame.setMaximizable(true); internalFrame.setIconifiable(true); internalFrame.getContentPane().add(view.getPeer(), BorderLayout.CENTER); internalFrame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); internalFrame.setGlassPane(createHermeticGlassPane()); return internalFrame; }
private JFrame createControllerFrame() { JFrame frame = new JFrame(); frame.setContentPane(new JDesktopPane()); frame.setIconImage(((ImageIcon) getIconFactory().getIcon(getIconImageURL(), IIconFactory.SMALL_ICON_SIZE)).getImage()); frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); frame.setJMenuBar(createApplicationMenuBar()); frame.setGlassPane(createHermeticGlassPane()); frame.addWindowListener(new WindowAdapter() { /** * {@inheritDoc} */ @Override public void windowClosing(@SuppressWarnings("unused") WindowEvent e) { stop(); } }); return frame; }
/** * {@inheritDoc} */ @Override protected CallbackHandler createLoginCallbackHandler() { DialogCallbackHandler callbackHandler = new DialogCallbackHandler(); callbackHandler.setLocale(getLocale()); callbackHandler.setTranslationProvider(getTranslationProvider()); callbackHandler.setIconFactory(getIconFactory()); return callbackHandler; }
private void displayControllerFrame() { waitTimer = new WaitCursorTimer(500); waitTimer.setDaemon(true); waitTimer.start(); controllerFrame = createControllerFrame(); controllerFrame.pack(); int screenRes = Toolkit.getDefaultToolkit().getScreenResolution(); controllerFrame.setSize(12 * screenRes, 8 * screenRes); controllerFrame.setSize(1100, 800); SwingUtil.centerOnScreen(controllerFrame); updateFrameTitle(); controllerFrame.setVisible(true); }
/** * {@inheritDoc} */ @Override public void internalFrameClosed(InternalFrameEvent e) { displayWorkspace(null); }