| /* |
| * Copyright (c) 2009, Tony Kohar. All Rights Reserved. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| * implied. |
| * |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.qi4j.envisage.detail; |
| |
| import java.awt.BorderLayout; |
| import java.awt.GridBagConstraints; |
| import java.awt.GridBagLayout; |
| import java.util.ResourceBundle; |
| import javax.swing.JComponent; |
| import javax.swing.JLabel; |
| import javax.swing.JPanel; |
| import org.qi4j.api.service.ImportedServiceDescriptor; |
| import org.qi4j.api.service.ServiceImporter; |
| import org.qi4j.tools.model.descriptor.ImportedServiceDetailDescriptor; |
| |
| /** |
| * Implementation of ImportedService imported by |
| */ |
| /* package */ final class ImportedByPane |
| extends DetailPane |
| { |
| private JPanel contentPane; |
| private JLabel nameLabel; |
| private JLabel classLabel; |
| |
| /* package */ ImportedByPane( DetailModelPane detailModelPane ) |
| { |
| super( detailModelPane ); |
| this.setLayout( new BorderLayout() ); |
| this.add( contentPane, BorderLayout.CENTER ); |
| } |
| |
| @Override |
| protected void setDescriptor( Object objectDesciptor ) |
| { |
| clear(); |
| |
| if( !( objectDesciptor instanceof ImportedServiceDetailDescriptor ) ) |
| { |
| return; |
| } |
| |
| ImportedServiceDetailDescriptor detailDescriptor = (ImportedServiceDetailDescriptor) objectDesciptor; |
| ImportedServiceDescriptor descriptor = detailDescriptor.descriptor().importedService(); |
| |
| Class<? extends ServiceImporter> importer = descriptor.serviceImporter(); |
| nameLabel.setText( importer.getSimpleName() ); |
| classLabel.setText( importer.toString() ); |
| } |
| |
| private void clear() |
| { |
| nameLabel.setText( null ); |
| classLabel.setText( null ); |
| } |
| |
| |
| { |
| // GUI initializer generated by IntelliJ IDEA GUI Designer |
| // >>> IMPORTANT!! <<< |
| // DO NOT EDIT OR ADD ANY CODE HERE! |
| $$$setupUI$$$(); |
| } |
| |
| /** |
| * Method generated by IntelliJ IDEA GUI Designer |
| * >>> IMPORTANT!! <<< |
| * DO NOT edit this method OR call it in your code! |
| * |
| */ |
| private void $$$setupUI$$$() |
| { |
| contentPane = new JPanel(); |
| contentPane.setLayout( new GridBagLayout() ); |
| final JLabel label1 = new JLabel(); |
| this.$$$loadLabelText$$$( label1, ResourceBundle.getBundle( "org/qi4j/envisage/detail/ImportedByPane" ).getString( "CTL_Name.Text" ) ); |
| GridBagConstraints gbc; |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 0; |
| gbc.gridy = 1; |
| gbc.anchor = GridBagConstraints.WEST; |
| contentPane.add( label1, gbc ); |
| final JPanel spacer1 = new JPanel(); |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 1; |
| gbc.gridy = 1; |
| gbc.fill = GridBagConstraints.HORIZONTAL; |
| contentPane.add( spacer1, gbc ); |
| final JPanel spacer2 = new JPanel(); |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 0; |
| gbc.gridy = 2; |
| gbc.fill = GridBagConstraints.VERTICAL; |
| contentPane.add( spacer2, gbc ); |
| nameLabel = new JLabel(); |
| nameLabel.setText( "Label" ); |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 2; |
| gbc.gridy = 1; |
| gbc.anchor = GridBagConstraints.WEST; |
| contentPane.add( nameLabel, gbc ); |
| final JLabel label2 = new JLabel(); |
| this.$$$loadLabelText$$$( label2, ResourceBundle.getBundle( "org/qi4j/envisage/detail/ImportedByPane" ).getString( "CTL_Class.Text" ) ); |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 0; |
| gbc.gridy = 3; |
| gbc.anchor = GridBagConstraints.WEST; |
| contentPane.add( label2, gbc ); |
| classLabel = new JLabel(); |
| classLabel.setText( "Label" ); |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 2; |
| gbc.gridy = 3; |
| gbc.weightx = 1.0; |
| gbc.anchor = GridBagConstraints.WEST; |
| contentPane.add( classLabel, gbc ); |
| final JPanel spacer3 = new JPanel(); |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 0; |
| gbc.gridy = 4; |
| gbc.weighty = 1.0; |
| gbc.fill = GridBagConstraints.VERTICAL; |
| contentPane.add( spacer3, gbc ); |
| final JPanel spacer4 = new JPanel(); |
| gbc = new GridBagConstraints(); |
| gbc.gridx = 0; |
| gbc.gridy = 0; |
| gbc.fill = GridBagConstraints.VERTICAL; |
| contentPane.add( spacer4, gbc ); |
| } |
| |
| private void $$$loadLabelText$$$( JLabel component, String text ) |
| { |
| StringBuffer result = new StringBuffer(); |
| boolean haveMnemonic = false; |
| char mnemonic = '\0'; |
| int mnemonicIndex = -1; |
| for( int i = 0; i < text.length(); i++ ) |
| { |
| if( text.charAt( i ) == '&' ) |
| { |
| i++; |
| if( i == text.length() ) |
| { |
| break; |
| } |
| if( !haveMnemonic && text.charAt( i ) != '&' ) |
| { |
| haveMnemonic = true; |
| mnemonic = text.charAt( i ); |
| mnemonicIndex = result.length(); |
| } |
| } |
| result.append( text.charAt( i ) ); |
| } |
| component.setText( result.toString() ); |
| if( haveMnemonic ) |
| { |
| component.setDisplayedMnemonic( mnemonic ); |
| component.setDisplayedMnemonicIndex( mnemonicIndex ); |
| } |
| } |
| |
| public JComponent $$$getRootComponent$$$() |
| { |
| return contentPane; |
| } |
| } |