Select Git revision
SolutionTab.java
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
SolutionTab.java 2.95 KiB
/*******************************************************************************
* Copyright (C) 2017 Philipp Spohr
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
******************************************************************************/
package de.hhu.ba.yoshikoWrapper.gui;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import de.hhu.ba.yoshikoWrapper.core.LocalizationManager;
import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoCluster;
import de.hhu.ba.yoshikoWrapper.graphModel.YoshikoSolution;
@SuppressWarnings("serial")
public class SolutionTab extends JPanel {
private final JScrollPane scrollPane;
private final JPanel scrollPaneContent;
private final JLabel clusterCount;
private final JButton createMetaGraph;
private final YoshikoSolution solution;
public SolutionTab(YoshikoSolution s) {
this.solution = s;
this.setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
//init swing components
scrollPaneContent = new JPanel();
scrollPaneContent.setLayout(new BoxLayout(scrollPaneContent,BoxLayout.Y_AXIS));
for (YoshikoCluster c: solution.cluster) {
ClusterView clusterView = new ClusterView(c);
scrollPaneContent.add(clusterView);
scrollPaneContent.add(Box.createVerticalStrut(8));
}
scrollPane = new JScrollPane(scrollPaneContent);
scrollPane.setPreferredSize(new Dimension(150,400));
clusterCount = new JLabel(LocalizationManager.get("clusterFound")+" "+s.cluster.size());
createMetaGraph = new JButton(LocalizationManager.get("createMetaGraph"));
createMetaGraph.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
solution.exportMetaGraph();
}
});
SwingUtil.addAll(this,clusterCount,scrollPane,createMetaGraph);
}
}