2626import java .util .stream .Collectors ;
2727
2828import javafx .scene .control .skin .DatePickerSkin ;
29+ import javafx .scene .paint .Color ;
2930import javafx .scene .text .Text ;
3031import org .slf4j .Logger ;
3132import org .slf4j .LoggerFactory ;
@@ -153,11 +154,14 @@ protected void updateItem(final TableRow item, final boolean empty) {
153154 setText (null );
154155 } else {
155156 final String notes = item .getNotes ();
156- final Text text = new Text (notes .isEmpty () ? EMPTY_NOTE : notes );
157- this .setText (text .getText ());
158-
159- final Circle circle = new Circle (6 , item .getProjectColor ());
160- this .setGraphic (circle );
157+ final String text = notes .isEmpty () ? EMPTY_NOTE : notes ;
158+ this .setText (text );
159+ if (item .getProjectColor ()!=null ){
160+ final Circle circle = new Circle (6 , item .getProjectColor ());
161+ this .setGraphic (circle );
162+ }else {
163+ this .setGraphic (null );
164+ }
161165 }
162166 }
163167 };
@@ -178,7 +182,35 @@ protected void updateItem(final TableRow item, final boolean empty) {
178182 this .workTableTreeView .getColumns ().add (timeRangeColumn );
179183
180184 final TreeTableColumn <TableRow , String > timeSumColumn = new TreeTableColumn <>("Duration" );
181- timeSumColumn .setCellValueFactory (new TreeItemPropertyValueFactory <TableRow , String >("timeSum" ));
185+ timeSumColumn .setCellFactory (new Callback <TreeTableColumn <TableRow , String >, TreeTableCell <TableRow , String >>() {
186+ @ Override
187+ public TreeTableCell <TableRow , String > call (TreeTableColumn <TableRow , String > tableRowStringTreeTableColumn ) {
188+
189+ return new TreeTableCell <TableRow ,String >(){
190+
191+ @ Override
192+ protected void updateItem (String s , boolean b ) {
193+ super .updateItem (s , b );
194+ Label l1 = new Label (s );
195+ if (b ){
196+ this .setGraphic (null );
197+ }else if (l1 .getText ()!=null ) {
198+
199+ if (l1 .getText ().equals (currentDayWorkTimeLabel .getText ())) {
200+ l1 .setUnderline (true );
201+ this .setGraphic (l1 );
202+
203+ } else {
204+ Label label = new Label (s );
205+ this .setGraphic (label );
206+ }
207+ }
208+ }
209+ };
210+ }
211+ });
212+ timeSumColumn .setCellValueFactory ( (final TreeTableColumn .CellDataFeatures <TableRow , String > entry ) -> new ReadOnlyObjectWrapper <>(
213+ entry .getValue ().getValue ().getTimeSum ()));
182214 timeSumColumn .setMinWidth (60 );
183215 timeSumColumn .setReorderable (false );
184216 this .workTableTreeView .getColumns ().add (timeSumColumn );
0 commit comments