blob: d16af5a396e2422a5b461f58cf096e368abb0e42 [file] [log] [blame]
/*
* 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;
}
}