* Map of commands definition
* @see org.argeo.ria.event.Command
*/
- commands : {init : null, nullable:true, check:"Map"}
+ commands : {init : null, nullable:true, check:"Map"},
+ /**
+ * The real business content.
+ */
+ content : {
+ init: null,
+ nullable : true,
+ check : "org.argeo.ria.components.IView",
+ apply : "_applyContent"
+ }
},
/*
this.setLayout(new qx.ui.layout.VBox());
this.header = new qx.ui.container.Composite();
this.header.setLayout(new qx.ui.layout.Dock());
- this.header.set({appearance:"app-header"});
+ this.loadImage = new qx.ui.basic.Image('resource/slc/ajax-loader.gif');
+ this.header.set({appearance:"app-header", height:34});
this.headerLabel = new qx.ui.basic.Label(this.getViewTitle());
this.header.add(this.headerLabel, {edge:"west"});
this.addListener("changeViewTitle", function(e){
- this.headerLabel.setContent(e.getData());
+ var newTitle = e.getData();
+ if(newTitle != ""){
+ this.headerLabel.setContent(newTitle);
+ if(e.getOldData() == ""){
+ this.header.add(this.headerLabel, {edge:"west"});
+ }
+ }else{
+ this.header.remove(this.headerLabel);
+ }
}, this);
this.add(this.header);
this.setDecorator(new qx.ui.decoration.Single(1,"solid","#000"));
* Sets the content of this pane.
* @param content {org.argeo.ria.components.IView} An IView implementation
*/
- setContent : function(content){
+ _applyContent : function(content){
+ if(content == null) return;
var addScrollable = (content.addScroll?content.addScroll():false);
if(addScrollable){
this.setOwnScrollable(true);
this.scrollable = new qx.ui.container.Scroll(content);
this.add(this.scrollable, {flex: 1});
}else{
- this.content = content;
- this.add(this.content, {flex:1});
+ this.guiContent = content;
+ this.add(this.guiContent, {flex:1});
}
},
+
+ addHeaderComponent : function(component){
+ this.header.setPadding(4);
+ this.header.add(component, {edge:"center"});
+ this.loadImage.setMargin(4);
+ },
/**
* Implementation of the ILoadStatusable interface.
* @param load {Boolean} The loading status
*/
setOnLoad : function(load){
- if(!this.loadImage){
- this.loadImage = new qx.ui.basic.Image('resource/slc/ajax-loader.gif');
- }
if(load){
this.header.add(this.loadImage, {edge:"east"});
}else{
empty: function(){
if(this.getOwnScrollable() && this.scrollable){
this.remove(this.scrollable);
- }else if(this.content){
- this.remove(this.content);
+ }else if(this.guiContent){
+ this.remove(this.guiContent);
}
if(this.getCommands()){
org.argeo.ria.event.CommandsManager.getInstance().removeCommands(this.getCommands());
this.setCommands(null);
}
this.setViewTitle(this._defaultViewTitle);
+ this.setContent(null);
}
}