Tom Muck's Blog
News and Views
1 post
on 09/17/2004
Blogs for Dreamweaver extension developers
Friday, September 17, 2004 1:21:06 PM
For all you Dreamweaver extension developers, Paul Boon has come out of hiding and has been blogging like crazy on a multitude of extension building techniques, undocumented API calls, and other DW goodies. Check out his blog at http://www.communitymx.com/blog/index.cfm?blogger=35. Not to be outdone, Danilo Celic has also posted a bunch of cool items as well: http://www.communitymx.com/blog/index.cfm?blogger=12.
If you have my JavaScript Evaluation panel (available at Community MX, with an older version available on the CDROM for Dreamweaver MX 2004: The Complete Reference) you can test out many of these API calls. This one I thought was really cool: Using Popup Menus in Extensions (blogged by Paul at http://www.communitymx.com/blog/index.cfm?newsid=119). It is infinitely better than creating dynamic menus within the menus.xml file, which can be really tedious to code. A simple example of how you could use this in an extension is to open up a web address:
function popupMenu(a){
var m = new PopupMenu();
for(var i=0;i < a.length;i++){
m.addItem(a[i]);
}
var s=m.popup();
return s;
}
var myMenuItems=new Array('CommunityMX','tom-muck','DWFAQ','Flash-Remoting');
var response = popupMenu(myMenuItems);
if(response != '')
dw.browseDocument("http://www." + response + ".com");
If you run this from the JavaScript eval window, you'll get a popup menu that will open up the site. Another use would be to get a list of currently open documents and full file paths to allow switching between them:
function popupMenu(a){
var m = new PopupMenu();
for(var i=0;i < a.length;i++){
m.addItem(a[i]);
}
var s=m.popup();
return s;
}
var fileDoms = dreamweaver.getDocumentList();
var currDom = dreamweaver.getActiveWindow();
var menuItems = new Array();
var fileName;
for(var i=0;i<fileDoms.length; i++) {
fileName = (fileDoms[i].URL == "")?"(Unsaved Document)":MMNotes.localURLToFilePath(fileDoms[i].URL);
if(fileDoms[i] == currDom) fileName = "* " + fileName;
menuItems.push(fileName);
}
var response = popupMenu(menuItems);
if(response != '')
dw.openDocument(response);
Category tags: Community MX, Dreamweaver
Posted by Tom Muck
Add comment |
View comments (1) |
Permalink
|
Trackbacks (0)
|
Digg This
1 post
on 09/17/2004
Before posting comments or trackbacks, please read the posting policy.