/**
* Դ�������ƣ�ShowCategoryAction.java
* �������Ȩ���������ӹɷ�����˾ ��Ȩ����
* ϵͳ���ƣ�JRES Studio
* ģ�����ƣ�com.hundsun.ares.studio.jres.metadata.ui
* ����˵����Ԫ�����û��༭��UIչ����ع���
* ����ĵ���
* ���ߣ�
*/
package com.hundsun.ares.studio.jres.metadata.ui.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.viewers.ColumnViewer;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import com.hundsun.ares.studio.jres.metadata.ui.viewer.MetadataTreeContentProvider;
/**
* ������ʾ����
* @author gongyf
*
*/
public class ShowCategoryAction extends Action {
private ColumnViewer viewer;
/**
* @param viewer
*/
public ShowCategoryAction(ColumnViewer viewer) {
super("Show Category", AS_CHECK_BOX);
this.viewer = viewer;
setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER));
setId(IMetadataActionIDConstant.CV_SHOW_CATEGORY);
IContentProvider provider = getViewer().getContentProvider();
if (provider instanceof MetadataTreeContentProvider ) {
boolean showCategory = ((MetadataTreeContentProvider) provider).isShowCategory();
setChecked(showCategory);
}
}
@Override
public String getText() {
boolean showCategory = false;
IContentProvider provider = getViewer().getContentProvider();
if (provider instanceof MetadataTreeContentProvider ) {
showCategory = ((MetadataTreeContentProvider) provider).isShowCategory();
}
return showCategory ? "���ط���" : "��ʾ����";
}
/**
* @return the viewer
*/
public ColumnViewer getViewer() {
return viewer;
}
/* (non-Javadoc)
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
IContentProvider provider = getViewer().getContentProvider();
if (provider instanceof MetadataTreeContentProvider ) {
boolean showCategory = ((MetadataTreeContentProvider) provider).isShowCategory();
if (showCategory) {
((MetadataTreeContentProvider) provider).setShowCategory(false);
} else {
((MetadataTreeContentProvider) provider).setShowCategory(true);
}
}
getViewer().refresh();
// 2012��2��15��15:59:24 ��Ҷ��
// BUG #2449::���ֶε�Ԫ������Դ�Ҽ��˵�����ʾ���顱���Ʋ���
// ��Ҫ��ʽ�����ı�
setText(getText());
}
}