public AbstractAttributesPanel() {
		model = new AttributeTableModel(this);
		setModel(model);
		setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		
		
		// Setup Remove Column
		TableColumn removeColumn = getColumnModel().getColumn(0);
		
		removeColumn.setMinWidth(80);
		removeColumn.setMaxWidth(80);
		removeColumn.setResizable(false);
		
		AttributesButtonCellEditor editor = new AttributesButtonCellEditor(this);
		removeColumn.setCellRenderer(editor);
		removeColumn.setCellEditor(editor);
		
		removeColumn.setHeaderRenderer(removeColumnHeaderRenderer);
		
		// Setup Editable Column
		TableColumn editableColumn = getColumnModel().getColumn(1);
		
		editableColumn.setMinWidth(OutlineEditableIndicator.TRUE_WIDTH);
		editableColumn.setMaxWidth(OutlineEditableIndicator.TRUE_WIDTH);
		editableColumn.setResizable(false);
		
		AttributesImageIconCellEditor editor2 = new AttributesImageIconCellEditor(this);
		editableColumn.setCellEditor(editor2);
		
		// Setup Table Header
		getTableHeader().addMouseListener(model);
		getTableHeader().setReorderingAllowed(false);
	}