/**
* @version $Id: DataBaseViewLabelProvider.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $
*
* 2011/08/23 19:51:54
* @author kyohei-miyazato
*
* Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved.
*/
package com.tida_okinawa.corona.ui.views.db;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import com.tida_okinawa.corona.io.model.IClaimData;
import com.tida_okinawa.corona.io.model.ICoronaProject;
import com.tida_okinawa.corona.io.model.TextItem;
import com.tida_okinawa.corona.io.model.dic.DicType;
import com.tida_okinawa.corona.io.model.dic.ICoronaDic;
import com.tida_okinawa.corona.io.model.dic.IFlucDic;
import com.tida_okinawa.corona.io.model.dic.ILabelDic;
import com.tida_okinawa.corona.io.model.dic.IPatternDic;
import com.tida_okinawa.corona.io.model.dic.ISynonymDic;
import com.tida_okinawa.corona.io.model.dic.IUserDic;
import com.tida_okinawa.corona.io.model.dic.PatternType;
import com.tida_okinawa.corona.io.util.CoronaIoUtils;
import com.tida_okinawa.corona.ui.Icons;
import com.tida_okinawa.corona.ui.views.db.DataBaseViewContentProvider.DBViewFolder;
/**
*
* @author kyohei-miyazato
*/
public class DataBaseViewLabelProvider extends LabelProvider {
@Override
public String getText(Object element) {
if (element instanceof ICoronaDic) {
/* 辞書 */
return ((ICoronaDic) element).getName();
}
if (element instanceof IClaimData) {
/* 問い合わせデータ */
IClaimData claim = (IClaimData) element;
return Messages.bind(Messages.DataBaseViewLabelProvider_Claim_TableAndFile, CoronaIoUtils.getTableNameSuffix(claim.getTableName()),
claim.getFileName());
}
if (element instanceof ICoronaProject) {
/* プロジェクト */
return ((ICoronaProject) element).getName();
}
if (element instanceof TextItem) {
return ((TextItem) element).getText();
}
if (element instanceof DBViewFolder) {
return ((DBViewFolder) element).getFolderName();
}
return super.getText(element);
}
@Override
public Image getImage(Object element) {
/* 辞書 */
if (element instanceof ICoronaDic) {
if (element instanceof IUserDic) {
DicType type = ((IUserDic) element).getDicType();
switch (type) {
case COMMON: /* 一般辞書 */
return Icons.INSTANCE.get(Icons.IMG_DIC_COMMON);
case CATEGORY: /* 分野辞書 */
return Icons.INSTANCE.get(Icons.IMG_DIC_CATEGORY);
case SPECIAL: /* 固有辞書 */
return Icons.INSTANCE.get(Icons.IMG_DIC_SPECIAL);
case JUMAN: /* JUMAN辞書 */
return Icons.INSTANCE.get(Icons.IMG_DIC_JUMAN);
}
}
/* ゆらぎ辞書 */
if (element instanceof IFlucDic) {
return Icons.INSTANCE.get(Icons.IMG_DIC_FLUC);
}
/* ラベル辞書 */
if (element instanceof ILabelDic) {
return Icons.INSTANCE.get(Icons.IMG_DIC_LABEL);
}
/* 構文パターン辞書 */
if (element instanceof IPatternDic) {
return Icons.INSTANCE.get(Icons.IMG_DIC_PATTERN);
}
/* 同義語辞書 */
if (element instanceof ISynonymDic) {
return Icons.INSTANCE.get(Icons.IMG_DIC_SYNONYM);
}
}
/* プロジェクト */
if (element instanceof ICoronaProject) {
return Icons.INSTANCE.get(Icons.IMG_PROJECT);
}
if ((element instanceof PatternType) || (element instanceof TextItem)) {
return Icons.INSTANCE.get(Icons.IMG_OBJ_ITEM);
}
/* 問い合わせデータ */
if (element instanceof IClaimData) {
return Icons.INSTANCE.get(Icons.IMG_CLAIM);
}
if (element instanceof DBViewFolder) {
return Icons.INSTANCE.get(Icons.IMG_FOLDER);
}
return super.getImage(element);
}
}