aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAngelo Naselli <anaselli@linux.it>2016-01-01 20:02:28 +0100
committerAngelo Naselli <anaselli@linux.it>2016-01-01 20:02:28 +0100
commit49faf2fbe6ca4c17314e41b89f15288dcd1e970c (patch)
tree697334b00f5373a1e2f9ef08aea2775eb084715e /lib
parenta354ce09cf87f57627f3dd71e9c0ac050982bacc (diff)
downloadmanatools-49faf2fbe6ca4c17314e41b89f15288dcd1e970c.tar
manatools-49faf2fbe6ca4c17314e41b89f15288dcd1e970c.tar.gz
manatools-49faf2fbe6ca4c17314e41b89f15288dcd1e970c.tar.bz2
manatools-49faf2fbe6ca4c17314e41b89f15288dcd1e970c.tar.xz
manatools-49faf2fbe6ca4c17314e41b89f15288dcd1e970c.zip
Removed Events belonging to replace point widgets, when layout changes
Diffstat (limited to 'lib')
-rw-r--r--lib/ManaTools/MainDisplay.pm17
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/ManaTools/MainDisplay.pm b/lib/ManaTools/MainDisplay.pm
index 1c35a99b..6b1fc5e3 100644
--- a/lib/ManaTools/MainDisplay.pm
+++ b/lib/ManaTools/MainDisplay.pm
@@ -534,6 +534,7 @@ sub _moduleSelected {
## returns 1 if category button is selected
sub _categorySelected {
my ($self, $selectedWidget) = @_;
+
for (@{$self->categories()}) {
if( $_->button() == $selectedWidget ) {
@@ -543,16 +544,26 @@ sub _categorySelected {
## the selected widget
return 1;
}
+
## Menu item selected, set right pane
my $ydialog = $self->mainWin()->dialog();
-
$ydialog->startMultipleChanges();
+
+ ## NOTE widget and item events (Shared::GUI:Event) created in the
+ ## previous replacePoint MUST be cleaned up
+ my $currCategory = $self->currCategory();
+ ## Change Current Category to the selected one
+ $self->currCategory($_);
+ foreach my $mod (@{$currCategory->modules()}) {
+ $self->mainWin()->delWidget(
+ $self->mainWin()->widget($mod->name())
+ );
+ }
+
## Remove existing modules
$self->replacePoint()->deleteChildren();
$self->rightPane($self->factory()->createVBox($self->replacePoint()));
- ## Change Current Category to the selected one
- $self->currCategory($_);
## Add new Module Buttons to Right Pane
$self->currCategory()->addButtons($self);
$self->rightPaneFrame()->setLabel($self->currCategory()->name());