/**
*
*/
package org.sinnlabs.dbvim.rules;
import org.sinnlabs.dbvim.rules.Default.DefaultRules;
import org.sinnlabs.dbvim.rules.engine.IRulable;
import org.sinnlabs.dbvim.rules.engine.RulesResult;
import org.sinnlabs.dbvim.rules.engine.exceptions.RulesException;
import org.sinnlabs.dbvim.ui.TableFieldProperties;
import org.sinnlabs.dbvim.ui.db.TableColumnField;
import org.sinnlabs.dbvim.ui.db.TableField;
import org.sinnlabs.dbvim.zk.model.IDeveloperStudio;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zul.Button;
/**
* Class represents TableField rules
* @author peter.liverovsky
*
*/
public class TableFieldRules implements IRulable {
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#applyPreCreationRules()
*/
@Override
public RulesResult applyPreCreationRules(IDeveloperStudio developer) throws RulesException {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#applyCreationRules(org.zkoss.zk.ui.Component)
*/
@Override
public RulesResult applyCreationRules(Component cmp, IDeveloperStudio developer) throws RulesException {
return null;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#applyModelToZUMLRules(org.zkoss.zk.ui.Component)
*/
@Override
public RulesResult applyModelToZUMLRules(Component cmp)
throws RulesException {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#applyComponentDisplayRules(org.zkoss.zk.ui.Component)
*/
@Override
public RulesResult applyComponentDisplayRules(Component cmp)
throws RulesException {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#applyCopyRules(org.zkoss.zk.ui.Component)
*/
@Override
public RulesResult applyCopyRules(Component source) throws RulesException {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#applyPrePasteRules(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
*/
@Override
public RulesResult applyPrePasteRules(Component clone, Component target)
throws RulesException {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#getModelToZUMLExcludedAttributes()
*/
@Override
public String[] getModelToZUMLExcludedAttributes() {
return new DefaultRules().getModelToZUMLExcludedAttributes();
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#getExcludedProperties()
*/
@Override
public String[] getExcludedProperties() {
return new DefaultRules().getExcludedProperties();
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#showChildren()
*/
@Override
public boolean showChildren() {
return false;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#exportChildrenToZUML()
*/
@Override
public boolean exportChildrenToZUML() {
return true;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#exportChildToZUML(org.zkoss.zk.ui.Component)
*/
@Override
public boolean exportChildToZUML(Component child) {
if (!(child instanceof TableColumnField))
return false;
return true;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#getSpecialProperties()
*/
@Override
public String[] getSpecialProperties() {
String[] props = new String[] { "tableColumns" };
return props;
}
/* (non-Javadoc)
* @see org.sinnlabs.dbvim.rules.engine.IRulable#getSpecialProperty(java.lang.String)
*/
@Override
public Component getSpecialProperty(final Component cmp, String name, IDeveloperStudio dev) {
Button edit = new Button("Edit");
final IDeveloperStudio developer = dev;
edit.addEventListener(Events.ON_CLICK, new EventListener<MouseEvent>() {
@Override
public void onEvent(MouseEvent arg0) throws Exception {
TableFieldProperties dialog = new TableFieldProperties((TableField)cmp);
developer.getDesigner().appendChild(dialog);
dialog.doModal();
}
});
return edit;
}
}