Skip to content
Snippets Groups Projects
Commit 23b8fec3 authored by Ondřej Hrdlička's avatar Ondřej Hrdlička
Browse files

Activated the Filter Task ComboBox toolbar item

parent 6055ea99
No related branches found
No related tags found
2 merge requests!52Final project MR,!45Activating most of the app
......@@ -6,6 +6,7 @@ import cz.muni.fi.pv168.project.model.EditableModel;
import cz.muni.fi.pv168.project.ui.dialog.error.ErrorDialog;
import javax.swing.DefaultListModel;
import java.util.function.Predicate;
public class DbConnectedModel<T extends Identifiable> extends DefaultListModel<T> implements EditableModel<T> {
......@@ -75,6 +76,16 @@ public class DbConnectedModel<T extends Identifiable> extends DefaultListModel<T
}
}
public void updateFiltered(Predicate<T> predicate) {
clear();
for (T element : dataAccessObject.getAll()) {
if (predicate.test(element)) {
super.addElement(element);
}
}
}
@Override
public void delete(T entity) {
dataAccessObject.delete(entity);
......
......@@ -44,6 +44,10 @@ public class TasksToolBar {
taskTypes.addActionListener(l);
}
public TaskStatus getSelectedStatus() {
return (TaskStatus) taskTypes.getSelectedItem();
}
public JToolBar getToolBar() {
return toolBar;
}
......
......@@ -80,12 +80,25 @@ public class TaskView implements Tab<Task> {
}
});
handleToolBar();
splitPane.setLeftComponent(new JScrollPane(headerList));
splitPane.setRightComponent(taskPanel);
splitPane.setDividerLocation(0.33);
splitPane.setBorder(new EtchedBorder());
}
private void handleToolBar() {
toolBar.addStatusActionListener(actionEvent -> {
var selectedStatus = toolBar.getSelectedStatus();
if (selectedStatus.equals(TaskStatus.ALL)) {
taskModel.updateAll();
} else {
taskModel.updateFiltered(task -> task.getTaskStatus().equals(selectedStatus));
}
});
}
private void update() {
var task = headerList.getSelectedValue();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment