aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ManaTools/Shared/GUI
diff options
context:
space:
mode:
authorAngelo Naselli <anaselli@linux.it>2015-11-17 13:38:15 +0100
committerAngelo Naselli <anaselli@linux.it>2015-11-17 13:38:15 +0100
commit8cf923f9d6f1cd311154aadafd4e46338d8d51f2 (patch)
tree97aa1a0a9a1d6ae2038c3ed083faa12f063dfbb7 /lib/ManaTools/Shared/GUI
parentfc7e31c3739a7a98a6c5970d9a323e38ba05614e (diff)
downloadmanatools-8cf923f9d6f1cd311154aadafd4e46338d8d51f2.tar
manatools-8cf923f9d6f1cd311154aadafd4e46338d8d51f2.tar.gz
manatools-8cf923f9d6f1cd311154aadafd4e46338d8d51f2.tar.bz2
manatools-8cf923f9d6f1cd311154aadafd4e46338d8d51f2.tar.xz
manatools-8cf923f9d6f1cd311154aadafd4e46338d8d51f2.zip
Added ComandLine module
Diffstat (limited to 'lib/ManaTools/Shared/GUI')
-rw-r--r--lib/ManaTools/Shared/GUI/CommandLine.pm101
1 files changed, 101 insertions, 0 deletions
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 <anaselli@linux.it>
+
+=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;
+