Laurent, and others,

Here is a patch that gives a default event name to every item for which the user supplies an empty string, instead of just the ones that have a text string of '-'. It even saves a little code, I think.

It helps a system I am building, and is fully upward compatible with the existing functionality, so I would appreciate it if it could get into the next bug-fix release of Win32::GUI. Thanks.


diff -c D:\Win32-GUI-rel-0.0.665\gui.pm gui.pm
*** D:\Win32-GUI-rel-0.0.665\gui.pm     Wed Feb 27 04:06:10 2002
--- gui.pm      Tue Dec 30 00:16:00 2003
***************
*** 423,431 ****
          if(ref($menudata[$i+1])) {
              %data = %{$menudata[$i+1]};
          } else {
!             $data{-name} = $menudata[$i+1];
          }
!         $level = 0;
          $level++ while($text =~ s/^\s*>\s*//);

                # print "PM(MakeMenu) processing '$data{-name}', 
level=$level\n";
--- 436,448 ----
          if(ref($menudata[$i+1])) {
              %data = %{$menudata[$i+1]};
          } else {
!             if ( $menudata[$i+1] eq '' )
!             { $data{-name} = "dummy$MenuIdCounter";
!           } else
!             { $data{-name} = $menudata[$i+1];
!             }
          }
!         $level=0;
          $level++ while($text =~ s/^\s*>\s*//);

                # print "PM(MakeMenu) processing '$data{-name}', 
level=$level\n";
***************
*** 441,452 ****
          } elsif($level == 1) {
              $parent = $last{$level-1};
              if($text eq "-") {
-                 $data{-name} = "dummy$MenuIdCounter";
                  $M->{$data{-name}} = $M->{$parent}->AddMenuItem(
                      -item => 0,
                      -id => $MenuIdCounter++,
                      -separator => 1,
!                                       -name => $data{-name},
                  );
              } else {
                  $M->{$data{-name}} = $M->{$parent}->AddMenuItem(
--- 458,468 ----
          } elsif($level == 1) {
              $parent = $last{$level-1};
              if($text eq "-") {
                  $M->{$data{-name}} = $M->{$parent}->AddMenuItem(
                      -item => 0,
                      -id => $MenuIdCounter++,
                      -separator => 1,
!                   -name => $data{-name},
                  );
              } else {
                  $M->{$data{-name}} = $M->{$parent}->AddMenuItem(
***************
*** 473,485 ****
                  );
              }
              if($text eq "-") {
-                 $data{-name} = "dummy$MenuIdCounter";
                  $M->{$data{-name}} =
                      $M->{$parent."_SubmenuButton"}->AddMenuItem(
                          -item => 0,
                          -id => $MenuIdCounter++,
                          -separator => 1,
!                                               -name => $data{-name},
                      );
              } else {
                  $M->{$data{-name}} =
--- 489,500 ----
                  );
              }
              if($text eq "-") {
                  $M->{$data{-name}} =
                      $M->{$parent."_SubmenuButton"}->AddMenuItem(
                          -item => 0,
                          -id => $MenuIdCounter++,
                          -separator => 1,
!                       -name => $data{-name},
                      );
              } else {
                  $M->{$data{-name}} =
***************


--
Glenn -- http://nevcal.com/
===========================
The best part about procrastination is that you are never bored,
because you have all kinds of things that you should be doing.


Reply via email to