I have been able to get a floating pane to successfully open and close. Not sure if this is your issue but here is the code that I use to create the floating pane and connect the events. I am sure that I could do this a better way by creating a baseWidget but I was in a crunch.
createFloatingPane: function (floatingPaneId, paneTitle, tabContainerID) {
//destroy the dijits before you create them!
var floatingPaneAttributes = dijit.byId(floatingPaneId);
if (floatingPaneAttributes) { //&& treeContainer instanceof dijitTree
//Destroy this widget and it's descendants from the manager object
floatingPaneAttributes.destroyRecursive(false);
}
dojo.destroy(floatingPaneId);
var dock = dijit.byId("dock")
if (dock) {
dock.destroyRecursive(false);
dojo.destroy(dock.id);
}
if (dijit.byId(tabContainerID)) {
dijit.byId(tabContainerID).destroyRecursive(false);
dojo.destroy(tabContainerID);
}
//NOTE: only need one dock created for the entire app
//TODO: fix this code to make sure it accounts for this
dock = new dojox.layout.Dock({
id: "dock",
style: 'position:absolute; bottom:0; right:0; height:0px; width:0px; display:none; z-index:0;'
//class: "dockClass"
}, dojo.create('div', null, dojo.body()));
//add a floating pane
floatingPaneAttributes = new dojox.layout.FloatingPane({
id: floatingPaneId,
title: paneTitle,
resizable: true, //allow resizing
closable: true, //we never want to close a floating pane - this method destroys the dijit ..otherwise, override the on close event
dockable: true, // yes we want to dock it
dockTo: dock, //if you create the floating pane outside of the same function as the dock, you'll need to set as dijit.byId('dock')
style: 'position:absolute;top:100px;left:50px;width:400;height:400px;visibility:hidden;z-index:999 !important'
}, dojo.create('div', null, dojo.body()));
floatingPaneAttributes.resize({ w: 410, h: 410 });
//add the TabContainer to the Floating Pane
var tc = new dijit.layout.TabContainer({
id: tabContainerID,
tabPosition: 'bottom',
style: "height: 100%; width: 100%;",
class: "claro" //"soria"
});
// place the tabcontainer into content pane.
// IMPORTANT: SINCE FLOATING PANE IS NOT A "Container", WE MUST ATTACH THE TABCONTAINER TO ITS DOM NODE.
tc.placeAt(floatingPaneAttributes.containerNode);
// call startup to layout everyone.
floatingPaneAttributes.startup();
return floatingPaneAttributes;
}
//code that calls the create floating pane and sets up the events
var floatingPaneAttributes = helperOperations.createFloatingPane(_floatingPaneId, "Attribute Editor", tabContainerId);
if (floatingPaneAttributes) {
//insert code here to add the tab pages of inerest
//Override the close function so the control does not get destroyed
floatingPaneAttributes.close = function () {
floatingPaneAttributes.minimize();
_isFloatingPaneVisible = false;
clearSelectedFeatureLayers();
};
//connect the events
dojo.connect(floatingPaneAttributes, 'onFocus', function () {
floatingPaneAttributes.bringToTop()
});
dojo.connect(floatingPaneAttributes, 'onShow', function () {
floatingPaneAttributes.bringToTop();
_isFloatingPaneVisible = true;
});
}
Hope this helps