36 |
|
use ActiveDoc::Switcher; |
37 |
|
use ActiveDoc::TagContainer; |
38 |
|
use ActiveDoc::GroupChecker; |
39 |
– |
use Utilities::Verbose; |
40 |
– |
|
41 |
– |
@ISA=qw(Utilities::Verbose); |
39 |
|
|
40 |
|
sub new |
41 |
|
{ |
80 |
|
undef $self->{switch}; |
81 |
|
} |
82 |
|
|
83 |
+ |
sub parsefilelist() |
84 |
+ |
{ |
85 |
+ |
my $self=shift; |
86 |
+ |
my ($files)=@_; |
87 |
+ |
# basic setup of switcher |
88 |
+ |
$self->{switch}=ActiveDoc::Switcher->new($files); |
89 |
+ |
$self->{switch}->usegroupchecker($self->{gc}); |
90 |
+ |
$self->{switch}->usetags($self->{tags}); |
91 |
+ |
|
92 |
+ |
# -- parse |
93 |
+ |
$self->{switch}->parsefilelist(); |
94 |
+ |
undef $self->{switch}; |
95 |
+ |
} |
96 |
+ |
|
97 |
|
sub line |
98 |
|
{ |
99 |
|
my $self=shift; |
133 |
|
sub addtag |
134 |
|
{ |
135 |
|
my $self=shift; |
125 |
– |
|
136 |
|
$self->{tags}->addtag(@_); |
127 |
– |
$self->verbose(">> Adding tag ".@_." "); |
137 |
|
} |
138 |
|
|
139 |
|
sub addgrouptags |
140 |
|
{ |
141 |
|
my $self=shift; |
133 |
– |
|
134 |
– |
$self->verbose(">> Adding a group tag"); |
142 |
|
$self->{tags}->addtag("Group", \&Group_Start,$self, |
143 |
|
"", $self, \&Group_End, $self); |
144 |
|
$self->{tags}->setgrouptag("Group"); |
147 |
|
sub addignoretags |
148 |
|
{ |
149 |
|
my $self=shift; |
143 |
– |
|
144 |
– |
$self->verbose(">> Adding an IGNORE tag"); |
150 |
|
$self->{gc}->exclude("ignore"); |
151 |
|
$self->{tags}->addtag("Ignore", \&Ignore_Start, $self, |
152 |
|
"",$self, \&Ignore_End,$self); |
157 |
|
{ |
158 |
|
my $self=shift; |
159 |
|
my $name=shift; |
155 |
– |
|
156 |
– |
$self->verbose("-- contexttag: ".$name." "); |
160 |
|
$self->{tags}->setgrouptag($name); |
161 |
|
} |
162 |
|
|
164 |
|
{ |
165 |
|
my $self=shift; |
166 |
|
my $name=shift; |
164 |
– |
|
165 |
– |
$self->verbose("-- opencontext: ".$name." "); |
167 |
|
$self->{gc}->opencontext($name); |
168 |
|
} |
169 |
|
|
171 |
|
{ |
172 |
|
my $self=shift; |
173 |
|
my $name=shift; |
173 |
– |
|
174 |
– |
$self->verbose("-- closecontext: ".$name." "); |
174 |
|
$self->{gc}->closecontext($name); |
175 |
|
} |
176 |
|
|
178 |
|
{ |
179 |
|
my $self=shift; |
180 |
|
my $name=shift; |
182 |
– |
|
183 |
– |
$self->verbose("-- includecontext : ".$name." "); |
181 |
|
$self->{gc}->unexclude($name); |
182 |
|
$self->{gc}->include($name); |
183 |
|
} |
186 |
|
{ |
187 |
|
my $self=shift; |
188 |
|
my $name=shift; |
192 |
– |
$self->verbose("-- excludecontext: ".$name." "); |
189 |
|
$self->{gc}->exclude($name); |
190 |
|
$self->{gc}->uninclude($name); |
191 |
|
} |
193 |
|
sub cleartags |
194 |
|
{ |
195 |
|
my $self=shift; |
200 |
– |
$self->verbose(">> Clearing TAGS"); |
196 |
|
$self->{tags}->cleartags(); |
197 |
|
} |
198 |
|
|
199 |
|
sub tags { |
200 |
|
my $self=shift; |
206 |
– |
$self->verbose("-- tags"); |
201 |
|
return $self->{tags}->tags(); |
202 |
|
} |
203 |
|
|
209 |
|
my $name=shift; |
210 |
|
my $vars=shift; |
211 |
|
my $lastgp; |
218 |
– |
|
219 |
– |
$self->verbose(">> Group_Start: ".$name." "); |
212 |
|
$lastgp="group::".$$vars{name}; |
213 |
|
$self->{switch}->checkparam($name, 'name'); |
214 |
< |
$self->{gc}->opencontext("group::".$$vars{name}); |
223 |
< |
|
214 |
> |
$self->{gc}->opencontext("group::".$$vars{name}); |
215 |
|
} |
216 |
|
|
217 |
|
sub Group_End |
218 |
|
{ |
219 |
|
my $self=shift; |
220 |
|
my $name=shift; |
230 |
– |
my $lastgp; |
231 |
– |
|
232 |
– |
$self->verbose(">> Group_End: ".$name." "); |
221 |
|
$self->{gc}->closelastcontext("group"); |
222 |
|
} |
223 |
|
|
225 |
|
{ |
226 |
|
my $self=shift; |
227 |
|
my $name=shift; |
240 |
– |
|
241 |
– |
$self->verbose(">> Ignore_Start: ".$name." "); |
228 |
|
$self->{gc}->opencontext("ignore"); |
229 |
|
} |
230 |
|
|
231 |
|
sub Ignore_End |
232 |
|
{ |
233 |
|
my $self=shift; |
248 |
– |
|
249 |
– |
$self->verbose(">> Ignore_End: ".$name." "); |
234 |
|
$self->{gc}->closecontext("ignore"); |
235 |
|
} |
236 |
|
|