Nem is gondolná az ember, hogy egy toolbar eltüntetése milyen komoly feladat, míg nem próbálta egyszerűen a hide() függvényt erre használni, ekkor az eltüntetés után a toolbar helye üresen marad és a panel body része nem változik. Ám ahhoz, hogy ez ne így legyen meglepően sok dolgot kell állítanunk.
Először is adjuk meg, hogy a toolbar méreteit másként számoljuk (ezt nem is értem, hogy miért nem ilyen alapértelmezetten), utána tüntessük el magát a toolbart (itt is megemlítendő, hogy a this.bbar az a this.getBottomToolbar().container -rel egyenlő, csakhogy ha az egyiket eltüntetjük, attól még a másik isVisible() függvény eredménye nem lesz hamis), ezután a panel méretét újraszámolhatjuk, és végül, ha a panel egy másik elembe van benne, akkor azt is újra kell rajzoltatni. Azaz:
hideBbar: function() {
if(!this.bbar) return;
this.bbar.setVisibilityMode(Ext.Element.DISPLAY);
this.bbar.hide();
this.getBottomToolbar().hide();
this.syncSize();
if (this.ownerCt) {
this.ownerCt.doLayout();
}
},
showBbar: function() {
if(!this.bbar) return;
this.bbar.setVisibilityMode(Ext.Element.DISPLAY);
this.bbar.show();
this.getBottomToolbar().show();
this.syncSize();
if (this.ownerCt) {
this.ownerCt.doLayout();
}
}
});
És persze a felső toolbarral is ugyanígy megoldható mindez.