From dc19ab63c4d356664d949d5bb84d735f7723c7ce Mon Sep 17 00:00:00 2001 From: Angelo Naselli Date: Fri, 17 Jul 2015 00:10:43 +0200 Subject: Added a module template and its script --- extras/ModuleTemplate.pm | 100 +++++++++++++++++++++++++++++++++++++++++++++++ extras/mana_mt | 35 +++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 extras/ModuleTemplate.pm create mode 100755 extras/mana_mt diff --git a/extras/ModuleTemplate.pm b/extras/ModuleTemplate.pm new file mode 100644 index 0000000..1d76ecd --- /dev/null +++ b/extras/ModuleTemplate.pm @@ -0,0 +1,100 @@ +# vim: set et ts=4 sw=4: +#***************************************************************************** +# +# 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. +# +#***************************************************************************** + +#package ManaTools::Module::ModuleTemplate; +package ModuleTemplate; + +use Moose; + +use yui; +use File::ShareDir ':ALL'; + +use ManaTools::Shared; +use ManaTools::Shared::Locales; +use ManaTools::Shared::GUI; + +extends qw( ManaTools::Module ); + + +#uncomment this and set the right icon +#has '+icon' => ( +# default => File::ShareDir::dist_file(ManaTools::Shared::distName(), 'images/ModuleTemplate.png'), +#); + +has '+name' => ( + lazy => 1, + builder => '_nameInitializer', +); + +sub _nameInitializer { + my $self = shift; + + return ($self->loc->N("Module template tools")); +} + + +=head1 VERSION + +Version 0.0.1 + +=cut + +our $VERSION = '0.0.1'; + +# sh_gui to use Shared/GUI object +has 'sh_gui' => ( + is => 'rw', + init_arg => undef, + builder => '_SharedUGUIInitialize' +); + +sub _SharedUGUIInitialize { + my $self = shift(); + + $self->sh_gui(ManaTools::Shared::GUI->new() ); +} + +#============================================================= + +=head2 start + +=head3 INPUT + + $self: this object + +=head3 DESCRIPTION + + This method extends Module::start and is invoked to + start host manager + +=cut + +#============================================================= +sub start { + my $self = shift; + + $self->sh_gui->msgBox({ + text => $self->loc->N("Hello world, I am the beautiful module template") + }); + +}; + + +1; diff --git a/extras/mana_mt b/extras/mana_mt new file mode 100755 index 0000000..baeac12 --- /dev/null +++ b/extras/mana_mt @@ -0,0 +1,35 @@ +#!/usr/bin/perl +# vim: set et ts=4 sw=4: +# Copyright 2015 Angelo Naselli +# +# This file is part of manatools +# and it is a script to test the module template +# +# mana_mt 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. +# +# mana_mt 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 ManaTools. If not, see . + +#Run as "perl -I$PWD mana_mt" to find the module here + +# Use the right name space simplified for testing +#use ManaTools::Module::ModuleTemplate; +use ModuleTemplate; + +use yui; + + +my $mt = ModuleTemplate->new({ +}); + +$mt->start(); + +1; -- cgit v1.2.1