[Tcladdressbook-commits] Contribs/Alpha/CardBrowser/AAB aabMenu.tcl,NONE,1.1
Status: Alpha
Brought to you by:
bdesgraupes
|
From: Bernard D. <bde...@us...> - 2004-08-24 06:01:37
|
Update of /cvsroot/tcladdressbook/Contribs/Alpha/CardBrowser/AAB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2645/Contribs/Alpha/CardBrowser/AAB Added Files: aabMenu.tcl Log Message: First checkin --- NEW FILE: aabMenu.tcl --- alpha::menu aabMenu 0.1 Card "@" { # One-time initialization script AAB::buildMenu } { # Activation script aabMenu } { # Deactivation script } # addMenu aabMenu "@" # This proc is called every time we turn the @ menu on. # Its main effect is to ensure this code, including the # menu definition below, has been loaded. proc aabMenu {} {} menu::buildProc aabMenu AAB::buildMenu menu::buildProc Groups AAB::buildGroupsMenu # This is the definition of the @ menu, and what its items mean: set AAB::menuItems [list ] set AAB::menuItems [list \ "find" {Card::windowForFind} \ "findAnywhere" {Card::findAnywhere} \ "searchWithinResults" {Card::windowForFindWithin} \ "(-" "" \ "showAll" {AAB::showAll} \ "editCard" {Card::windowForEditRecord} \ "newCard" {Card::windowForNewRecord} \ "save" {Card::save} \ "deleteCard" {Card::delete} \ "/\\<OthisIsACompany" {AAB::thisIsACompany} \ "(-" "" \ "putAddressInClipboard" {Card::putAddressInClipboard} \ "sendEmailToThisPerson" {AAB::sendEmail} \ "separateWindowForCard" {Card::separateWindowForCard} \ "printLabelsForTheseCards" {AAB::printLabelsForTheseCards} \ "removeFromSelection" {Card::removeFromSelection} \ "(-" "" \ "addCollectionToGroup" {AAB::addCollectionToGroup} \ "addCardToGroup" {AAB::addToGroup} \ "removeCardFromGroup" {AAB::removeFromGroup} \ ] # Here we define what goes into the Groups submenu: set AAB::groups [addressbook groups] set AAB::groupNames [list ] foreach g $::AAB::groups { lappend AAB::groupNames [lindex $g 1] } # Now construct the menus: proc AAB::buildMenu {} { global aabMenu # Now we define the menu items. variable menuItems set itemList [list ] foreach {item proc} $menuItems { lappend itemList $item } lappend itemList [list Menu -n Groups -m {}] # Menu -n $aabMenu -p AAB::menuProc $itemList return [list build $itemList AAB::menuProc {Groups} $aabMenu] } proc AAB::buildGroupsMenu {} { variable groupNames set itemList [list ] foreach gName $groupNames { lappend itemList "$gName" } return [list build $itemList AAB::groupsMenuProc {}] } # Now for the procs handling menu item selection proc AAB::menuProc {menu item} { switch -- $item { thisIsACompany { thisIsACompany return } default { # Relax } } variable menuItems # dict seems to handle key-value lists alright: [dict get $menuItems $item] } proc AAB::groupsMenuProc { menu item } { variable groupNames variable groups set i [lsearch -regexp $groupNames "(?i)^$item\$"] set groupID [lindex $groups $i 0] showGroup $groupID } # menu::insert aabMenu submenu end "Groups" menu::buildSome aabMenu |