protected void createConfigurableTabs() { for (Configurable configurable : getConfigurables()) { myTabbedPane.addTab( configurable.getDisplayName(), configurable.getIcon(), configurable.createComponent(), null); } }
public JavaCompilersTab( final Project project, Collection<BackendCompiler> compilers, BackendCompiler defaultCompiler) { myDefaultCompiler = defaultCompiler; myCompilerConfiguration = (CompilerConfigurationImpl) CompilerConfiguration.getInstance(project); myConfigurables = new ArrayList<Configurable>(compilers.size()); myCardLayout = new CardLayout(); myContentPanel.setLayout(myCardLayout); for (BackendCompiler compiler : compilers) { Configurable configurable = compiler.createConfigurable(); myConfigurables.add(configurable); myContentPanel.add(configurable.createComponent(), compiler.getId()); } myCompiler.setModel(new DefaultComboBoxModel(new Vector(compilers))); myCompiler.setRenderer( new DefaultListCellRenderer() { public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel component = (JLabel) super.getListCellRendererComponent( list, value, index, isSelected, cellHasFocus); component.setText(((BackendCompiler) value).getPresentableName()); return component; } }); myCompiler.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { BackendCompiler compiler = (BackendCompiler) myCompiler.getSelectedItem(); if (compiler == null) return; selectCompiler(compiler); } }); }
@Override public ActionCallback navigateTo(@Nullable final Place place, final boolean requestFocus) { final Configurable toSelect = (Configurable) place.getPath(CATEGORY); JComponent detailsContent = myDetails.getTargetComponent(); if (mySelectedConfigurable != toSelect) { if (mySelectedConfigurable instanceof BaseStructureConfigurable) { ((BaseStructureConfigurable) mySelectedConfigurable).onStructureUnselected(); } saveSideProportion(); removeSelected(); if (toSelect != null) { detailsContent = toSelect.createComponent(); myDetails.setContent(detailsContent); } mySelectedConfigurable = toSelect; if (mySelectedConfigurable != null) { myUiState.lastEditedConfigurable = mySelectedConfigurable.getDisplayName(); } if (toSelect instanceof MasterDetailsComponent) { final MasterDetailsComponent masterDetails = (MasterDetailsComponent) toSelect; if (myUiState.sideProportion > 0) { masterDetails.getSplitter().setProportion(myUiState.sideProportion); } masterDetails.setHistory(myHistory); } if (toSelect instanceof DetailsComponent.Facade) { ((DetailsComponent.Facade) toSelect) .getDetailsComponent() .setBannerMinHeight(myToolbarComponent.getPreferredSize().height); } if (toSelect instanceof BaseStructureConfigurable) { ((BaseStructureConfigurable) toSelect).onStructureSelected(); } } if (detailsContent != null) { JComponent toFocus = IdeFocusTraversalPolicy.getPreferredFocusedComponent(detailsContent); if (toFocus == null) { toFocus = detailsContent; } if (requestFocus) { myToFocus = toFocus; UIUtil.requestFocus(toFocus); } } final ActionCallback result = new ActionCallback(); Place.goFurther(toSelect, place, requestFocus).notifyWhenDone(result); myDetails.revalidate(); myDetails.repaint(); if (toSelect != null) { mySidePanel.select(createPlaceFor(toSelect)); } if (!myHistory.isNavigatingNow() && mySelectedConfigurable != null) { myHistory.pushQueryPlace(); } return result; }
private void addComponent(AbstractVcs vcs, Configurable configurable, String constraint) { myEnvToConfMap.put(vcs, configurable); myMainPanel.add(configurable.createComponent(), constraint); configurable.reset(); }
public JComponent createComponent() { return myConfigurable.createComponent(); }