// Path: src/main/java/com/athaydes/logfx/binding/BindableValue.java
// public class BindableValue<T> extends ObservableValueBase<T> {
// 
//     private T value;
// 
//     public BindableValue( T value ) {
//         this.value = value;
//     }
// 
//     public void setValue( T value ) {
//         this.value = value;
//         fireValueChangedEvent();
//     }
// 
//     @Override
//     public T getValue() {
//         return value;
//     }
// 
// }
// 
// Path: src/main/java/com/athaydes/logfx/data/LogLineColors.java
// public class LogLineColors {
// 
//     private final Paint background;
//     private final Paint fill;
// 
//     public LogLineColors( Paint background, Paint fill ) {
//         this.background = background;
//         this.fill = fill;
//     }
// 
//     public Paint getBackground() {
//         return background;
//     }
// 
//     public Paint getFill() {
//         return fill;
//     }
// }


import com.athaydes.logfx.binding.BindableValue;
import com.athaydes.logfx.data.LogLineColors;
import javafx.animation.Animation;
import javafx.animation.Interpolator;
import javafx.animation.Transition;
import javafx.application.Platform;
import javafx.beans.binding.NumberBinding;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.scene.text.Font;
import javafx.util.Duration;
import java.util.List;
package com.athaydes.logfx.ui;




/**
 * Node holding a single log line in a {@link LogView}.
 */
class LogLine extends Parent implements SelectionHandler.SelectableNode {

    private static final int MAX_LINE_LENGTH = 5000;

    private final int lineIndex;
    private String fullText = "";
    private final Label stdLine;
// Path: src/main/java/com/athaydes/logfx/binding/BindableValue.java
// public class BindableValue<T> extends ObservableValueBase<T> {
// 
//     private T value;
// 
//     public BindableValue( T value ) {
//         this.value = value;
//     }
// 
//     public void setValue( T value ) {
//         this.value = value;
//         fireValueChangedEvent();
//     }
// 
//     @Override
//     public T getValue() {
//         return value;
//     }
// 
// }
// 
// Path: src/main/java/com/athaydes/logfx/data/LogLineColors.java
// public class LogLineColors {
// 
//     private final Paint background;
//     private final Paint fill;
// 
//     public LogLineColors( Paint background, Paint fill ) {
//         this.background = background;
//         this.fill = fill;
//     }
// 
//     public Paint getBackground() {
//         return background;
//     }
// 
//     public Paint getFill() {
//         return fill;
//     }
// }


// Path: src/main/java/com/athaydes/logfx/ui/LogLine.java
import com.athaydes.logfx.binding.BindableValue;
import com.athaydes.logfx.data.LogLineColors;
import javafx.animation.Animation;
import javafx.animation.Interpolator;
import javafx.animation.Transition;
import javafx.application.Platform;
import javafx.beans.binding.NumberBinding;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import javafx.scene.text.Font;
import javafx.util.Duration;
import java.util.List;

package com.athaydes.logfx.ui;




/**
 * Node holding a single log line in a {@link LogView}.
 */
class LogLine extends Parent implements SelectionHandler.SelectableNode {

    private static final int MAX_LINE_LENGTH = 5000;

    private final int lineIndex;
    private String fullText = "";
    private final Label stdLine;
    private final BindableValue<Font> fontValue;