App-Guiio
view release on metacpan or search on metacpan
setup/actions/context_menu_box.pl view on Meta::CPAN
ELEMENT => $element,
TYPE => 'dash',
}
],
[
'/Box type/dot',
\&change_box_type,
{
ELEMENT => $element,
TYPE => 'dot',
}
],
[
'/Box type/star',
\&change_box_type,
{
ELEMENT => $element,
TYPE => 'star',
}
] ;
if($element->is_border_connection_allowed())
{
push @context_menu_entries, ["/Disable border connection", sub {$element->allow_border_connection(0) ;}] ;
}
else
{
push @context_menu_entries, ["/Enable border connection", sub {$element->allow_border_connection(1) ;}] ;
}
if($element->is_auto_shrink())
{
push @context_menu_entries, ["/Disable auto shrink", sub {$element->flip_auto_shrink() ;}] ;
}
else
{
push @context_menu_entries, ["/Enable auto shrink", sub {$element->shrink() ; $element->flip_auto_shrink() ; }] ;
}
}
return(@context_menu_entries) ;
}
#----------------------------------------------------------------------------------------------
sub change_box_type
{
my ($self, $data) = @_ ;
use Clone ;
if(exists $box_types{$data->{TYPE}})
{
$self->create_undo_snapshot() ;
my $element_type = $data->{ELEMENT}->get_box_type() ;
my $new_type = Clone::clone($box_types{$data->{TYPE}}) ;
for (my $frame_element_index = 0 ; $frame_element_index < @{$new_type} ; $frame_element_index++)
{
$new_type->[$frame_element_index][$DISPLAY] = $element_type->[$frame_element_index][$DISPLAY]
}
$data->{ELEMENT}->set_box_type($new_type) ;
$self->update_display() ;
}
}
#----------------------------------------------------------------------------------------------
sub box_selected_element
{
my ($self, $data) = @_ ;
$self->create_undo_snapshot() ;
my $element_type = $data->{ELEMENT}->get_box_type() ;
my ($title, $text) = $data->{ELEMENT}->get_text() ;
for (0 .. $#$element_type)
{
next if $_ == $TITLE_SEPARATOR && $title eq '' ;
$element_type->[$_][$DISPLAY] = 1 ;
}
$data->{ELEMENT}->set_box_type($element_type) ;
$self->update_display() ;
}
#----------------------------------------------------------------------------------------------
( run in 0.663 second using v1.01-cache-2.11-cpan-df04353d9ac )