Skip to content
Snippets Groups Projects
Select Git revision
  • dbe6caf222d3e11432aceaef223f68fceddcaf2a
  • master default
  • dev_general
  • 0.1.5
  • 0.1.4
  • 0.1.3
  • 0.1.2
  • 0.1.1
8 results

SolutionTab.java

Blame
  • 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);
    	}
    	
    }