/*
* Copyright (c) 2014 tabletoptool.com team.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors:
* rptools.com team - initial implementation
* tabletoptool.com team - further development
*/
package com.t3.client.ui.token;
import java.awt.BorderLayout;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import com.t3.client.TabletopTool;
import com.t3.client.ui.assetpanel.AssetPanel;
import com.t3.swing.SelectionListener;
public class ImageAssetSelectorPanel extends JPanel {
private ImageAssetPanel imageAssetPanel;
private JButton imageExplorerButton;
public ImageAssetSelectorPanel() {
setLayout(new BorderLayout());
add(BorderLayout.CENTER, getImageAssetPanel());
add(BorderLayout.SOUTH, getImageExplorerButton());
}
public ImageAssetPanel getImageAssetPanel() {
if (imageAssetPanel == null) {
imageAssetPanel = new ImageAssetPanel();
}
return imageAssetPanel;
}
public JButton getImageExplorerButton() {
if (imageExplorerButton == null) {
imageExplorerButton = new JButton("...");
}
return imageExplorerButton;
}
private JComponent createImageExplorerPanel() {
final AssetPanel assetPanel = new AssetPanel("imageAssetSelectorImageExplorer", TabletopTool.getFrame().getAssetPanel().getModel(), JSplitPane.HORIZONTAL_SPLIT);
assetPanel.addImageSelectionListener(new SelectionListener() {
@Override
public void selectionPerformed(List<Object> selectedList) {
// There should be exactly one
if (selectedList.size() != 1) {
return;
}
Integer imageIndex = (Integer) selectedList.get(0);
getImageAssetPanel().setImageId(assetPanel.getAsset(imageIndex).getId());
}
});
return assetPanel;
}
}