/**
* Դ�������ƣ�IndexColumnLabelProvider.java
* �������Ȩ���������ӹɷ�����˾ ��Ȩ����
* ϵͳ���ƣ�JRES Studio
* ģ�����ƣ�com.hundsun.ares.studio.jres.database.oracle.ui
* ����˵����$desc
* ����ĵ���
* ���ߣ�����
*/
package com.hundsun.ares.studio.jres.database.oracle.ui.viewer;
import org.eclipse.emf.common.util.EList;
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Display;
import com.hundsun.ares.studio.core.IARESResource;
import com.hundsun.ares.studio.jres.model.database.oracle.OraclePackage;
import com.hundsun.ares.studio.jres.model.database.oracle.OraclePrivilege;
import com.hundsun.ares.studio.jres.model.database.oracle.impl.OracleUserImpl;
/**
* @author wangbin
*
*/
public class UserPrivilegeLabelProvider extends ColumnLabelProvider {
private int featureID;
private IARESResource resource;
public UserPrivilegeLabelProvider(int featureID , IARESResource resource) {
this.featureID = featureID;
this.resource = resource;
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
*/
@Override
public String getText(Object element) {
if(element instanceof OracleUserImpl){
if(featureID == OraclePackage.ORACLE_USER__PRIVILEGES){
EList<OraclePrivilege> oraclePrivilege = ((OracleUserImpl)element).getPrivileges();
StringBuffer buf = new StringBuffer();
for(int i = 0 , length = oraclePrivilege.size() ; i < oraclePrivilege.size(); i++){
buf.append(oraclePrivilege.get(i).getName());
if(i < length - 1){
buf.append(",");
}
}
return buf.toString();
}
}
return "";
}
@Override
public Color getBackground(Object element) {
if (resource.isReadOnly()) {
return Display.getDefault().getSystemColor(SWT.COLOR_GRAY);
}
return super.getBackground(element);
}
@Override
public String getToolTipText(Object element) {
return getText(element);
}
@Override
public int getToolTipDisplayDelayTime(Object object) {
return 100;
}
}