diff options
Diffstat (limited to 'support/autolatex/pm/AutoLaTeX/GUI/AbstractGUI.pm')
-rw-r--r-- | support/autolatex/pm/AutoLaTeX/GUI/AbstractGUI.pm | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/support/autolatex/pm/AutoLaTeX/GUI/AbstractGUI.pm b/support/autolatex/pm/AutoLaTeX/GUI/AbstractGUI.pm new file mode 100644 index 0000000000..3df5bc0a08 --- /dev/null +++ b/support/autolatex/pm/AutoLaTeX/GUI/AbstractGUI.pm @@ -0,0 +1,175 @@ +# Copyright (C) 2007-13 Stephane Galland <galland@arakhne.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +=pod + +=head1 NAME + +AutoLaTeX::GUI::AbstractGUI - An abstract user interface + +=head1 DESCRIPTION + +AutoLaTeX::GUI::AbstractGUI is a Perl module, which permits to +display an user interface for AutoLaTeX. + +=head1 METHOD DESCRIPTIONS + +This section contains only the methods in AbstractGUI.pm itself. + +=over + +=cut + +package AutoLaTeX::GUI::AbstractGUI; + +@ISA = ('Exporter'); +@EXPORT = qw(); +@EXPORT_OK = qw(); + +require 5.014; +use strict; +use utf8; +use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION); +use Exporter; + +use AutoLaTeX::Core::IntUtils; + +#------------------------------------------------------ +# +# Global vars +# +#------------------------------------------------------ + +# Version number +my $VERSION = "6.0" ; + +=pod + +=item * setCommandLine($@) + +Specify the command line parameters. + +Parameters are: + +=over 4 + +=item the name of the command + +=item the list of command line parameters + +=back + +=cut +sub setCommandLine($@) : method { + my $self = shift; + my $command = shift || printErr(_T("Command name not specified")); + $self->{'ARGV'} = [ @_ ]; + unshift @{$self->{'ARGV'}}, "$command"; + $self->{'ARGV'}; +} + +=pod + +=item * getArgv($) + +Replies the i-th command line parameter. + +=cut +sub getArgv($) : method { + my $self = shift; + my $ith = shift; + return undef + unless( + ($ith>=0)&& + (exists $self->{'ARGV'})&& + (isArray($self->{'ARGV'}))&& + ($ith<@{$self->{'ARGV'}})); + return $self->{'ARGV'}["$ith"]; +} + +=pod + +=item * showDialog() + +Show the dialog. + +=cut +sub showDialog() : method { + my $self = shift; + $self->initializeDialogContent(); + $self->doLoop(); + $self->destroyDialogContent(); +} + +=pod + +=item * initializeDialogContent() + +Initializing the dialog content before displaying. + +This method read the list of the translators and +fill the attribute C<{'DATA'}{'translators'}>. + +=cut +sub initializeDialogContent() : method { + my $self = shift; +} + +=pod + +=item * doLoop() + +Do the GUI interaction loop. It means that the dialog +must be displayed now and ready for interaction. + +=cut +sub doLoop() : method { + die("You must override AbstractGUI::doLoop()\n"); +} + +=pod + +=item * destroyDialogContent() + +Destroying the dialog content after the application was quitted. + +=cut +sub destroyDialogContent() : method { +} + +1; +__END__ + +=back + +=head1 COPYRIGHT + +(c) Copyright 2007-13 Stephane Galland E<lt>galland@arakhne.orgE<gt>, under GPL. + +=head1 AUTHORS + +=over + +=item * + +Conceived and initially developed by Stéphane Galland E<lt>galland@arakhne.orgE<gt>. + +=back + +=head1 SEE ALSO + +L<autolatex> |