package com.cari.voip.keyboard.soft.adapter.switchUsers;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.model.IWorkbenchAdapter;
import com.cari.voip.keyboard.soft.Activator;
import com.cari.voip.keyboard.soft.model.switchUsers.SwitchUsersTreeEntry;
import com.cari.voip.keyboard.soft.model.switchUsers.SwitchUsersTreeGroup;
public class SwitchUsersTreeAdapterFactory implements IAdapterFactory {
private IWorkbenchAdapter groupAdapter = new IWorkbenchAdapter(){
public Object getParent(Object o){
//return ((SwitchUsersTreeGroup)o).getParent();
return null;
}
public String getLabel(Object o){
int entriesNum = ((SwitchUsersTreeGroup)o).getEntries().length;
return ((SwitchUsersTreeGroup)o).getName()+"["+Integer.toString(entriesNum)+"]";
}
public ImageDescriptor getImageDescriptor(Object object){
return Activator.getImageDescriptor("icons/all_sc_obj.gif");
}
public Object[] getChildren(Object o){
return ((SwitchUsersTreeGroup)o).getEntries();
}
};
private IWorkbenchAdapter entryAdapter = new IWorkbenchAdapter(){
public Object getParent(Object o){
//return ((SwitchUsersTreeEntry)o).getParent();
return null;
}
public String getLabel(Object o){
return ((SwitchUsersTreeEntry)o).getName();
}
public ImageDescriptor getImageDescriptor(Object object){
return Activator.getImageDescriptor("icons/telephone16.png");
}
public Object[] getChildren(Object o){
return new Object[0];
}
};
@Override
public Object getAdapter(Object adaptableObject, Class adapterType) {
if(adapterType == IWorkbenchAdapter.class){
if(adaptableObject instanceof SwitchUsersTreeGroup){
return this.groupAdapter;
}
if(adaptableObject instanceof SwitchUsersTreeEntry){
return this.entryAdapter;
}
}
return null;
}
@Override
public Class[] getAdapterList() {
return new Class[]{IWorkbenchAdapter.class};
}
}