private PanelEditConditions() {

		JToolBar toolBar = new JToolBar();
		toolBar.setFloatable(false);

		JScrollPane scrollPane = new JScrollPane();
		GroupLayout groupLayout = new GroupLayout(this);
		groupLayout.setHorizontalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
						.addComponent(toolBar, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
						.addComponent(scrollPane, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 450, Short.MAX_VALUE))
					.addGap(0))
		);
		groupLayout.setVerticalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addComponent(scrollPane, GroupLayout.DEFAULT_SIZE, 266, Short.MAX_VALUE)
					.addGap(7)
					.addComponent(toolBar, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE))
		);
		
		JButton btnAdd = new JButton("Add");
		btnAdd.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				String label = Utils.getString("Input label of condition");
				
				if (label == null) {
					return;
				}
				
				String sVal = Utils.getString("Input value of condition (0-255)");
				
				if (sVal == null) {
					return;
				}
								
				model.addRow(new Object[] { "?", label, sVal });
				
				update();
			}
		});
		btnAdd.setIcon(IconUtils.getIcon("add"));
		toolBar.add(btnAdd);
		
		JButton btnRemove = new JButton("Remove");
		btnRemove.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				int row = table.getSelectedRow();
				
				model.removeRow(row);
				
				update();
			}
		});
		btnRemove.setIcon(IconUtils.getIcon("remove"));
		toolBar.add(btnRemove);
		
		JButton btnMoveUp = new JButton("Move Up");
		btnMoveUp.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				model.moveRow(table.getSelectedRow(), table.getSelectedRow(), table.getSelectedRow() - 1);
				
				table.setRowSelectionInterval(table.getSelectedRow() - 1, table.getSelectedRow() - 1);
			}
		});
		btnMoveUp.setIcon(IconUtils.getIcon("up"));
		toolBar.add(btnMoveUp);
		
		JButton btnMoveDown = new JButton("Move Down");
		btnMoveDown.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				model.moveRow(table.getSelectedRow(), table.getSelectedRow(), table.getSelectedRow() + 1);
				
				table.setRowSelectionInterval(table.getSelectedRow() + 1, table.getSelectedRow() + 1);
			}
		});
		btnMoveDown.setIcon(IconUtils.getIcon("down"));
		toolBar.add(btnMoveDown);
		
		JButton btnSave = new JButton("Save");
		btnSave.setIcon(IconUtils.getIcon("save"));
		btnSave.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				Conditions.LIST.clear();
				for (int i = 0; i < model.getRowCount(); i++) {
					String label = model.getValueAt(i, 1).toString();
					int value = Integer.parseInt(model.getValueAt(i, 2).toString());
					
					Condition condition = new Condition(label, value);
					Conditions.LIST.add(condition);
				}
				
				i.onClose();
			}
		});
		toolBar.add(btnSave);

		table = new JTable();
		table.setRowHeight(25);
		model = new DefaultTableModel(new Object[][] {}, new String[] { "Index", "Label", "Value" });
		table.setModel(model);
		table.getColumnModel().getColumn(1).setPreferredWidth(230);
		table.getColumnModel().getColumn(2).setPreferredWidth(257);
		scrollPane.setViewportView(table);
		setLayout(groupLayout);

		for (int i = 0; i < Conditions.LIST.size(); i++) {
			Condition action = Conditions.LIST.get(i);
			model.addRow(new Object[] { i, action.getLabel(), action.getValue() });
		}
	}