Ver código fonte

First import additions to the LinkCreationPanel

Andreas T. Meyer-Berg 5 anos atrás
pai
commit
e633c5891d

+ 13 - 0
src/main/java/de/tu_darmstadt/tk/SmartHomeNetworkSim/core/simpleImplementation/SimpleLink.java

@@ -55,6 +55,19 @@ public class SimpleLink implements Link {
 		this.packets = new LinkedList<Packet>();
 		this.connections = new ArrayList<Connection>();
 	}
+	
+	/**
+	 * Initializes a simple Link with default name and an empty devices list.
+	 * 
+	 * @param name
+	 *            Name the Link should have
+	 */
+	public SimpleLink() {
+		this.name = "link name";
+		this.devices = new ArrayList<SmartDevice>();
+		this.packets = new LinkedList<Packet>();
+		this.connections = new ArrayList<Connection>();
+	}
 
 	/**
 	 * Returns the name of this Link

+ 17 - 6
src/main/java/de/tu_darmstadt/tk/SmartHomeNetworkSim/view/LinkCreationPanel.java

@@ -63,6 +63,8 @@ public class LinkCreationPanel extends JScrollPane{
 	}
 	
 	private void initializePanel() {
+		LinkedList<Class<? extends Link>> availableLinks = controller.getControllerImport().getLinks();
+		
 		setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
 		this.setPreferredSize(new Dimension(600, 170 + devices.length*20));
 		content = new JPanel();
@@ -98,22 +100,31 @@ public class LinkCreationPanel extends JScrollPane{
 		content.add(lblLinkType);
 		
 		JComboBox<String> cmbLinkType = new JComboBox<String>();
-		cmbLinkType.addItem("SimpleLink");
-		cmbLinkType.addItem("testZigbee");
-		cmbLinkType.setBounds(162, 68, 116, 22);
+		for(Class<? extends Link> linkClass:availableLinks){
+			cmbLinkType.addItem(linkClass.getSimpleName());
+		}
+		int linkCounter = -1;
+		for(Class<? extends Link> linkClass:availableLinks){
+			linkCounter++;
+			if(newLink.getClass().equals(linkClass))
+				cmbLinkType.setSelectedIndex(linkCounter);
+		}
+		cmbLinkType.setBounds(162, 68, 216, 22);
 		content.add(cmbLinkType);
 		cmbLinkType.addActionListener(new ActionListener() {
 			
 			@Override
 			public void actionPerformed(ActionEvent e) {
-				System.out.println("WARNING: No  further Link Types implemented");
+				System.out.println("WARNING: Link Type Changing not implemented");
 			}
 		});
 		
 		JButton btnImportLink = new JButton("Import Link Type");
-		btnImportLink.setBounds(290, 67, 144, 25);
+		btnImportLink.setBounds(390, 67, 144, 25);
 		content.add(btnImportLink);
-		btnImportLink.addActionListener(a->System.out.println("WARNING: No import yet"));
+		btnImportLink.addActionListener(a->{
+			System.out.println("WARNING: No import yet");
+		});
 		
 		JButton btnCreate = new JButton("Verify and Create");
 		btnCreate.setBounds(121, 103, 206, 25);