Result:
found more than 393 distributions - search limited to the first 2001 files matching your query ( run in 2.368 )


CPAN-Testers-WWW-Reports

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

        - added the ability for RSS feeds for authors and distros to be
          generated dynamically from the saved JSON file.
        - fix to add/edit requests in admin site.

3.28    2010-10-30
        - update Menus plugin to latest codebase.
        - added Requests plugin (and supporting files).
        - added Metabase and Labyrinth links.
        - repositioned site boxes to avoid text and logo clashing.
        - reworked SQL queries to be more efficient.
        - sessions now deleted by isolated script not part of logins.

 view all matches for this distribution


CPAN-Testers-WWW-Statistics

 view release on metacpan or  search on metacpan

t/data/cpanstats-test.json  view on Meta::CPAN

{"test":{"count":{"entries":100,"reports":100,"posters":"182","distros":0},"pass":{"MacPPC":{"5.4.0":{"all":{"Net-Whois":1,"URI":1,"Storable":1,"Mac-Conversions":1,"Digest-MD5":1}}},"PA-RISC1.1":{"5.5.3":{"all":{"DBD-Oracle":1,"Curses":1}},"5.4.4":{"...

 view all matches for this distribution


CPAN-Testers-WWW-Wiki

 view release on metacpan or  search on metacpan

vhost/cgi-bin/config/phrasebook.ini  view on Meta::CPAN

SaveImage=UPDATE images SET tag=?,link=?,type=?,href=?,dimensions=? WHERE imageid=?
DeleteImage=DELETE FROM images WHERE imageid=?
AllImageStock=SELECT * FROM imagestock


#Menus
AllMenus=SELECT * FROM menus
GetMenus=SELECT * FROM menus WHERE realmid=?
GetMenuByID=SELECT * FROM menus WHERE menuid=?
GetAllOptions=SELECT o.optionid,m.title,o.text FROM options AS o \
    INNER JOIN menus AS m ON o.menuid=m.menuid \
    WHERE o.menuid != ? AND o.text != '' ORDER BY m.title,o.name
GetOptions=SELECT * FROM options WHERE menuid=? ORDER BY orderno
FindOptions=SELECT * FROM options WHERE menuid IN ($ids)
AddMenu=INSERT INTO menus (name,title,typeid,realmid,parentid) VALUES (?,?,?,?,?)
AddOption=INSERT INTO options (menuid,orderno) VALUES (?,?)
SaveMenu=UPDATE menus SET name=?,title=?,typeid=?,realmid=?,parentid=? WHERE menuid=?
SaveOption=UPDATE options SET orderno=?,name=?,section=?,text=?,href=?,accessid=? WHERE optionid=?
DeleteMenu=DELETE FROM menus WHERE menuid IN ($ids)
DeleteOptions=DELETE FROM options WHERE optionid IN ($ids)

GetOptImages=SELECT * FROM optimages AS o \
    INNER JOIN images AS i ON o.imageid=i.imageid \
    WHERE optionid=? ORDER BY typeid

 view all matches for this distribution


CPANPLUS-Shell-Tk

 view release on metacpan or  search on metacpan

lib/CPANPLUS/Shell/Tk.pm  view on Meta::CPAN

  my $CP   = $self->{CP};

  my $menubar = $MW->Frame(-relief => 'raised', -bd => 1);
  $menubar->pack(-side => 'top', -fill => 'x');

  my $filemenu = $menubar->Menubutton(qw/-tearoff 0 -text File -pady -1 -underline 0 -menuitems/ =>
    [
      [Button => 'Exit', -command => [\&_exit_ui, $self]],
    ])->pack(-side => 'left');

  my $configmenu = $menubar->Menubutton(qw/-tearoff 0 -text Config -pady -1 -underline 0 -menuitems/ =>
    [
#      [Button => 'cpui',     -command => \&_config_cpui],
      [Button => 'CPANPLUS',        -command => [\&_config_cpanplus, $self]],
      [Button => 'package sources', -command => [\&_config_sources, $self]],
    ])->pack(-side => 'left');

  my $perlmenu = $menubar->Menubutton(qw/-tearoff 0 -text Perl -pady -1 -underline 0 -menuitems/ =>
    [
      [Button => 'show full config', -command => [\&_perl_config, $self]],
      $^O =~ /win/i ? () : [Button => 'start with other version', -command => [\&_perl_restart, $self]],   # not for win32 at the moment
    ])->pack(-side => 'left');

  my $histmenu = $menubar->Menubutton(qw/-tearoff 0 -text History -pady -1 -underline 0 -menuitems/ =>
    [
      [Button => 'show', -command => [\&_show_history, $self]],
      [Button => 'load', -command => [\&_load_history, $self]],
      [Button => 'save', -command => [\&_save_history, $self]],
    ])->pack(-side => 'left');

  my $helpmenu = $menubar->Menubutton(qw/-tearoff 0 -text Help -underline 0 -menuitems/ =>
    [
      [Button => 'Help', -command => [\&_help, $self]],
      [Button => 'About', -command => [\&_about, $self]],
    ])->pack(-side => 'right');
}

lib/CPANPLUS/Shell/Tk.pm  view on Meta::CPAN

  my ($self, $list) = @_;
  my $MW   = $self->{MW};
  my $CP   = $self->{CP};


  my $menu = $list->Menu(-tearoff   => 0,
                            -menuitems => [
                              [Button => 'Install',
                              -command => sub {
                                            $MW->Busy;
                                            $self->{$_}->packForget foreach qw(HISTORY POD INFO);

 view all matches for this distribution


CPANPLUS-Shell-Wx

 view release on metacpan or  search on metacpan

lib/CPANPLUS/Shell/Wx/Frame.pm  view on Meta::CPAN

    $panel->SetPODReader($self->{podReader});

    print "Initializing ModulePanel...\n";
    $panel->Init();
    $panel->SetDblClickHandler(sub{$self->ShowPODReader(@_)});
    $panel->SetInstallMenuHandler(sub{$self->SetAction(@_,_T('Install'))});
    $panel->SetUpdateMenuHandler(sub{$self->SetAction(@_,_T('Update'))});
    $panel->SetUninstallMenuHandler(sub{$self->SetAction(@_,_T('Uninstall'))});
    $panel->SetFetchMenuHandler(sub{$self->SetAction(@_,_T('Fetch'))});
    $panel->SetPrepareMenuHandler(sub{$self->SetAction(@_,_T('Prepare'))});
    $panel->SetBuildMenuHandler(sub{$self->SetAction(@_,_T('Build'))});
    $panel->SetTestMenuHandler(sub{$self->SetAction(@_,_T('Test'))});
}

#this method shows the PODReader tab and displays the documentation for the selected module
sub ShowPODReader{
    my $self     = shift;

 view all matches for this distribution


CPANSA-DB

 view release on metacpan or  search on metacpan

lib/CPAN/Audit/DB.pm  view on Meta::CPAN

use warnings;

our $VERSION = '20260419.002';

sub db {
	{"dists" => {"ActivePerl" => {"advisories" => [{"affected_versions" => ["==5.16.1.1601"],"cves" => ["CVE-2012-5377"],"description" => "Untrusted search path vulnerability in the installation functionality in ActivePerl 5.16.1.1601, when installed in...
}

__PACKAGE__;

 view all matches for this distribution


CPP-Boost-Mini

 view release on metacpan or  search on metacpan

include/boost/config/platform/vxworks.hpp  view on Meta::CPAN

// priority inverting semaphores, which is fine. On the other hand,
// for RTP's it defaults to using non priority inverting semaphores,
// which could easily pose a serious problem for a real time process.
//
// To change the default properties for POSIX-semaphores in VxWorks 7
// enable core > CORE_USER Menu > DEFAULT_PTHREAD_PRIO_INHERIT 
//  
// In VxWorks 6.x so as to integrate with boost. 
// - Edit the file 
//   installDir/vxworks-6.x/target/usr/src/posix/pthreadLib.c
// - Around line 917 there should be the definition of the default

 view all matches for this distribution


CSS-Croco

 view release on metacpan or  search on metacpan

Debian_CPANTS.txt  view on Meta::CPAN

"libhtml-tidy-perl", "HTML-Tidy", "1.08", "0", "0"
"libhtml-tiny-perl", "HTML-Tiny", "1.05", "1", "0"
"libhtml-tree-perl", "HTML-Tree", "3.23", "2", "0"
"libhtml-treebuilder-xpath-perl", "HTML-TreeBuilder-XPath", "0.11", "0", "0"
"libhtml-widget-perl", "HTML-Widget", "1.11", "0", "0"
"libhtml-widgets-navmenu-perl", "HTML-Widgets-NavMenu", "1.0400", "0", "0"
"libhtml-wikiconverter-dokuwiki-perl", "HTML-WikiConverter-DokuWiki", "0.53", "0", "0"
"libhtml-wikiconverter-kwiki-perl", "HTML-WikiConverter-Kwiki", "0.51", "0", "0"
"libhtml-wikiconverter-markdown-perl", "HTML-WikiConverter-Markdown", "0.02", "2", "0"
"libhtml-wikiconverter-mediawiki-perl", "HTML-WikiConverter-MediaWiki", "0.59", "0", "0"
"libhtml-wikiconverter-moinmoin-perl", "HTML-WikiConverter-MoinMoin", "0.53", "1", "0"

 view all matches for this distribution


CVS-Metrics

 view release on metacpan or  search on metacpan

bin/cvs_wxlog  view on Meta::CPAN


    $self->CreateStatusBar(1);
    $self->SetBackgroundColour(wxLIGHT_GREY);
    $self->SetIcon(Wx::GetWxPerlIcon());

    $self->CreateMyMenuBar();
    $self->CreateMyTreeCtrl();

    my $rightsizer = Wx::BoxSizer->new(wxVERTICAL);
    my $bottomsizer = Wx::BoxSizer->new(wxHORIZONTAL);
    my $topsizer = Wx::BoxSizer->new(wxHORIZONTAL);

bin/cvs_wxlog  view on Meta::CPAN

    $topsizer->SetSizeHints($self);

    return $self;
}

sub CreateMyMenuBar {
    my $self = shift;

    my $bar = Wx::MenuBar->new();

    my $file = Wx::Menu->new();
    $file->Append(ID_QUIT, 'E&xit');

    $bar->Append($file, '&File');

    $self->SetMenuBar($bar);
}

sub CreateMyImageList {
    my $self = shift;

 view all matches for this distribution


CWB-CQI

 view release on metacpan or  search on metacpan

examples/Tkwic.perl  view on Meta::CPAN

    my $menu_bar = $main_window->Frame(-relief => 'raised',
                                       -borderwidth => '2');
    for (my $i = 0, my $last = $#menus; $i <= $last; $i++) {
        my $menutitle = $menus[$i]->{title};
        my ($text, $underline) = $self->_get_menu_title($menutitle);
        my $menu = $menu_bar->Menubutton(-text => $text,
                                         -underline => $underline);
        $menu->pack(-side => ($i == $last) ? 'right' : 'left');
        $self->{menu_widgets}{$text} = $menu;
        my $itemsref = $menus[$i]->{items};
        foreach my $item (@$itemsref) {

examples/Tkwic.perl  view on Meta::CPAN

    my ($self) = @_;

    my $main_window = $self->{main_window};
    my $vbox = $main_window->Frame(-relief => 'groove', -borderwidth => 2);
    my $popup = $self->{query_popup} =
        $vbox->Menu(-menuitems => [['command' => "Clear query",
                                    -command => [\&clear_query, $self]]],
                    -tearoff => 0);
    my $query_entry;
    for (my $i = 0; $i < $NumberOfQueryEntries; $i++) {
        if ($UseTextWidget) {

examples/Tkwic.perl  view on Meta::CPAN

        $self->{query_entry}[$i] = $query_entry;
    }
    $self->{query_entry}[0]->focus();
    my $hbox = $vbox->Frame();
    my $history_button =
        $hbox->Menubutton(-text => "History", -indicatoron => 1,
                          -relief => 'raised', -pady => 5);
    $self->{history_menu} = $history_button->menu;
    my $execute_query_button = $hbox->Button(-text => "Start query",
                                          -command => [\&execute_query, $self]);
    $history_button->grid($execute_query_button, -sticky => 'ew');

 view all matches for this distribution


CXC-Number

 view release on metacpan or  search on metacpan

docs/notes.lyx  view on Meta::CPAN

enumitem
\end_modules
\maintain_unincluded_children false
\begin_local_layout
Format 7
InsetLayout CharStyle:MenuItem
LyxType               charstyle
LabelString           menu
LatexType             command
LatexName             menuitem
Font

 view all matches for this distribution


Calendar-Model

 view release on metacpan or  search on metacpan

examples/js/bootstrap.js  view on Meta::CPAN

      $parent = $(selector)
      $parent.length || ($parent = $this.parent())

      isActive = $parent.hasClass('open')

      clearMenus()
      !isActive && $parent.toggleClass('open')

      return false
    }

  }

  function clearMenus() {
    $(toggle).parent().removeClass('open')
  }


  /* DROPDOWN PLUGIN DEFINITION

examples/js/bootstrap.js  view on Meta::CPAN


  /* APPLY TO STANDARD DROPDOWN ELEMENTS
   * =================================== */

  $(function () {
    $('html').on('click.dropdown.data-api', clearMenus)
    $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
  })

}( window.jQuery )
/* =========================================================

 view all matches for this distribution


CallBackery

 view release on metacpan or  search on metacpan

lib/CallBackery/GuiPlugin/AbstractTable.pm  view on Meta::CPAN

        // localtime->strftime('export-%Y-%m-%d-%H-%M-%S.').lc($type);

    return  {
        label            => $label,
        action           => 'download',
        addToContextMenu => true,
        key              => 'export_csv',
        actionHandler    => sub {
            my $self = shift;
            my $args = shift;
            my $data = $self->getTableData({

 view all matches for this distribution


Catalyst-Controller-POD

 view release on metacpan or  search on metacpan

share/ext/ext-all-debug.js  view on Meta::CPAN

});


Ext.layout.boxOverflow.none = Ext.layout.boxOverflow.None;

Ext.layout.boxOverflow.Menu = Ext.extend(Ext.layout.boxOverflow.None, {
    
    afterCls: 'x-strip-right',
    
    
    noItemsMenuText : '<div class="x-toolbar-no-items">(None)</div>',
    
    constructor: function(layout) {
        Ext.layout.boxOverflow.Menu.superclass.constructor.apply(this, arguments);
        
        
        this.menuItems = [];
    },
    

share/ext/ext-all-debug.js  view on Meta::CPAN

        };
    },
    
    
    showTrigger: function() {
        this.createMenu();
        this.menuTrigger.show();
    },
    
    
    hideTrigger: function() {

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.menuTrigger.hide();
        }
    },
    
    
    beforeMenuShow: function(menu) {
        var items = this.menuItems,
            len   = items.length,
            item,
            prev;

        var needsSep = function(group, item){
            return group.isXType('buttongroup') && !(item instanceof Ext.Toolbar.Separator);
        };
        
        this.clearMenu();
        menu.removeAll();
        
        for (var i = 0; i < len; i++) {
            item = items[i].component;
            
            if (prev && (needsSep(item, prev) || needsSep(prev, item))) {
                menu.add('-');
            }
            
            this.addComponentToMenu(menu, item);
            prev = item;
        }

        
        if (menu.items.length < 1) {
            menu.add(this.noItemsMenuText);
        }
    },
    
    
    createMenuConfig : function(component, hideOnClick){
        var config = Ext.apply({}, component.initialConfig),
            group  = component.toggleGroup;

        Ext.copyTo(config, component, [
            'iconCls', 'icon', 'itemId', 'disabled', 'handler', 'scope', 'menu'

share/ext/ext-all-debug.js  view on Meta::CPAN


        return config;
    },

    
    addComponentToMenu : function(menu, component) {
        if (component instanceof Ext.Toolbar.Separator) {
            menu.add('-');

        } else if (Ext.isFunction(component.isXType)) {
            if (component.isXType('splitbutton')) {
                menu.add(this.createMenuConfig(component, true));

            } else if (component.isXType('button')) {
                menu.add(this.createMenuConfig(component, !component.menu));

            } else if (component.isXType('buttongroup')) {
                component.items.each(function(item){
                     this.addComponentToMenu(menu, item);
                }, this);
            }
        }
    },
    
    
    clearMenu : function(){
        var menu = this.moreMenu;
        if (menu && menu.items) {
            menu.items.each(function(item){
                delete item.menu;
            });
        }
    },
    
    
    createMenu: function() {
        if (!this.menuTrigger) {
            this.createInnerElements();
            
            
            this.menu = new Ext.menu.Menu({
                ownerCt : this.layout.container,
                listeners: {
                    scope: this,
                    beforeshow: this.beforeMenuShow
                }
            });

            
            this.menuTrigger = new Ext.Button({

share/ext/ext-all-debug.js  view on Meta::CPAN

    destroy: function() {
        Ext.destroy(this.menu, this.menuTrigger);
    }
});

Ext.layout.boxOverflow.menu = Ext.layout.boxOverflow.Menu;



Ext.layout.boxOverflow.HorizontalMenu = Ext.extend(Ext.layout.boxOverflow.Menu, {
    
    constructor: function() {
        Ext.layout.boxOverflow.HorizontalMenu.superclass.constructor.apply(this, arguments);
        
        var me = this,
            layout = me.layout,
            origFunction = layout.calculateChildBoxes;
        

share/ext/ext-all-debug.js  view on Meta::CPAN

            recalculate: recalculate
        };
    }
});

Ext.layout.boxOverflow.menu.hbox = Ext.layout.boxOverflow.HorizontalMenu;
Ext.layout.boxOverflow.Scroller = Ext.extend(Ext.layout.boxOverflow.None, {
    
    animateScroll: true,
    
    

share/ext/ext-all-debug.js  view on Meta::CPAN


    
    triggerWidth: 18,

    
    noItemsMenuText : '<div class="x-toolbar-no-items">(None)</div>',

    
    lastOverflow: false,

    

share/ext/ext-all-debug.js  view on Meta::CPAN

            if (!this.lastOverflow) {
                this.container.fireEvent('overflowchange', this.container, true);
                this.lastOverflow = true;
            }
        } else if (this.more) {
            this.clearMenu();
            this.more.destroy();
            delete this.more;

            if (this.lastOverflow) {
                this.container.fireEvent('overflowchange', this.container, false);

share/ext/ext-all-debug.js  view on Meta::CPAN

            }
        }
    },

    
    createMenuConfig : function(component, hideOnClick){
        var config = Ext.apply({}, component.initialConfig),
            group  = component.toggleGroup;

        Ext.copyTo(config, component, [
            'iconCls', 'icon', 'itemId', 'disabled', 'handler', 'scope', 'menu'

share/ext/ext-all-debug.js  view on Meta::CPAN


        return config;
    },

    
    addComponentToMenu : function(menu, component) {
        if (component instanceof Ext.Toolbar.Separator) {
            menu.add('-');

        } else if (Ext.isFunction(component.isXType)) {
            if (component.isXType('splitbutton')) {
                menu.add(this.createMenuConfig(component, true));

            } else if (component.isXType('button')) {
                menu.add(this.createMenuConfig(component, !component.menu));

            } else if (component.isXType('buttongroup')) {
                component.items.each(function(item){
                     this.addComponentToMenu(menu, item);
                }, this);
            }
        }
    },

    
    clearMenu : function(){
        var menu = this.moreMenu;
        if (menu && menu.items) {
            menu.items.each(function(item){
                delete item.menu;
            });
        }

share/ext/ext-all-debug.js  view on Meta::CPAN


        var needsSep = function(group, item){
            return group.isXType('buttongroup') && !(item instanceof Ext.Toolbar.Separator);
        };

        this.clearMenu();
        menu.removeAll();
        for (var i = 0; i < len; i++) {
            item = items[i];
            if (item.xtbHidden) {
                if (prev && (needsSep(item, prev) || needsSep(prev, item))) {
                    menu.add('-');
                }
                this.addComponentToMenu(menu, item);
                prev = item;
            }
        }

        
        if (menu.items.length < 1) {
            menu.add(this.noItemsMenuText);
        }
    },

    
    initMore : function(){
        if (!this.more) {
            
            this.moreMenu = new Ext.menu.Menu({
                ownerCt : this.container,
                listeners: {
                    beforeshow: this.beforeMoreShow,
                    scope: this
                }

share/ext/ext-all-debug.js  view on Meta::CPAN


            
            this.more = new Ext.Button({
                iconCls: 'x-toolbar-more-icon',
                cls    : 'x-toolbar-more',
                menu   : this.moreMenu,
                ownerCt: this.container
            });

            var td = this.insertCell(this.more, this.extrasTr, 100);
            this.more.render(td);
        }
    },

    destroy : function(){
        Ext.destroy(this.more, this.moreMenu);
        delete this.leftTr;
        delete this.rightTr;
        delete this.extrasTr;
        Ext.layout.ToolbarLayout.superclass.destroy.call(this);
    }
});

Ext.Container.LAYOUTS.toolbar = Ext.layout.ToolbarLayout;

 Ext.layout.MenuLayout = Ext.extend(Ext.layout.ContainerLayout, {
    monitorResize : true,

    type: 'menu',

    setContainer : function(ct){
        this.monitorResize = !ct.floating;
        
        
        ct.on('autosize', this.doAutoSize, this);
        Ext.layout.MenuLayout.superclass.setContainer.call(this, ct);
    },

    renderItem : function(c, position, target){
        if (!this.itemTpl) {
            this.itemTpl = Ext.layout.MenuLayout.prototype.itemTpl = new Ext.XTemplate(
                '<li id="{itemId}" class="{itemCls}">',
                    '<tpl if="needsIcon">',
                        '<img alt="{altText}" src="{icon}" class="{iconCls}"/>',
                    '</tpl>',
                '</li>'

share/ext/ext-all-debug.js  view on Meta::CPAN


            c.positionEl.menuItemId = c.getItemId();



            if (!a.isMenuItem && a.needsIcon) {
                c.positionEl.addClass('x-menu-list-item-indent');
            }
            this.configureItem(c);
        }else if(c && !this.isValidParent(c, target)){
            if(Ext.isNumber(position)){

share/ext/ext-all-debug.js  view on Meta::CPAN

            target.dom.insertBefore(c.getActionEl().dom, position || null);
        }
    },

    getItemArgs : function(c) {
        var isMenuItem = c instanceof Ext.menu.Item,
            canHaveIcon = !(isMenuItem || c instanceof Ext.menu.Separator);

        return {
            isMenuItem: isMenuItem,
            needsIcon: canHaveIcon && (c.icon || c.iconCls),
            icon: c.icon || Ext.BLANK_IMAGE_URL,
            iconCls: 'x-menu-item-icon ' + (c.iconCls || ''),
            itemId: 'x-menu-el-' + c.id,
            itemCls: 'x-menu-list-item ',

share/ext/ext-all-debug.js  view on Meta::CPAN

    isValidParent : function(c, target) {
        return c.el.up('li.x-menu-list-item', 5).dom.parentNode === (target.dom || target);
    },

    onLayout : function(ct, target){
        Ext.layout.MenuLayout.superclass.onLayout.call(this, ct, target);
        this.doAutoSize();
    },

    doAutoSize : function(){
        var ct = this.container, w = ct.width;

share/ext/ext-all-debug.js  view on Meta::CPAN

                ct.setWidth(ct.getLayoutTarget().getWidth() + el.getFrameWidth('lr'));
            }
        }
    }
});
Ext.Container.LAYOUTS['menu'] = Ext.layout.MenuLayout;

Ext.Viewport = Ext.extend(Ext.Container, {
    
    
    

share/ext/ext-all-debug.js  view on Meta::CPAN

        Ext.DataView.superclass.afterRender.call(this);

		this.mon(this.getTemplateTarget(), {
            "click": this.onClick,
            "dblclick": this.onDblClick,
            "contextmenu": this.onContextMenu,
            scope:this
        });

        if(this.overClass || this.trackOver){
            this.mon(this.getTemplateTarget(), {

share/ext/ext-all-debug.js  view on Meta::CPAN

    onContainerClick : function(e){
        this.clearSelections();
    },

    
    onContextMenu : function(e){
        var item = e.getTarget(this.itemSelector, this.getTemplateTarget());
        if(item){
            this.fireEvent("contextmenu", this, this.indexOf(item), item, e);
        }else{
            this.fireEvent("containercontextmenu", this, e);

share/ext/ext-all-debug.js  view on Meta::CPAN

    initEvents : function(){
        Ext.TabPanel.superclass.initEvents.call(this);
        this.mon(this.strip, {
            scope: this,
            mousedown: this.onStripMouseDown,
            contextmenu: this.onStripContextMenu
        });
        if(this.enableTabScroll){
            this.mon(this.strip, 'mousewheel', this.onWheel, this);
        }
    },

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.setActiveTab(t.item);
        }
    },

    
    onStripContextMenu : function(e){
        e.preventDefault();
        var t = this.findTargets(e);
        if(t.item){
            this.fireEvent('contextmenu', this, t.item, e);
        }

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    

    initComponent : function(){
        if(this.menu){
            this.menu = Ext.menu.MenuMgr.get(this.menu);
            this.menu.ownerCt = this;
        }
        
        Ext.Button.superclass.initComponent.call(this);

share/ext/ext-all-debug.js  view on Meta::CPAN

        }
    },


    getTemplateArgs : function(){
        return [this.type, 'x-btn-' + this.scale + ' x-btn-icon-' + this.scale + '-' + this.iconAlign, this.getMenuClass(), this.cls, this.id];
    },

    
    setButtonClass : function(){
        if(this.useSetClass){

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.el.addClass([this.oldCls, this.pressed ? 'x-btn-pressed' : null]);
        }
    },

    
    getMenuClass : function(){
        return this.menu ? (this.arrowAlign != 'bottom' ? 'x-btn-arrow' : 'x-btn-arrow-bottom') : '';
    },

    
    onRender : function(ct, position){

share/ext/ext-all-debug.js  view on Meta::CPAN

        }

        if(this.menu){
            this.mon(this.menu, {
                scope: this,
                show: this.onMenuShow,
                hide: this.onMenuHide
            });
        }

        if(this.repeat){
            var repeater = new Ext.util.ClickRepeater(btn, Ext.isObject(this.repeat) ? this.repeat : {});

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    beforeDestroy : function(){
        if(this.rendered){
            this.clearTip();
        }
        if(this.menu && this.destroyMenu !== false) {
            Ext.destroy(this.btnEl, this.menu);
        }
        Ext.destroy(this.repeater);
    },

share/ext/ext-all-debug.js  view on Meta::CPAN

        }
        this.disabled = disabled;
    },

    
    showMenu : function(){
        if(this.rendered && this.menu){
            if(this.tooltip){
                Ext.QuickTips.getQuickTip().cancelShow(this.btnEl);
            }
            if(this.menu.isVisible()){

share/ext/ext-all-debug.js  view on Meta::CPAN

        }
        return this;
    },

    
    hideMenu : function(){
        if(this.hasVisibleMenu()){
            this.menu.hide();
        }
        return this;
    },

    
    hasVisibleMenu : function(){
        return this.menu && this.menu.ownerCt == this && this.menu.isVisible();
    },
    
    
    onRepeatClick : function(repeat, e){

share/ext/ext-all-debug.js  view on Meta::CPAN

        if(e.button !== 0){
            return;
        }
        if(!this.disabled){
            this.doToggle();
            if(this.menu && !this.hasVisibleMenu() && !this.ignoreNextClick){
                this.showMenu();
            }
            this.fireEvent('click', this, e);
            if(this.handler){
                
                this.handler.call(this.scope || this, this, e);

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.toggle();
        }
    },

    
    isMenuTriggerOver : function(e, internal){
        return this.menu && !internal;
    },

    
    isMenuTriggerOut : function(e, internal){
        return this.menu && !internal;
    },

    
    onMouseOver : function(e){

share/ext/ext-all-debug.js  view on Meta::CPAN

                    this.doc.on('mouseover', this.monitorMouseOver, this);
                    this.monitoringMouseOver = true;
                }
                this.fireEvent('mouseover', this, e);
            }
            if(this.isMenuTriggerOver(e, internal)){
                this.fireEvent('menutriggerover', this, this.menu, e);
            }
        }
    },

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    onMouseOut : function(e){
        var internal = e.within(this.el) && e.target != this.el.dom;
        this.el.removeClass('x-btn-over');
        this.fireEvent('mouseout', this, e);
        if(this.isMenuTriggerOut(e, internal)){
            this.fireEvent('menutriggerout', this, this.menu, e);
        }
    },

    focus : function() {

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.getClickEl(e, true).removeClass('x-btn-click');
            this.doc.un('mouseup', this.onMouseUp, this);
        }
    },
    
    onMenuShow : function(e){
        if(this.menu.ownerCt == this){
            this.menu.ownerCt = this;
            this.ignoreNextClick = 0;
            this.el.addClass('x-btn-menu-active');
            this.fireEvent('menushow', this, this.menu);
        }
    },
    
    onMenuHide : function(e){
        if(this.menu.ownerCt == this){
            this.el.removeClass('x-btn-menu-active');
            this.ignoreNextClick = this.restoreClick.defer(250, this);
            this.fireEvent('menuhide', this, this.menu);
            delete this.menu.ownerCt;

share/ext/ext-all-debug.js  view on Meta::CPAN

    setArrowHandler : function(handler, scope){
        this.arrowHandler = handler;
        this.scope = scope;
    },

    getMenuClass : function(){
        return 'x-btn-split' + (this.arrowAlign == 'bottom' ? '-bottom' : '');
    },

    isClickOnArrow : function(e){
	if (this.arrowAlign != 'bottom') {

share/ext/ext-all-debug.js  view on Meta::CPAN

    onClick : function(e, t){
        e.preventDefault();
        if(!this.disabled){
            if(this.isClickOnArrow(e)){
                if(this.menu && !this.menu.isVisible() && !this.ignoreNextClick){
                    this.showMenu();
                }
                this.fireEvent("arrowclick", this, e);
                if(this.arrowHandler){
                    this.arrowHandler.call(this.scope || this, this, e);
                }

share/ext/ext-all-debug.js  view on Meta::CPAN

            }
        }
    },

    
    isMenuTriggerOver : function(e){
        return this.menu && e.target.tagName == this.arrowSelector;
    },

    
    isMenuTriggerOut : function(e, internal){
        return this.menu && e.target.tagName != this.arrowSelector;
    }
});

Ext.reg('splitbutton', Ext.SplitButton);

share/ext/ext-all-debug.js  view on Meta::CPAN

    enableOverflow : false,

    
    

    trackMenus : true,
    internalDefaults: {removeMode: 'container', hideParent: true},
    toolbarCls: 'x-toolbar',

    initComponent : function(){
        T.superclass.initComponent.call(this);

share/ext/ext-all-debug.js  view on Meta::CPAN

        }
        return Ext.Toolbar.superclass.insert.call(this, index, item);
    },

    
    trackMenu : function(item, remove){
        if(this.trackMenus && item.menu){
            var method = remove ? 'mun' : 'mon';
            this[method](item, 'menutriggerover', this.onButtonTriggerOver, this);
            this[method](item, 'menushow', this.onButtonMenuShow, this);
            this[method](item, 'menuhide', this.onButtonMenuHide, this);
        }
    },

    
    constructButton : function(item){

share/ext/ext-all-debug.js  view on Meta::CPAN

    },

    
    onAdd : function(c){
        Ext.Toolbar.superclass.onAdd.call(this);
        this.trackMenu(c);
        if(this.disabled){
            c.disable();
        }
    },

    
    onRemove : function(c){
        Ext.Toolbar.superclass.onRemove.call(this);
        if (c == this.activeMenuBtn) {
            delete this.activeMenuBtn;
        }
        this.trackMenu(c, true);
    },

    
    onDisable : function(){
        this.items.each(function(item){

share/ext/ext-all-debug.js  view on Meta::CPAN

        });
    },

    
    onButtonTriggerOver : function(btn){
        if(this.activeMenuBtn && this.activeMenuBtn != btn){
            this.activeMenuBtn.hideMenu();
            btn.showMenu();
            this.activeMenuBtn = btn;
        }
    },

    
    onButtonMenuShow : function(btn){
        this.activeMenuBtn = btn;
    },

    
    onButtonMenuHide : function(btn){
        delete this.activeMenuBtn;
    }
});
Ext.reg('toolbar', Ext.Toolbar);


share/ext/ext-all-debug.js  view on Meta::CPAN

        }
        t.mon(t.getTreeEl(), {
            scope: this,
            click: this.delegateClick,
            dblclick: this.delegateDblClick,
            contextmenu: this.delegateContextMenu
        });
    },

    getNode : function(e){
        var t;

share/ext/ext-all-debug.js  view on Meta::CPAN

        }else{
            this.checkContainerEvent(e, 'dblclick');
        }
    },

    delegateContextMenu : function(e, t){
        if(this.beforeEvent(e)){
            if(this.getNodeTarget(e)){
                this.onNodeContextMenu(e, this.getNode(e));
            }
        }else{
            this.checkContainerEvent(e, 'contextmenu');
        }
    },

share/ext/ext-all-debug.js  view on Meta::CPAN


    onNodeDblClick : function(e, node){
        node.ui.onDblClick(e);
    },

    onNodeContextMenu : function(e, node){
        node.ui.onContextMenu(e);
    },

    beforeEvent : function(e){
        var node = this.getNode(e);
        if(this.disabled || !node || !node.ui){

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.wrap.style.display = "";
        }
    },

    
    onContextMenu : function(e){
        if (this.node.hasListener("contextmenu") || this.node.getOwnerTree().hasListener("contextmenu")) {
            e.preventDefault();
            this.focus();
            this.fireEvent("contextmenu", this.node, e);
        }

share/ext/ext-all-debug.js  view on Meta::CPAN

Ext.chart.PieSeries = Ext.extend(Ext.chart.Series, {
    type: "pie",
    dataField: null,
    categoryField: null
});
Ext.menu.Menu = Ext.extend(Ext.Container, {
    
    
    
    minWidth : 120,
    
    shadow : 'sides',
    
    subMenuAlign : 'tl-tr?',
    
    defaultAlign : 'tl-bl?',
    
    allowOtherMenus : false,
    
    ignoreParentClicks : false,
    
    enableScrolling : true,
    

share/ext/ext-all-debug.js  view on Meta::CPAN

            
            'mouseout',
            
            'itemclick'
        );
        Ext.menu.MenuMgr.register(this);
        if(this.floating){
            Ext.EventManager.onWindowResize(this.hide, this);
        }else{
            if(this.initialConfig.hidden !== false){
                this.hidden = false;
            }
            this.internalDefaults = {hideOnClick: false};
        }
        Ext.menu.Menu.superclass.initComponent.call(this);
        if(this.autoLayout){
            var fn = this.doLayout.createDelegate(this, []);
            this.on({
                add: fn,
                remove: fn

share/ext/ext-all-debug.js  view on Meta::CPAN

                zindex: this.zIndex
            });
        }else{
            this.el = ct.createChild(dh);
        }
        Ext.menu.Menu.superclass.onRender.call(this, ct, position);

        if(!this.keyNav){
            this.keyNav = new Ext.menu.MenuNav(this);
        }
        
        this.focusEl = this.el.child('a.x-menu-focus');
        this.ul = this.el.child('ul.x-menu-list');
        this.mon(this.ul, {

share/ext/ext-all-debug.js  view on Meta::CPAN

        if(t){
            if(t.isFormField){
                this.setActiveItem(t);
            }else if(t instanceof Ext.menu.BaseItem){
                if(t.menu && this.ignoreParentClicks){
                    t.expandMenu();
                    e.preventDefault();
                }else if(t.onClick){
                    t.onClick(e);
                    this.fireEvent('click', this, t, e);
                }

share/ext/ext-all-debug.js  view on Meta::CPAN

                item.focus();
            }else{
                item.activate(autoExpand);
            }
        }else if(autoExpand){
            item.expandMenu();
        }
    },

    deactivateActive : function(){
        var a = this.activeItem;

share/ext/ext-all-debug.js  view on Meta::CPAN

    onScrollerOut : function(e, t){
        Ext.fly(t).removeClass(['x-menu-item-active', 'x-menu-scroller-active']);
    },

    
    show : function(el, pos, parentMenu){
        if(this.floating){
            this.parentMenu = parentMenu;
            if(!this.el){
                this.render();
                this.doLayout(false, true);
            }
            this.showAt(this.el.getAlignToXY(el, pos || this.defaultAlign, this.defaultOffsets), parentMenu);
        }else{
            Ext.menu.Menu.superclass.show.call(this);
        }
    },

    
    showAt : function(xy, parentMenu){
        if(this.fireEvent('beforeshow', this) !== false){
            this.parentMenu = parentMenu;
            if(!this.el){
                this.render();
            }
            if(this.enableScrolling){
                

share/ext/ext-all-debug.js  view on Meta::CPAN

                
                xy = this.el.adjustForConstraints(xy);
            }
            this.el.setXY(xy);
            this.el.show();
            Ext.menu.Menu.superclass.onShow.call(this);
            if(Ext.isIE){
                
                this.fireEvent('autosize', this);
                if(!Ext.isIE8){
                    this.el.repaint();

share/ext/ext-all-debug.js  view on Meta::CPAN


    
    hide : function(deep){
        if (!this.isDestroyed) {
            this.deepHide = deep;
            Ext.menu.Menu.superclass.hide.call(this);
            delete this.deepHide;
        }
    },

    
    onHide : function(){
        Ext.menu.Menu.superclass.onHide.call(this);
        this.deactivateActive();
        if(this.el && this.floating){
            this.el.hide();
        }
        var pm = this.parentMenu;
        if(this.deepHide === true && pm){
            if(pm.floating){
                pm.hide(true);
            }else{
                pm.deactivateActive();

share/ext/ext-all-debug.js  view on Meta::CPAN

         if(Ext.isString(c)){
            c = (c == 'separator' || c == '-') ? new Ext.menu.Separator() : new Ext.menu.TextItem(c);
             this.applyDefaults(c);
         }else{
            if(Ext.isObject(c)){
                c = this.getMenuItem(c);
            }else if(c.tagName || c.el){ 
                c = new Ext.BoxComponent({
                    el: c
                });
            }

share/ext/ext-all-debug.js  view on Meta::CPAN

         return c;
    },

    applyDefaults : function(c) {
        if (!Ext.isString(c)) {
            c = Ext.menu.Menu.superclass.applyDefaults.call(this, c);
            var d = this.internalDefaults;
            if(d){
                if(c.events){
                    Ext.applyIf(c.initialConfig, d);
                    Ext.apply(c, d);

share/ext/ext-all-debug.js  view on Meta::CPAN

        }
        return c;
    },

    
    getMenuItem : function(config) {
        if (!config.isXType) {
            if (!config.xtype && Ext.isBoolean(config.checked)) {
                return new Ext.menu.CheckItem(config);
            }
            return Ext.create(config, this.defaultType);

share/ext/ext-all-debug.js  view on Meta::CPAN

    addItem : function(item) {
        return this.add(item);
    },

    
    addMenuItem : function(config) {
        return this.add(this.getMenuItem(config));
    },

    
    addText : function(text){
        return this.add(new Ext.menu.TextItem(text));
    },

    
    onDestroy : function(){
        Ext.EventManager.removeResizeListener(this.hide, this);
        var pm = this.parentMenu;
        if(pm && pm.activeChild == this){
            delete pm.activeChild;
        }
        delete this.parentMenu;
        Ext.menu.Menu.superclass.onDestroy.call(this);
        Ext.menu.MenuMgr.unregister(this);
        if(this.keyNav) {
            this.keyNav.disable();
        }
        var s = this.scroller;
        if(s){

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.ul
        );
    }
});

Ext.reg('menu', Ext.menu.Menu);


Ext.menu.MenuNav = Ext.extend(Ext.KeyNav, function(){
    function up(e, m){
        if(!m.tryActivate(m.items.indexOf(m.activeItem)-1, -1)){
            m.tryActivate(m.items.length-1, -1);
        }
    }

share/ext/ext-all-debug.js  view on Meta::CPAN

            m.tryActivate(0, 1);
        }
    }
    return {
        constructor : function(menu){
            Ext.menu.MenuNav.superclass.constructor.call(this, menu.el);
            this.scope = this.menu = menu;
        },

        doRelay : function(e, h){
            var k = e.getKey();

share/ext/ext-all-debug.js  view on Meta::CPAN


        down : down,

        right : function(e, m){
            if(m.activeItem){
                m.activeItem.expandMenu(true);
            }
        },

        left : function(e, m){
            m.hide();
            if(m.parentMenu && m.parentMenu.activeItem){
                m.parentMenu.activeItem.activate();
            }
        },

        enter : function(e, m){
            if(m.activeItem){

share/ext/ext-all-debug.js  view on Meta::CPAN

            }
        }
    };
}());

Ext.menu.MenuMgr = function(){
   var menus, active, groups = {}, attached = false, lastShow = new Date();

   
   function init(){
       menus = {};

share/ext/ext-all-debug.js  view on Meta::CPAN

       active.add(m);
       if(!attached){
           Ext.getDoc().on("mousedown", onMouseDown);
           attached = true;
       }
       if(m.parentMenu){
          m.getEl().setZIndex(parseInt(m.parentMenu.getEl().getStyle("z-index"), 10) + 3);
          m.parentMenu.activeChild = m;
       }else if(last && !last.isDestroyed && last.isVisible()){
          m.getEl().setZIndex(parseInt(last.getEl().getStyle("z-index"), 10) + 3);
       }
   }

share/ext/ext-all-debug.js  view on Meta::CPAN

       }
   }

   
   function onBeforeShow(m){
       var pm = m.parentMenu;
       if(!pm && !m.allowOtherMenus){
           hideAll();
       }else if(pm && pm.activeChild){
           pm.activeChild.hide();
       }
   }

share/ext/ext-all-debug.js  view on Meta::CPAN

               }
               return menus[menu];
           }else if(menu.events){  
               return menu;
           }else if(typeof menu.length == 'number'){ 
               return new Ext.menu.Menu({items:menu});
           }else{ 
               return Ext.create(menu, 'menu');
           }
       },

share/ext/ext-all-debug.js  view on Meta::CPAN

    },

    
    onRender : function(container, position){
        Ext.menu.BaseItem.superclass.onRender.apply(this, arguments);
        if(this.ownerCt && this.ownerCt instanceof Ext.menu.Menu){
            this.parentMenu = this.ownerCt;
        }else{
            this.container.addClass('x-menu-list-item');
            this.mon(this.el, {
                scope: this,
                click: this.onClick,

share/ext/ext-all-debug.js  view on Meta::CPAN

    },

    
    onClick : function(e){
        if(!this.disabled && this.fireEvent("click", this, e) !== false
                && (this.parentMenu && this.parentMenu.fireEvent("itemclick", this, e) !== false)){
            this.handleClick(e);
        }else{
            e.stopEvent();
        }
    },

share/ext/ext-all-debug.js  view on Meta::CPAN

        return !this.region || !this.region.contains(e.getPoint());
    },

    
    handleClick : function(e){
        var pm = this.parentMenu;
        if(this.hideOnClick){
            if(pm.floating){
                pm.hide.defer(this.clickHideDelay, pm, [true]);
            }else{
                pm.deactivateActive();
            }
        }
    },

    
    expandMenu : Ext.emptyFn,

    
    hideMenu : Ext.emptyFn
});
Ext.reg('menubaseitem', Ext.menu.BaseItem);
Ext.menu.TextItem = Ext.extend(Ext.menu.BaseItem, {
    
    

share/ext/ext-all-debug.js  view on Meta::CPAN

    ctype: 'Ext.menu.Item',

    initComponent : function(){
        Ext.menu.Item.superclass.initComponent.call(this);
        if(this.menu){
            this.menu = Ext.menu.MenuMgr.get(this.menu);
            this.menu.ownerCt = this;
        }
    },

    

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    setText : function(text){
        this.text = text||'&#160;';
        if(this.rendered){
            this.textEl.update(this.text);
            this.parentMenu.layout.doAutoSize();
        }
    },

    
    setIconClass : function(cls){

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    activate : function(autoExpand){
        if(Ext.menu.Item.superclass.activate.apply(this, arguments)){
            this.focus();
            if(autoExpand){
                this.expandMenu();
            }
        }
        return true;
    },

share/ext/ext-all-debug.js  view on Meta::CPAN

    },

    
    deactivate : function(){
        Ext.menu.Item.superclass.deactivate.apply(this, arguments);
        this.hideMenu();
    },

    
    expandMenu : function(autoActivate){
        if(!this.disabled && this.menu){
            clearTimeout(this.hideTimer);
            delete this.hideTimer;
            if(!this.menu.isVisible() && !this.showTimer){
                this.showTimer = this.deferExpand.defer(this.showDelay, this, [autoActivate]);

share/ext/ext-all-debug.js  view on Meta::CPAN

    },

    
    deferExpand : function(autoActivate){
        delete this.showTimer;
        this.menu.show(this.container, this.parentMenu.subMenuAlign || 'tl-tr?', this.parentMenu);
        if(autoActivate){
            this.menu.tryActivate(0, 1);
        }
    },

    
    hideMenu : function(){
        clearTimeout(this.showTimer);
        delete this.showTimer;
        if(!this.hideTimer && this.menu && this.menu.isVisible()){
            this.hideTimer = this.deferHide.defer(this.hideDelay, this);
        }

share/ext/ext-all-debug.js  view on Meta::CPAN


    
    deferHide : function(){
        delete this.hideTimer;
        if(this.menu.over){
            this.parentMenu.setActiveItem(this, false);
        }else{
            this.menu.hide();
        }
    }
});

share/ext/ext-all-debug.js  view on Meta::CPAN

	    );
	    
	    if(this.checkHandler){
	        this.on('checkchange', this.checkHandler, this.scope);
	    }
	    Ext.menu.MenuMgr.registerCheckable(this);
    },

    
    onRender : function(c){
        Ext.menu.CheckItem.superclass.onRender.apply(this, arguments);

share/ext/ext-all-debug.js  view on Meta::CPAN

        }
    },

    
    destroy : function(){
        Ext.menu.MenuMgr.unregisterCheckable(this);
        Ext.menu.CheckItem.superclass.destroy.apply(this, arguments);
    },

    
    setChecked : function(state, suppressEvent){
        var suppress = suppressEvent === true;
        if(this.checked != state && (suppress || this.fireEvent("beforecheckchange", this, state) !== false)){
            Ext.menu.MenuMgr.onCheckChange(this, state);
            if(this.container){
                this.container[state ? "addClass" : "removeClass"]("x-menu-item-checked");
            }
            this.checked = state;
            if(!suppress){

share/ext/ext-all-debug.js  view on Meta::CPAN

       }
       Ext.menu.CheckItem.superclass.handleClick.apply(this, arguments);
    }
});
Ext.reg('menucheckitem', Ext.menu.CheckItem);
 Ext.menu.DateMenu = Ext.extend(Ext.menu.Menu, {
    
    enableScrolling : false,
    
        
    

share/ext/ext-all-debug.js  view on Meta::CPAN

                ctCls: 'x-menu-date-item',
                id: this.pickerId
            }, this.initialConfig))
        });
        this.picker.purgeListeners();
        Ext.menu.DateMenu.superclass.initComponent.call(this);
        
        this.relayEvents(this.picker, ['select']);
        this.on('show', this.picker.focus, this.picker);
        this.on('select', this.menuHide, this);
        if(this.handler){

share/ext/ext-all-debug.js  view on Meta::CPAN

    onShow : function(){
        var el = this.picker.getEl();
        el.setWidth(el.getWidth()); 
    }
 });
 Ext.reg('datemenu', Ext.menu.DateMenu);
 
 Ext.menu.ColorMenu = Ext.extend(Ext.menu.Menu, {
    
    enableScrolling : false,
    
        
    

share/ext/ext-all-debug.js  view on Meta::CPAN

            items: this.palette = new Ext.ColorPalette(Ext.applyIf({
                id: this.paletteId
            }, this.initialConfig))
        });
        this.palette.purgeListeners();
        Ext.menu.ColorMenu.superclass.initComponent.call(this);
        
        this.relayEvents(this.palette, ['select']);
        this.on('select', this.menuHide, this);
        if(this.handler){
            this.on('select', this.handler, this.scope || this);

share/ext/ext-all-debug.js  view on Meta::CPAN

        if(this.hideOnClick){
            this.hide(true);
        }
    }
});
Ext.reg('colormenu', Ext.menu.ColorMenu);

Ext.form.Field = Ext.extend(Ext.BoxComponent,  {
    
    
    

share/ext/ext-all-debug.js  view on Meta::CPAN

    onTriggerClick : function(){
        if(this.disabled){
            return;
        }
        if(this.menu == null){
            this.menu = new Ext.menu.DateMenu({
                hideOnClick: false,
                focusOnSelect: false
            });
        }
        this.onFocus();

share/ext/ext-all-debug.js  view on Meta::CPAN

    },

    
    menuEvents: function(method){
        this.menu[method]('select', this.onSelect, this);
        this.menu[method]('hide', this.onMenuHide, this);
        this.menu[method]('show', this.onFocus, this);
    },

    onSelect: function(m, d){
        this.setValue(d);
        this.fireEvent('select', this, d);
        this.menu.hide();
    },

    onMenuHide: function(){
        this.focus(false, 60);
        this.menuEvents('un');
    },

    

share/ext/ext-all-debug.js  view on Meta::CPAN

                    cls:'x-btn-icon',
                    iconCls: 'x-edit-forecolor',
                    clickEvent:'mousedown',
                    tooltip: tipsEnabled ? editor.buttonTips.forecolor || undefined : undefined,
                    tabIndex:-1,
                    menu : new Ext.menu.ColorMenu({
                        allowReselect: true,
                        focus: Ext.emptyFn,
                        value:'000000',
                        plain:true,
                        listeners: {

share/ext/ext-all-debug.js  view on Meta::CPAN

                    cls:'x-btn-icon',
                    iconCls: 'x-edit-backcolor',
                    clickEvent:'mousedown',
                    tooltip: tipsEnabled ? editor.buttonTips.backcolor || undefined : undefined,
                    tabIndex:-1,
                    menu : new Ext.menu.ColorMenu({
                        focus: Ext.emptyFn,
                        value:'FFFFFF',
                        plain:true,
                        allowReselect: true,
                        listeners: {

share/ext/ext-all-debug.js  view on Meta::CPAN

        if(!Ext.isSafari2 && this.enableLists){
            btns.insertorderedlist.toggle(doc.queryCommandState('insertorderedlist'));
            btns.insertunorderedlist.toggle(doc.queryCommandState('insertunorderedlist'));
        }

        Ext.menu.MenuMgr.hideAll();

        this.syncValue();
    },

    

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    
    enableDragDrop : false,
    
    
    enableHdMenu : true,
    
    
    
    loadMask : false,
    

share/ext/ext-all-debug.js  view on Meta::CPAN

        this.mon(c, {
            scope: this,
            mousedown: this.onMouseDown,
            click: this.onClick,
            dblclick: this.onDblClick,
            contextmenu: this.onContextMenu
        });

        this.relayEvents(c, ['mousedown','mouseup','mouseover','mouseout','keypress', 'keydown']);

        var view = this.getView();

share/ext/ext-all-debug.js  view on Meta::CPAN

    onMouseDown : function(e){
        this.processEvent('mousedown', e);
    },

    
    onContextMenu : function(e, t){
        this.processEvent('contextmenu', e);
    },

    
    onDblClick : function(e){

share/ext/ext-all-debug.js  view on Meta::CPAN

    firstRowCls: 'x-grid3-row-first',
    lastRowCls: 'x-grid3-row-last',
    rowClsRe: /(?:^|\s+)x-grid3-row-(first|last|alt)(?:\s+|$)/g,
    
    
    headerMenuOpenCls: 'x-grid3-hd-menu-open',
    
    
    rowOverCls: 'x-grid3-row-over',

    constructor : function(config) {

share/ext/ext-all-debug.js  view on Meta::CPAN

            template, name,
            
            headerCellTpl = new Ext.Template(
                '<td class="x-grid3-hd x-grid3-cell x-grid3-td-{id} {css}" style="{style}">',
                    '<div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">', 
                        this.grid.enableHdMenu ? '<a class="x-grid3-hd-btn" href="#"></a>' : '',
                        '{value}',
                        '<img alt="" class="x-grid3-sort-icon" src="', Ext.BLANK_IMAGE_URL, '" />',
                    '</div>',
                '</td>'
            ),

share/ext/ext-all-debug.js  view on Meta::CPAN

        if (grid.enableColumnMove) {
            this.columnDrag = new Ext.grid.GridView.ColumnDragZone(grid, this.innerHd);
            this.columnDrop = new Ext.grid.HeaderDropZone(grid, this.mainHd.dom);
        }

        if (grid.enableHdMenu !== false) {
            this.hmenu = new Ext.menu.Menu({id: grid.id + '-hctx'});
            this.hmenu.add(
                {itemId:'asc',  text: this.sortAscText,  cls: 'xg-hmenu-sort-asc'},
                {itemId:'desc', text: this.sortDescText, cls: 'xg-hmenu-sort-desc'}
            );

            if (grid.enableColumnHide !== false) {
                this.colMenu = new Ext.menu.Menu({id:grid.id + '-hcols-menu'});
                this.colMenu.on({
                    scope     : this,
                    beforeshow: this.beforeColMenuShow,
                    itemclick : this.handleHdMenuClick
                });
                this.hmenu.add('-', {
                    itemId:'columns',
                    hideOnClick: false,
                    text: this.columnsText,
                    menu: this.colMenu,
                    iconCls: 'x-cols-icon'
                });
            }

            this.hmenu.on('itemclick', this.handleHdMenuClick, this);
        }

        if (grid.trackMouseOver) {
            this.mainBody.on({
                scope    : this,

share/ext/ext-all-debug.js  view on Meta::CPAN

        
        if (scrollToTopTask && scrollToTopTask.cancel) {
            scrollToTopTask.cancel();
        }
        
        Ext.destroyMembers(me, 'colMenu', 'hmenu');

        me.initData(null, null);
        me.purgeListeners();
        
        Ext.fly(me.innerHd).un("click", me.handleHdDown, me);

share/ext/ext-all-debug.js  view on Meta::CPAN


        this.grid.fireEvent('columnresize', cellIndex, width);
    },

    
    beforeColMenuShow : function() {
        var colModel = this.cm,
            colCount = colModel.getColumnCount(),
            colMenu  = this.colMenu,
            i;

        colMenu.removeAll();

        for (i = 0; i < colCount; i++) {
            if (colModel.config[i].hideable !== false) {
                colMenu.add(new Ext.menu.CheckItem({
                    text       : colModel.getColumnHeader(i),
                    itemId     : 'col-' + colModel.getColumnId(i),
                    checked    : !colModel.isHidden(i),
                    disabled   : colModel.config[i].hideable === false,
                    hideOnClick: false

share/ext/ext-all-debug.js  view on Meta::CPAN

            }
        }
    },
    
    
    handleHdMenuClick : function(item) {
        var store     = this.ds,
            dataIndex = this.cm.getDataIndex(this.hdCtxIndex);

        switch (item.getItemId()) {
            case 'asc':

share/ext/ext-all-debug.js  view on Meta::CPAN

                break;
            case 'desc':
                store.sort(dataIndex, 'DESC');
                break;
            default:
                this.handleHdMenuClickDefault(item);
        }
        return true;
    },
    
    
    handleHdMenuClickDefault: function(item) {
        var colModel = this.cm,
            itemId   = item.getItemId(),
            index    = colModel.getIndexById(itemId.substr(4));

        if (index != -1) {

share/ext/ext-all-debug.js  view on Meta::CPAN

                header    = this.findHeaderCell(target),
                index     = this.getCellIndex(header),
                sortable  = colModel.isSortable(index),
                menu      = this.hmenu,
                menuItems = menu.items,
                menuCls   = this.headerMenuOpenCls;
            
            this.hdCtxIndex = index;
            
            Ext.fly(header).addClass(menuCls);
            menuItems.get('asc').setDisabled(!sortable);

share/ext/ext-all-debug.js  view on Meta::CPAN

            
            this.activeHdRef = target;
            this.activeHdIndex = this.getCellIndex(header);
            this.activeHdRegion = fly.getRegion();
            
            if (!this.isMenuDisabled(this.activeHdIndex, fly)) {
                fly.addClass('x-grid3-hd-over');
                this.activeHdBtn = fly.child('.x-grid3-hd-btn');
                
                if (this.activeHdBtn) {
                    this.activeHdBtn.dom.style.height = (header.firstChild.offsetHeight - 1) + 'px';

share/ext/ext-all-debug.js  view on Meta::CPAN

            header.style.cursor = '';
        }
    },
    
    
    isMenuDisabled: function(cellIndex, el) {
        return this.cm.isMenuDisabled(cellIndex);
    },

    
    hasRows : function() {
        var fc = this.mainBody.dom.firstChild;

share/ext/ext-all-debug.js  view on Meta::CPAN

        var templates = this.templates || {};
        if (!templates.gcell) {
            templates.gcell = new Ext.XTemplate(
                '<td class="x-grid3-hd x-grid3-gcell x-grid3-td-{id} ux-grid-hd-group-row-{row} ' + this.colHeaderCellCls + '" style="{style}">',
                    '<div {tooltip} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">', 
                        this.grid.enableHdMenu ? '<a class="x-grid3-hd-btn" href="#"></a>' : '', '{value}',
                    '</div>',
                '</td>'
            );
        }
        

share/ext/ext-all-debug.js  view on Meta::CPAN

        topAxis.rendered = false;
        topAxis.render(this.innerHd.firstChild);
    },
    
    
    isMenuDisabled: function(cellIndex, el) {
        return true;
    }
});
Ext.grid.PivotAxis = Ext.extend(Ext.Component, {
    

share/ext/ext-all-debug.js  view on Meta::CPAN

    isSortable : function(col) {
        return !!this.config[col].sortable;
    },

    
    isMenuDisabled : function(col) {
        return !!this.config[col].menuDisabled;
    },

    
    getRenderer : function(col) {

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    enableColumnMove:false,
    stripeRows:false,
    trackMouseOver: false,
    clicksToEdit:1,
    enableHdMenu : false,
    viewConfig : {
        forceFit:true
    },

    

share/ext/ext-all-debug.js  view on Meta::CPAN

    
    startCollapsed : false,
    
    enableGrouping : true,
    
    enableGroupingMenu : true,
    
    enableNoGroups : true,
    
    emptyGroupText : '(None)',
    

share/ext/ext-all-debug.js  view on Meta::CPAN

            this.isUpdating = false;
        }
    },

    
    beforeMenuShow : function(){
        var item, items = this.hmenu.items, disabled = this.cm.config[this.hdCtxIndex].groupable === false;
        if((item = items.get('groupBy'))){
            item.setDisabled(disabled);
        }
        if((item = items.get('showGroups'))){

share/ext/ext-all-debug.js  view on Meta::CPAN


    
    renderUI : function(){
        var markup = Ext.grid.GroupingView.superclass.renderUI.call(this);

        if(this.enableGroupingMenu && this.hmenu){
            this.hmenu.add('-',{
                itemId:'groupBy',
                text: this.groupByText,
                handler: this.onGroupByClick,
                scope: this,

share/ext/ext-all-debug.js  view on Meta::CPAN

                    checked: true,
                    checkHandler: this.onShowGroupsClick,
                    scope: this
                });
            }
            this.hmenu.on('beforeshow', this.beforeMenuShow, this);
        }
        return markup;
    },

    processEvent: function(name, e){

share/ext/ext-all-debug.js  view on Meta::CPAN

    onGroupByClick : function(){
        var grid = this.grid;
        this.enableGrouping = true;
        grid.store.groupBy(this.cm.getDataIndex(this.hdCtxIndex));
        grid.fireEvent('groupchange', grid, grid.store.getGroupState());
        this.beforeMenuShow(); 
        this.refresh();
    },

    
    onShowGroupsClick : function(mi, checked){

share/ext/ext-all-debug.js  view on Meta::CPAN

    },
    
    afterRenderUI: function () {
        Ext.grid.GroupingView.superclass.afterRenderUI.call(this);

        if (this.enableGroupingMenu && this.hmenu) {
            this.hmenu.add('-',{
                itemId:'groupBy',
                text: this.groupByText,
                handler: this.onGroupByClick,
                scope: this,

share/ext/ext-all-debug.js  view on Meta::CPAN

                    checkHandler: this.onShowGroupsClick,
                    scope: this
                });
            }
            
            this.hmenu.on('beforeshow', this.beforeMenuShow, this);
        }
    },

    
    renderRows : function(){

 view all matches for this distribution


Catalyst-Model-MenuGrinder

 view release on metacpan or  search on metacpan

lib/Catalyst/Model/MenuGrinder.pm  view on Meta::CPAN

package Catalyst::Model::MenuGrinder;
BEGIN {
  $Catalyst::Model::MenuGrinder::VERSION = '0.07';
}

# ABSTRACT: Catalyst Model base class for WWW::MenuGrinder
# This looks a lot like Catalyst::Model::Factory::PerRequest, but it differs
# in that it constructs the MenuGrinder object once on startup, loading all of
# the plugins and such, and then delegates to the glue's "accept_context" on
# ACCEPT_CONTEXT. We could probably remove a layer here and switch to PerRequest
# but that's for later.

use Moose;

lib/Catalyst/Model/MenuGrinder.pm  view on Meta::CPAN

);

has 'menu_class' => (
  is => 'ro',
  isa => 'Str',
  default => 'Catalyst::Model::MenuGrinder::Menu',
);

has 'menu_config' => (
  is => 'ro',
  isa => 'HashRef',

lib/Catalyst/Model/MenuGrinder.pm  view on Meta::CPAN

__END__
=pod

=head1 NAME

Catalyst::Model::MenuGrinder - Catalyst Model base class for WWW::MenuGrinder

=head1 VERSION

version 0.07

=head1 SYNOPSIS

  package MyApp::Model::Menu;

  use base 'Catalyst::Model::MenuGrinder';

  __PACKAGE__->config(
    menu_config => {
      plugins => [
        'XMLLoader',

 view all matches for this distribution


Catalyst-Plugin-Navigation

 view release on metacpan or  search on metacpan

lib/Catalyst/Plugin/Navigation.pm  view on Meta::CPAN


use strict;
use warnings;

use Moose::Role;
use CatalystX::NavigationMenu;
use namespace::autoclean;

use vars qw($VERSION);
$VERSION = '1.002';

after setup_finalize => sub {
	my ($self, @args) = @_;

	$self->mk_classdata('navigation');
	$self->navigation(CatalystX::NavigationMenu->new());
	$self->navigation->populate($self);
};

1;

lib/Catalyst/Plugin/Navigation.pm  view on Meta::CPAN

  my $menu = $c->navigation->get_navigation($c, {level => 0});

  ...

  # When defining an action.
  sub new_action : Local Menu('Menu Title') MenuTitle('Menu Mouse Over Title')
                   MenuParent('#Menu Parent') MenuArgs('$stash_arg') {
    # Do action items.
    ...
  }

=head1 DESCRIPTION

lib/Catalyst/Plugin/Navigation.pm  view on Meta::CPAN

When using the Catalyst::Plugin::Navigation plugin the following methods are added to the
base Catalyst object.

=head2 navigation()

Returns the CatalystX::NavigationMenu object that relates to the existing menu structure
defined through the controller attributes. See the L(CatalystX::MenuNavigation) man page 
for more details.

=head1 Attributes

The following attributes are understood by the Catalyst::Plugin::Navigation plugin. The 
Menu() attribute is the only required attribute. Without this attribute the action element
will not be included in the navigation tree.

=head2 Menu('Label')

This provides the label to be used for the menu link. This is the actual text of the href.
This item is required in order to have the action appear in the menu navigation.

=head2 MenuParent('Path')

Provides the path to the parent item. If the parent doesn't exist then it will be created
in the tree structure so that the child can be accessed even if the parent is never 
defined. For more information on the Path value that can be passed see the PATHS section 
below.

=head2 MenuArgs('Arg')

Provides informaiton on what to use to populate arguments and URI placeholders for the current 
action. If the current action is chained or requires arguments then these are used to populate 
the URI accordingly. The arguments are passed in the order they appear in the attribute list. 
More than one MenuArgs attribute can be attached to a single action. If the argument is preceeded
by a $ symbol then the name of the argument is pulled from the stash variable. Otherwise the 
argument is included as plain text. For example the following entry MenuArgs('$stash_value') will
call out and get the stash value for the keyword 'stash_value' ($c->stash->{'stash_value'}). 

URL arguments are also handled with the MenuArgs() attribute. These are defined by preceeding
the argument with the @ symbol. The same rules above apply, so the argument @$var will use the var
value from the stash as a URL argument and @var will use the literal string var as the URL 
argument.

=head2 MenuCond('Cond')

In order for the menu item to be included in the navigation display the condition provided must
evaluate to a true value. The argument ('Cond') value passed in is evaluated in an eval, allowing
complex conditions to be executed. More than one condition can be passed as an attribute, in which 
case all conditions must evaluate to true.

=head2 MenuOrder(int)

Defines the order in which the menu elements shoudl be displayed. If you would like your menu 
items to show up in a particular order you can define that order using the MenuOrder attribute.
In the event that more than one action has the same order value then they are sorted alphabetically
by their Menu label value.

=head2 MenuRoles('Role')

If you are using the Authentication::Roles plugin then you can define which roles must be
provided in order to display the given action in the navigation tree. If more than one 
MenuRoles are included in the attributes list all those roles must be found. If you want 
to show the menu item depending on one of several roles then you can separate those roles
with a | character. So the following attribute: MenuRoles('role1|role2|role3') will allow 
the action to be included in the navigation tree if the logged in user has a role of either
role1, role2 or role3.

=head2 MenuTitle('Title')

Provides the value to use for the title attribute of the a link.

=head1 PATHS

lib/Catalyst/Plugin/Navigation.pm  view on Meta::CPAN


When items are added into the navigation tree their defined by their namespace and action
name. This defines the private path to the entry. So future elements can be added into the
tree under an item by referring to the path of the entry it shoudl appear under.

There should be no need to include multiple path details in the MenuPath variable unless you 
are defining Labels to be used. A Label can occur anywhere in the navigation entry. So both 
of these paths are valid: #Label/path/to/action or /path/to/action/#Label.

=head1 DEPENDENCIES

L<Catalyst>

=head1 SEE ALSO

L<CatalystX::NavigationMenu>, L<CatalystX::NavigationMenuItem>

=head1 AUTHORS

Derek Wueppelmann <derek@roaringpenguin.com>

 view all matches for this distribution


Catalyst-View-Component-jQuery

 view release on metacpan or  search on metacpan

examples/TestApp/Controller/Root.pm  view on Meta::CPAN

use warnings;

use Catalyst;
use base 'Catalyst::Controller';

use CatalystX::Menu::Suckerfish;

__PACKAGE__->config(namespace => q{});

sub begin :Private {
    my ( $self, $c ) = @_;

    my $suckerfish = CatalystX::Menu::Suckerfish->new(
        context => $c,
        ul_id => 'navmenu',
        ul_class => 'sf-menu',
        menupath_attr => 'MenuPath',
        menutitle_attr => 'MenuTitle',
        text_container => {
            element => 'span',
            attrs => { class => 'sf-label' },
        },
        add_nodes => [

examples/TestApp/Controller/Root.pm  view on Meta::CPAN

    $c->forward('TestApp::View::TT') unless $c->res->body;
}

sub index
    :Path
    :MenuPath('/Home')
    :MenuTitle('Home Page')
    {
    my ( $self, $c ) = @_;
}

sub dostuff
    :Local
    :MenuPath('/Stuff')
    :MenuTitle('Do Stuff')
    {
    my ( $self, $c ) = @_;
    $c->stash->{template} = 'index.tt2';
    $c->forward('index');
}

sub prettypix
    :Local
    :MenuPath('/Pretty/Pictures')
    :MenuTitle('See pretty pictures')
    {
    my ( $self, $c ) = @_;
    $c->stash->{template} = 'index.tt2';
    $c->forward('index');
}

sub printtemplate
    :Local
    :MenuPath('/How it works/The template')
    :MenuTitle('The template')
    {
    my ( $self, $c ) = @_;
    my $text;
    { local (@ARGV, $/) = 'TestApp/root/src/index.tt2'; $text = <> }
    $c->res->content_type('text/plain');

 view all matches for this distribution


CatalystX-ActionBuilders

 view release on metacpan or  search on metacpan

lib/CatalystX/ActionBuilders.pm  view on Meta::CPAN

sub path_part($)    { _att(PathPart    => @_) }
sub path_name($)    { _att(Path        => @_) }
sub action_class($) { _att(ActionClass => @_) }

# Catalyst::Plugin::Navigation specific bits
sub menu_label($)  { _att(Menu       => @_) }
sub menu_parent($) { _att(MenuParent => @_) }
sub menu_args($)   { _att(MenuArgs   => @_) }
sub menu_cond($)   { _att(MenuCond   => @_) }
sub menu_order($)  { _att(MenuOrder  => @_) }
sub menu_roles($)  { _att(MenuRoles  => @_) }
sub menu_title($)  { _att(MenuTitle  => @_) }

# Catalyst::Plugin::ActionRole
sub does($) { _att(Does => @_) }

# CatalystX::SimpleLogin

lib/CatalystX/ActionBuilders.pm  view on Meta::CPAN

    delete $action_attributes->{'_before'};
    my @after = $action_attributes->get_all('_after');
    delete $action_attributes->{'_after'};

    # some menu defaults
    if (exists $action_attributes->{Menu}) {

        $action_attributes->{MenuOrder} = $counter{$meta->name} += 10
            unless exists $action_attributes->{MenuOrder};
    }

    # so there's two ways (I know of) to proceed here...  The first (and the
    # one we use) is to poke at our class' config() and establish our actions
    # here.  The second would be to fiddle with the method's metaclass to add

 view all matches for this distribution


CatalystX-CRUD-YUI

 view release on metacpan or  search on metacpan

lib/CatalystX/CRUD/YUI/TT/crud/form.tt  view on Meta::CPAN

              IF (field.internal_value.epoch.defined);
                field.output_value _ '';
              END;
            ELSIF field.isa('Rose::HTMLx::Form::Field::Boolean');
                field.output_value == '1' ? 'true' : 'false';
            ELSIF field.isa('Rose::HTML::Form::Field::PopUpMenu');
                field.value_label;
            ELSE;
                form.field_value( fname );
            END;
            

 view all matches for this distribution


CatalystX-Example-YUIUploader

 view release on metacpan or  search on metacpan

root/static/js/yui/build/button/button-min.js  view on Meta::CPAN

Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.0
*/
(function(){var G=YAHOO.util.Dom,L=YAHOO.util.Event,I=YAHOO.lang,B=YAHOO.widget.Overlay,J=YAHOO.widget.Menu,D={},K=null,E=null,C=null;function F(N,M,Q,O){var R,P;if(I.isString(N)&&I.isString(M)){if(YAHOO.env.ua.ie){P="<input type=\""+N+"\" name=\""+M...
}else{this.on("appendTo",X);}}}}}}if(W&&J&&(W instanceof J)){Z=W;O=Z.getItems();N=O.length;Y=true;if(N>0){R=N-1;do{V=O[R];if(V){V.cfg.subscribeToConfigEvent("selected",this._onMenuItemSelected,V,this);}}while(R--);}U.call(this);}else{if(B&&W&&(W inst...
}C=null;this.fireEvent("blur",M);},_onDocumentKeyUp:function(M){if(this._isActivationKey(L.getCharCode(M))){this._activationKeyPressed=false;L.removeListener(document,"keyup",this._onDocumentKeyUp);}},_onKeyDown:function(N){var M=this._menu;if(this.g...
D[this.get("id")]=this;this.addClass(this.CSS_CLASS_NAME);this.addClass("yui-"+this.get("type")+"-button");L.on(this._button,"focus",this._onFocus,null,this);this.on("mouseover",this._onMouseOver);this.on("click",this._onClick);this.on("appendTo",thi...
}},_onAppendTo:function(H){var I=this._buttons,G=I.length,F;for(F=0;F<G;F++){I[F].appendTo(this.get("element"));}},_onButtonCheckedChange:function(G,F){var I=G.newValue,H=this.get("checkedButton");if(I&&H!=F){if(H){H.set("checked",false,true);}this.s...

 view all matches for this distribution


CatalystX-Menu-Suckerfish

 view release on metacpan or  search on metacpan

lib/CatalystX/Menu/Suckerfish.pm  view on Meta::CPAN

package CatalystX::Menu::Suckerfish;

use 5.008000;

use strict;
use warnings;

use base 'CatalystX::Menu::Tree';

use HTML::Entities;
use HTML::Element;
use MRO::Compat;

use vars qw($VERSION);
$VERSION = '0.03';

=head1 NAME

CatalystX::Menu::Suckerfish - Generate HTML UL for a CSS-enhanced Suckerfish menu

=head1 SYNOPSIS

 package MyApp::Controller::Whatever;

 sub someaction :Local
 :MenuPath('Electronics/Computers')
 :MenuTitle('Computers')
 { ... }

 sub begin :Private {
     my ($self, $c) = @_;

     my $menu = CatalystX::Menu::Suckerfish->new(
        context => $c,
        ul_id => 'navmenu',         # <ul id="navmenu"> ... </ul>
        ul_class => 'sf-menu',      # <ul id="navmenu" class="sf-menu"> ... </ul>
        text_container => {         # wrap plain text nodes in this HTML element
            element => 'span',      #  so that styles can be applied if desired.

lib/CatalystX/Menu/Suckerfish.pm  view on Meta::CPAN


=cut

=head2 C<new( $tree, %params )>

Takes a menu tree produced by Catalyst::Controller::Menutree (CatalystX::MenuTree)
and a list of key/value parameter pairs.

Params

=over

lib/CatalystX/Menu/Suckerfish.pm  view on Meta::CPAN


Required (no validation)

Names the action attribute that contains the menu path:

 menupath_attr => 'MenuPath'

 # and in your controller:

 sub foobar :Local
 :MenuPath(/Foo/Bar)
 :MenuTitle('Foobar and stuff')
 { ... }

Only actions with the menupath_attr attribute are processed. This attribute's
value determines where the action's menu item is placed in the menu structure
(HTML UL).

Depending on the attribute values collected from the processed actions, there
may be menu items containing only text.  If you want a link to a landing page,
for example, instead of text, include an action for the landing page with the
appropriate MenuPath attribute in your controller, or add an entry manually
with the add_nodes parameter.

=item menutitle_attr

Optional

lib/CatalystX/Menu/Suckerfish.pm  view on Meta::CPAN

which don't include A elements. This makes it possible to apply similar styles
to both plain text and A elements for consistent appearance.

=item top_order

A list of top level menu item labels. Menu items are sorted alphabetically by
default. top_order allows you to specify the order of one or more items. The
asterisk (*) inserts any menu items not listed in top_order.

=item add_nodes

 view all matches for this distribution


CatalystX-Menu-Tree

 view release on metacpan or  search on metacpan

lib/CatalystX/Menu/Tree.pm  view on Meta::CPAN

package CatalystX::Menu::Tree;

use 5.008000;

use strict;
use warnings;

lib/CatalystX/Menu/Tree.pm  view on Meta::CPAN

use vars qw($VERSION);
$VERSION = '0.02';

=head1 NAME

CatalystX::Menu::Tree - Generate Catalyst application menus

=head1 SYNOPSIS

 my $tree = CatalystX::Menu::Tree->new(
    context => $c,
    namespaces => [ $c->namespace ],
    filter => sub {
        my ($c, %action) = @_;
        # return the list of k/v pairs that meet criteria
    },
    menupath_attr => 'MenuPath',
    menutitle_attr => 'MenuTitle',
    add_nodes => [
        {
            menupath => '/Bargains',
            menutitle => 'Cheap stuff',
            uri => '/products/cheap',

lib/CatalystX/Menu/Tree.pm  view on Meta::CPAN

    ],
 );

=head1 DESCRIPTION

Builds the tree used by CatalystX::Menu::Suckerfish to construct an HTML UL
element for use as a degradable, CSS-styled menu or horizontal navbar.

Catalyst actions with the Private attribute are excluded from the tree.

=head2 Menu Attributes

=over

=item menupath_attr

Names the action attribute that contains the menu path:

 menupath_attr => 'MenuPath'

 # and in your controller:

 sub foobar :Local
 :MenuPath(/Foo/Bar)
 :MenuTitle('Foobar and stuff')
 { ... }

Only actions with the menupath_attr attribute are processed. This attribute's
value determines where the action's menu item is placed in the menu structure
(HTML UL).

Depending on the attribute values collected from the processed actions, there
may be menu items containing only text.  If you want a link to a landing page,
for example, instead of text, include an action for the landing page with the
appropriate MenuPath attribute in your controller, or add an entry manually
with the add_nodes parameter.

=item menutitle_attr

The menutitle_attr attribute will be used to add the HTML title attribute to

 view all matches for this distribution


CatalystX-Menu-mcDropdown

 view release on metacpan or  search on metacpan

lib/CatalystX/Menu/mcDropdown.pm  view on Meta::CPAN

package CatalystX::Menu::mcDropdown;

use 5.008000;

use strict;
use warnings;
use Carp qw(croak);

use base 'CatalystX::Menu::Tree';

use HTML::Entities;
use HTML::Element;
use MRO::Compat;

use vars qw($VERSION);
$VERSION = '0.01';

=head1 NAME

CatalystX::Menu::mcDropdown - Generate HTML UL for a mcDropdown menu

=head1 SYNOPSIS

 package MyApp::Controller::Whatever;

 sub someaction :Local
 :MenuPath('Electronics/Computers')
 :MenuTitle('Computers')
 { ... }

 sub begin :Private {
     my ($self, $c) = @_;

     my $menu = CatalystX::Menu::mcDropdown->new(
        context => $c,
        menupath_attr => 'MenuPath',    # action attribute used to determin menu tree
        menutitle_attr => 'MenuTitle',  # action attribute that supplies menu text
        ul_id => 'menudata',            # <ul id="menudata"> ... </ul>
        ul_class => 'mcdropdown_menu',  # <ul id="menudata" class="mcdropdown_menu"> ... </ul>
                                        # NOTE: mcDropdown expects class="mcdropdown_menu" !
        top_order => [qw(Home * About)],    # Put Home and About on the ends,
                                            #  everything else in-between

lib/CatalystX/Menu/mcDropdown.pm  view on Meta::CPAN


=cut

=head2 C<new( $tree, %params )>

Takes a menu tree produced by Catalyst::Controller::Menutree (CatalystX::MenuTree)
and a list of key/value parameter pairs.

Params

=over

lib/CatalystX/Menu/mcDropdown.pm  view on Meta::CPAN


Required (no validation)

Names the action attribute that contains the menu path:

 menupath_attr => 'MenuPath'

 # and in your controller:

 sub foobar :Local
 :MenuPath(/Foo/Bar)
 :MenuTitle('Foobar and stuff')
 { ... }

Only actions with the menupath_attr attribute are processed. This attribute's
value determines where the action's menu item is placed in the menu structure
(HTML UL).

Depending on the attribute values collected from the processed actions, there
may be menu items containing only text.  If you want a link to a landing page,
for example, instead of text, include an action for the landing page with the
appropriate MenuPath attribute in your controller, or add an entry manually
with the add_nodes parameter.

=item menutitle_attr

Required

The mcDropdown menu plugin populates the menu options from the values of
the list itmes (for example: <li>Menu Option</li>).

=item ul_id

Required

lib/CatalystX/Menu/mcDropdown.pm  view on Meta::CPAN

The class attribute to be applied to the outer HTML UL element. mcDropdown requires
class = mcdropdown_menu.

=item top_order

A list of top level menu item labels. Menu items are sorted alphabetically by
default. top_order allows you to specify the order of one or more items. The
asterisk (*) inserts any menu items not listed in top_order.

=item add_nodes

 view all matches for this distribution


CatalystX-Restarter-GTK

 view release on metacpan or  search on metacpan

lib/CatalystX/Restarter/GTK.pm  view on Meta::CPAN


    $win->set_position('center');

    my $status  = Gtk2::Label->new;

    my $menu_bar = Gtk2::MenuBar->new;
    my $view = Gtk2::MenuItem->new('_View');
    my $mview = Gtk2::Menu->new;

    my $console = Gtk2::MenuItem->new('Console');
    $console->signal_connect('activate', sub { $obj->show_msg; });

    $mview->append($console);
    $view->set_submenu($mview);

    my $restart = Gtk2::MenuItem->new('Restart');
    my $mrestart = Gtk2::Menu->new;
    $mrestart->append($restart);

    my $tools = Gtk2::MenuItem->new('_Tools');
    $tools->set_submenu($mrestart);

    $menu_bar->append($view);
    $menu_bar->append($tools);
    $menu_bar->set_size_request(-1, 22);

lib/CatalystX/Restarter/GTK.pm  view on Meta::CPAN

    my $buffer = Gtk2::TextBuffer->new;
    #-- Create tray icon and menu
    my $trayicon = Gtk2::StatusIcon->new_from_file($status_msg{stopped}->{icon});
    $trayicon->set_visible(TRUE);
    
    my $traymenu = Gtk2::Menu->new;
    my $tray_mconsole = Gtk2::MenuItem->new('View Console');
    $tray_mconsole->signal_connect('activate' => sub { $console->activate; });
    
    my $tray_mrestart = Gtk2::MenuItem->new('Restart');
    $tray_mrestart->signal_connect('activate' => sub { $restart->activate; });
        
    my $mexit = Gtk2::MenuItem->new('Exit');
    $mexit->signal_connect('activate' => sub { Gtk2->main_quit; });
    
    $traymenu->append($tray_mconsole);
    $traymenu->append($tray_mrestart);
    $traymenu->append(Gtk2::SeparatorMenuItem->new);
    $traymenu->append($mexit);
    
    $trayicon->signal_connect('popup-menu', sub {
        my ($ticon, $button, $time) = @_;
        my ($x, $y, $push) = Gtk2::StatusIcon::position_menu($traymenu, $ticon);

 view all matches for this distribution


Catapulse-Module-Test

 view release on metacpan or  search on metacpan

share/cxim_config.yml  view on Meta::CPAN

name: Catapulse::Module::Test
version: 1

Plugin::Menu:
  Breadcrumbs:
    links:
     test:
       label: Test
       order: 99

 view all matches for this distribution


Chandra

 view release on metacpan or  search on metacpan

examples/contextmenu_example.pl  view on Meta::CPAN

#!/usr/bin/env perl
#
# Example: Context Menus
#
# Right-click context menus with static items, dynamic items,
# submenus, icons, checkable items, and keyboard shortcut hints.
#

examples/contextmenu_example.pl  view on Meta::CPAN

use FindBin;
use lib "$FindBin::Bin/../blib/lib", "$FindBin::Bin/../blib/arch";
use Chandra::App;

my $app = Chandra::App->new(
    title  => 'Context Menu Example',
    width  => 600,
    height => 450,
    debug  => 1,
);

examples/contextmenu_example.pl  view on Meta::CPAN

    .hint { color: #888; font-size: 12px; padding: 8px 16px; background: #fafafa;
            border-top: 1px solid #eee; }
</style>
</head>
<body>
    <div class="header">Context Menu Example</div>
    <div class="main">
        <div class="sidebar">
            <div class="list-item" id="file-readme">README.md</div>
            <div class="list-item" id="file-main">main.pl</div>
            <div class="list-item" id="file-config">config.yml</div>

 view all matches for this distribution


Chart-Plotly

 view release on metacpan or  search on metacpan

share/plotly.js/plotly.min.js  view on Meta::CPAN

 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <https://feross.org>
 * @license  MIT
 */
"use strict";var e=t("base64-js"),n=t("ieee754");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;function i(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=ne...
/*! Native Promise Only
    v0.8.1 (c) Kyle Simpson
    MIT License: http://getify.mit-license.org
*/
!function(t,r,n){r[t]=r[t]||n(),void 0!==e&&e.exports&&(e.exports=r[t])}("Promise",void 0!==t?t:this,(function(){"use strict";var t,e,n,i=Object.prototype.toString,a=void 0!==r?function(t){return r(t)}:setTimeout;try{Object.defineProperty({},"x",{}),...

 view all matches for this distribution


Chess-GameClock-GameClock

 view release on metacpan or  search on metacpan

lib/Chess/GameClock/GclkSettings.pm  view on Meta::CPAN

  my $mw=MainWindow->new(-title=>qq(Réglages Pendule)) ;
  $mw->geometry("320x6") ;
  #$mw->grabGlobal ;
  my $top=$mw->toplevel;

  my $menubar =$top->Menu(-type => 'menubar');
  $top->configure(-menu => $menubar);

  foreach my $m (@menu) {

    # creation des sous-menus en cascade

 view all matches for this distribution


Cindy-Apache2

 view release on metacpan or  search on metacpan

examples/site/10_About.shtml  view on Meta::CPAN

    <span style="font-family:'Courier'">&lt;div id="main"&gt;</span>. 
    This strips the header and enables using a static frame around all 
    pages. This frame includes the menu. Both is done by this simple 
    <a href="tec/cindy/frame.cjs">cjs sheet</a>. </p>

   <h3>Creating a Menu from Directory Indexes</h3>
   <p>The directory indexes are parsed as data and are then recursively 
    included via SSI. Parsing the directory indexes generated by 
    <span style="font-family:'Courier'">mod_autoindex</span> is done using 
    a <a href="tec/cindy/index.cjs">more complex cjs sheet</a>. For 
    each directory found in such an index a SSI include for that 

 view all matches for this distribution


CircuitLayout

 view release on metacpan or  search on metacpan

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

    -textvariable => \$G_mouseInfoText, 
    -width        => 60,
);

###### start top menu bar #####
my $topMenu = $MW -> Frame(-relief => 'raised', -borderwidth => 2);
$topMenu -> pack(-fill => 'x');

$statusBar -> pack(-side => 'bottom', -fill => 'x', -padx => 2, -pady => 2);
$xyStatusBar -> pack(-side => 'right', -fill => 'x', -padx => 2, -pady => 2);
$mouseInfoBar -> pack(-side => 'bottom', -fill => 'x', -padx => 2, -pady => 2);

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

$G_viewWindow -> withdraw;
showGridWindow();
$G_gridWindow -> withdraw;

##### options menu #####
my $fileMenu = $topMenu -> Menubutton(-text => 'File', -underline => 0);
### open
$fileMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Open ...', 
    -command          => sub {
        $G_gds2FileNameIn = $MW -> getOpenFile(

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

        {
            print WARNING."Colormap is full. Try -privateColorMap command line option\n";
        }
    }, 
);
$fileMenu -> pack(-side=>'left');

### clear
$fileMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -command          => sub { 
        $G_canvas -> delete('all'); 
        $G_canvas2 -> delete('all'); 
        @G_selected = ();
    },
    -label            => 'Clear', 
);
$fileMenu -> pack(-side=>'left');

### quit
$fileMenu -> command(
    -activebackground => RedColor, 
    -activeforeground => WhiteColor, 
    -command          => sub { $MW -> destroy; exit(1); }, 
    -label            => 'Quit', 
);
$fileMenu -> pack(-side=>'left');

### view menu
my $modeMenu = $topMenu -> Menubutton(-text => 'Set Mode', -underline => 0);
#$modeMenu -> separator;

### pan
$modeMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Pan', 
    -command          => sub {
        $G_mouseMode = 'pan';

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

        $G_canvas -> CanvasBind('<Button-3>' => \&redraw);
    },
);

### ruler
$modeMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Ruler', 
    -command          => sub {
        $G_mouseMode = 'ruler';

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

        $G_canvas -> CanvasBind('<Button-3>' => [\&ruler, 0, Ev('x'), Ev('y')]);
    },
);

### select
$modeMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Select', 
    -command          => sub {
        $G_mouseMode = 'select';

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

        });
    },
);

### unselect
$modeMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'unSelect', 
    -command          => sub
    {

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

        });
    },
);

### zoom in
$modeMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Zoom In', 
    -command          => sub {
        $G_mouseMode = 'zoom in';

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

    },
);


### zoom out 
$modeMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Zoom Out', 
    -command          => sub {
        $G_mouseMode = 'zoom out';

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

        $G_canvas -> CanvasBind('<Button-2>' => [\&zoom, 0.5, Ev('x'), Ev('y')]);
        $G_canvas -> CanvasBind('<Button-3>' => [\&zoom, 0.2, Ev('x'), Ev('y')]);
    },
);

$modeMenu -> pack(-side=>'left');

### info menu
my $infoMenu = $topMenu -> Menubutton(-text => 'Info', -underline => 0);

### ruler
$infoMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Ruler  (r)', 
    -command          => sub {
        $G_mouseMode = 'ruler';
        setCursor();
        $G_statusText='Enter start coordinate for ruler';
    },
);

$infoMenu -> pack(-side=>'left');

### window menu
my $windowMenu = $topMenu -> Menubutton(-text => 'Windows', -underline => 0);
### grid window
$windowMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Grid', 
    -command          => \&showGridWindow,
);

### info window
$windowMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Info', 
    -command          => \&showInfoWindow,
);

### layer window
$windowMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Layers', 
    -command          => \&showLayerWindow,
);

### 2nd view window
$windowMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Full view', 
    -command          => \&showViewWindow,
);

### binding help
$windowMenu -> command(
    -activebackground => LightBlueColor, 
    -activeforeground => WhiteColor, 
    -label            => 'Key bindings', 
    -command          => \&showKeyBindings,
);
$windowMenu -> pack(-side=>'left');

#######
$MW -> bind( '<Any-KeyPress>' => sub 
    {
        my($c) = @_;

 view all matches for this distribution


( run in 2.368 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )