FYI, I implemented my own maximize/restore features by calling my own functions on those events:
$(".easyui-panel").each(function(index) {//for all widgets
$(this).panel({//for this widget
onMaximize: function() {//do this on widget maximize
maximizePortalWidget($(this)); //maximize chosen widget and hide others
},//end on widget maximize
onRestore: function() {//do this on widget restore (unmaximized)
restorePortalWidgets(); //restore portal to pre-maximized state
}
});//end for this widget
});//end for all widgets
On maximize, I hide all of the panels and all of the portal columns. Then I show just the column that the maximized panel is in and I show just that panel. Next I adjust the width of the column and panel so they fill the page. I also set the panel's height to "auto", because otherwise the built-in maximize function makes the panel too tall.
On restore, I re-show all of the panels and columns and I resize the portal so that the widths/heights automatically go back to normal.
Other tweaks are needed to make sure that (1) while a panel is maximized, resizing the browser or clicking on or moving the panel doesn't reset its size, and (2) that on restore I don't reshow a panel that was closed (not just temporarily hidden during the maximize).