#!/usr/bin/perl

use warnings;
use strict;
use utf8;

use List::Util     qw< sum >;
use Compress::Zlib;
use Gtk2 -init;
use Gtk2::SimpleList;
use Time::HiRes qw< time >;

my $window = Gtk2::Window->new;
$window->set_title("Tippstatistik");
$window->signal_connect(delete_event => sub { Gtk2->main_quit });

my $vbox = Gtk2::VBox->new(0,5);

{
  my @last;
  sub record {
    push @last, time;

    if(@last >= 3) {
      printf "%f %f\n", $last[-2] - $last[-3], $last[-1] - $last[-2];
    }

    if(@last >= 4) {
      printf STDERR "%f %f %f\n",
        $last[-3] - $last[-4],
        $last[-2] - $last[-3],
        $last[-1] - $last[-2];
    }
  }
}

# Haupt-Eingabefeld
my $buf;
{
  my $frame = Gtk2::Frame->new("Eingabe");
  my $sw    = Gtk2::ScrolledWindow->new;
  $sw->set_policy("automatic", "automatic");

  my $entry = Gtk2::TextView->new;
  $entry->set_wrap_mode("word");
  $buf      = $entry->get_buffer;
  $entry->get_buffer->signal_connect(changed => \&record);

  $entry->set_size_request(500, 100);
  $sw->add($entry);
  $frame->add($sw);
  $vbox->pack_start($frame, 0, 0, 0);
}

$window->add($vbox);
$window->show_all();
Gtk2->main();
