From 8cf923f9d6f1cd311154aadafd4e46338d8d51f2 Mon Sep 17 00:00:00 2001 From: Angelo Naselli Date: Tue, 17 Nov 2015 13:38:15 +0100 Subject: Added ComandLine module --- lib/ManaTools/Shared/GUI/CommandLine.pm | 101 ++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 lib/ManaTools/Shared/GUI/CommandLine.pm (limited to 'lib/ManaTools/Shared/GUI') diff --git a/lib/ManaTools/Shared/GUI/CommandLine.pm b/lib/ManaTools/Shared/GUI/CommandLine.pm new file mode 100644 index 00000000..65efcfdd --- /dev/null +++ b/lib/ManaTools/Shared/GUI/CommandLine.pm @@ -0,0 +1,101 @@ +# vim: set et ts=4 sw=4: +package ManaTools::Shared::GUI::CommandLine; +#============================================================= -*-perl-*- + +=head1 NAME + + Manatools::Shared::GUI::CommandLine - Shared CommandLine extension with some yui parameters explanation + +=head1 SYNOPSIS + + use ManaTools::Shared::GUI::CommandLine; + + my $cl = ManaTools::Shared::GUI::CommandLine->new_with_options(); + $cl->usage(); + + # to extend it + use Moose; + extends 'ManaTools::Shared::GUI::CommandLine'; + use ManaTools::Shared::Locales; + + my $loc = ManaTools::Shared::Locales->new(); + + has 'new_option' => ( + traits => [ 'Getopt' ], + is => 'ro', + documentation => $loc->N('we have a new option to manage here') + ); + + +=head1 DESCRIPTION + + This class extends ManaTools::Shared::CommandLine adding the documentation for option such as + --qt, --gtk and --ncurses, options that are common to every Manatools::Module module, since they + use yui module. + + +=head1 SUPPORT + + You can find documentation for this module with the perldoc command: + perldoc Manatools::Shared::GUI::CommandLine + +=head1 SEE ALSO + + Manatools::Shared::CommandLine, MooseX::GetOpt + +=head1 AUTHOR + +Angelo Naselli + +=head1 COPYRIGHT and LICENSE + + Copyright (C) 2015, Angelo Naselli. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2, as + published by the Free Software Foundation. + + 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; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +=head1 FUNCTIONS + +=cut + +use Moose; +extends 'ManaTools::Shared::CommandLine'; + +use ManaTools::Shared::Locales; + +my $loc = ManaTools::Shared::Locales->new(); + +has 'gtk' => ( + traits => [ 'Getopt' ], + is => 'ro', + documentation => $loc->N('start using yui gtk plugin implementation') +); + +has 'ncurses' => ( + traits => [ 'Getopt' ], + is => 'ro', + documentation => $loc->N('start using yui ncurses plugin implementation') +); + +has 'qt' => ( + traits => [ 'Getopt' ], + is => 'ro', + documentation => $loc->N('start using yui qt plugin implementation') +); + + +no Moose; +__PACKAGE__->meta->make_immutable; + +1; + -- cgit v1.2.1