// referenceMappingHolder expects an MWReferenceObjectMapping public static ListChooser buildReferenceDescriptorChooser( ValueModel referenceMappingHolder, WorkbenchContextHolder contextHolder) { ListChooser listChooser = new DefaultListChooser( buildExtendedReferenceDescriptorComboBoxModel(referenceMappingHolder), contextHolder, buildDescriptorNodeSelector(contextHolder), buildReferenceChooserDialogBuilder( contextHolder .getWorkbenchContext() .getApplicationContext() .getResourceRepository())); listChooser.setRenderer( buildDescriptorListRenderer( contextHolder.getWorkbenchContext().getApplicationContext().getResourceRepository())); return listChooser; }
/** * Creates a new button that when clicked will show the Class chooser dialog and update the given * selection holder with the selected value. * * @param context The context ... * @param key The key used to retrieve the localized text from the given context's <code> * ResourceRepository</code> * @param classRepositoryHolder The holder of the {@link * org.eclipse.persistence.tools.workbench.scplugin.model.meta.ClassRepository} used to * retrieve the list of classes * @param selectionHolder The holder of the selected item if set, otherwise the value will remain * <code>null</code> * @return The new <code>JButton</code> */ public static JButton buildBrowseButton( WorkbenchContextHolder contextHolder, String key, ValueModel classRepositoryHolder, PropertyValueModel selectionHolder) { ResourceRepository repository = contextHolder.getWorkbenchContext().getApplicationContext().getResourceRepository(); JButton browseButton = new JButton(); browseButton.setText(repository.getString(key)); browseButton.setMnemonic(repository.getMnemonic(key)); browseButton.setDisplayedMnemonicIndex(repository.getMnemonicIndex(key)); browseButton.setName(key); BrowseAction action = new BrowseAction(contextHolder, classRepositoryHolder, selectionHolder); browseButton.addActionListener(action); installBrowseButtonEnabler(classRepositoryHolder, browseButton); return browseButton; }
public void actionPerformed(ActionEvent e) { promptForType( contextHolder.getWorkbenchContext(), (ClassDescriptionRepository) classRepositoryHolder.getValue(), selectionHolder); }
private static JPanel buildContainerOptionsBrowser( final WorkbenchContextHolder holder, final PropertyValueModel subjectHolder, final JPanel subPanel, final String topicId) { GridBagConstraints constraints = new GridBagConstraints(); HelpManager help = holder.getWorkbenchContext().getApplicationContext().getHelpManager(); JPanel container = new JPanel(new GridBagLayout()); String advancedContainerOptionsTitle = holder .getWorkbenchContext() .getApplicationContext() .getResourceRepository() .getString("COLLECTION_OPTIONS_ADVANCED_BUTTON"); subPanel.setVisible(false); subPanel.setBorder( buildTitledBorder( holder.getWorkbenchContext().getApplicationContext().getResourceRepository(), "COLLECTION_OPTIONS_ADVANCED_BUTTON")); JButton button = buildButton( "COLLECTION_OPTIONS_ADVANCED_BUTTON", holder.getWorkbenchContext().getApplicationContext().getResourceRepository()); String buttonText = button.getText(); buttonText += " >>"; button.setText(buttonText); constraints.gridx = 0; constraints.gridy = 0; constraints.gridwidth = 1; constraints.gridheight = 1; constraints.weightx = 1; constraints.weighty = 0; constraints.fill = GridBagConstraints.NONE; constraints.anchor = GridBagConstraints.LINE_START; constraints.insets = new Insets(0, 0, 0, 0); help.addTopicID(button, topicId + ".advancedContainerOptions"); container.add(button, constraints); constraints.gridx = 0; constraints.gridy = 1; constraints.gridwidth = 1; constraints.gridheight = 1; constraints.weightx = 1; constraints.weighty = 0; constraints.fill = GridBagConstraints.HORIZONTAL; constraints.anchor = GridBagConstraints.CENTER; constraints.insets = new Insets(0, 0, 0, 0); help.addTopicID(subPanel, topicId + ".advancedContainerOptions"); container.add(subPanel, constraints); button.addActionListener( MappingComponentFactory.buildAdvancedCollectionOptionsButtonActionListener( button, subPanel, advancedContainerOptionsTitle)); return container; }