# Print the report sub on_winReports_btnPrint_clicked { my ($btn, $win) = @_; my $self = $win->{GUI}; my $tree = $self->get_widget('winReports_treeView'); my $model = $tree->get_model; my $period = $self->get_period; return unless $period; my $criteria = $self->get_criteria; my $dialog = 1; $model->foreach ( sub { my ($model, $path, $iter) = @_; my $class = $model->get($iter, CLASS_COL); my $active = $model->get($iter, ACTIVE_COL); my $header = $model->get($iter, HEADER_COL); if ($active && !$header) { my $options = $self->get_options($class); my $report = GTIMs::Report->new($class, {Period => $period, Criteria => $criteria, Options => $options}); $report->create; $report->print($dialog); $report->destroy; $dialog = 0; } } ); } #### HERE IS THE NEW PRINT FUNCTION IN GTIMs::Report ##### sub print { my ($self, $dialog) = @_; if ($dialog) { my $dlg = $self->{Excel}->Dialogs(xlDialogPrint); my $result = $dlg->show; } else { $self->{Document}->PrintOut(); } }