this.setViewId(viewId);
this._defaultViewTitle = viewTitle;
this.setViewTitle(viewTitle);
- var viewSelection = new org.argeo.ria.components.ViewSelection(viewId);
- this.setViewSelection(viewSelection);
if(splitPaneData){
this.setSplitPaneData(splitPaneData);
}
+ this.setFocusable(true);
+ this.addListener("click", function(e){
+ this.fireDataEvent("changeFocus", this);
+ }, this);
this.createGui();
},
+ events : {
+ "changeFocus" : "qx.event.type.Data",
+ "changeSelection" : "qx.event.type.Event"
+ },
+
properties :
{
/**
* Human-readable title for this view
*/
viewTitle : {init:"", event:"changeViewTitle"},
- /**
- * Selection model for this view
- */
- viewSelection : { nullable:false, check:"org.argeo.ria.components.ViewSelection" },
/**
* Has its own scrollable content
*/
*/
},
+ getViewSelection : function(){
+ if(this.getContent()){
+ return this.getContent().getViewSelection();
+ }
+ return null;
+ },
+
+ contentExists : function(iViewId){
+ if(this.getContent()){
+ this.empty();
+ }
+ return false;
+ },
+
/**
* Sets the content of this pane.
* @param content {org.argeo.ria.components.IView} An IView implementation
*/
- _applyContent : function(content){
+ _applyContent : function(content){
if(content == null) return;
var addScrollable = (content.addScroll?content.addScroll():false);
if(addScrollable){
this.guiContent = content;
this.add(this.guiContent, {flex:1});
}
+ content.getViewSelection().addListener("changeSelection", function(e){
+ this.fireEvent("changeSelection");
+ }, this);
},
-
+ /**
+ * Adds a graphical component too the header of the view pane.
+ * It is added as "center" in the dock layout, and will override the view pane title label.
+ * For example, you can add your own title, or add a switch, or buttons, etc.
+ * @param component {qx.ui.core.Widget} The graphical component to add.
+ */
addHeaderComponent : function(component){
this.header.setPadding(4);
- this.header.add(component, {edge:"center"});
+ this.header.add(component, {edge:"center"});
+ component.setTextColor("#1a1a1a");
this.loadImage.setMargin(4);
},
org.argeo.ria.event.CommandsManager.getInstance().removeCommands(this.getCommands());
this.setCommands(null);
}
+ if(this.getContent()){
+ this.getContent().close();
+ }
this.setViewTitle(this._defaultViewTitle);
this.setContent(null);
+ },
+
+ focus : function(){
+ if(this.hasFocus) return;
+ this.setDecorator(new qx.ui.decoration.Single(1,"solid","#065fb2"));
+ this.fireEvent("changeSelection");
+ this.hasFocus = true;
+ },
+ blur : function(){
+ this.hasFocus = false;
+ this.setDecorator(new qx.ui.decoration.Single(1,"solid","#000"));
}
}