-# the main vbox
-my $vbox = new Gtk2::VBox(0, 1);
-$main->add($vbox);
-
-
-# the menu bar
-my @menu = (
- {path => '/_File', type => '<Branch>'},
- {path => '/_File/Quit', callback => sub {Gtk2->main_quit}},
- {path => '/_Help', type => '<LastBranch>'},
- {path => '/_Help/About'},
- );
-my $itemf = new Gtk2::ItemFactory('Gtk2::MenuBar', '<main>');
-$itemf->create_items(@menu);
-my $menu = $itemf->get_widget('<main>');
-$vbox->pack_start($menu, 0, 1, 0);
-
-
-# a paned hbox is packed as the bottom of the vbox
-my $bhpane = Gtk2::HPaned->new;
-$vbox->pack_end($bhpane, 1, 1, 0);
-
-# now create the lh and rh panes
-my $lhvpane = Gtk2::VPaned->new;
-my $rhvpane = Gtk2::VPaned->new;
-$bhpane->pack1($lhvpane, 1, 0);
-$bhpane->pack2($rhvpane, 1, 0);
-
-# first add a column type for the QRG
-my $font = 'monospace 9';
-my $oddbg = 'light blue';
-my $evenbg = 'white';
-
-Gtk2::SimpleList->add_column_type( 'qrg',
- type => 'Glib::Scalar',
- renderer => 'Gtk2::CellRendererText',
- attr => sub {
- my ($treecol, $cell, $model, $iter, $col_num) = @_;
- my $info = $model->get ($iter, $col_num);
- $cell->set(text => sprintf("%.1f", $info), font => $font, xalign => 1.0);
- }
- );
-
-
-Gtk2::SimpleList->add_column_type( 'tt',
- type => 'Glib::Scalar',
- renderer => 'Gtk2::CellRendererText',
- attr => sub {
- my ($treecol, $cell, $model, $iter, $col_num) = @_;
- my $info = $model->get ($iter, $col_num);
- $cell->set(text => $info, font => $font);
- }
- );
-
-Gtk2::SimpleList->add_column_type( 'ttlong',
- type => 'Glib::Scalar',
- renderer => 'Gtk2::CellRendererText',
- attr => sub {
- my ($treecol, $cell, $model, $iter, $col_num) = @_;
- my $info = $model->get ($iter, $col_num);
- $Text::Wrap::columns = 80;
- $cell->set(text => join("\n",wrap("","",$info)), font => $font);
- }
- );
-
-Gtk2::SimpleList->add_column_type( 'ttlesslong',
- type => 'Glib::Scalar',
- renderer => 'Gtk2::CellRendererText',
- attr => sub {
- my ($treecol, $cell, $model, $iter, $col_num) = @_;
- my $info = $model->get ($iter, $col_num);
- $Text::Wrap::columns = 65;
- $cell->set(text => join("\n",wrap("","",$info)), font => $font);
- }
- );
-
-Gtk2::SimpleList->add_column_type( 'ttshort',
- type => 'Glib::Scalar',
- renderer => 'Gtk2::CellRendererText',
- attr => sub {
- my ($treecol, $cell, $model, $iter, $col_num) = @_;
- my $info = $model->get ($iter, $col_num);
- $Text::Wrap::columns = 30;
- $cell->set(text => join("\n",wrap("","",$info)), font => $font);
- }
- );
-
-
-#
-# LEFT HAND SIDE
-#
-
-# DX window
-my $dxlist = Gtk2::SimpleList->new(
- 'RxTime' => 'tt',
- 'QRG' => 'qrg',
- 'DX Call' => 'tt',
- 'Grid' => 'tt',
- 'Remarks' => 'ttshort',
- 'By' => 'tt',
- 'Grid' => 'tt',
- 'TxTime' => 'tt',
- );
-$dxlist->set_rules_hint(1);
-$dxlist->get_model->signal_connect('row-changed', \&row_inserted, $dxlist);
-my $dxscroll = Gtk2::ScrolledWindow->new (undef, undef);
-$dxscroll->set_shadow_type ('etched-out');
-$dxscroll->set_policy ('never', 'automatic');
-#$dxscroll->set_size_request (700, 400);
-$dxscroll->add($dxlist);
-$dxscroll->set_border_width(5);
-
-$lhvpane->pack1($dxscroll, 1, 0);
-
-# The command list
-my $lhvbox = Gtk2::VBox->new(0, 1);
-my $cmdlist = Gtk2::SimpleList->new(
- RxTime => 'tt',
- Information => 'ttlong',
- );
-my $cmdscroll = Gtk2::ScrolledWindow->new (undef, undef);
-$cmdscroll->set_shadow_type ('etched-out');
-$cmdscroll->set_policy ('automatic', 'automatic');
-#$cmdscroll->set_size_request (700, 400);
-$cmdscroll->add($cmdlist);
-$cmdscroll->set_border_width(5);
-$cmdlist->get_model->signal_connect('row-changed', \&row_inserted, $cmdlist);
-
-$lhvbox->pack_start($cmdscroll, 1, 1, 0);
-
-
-# callsign and current date and time
-my $hbox = new Gtk2::HBox;
-my $calllabel = new Gtk2::Label($call);
-my $date = new Gtk2::Label(cldatetime(time));
-$date->{tick} = Glib::Timeout->add(1000, \&updatetime, 0);
-$hbox->pack_start( $calllabel, 0, 1, 0 );
-$hbox->pack_end($date, 0, 1, 0);
-$lhvbox->pack_start($hbox, 0, 1, 0);
-$lhvbox->pack_start(Gtk2::HSeparator->new, 0, 1, 0);
-
-# the bottom handler
-my $bot = new Gtk2::Entry;
-$bot->set_editable(1);
-$bot->signal_connect('activate', \&bothandler);
-$bot->can_default(1);
-$lhvbox->pack_end($bot, 0, 1, 0);
-$lhvpane->pack2($lhvbox, 1, 0);
-$bot->grab_default;
-
-#
-# RIGHT HAND SIDE
-#
-
-# The announce list
-my $annlist = Gtk2::SimpleList->new(
- RxTime => 'tt',
- From => 'tt',
- To => 'tt',
- Announcement => 'ttlesslong',
- );
-$annlist->set_rules_hint(1);
-$annlist->get_model->signal_connect('row-changed', \&row_inserted, $annlist);
-my $annscroll = Gtk2::ScrolledWindow->new (undef, undef);
-$annscroll->set_shadow_type ('etched-out');
-$annscroll->set_policy ('automatic', 'automatic');
-#$annscroll->set_size_request (700, 400);
-$annscroll->add($annlist);
-$annscroll->set_border_width(5);
-$rhvpane->pack1($annscroll, 1, 0);
-
-# The wwv list
-my $rhvbox = Gtk2::VBox->new(0, 1);
-
-my $wwvlist = Gtk2::SimpleList->new(
- RxTime => 'tt',
- From => 'tt',
- SFI => 'int',
- A => 'int',
- K => 'int',
- Remarks => 'ttshort',
- Hour => 'tt'
- );
-$wwvlist->set_rules_hint(1);
-$wwvlist->get_model->signal_connect('row-changed', \&row_inserted, $wwvlist);
-my $wwvscroll = Gtk2::ScrolledWindow->new (undef, undef);
-$wwvscroll->set_shadow_type ('etched-out');
-$wwvscroll->set_policy ('never', 'automatic');
-#$wwvscroll->set_size_request (700, 200);
-$wwvscroll->add($wwvlist);
-$wwvscroll->set_border_width(5);
-$rhvbox->pack_start($wwvscroll, 1, 1, 0);
-
-# The wcy list
-my $wcylist = Gtk2::SimpleList->new(
- RxTime => 'tt',
- From => 'tt',
- K => 'int',
- ExpK => 'int',
- A => 'int',
- R => 'int',
- SFI => 'int',
- SA => 'tt',
- GMF => 'tt',
- Aurora => 'tt',
- Hour => 'tt'
- );
-$wcylist->set_rules_hint(1);
-$wcylist->get_model->signal_connect('row-changed', \&row_inserted, $wcylist);
-my $wcyscroll = Gtk2::ScrolledWindow->new (undef, undef);
-$wcyscroll->set_shadow_type ('etched-out');
-$wcyscroll->set_policy ('never', 'automatic');
-$wcyscroll->add($wcylist);
-$wcyscroll->set_border_width(5);
-$rhvbox->pack_start($wcyscroll, 1, 1, 0);
-$rhvbox->set_size_request (-1, $scr_height / 4);
-
-
-$rhvpane->pack2($rhvbox, 1, 0);