1717import javafx .scene .control .cell .CheckBoxTableCell ;
1818import javafx .scene .layout .HBox ;
1919import javafx .scene .layout .VBox ;
20+ import javafx .scene .shape .Circle ;
2021import javafx .util .converter .LocalTimeStringConverter ;
2122import org .slf4j .Logger ;
2223import org .slf4j .LoggerFactory ;
@@ -122,8 +123,8 @@ public void initForDate(LocalDate currentReportDate, List<Work> currentWorkItems
122123 if (!isMappedInHeimat ) {
123124 canBeSynced = "Not mapped in Heimat" ;
124125 }
125- list .add (new TableRow (project , isMappedInHeimat , canBeSynced , heimatNotes , keeptimeNotes , keeptimeNotes , heimatTimeSeconds ,
126- projectWorkSeconds , projectWorkSeconds ));
126+ list .add (new TableRow (project , isMappedInHeimat , canBeSynced , heimatNotes , keeptimeNotes , keeptimeNotes ,
127+ heimatTimeSeconds , projectWorkSeconds , projectWorkSeconds ));
127128 }
128129 final ObservableList <TableRow > items = FXCollections .observableArrayList (list );
129130 mappingTableView .setItems (items );
@@ -148,10 +149,27 @@ private void initialize() {
148149 shouldSyncColumn .setEditable (true );
149150 shouldSyncColumn .setPrefWidth (50 );
150151
151- TableColumn <TableRow , String > projectColumn = new TableColumn <>("Project" );
152- projectColumn .setCellValueFactory (data -> new SimpleStringProperty (data .getValue ().project .getName ()));
152+ TableColumn <TableRow , Project > projectColumn = new TableColumn <>("Project" );
153+ projectColumn .setCellValueFactory (data -> new SimpleObjectProperty (data .getValue ().project ));
154+ projectColumn .setCellFactory (column -> new TableCell <>() {
155+ //private final Label label = new Label();
156+
157+ @ Override
158+ protected void updateItem (Project item , boolean empty ) {
159+ super .updateItem (item , empty );
160+ if (empty || item == null ) {
161+ setGraphic (null );
162+ setText (null );
163+ } else {
164+ //label.setText(item.getName());
165+ setText (item .getName ());
166+ final Circle circle = new Circle (6 , item .getColor ());
167+ this .setGraphic (circle );
168+ }
169+ }
170+ });
153171 projectColumn .setPrefWidth (100 );
154- // TODO set color
172+
155173 TableColumn <TableRow , TableRow > timeColumn = new TableColumn <>("Time" );
156174 timeColumn .setCellValueFactory (data -> new SimpleObjectProperty <>(data .getValue ())); // Placeholder property
157175
0 commit comments