The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    MSIE::MenuExt - Generates registry file (.reg) for MSIE Menu Extension

SYNOPSIS
      use CGI;
      use MSIE::MenuExt;

      my $action = MSIE::MenuExt::Action->new();
      $action->title('Blog It!');
      $action->accesskey('B');
      $action->action('javascript:external.menuArguments.blahblah()');
      $action->context(MENUEXT_DEFAULT + MENUEXT_TEXT_SELECTIONS);

      my $reg = MSIE::MenuExt->new();
      $reg->add_action($action);

      print CGI::header(-type => 'text/plain; name=blogit.reg',
                        -content_disposition => 'attachment; filename=blogit.reg');
      print $reg->content();

    This example would print

      REGEDIT4
      [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&Blog It!]
      @="javascript:external.menuArguments.blahblah()"
      "contexts"=hex:11

DESCRIPTION
    MSIE::MenuExt is a module to create Win32 registry file (.reg) to
    register an action to Microsoft IE's Menu Extension.

METHODS
    new
          my $reg = MSIE::MenuExt->new();
          my $reg = MSIE::MenuExt->new(@actions);

        constructs new MSIE::MenuExt object. If MSIE::MenuExt::Action
        objects are given, it automaticaly calls "add_action()".

    add_action
          $reg->add_action($action);

        takes MSIE::MenuExt::Action object.

    clear_action
          $reg->clear_action();

        clears action objects holded inside.

    content
          my $text = $reg->content();

        returns content of the registry file as a string.

MSIE::MenuExt::Actino METHODS
    new
          my $action = MSIE::MenuExt::Action->new();
          my $action = MSIE::MenuExt::Action->new({
              title => 'Blog It!', acceskey => 'B',
              action => 'C:\file\js.htm', context => MENUEXT_DEFAULT,
          });

        constructs new MSIE::MenuExt::Action object. If hash reference is
        given, it sets these variables as a initial state.

    title
          my $title = $action->title();
          $action->title($title);;

        gets/sets the title of the action, which is displayed in a menu
        extension.

    accesskey
          my $key = $action->accesskey();
          $action->accesskey($key);

        gets/sets the accesskey of the action, which you can use for a
        shortcut to the action. It uses the 1st string of its "title"
        attribute as a default.

    action
          my $act = $action->action();
          $action=>action($act);

        gets/sets the associated action, which can be a path of the
        executable file or script.

    context
          my $context = $action->context();
          $action->context($context);

        gets/sets the context where the action can be executed. The
        following constants can be used.

          MENUEXT_DEFAULT
          MENUEXT_IMAGES
          MENUEXT_CONTROLS
          MENUEXT_TABLES
          MENUEXT_TEXT_SELECTIONS
          MENUEXT_ANCHORS

        If you put your actions in several contexts, just sum these context
        constants like:

          $action->context(MENUEXT_DEFAULT + MENUEXT_TEXT_SELECTIONS);

AUTHOR
    Tatsuhiko Miyagawa <miyagawa@bulknews.net>

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

SEE ALSO
    http://www.siteexperts.com/tips/hj/ts01/index.asp