📄 adapterfactory.java
字号:
/*******************************************************************************
* Copyright (c) 2007 Siemens AG
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Kai T鰀ter - initial API and implementation
*******************************************************************************/
package com.siemens.ct.mp3m.ui.views;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.model.IWorkbenchAdapter;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import com.siemens.ct.mp3m.model.physical.Mp3Directory;
import com.siemens.ct.mp3m.model.physical.Mp3File;
public class AdapterFactory implements IAdapterFactory {
private final String ID = "com.siemens.ct.mp3m.ui.views"; //$NON-NLS-1$
private IWorkbenchAdapter directoryAdapter = new IWorkbenchAdapter() {
public Object getParent(Object o) {
return ((Mp3Directory) o).getDirectory();
}
public String getLabel(Object o) {
Mp3Directory directory = ((Mp3Directory) o);
Mp3File[] entries = directory.getMp3Files();
if(directory.isContentsInitialized()) {
return directory.getName() + " (" + entries.length + ")"; //$NON-NLS-1$ //$NON-NLS-2$
} else {
return directory.getName() + " " + Messages.getString("AdapterFactory.FetchingContent"); //$NON-NLS-1$
}
}
public ImageDescriptor getImageDescriptor(Object object) {
return AbstractUIPlugin.imageDescriptorFromPlugin(ID, IImageKeys.FOLDER);
}
public Object[] getChildren(Object o) {
return ((Mp3Directory) o).getMp3Files();
}
};
private IWorkbenchAdapter entryAdapter = new IWorkbenchAdapter() {
public Object getParent(Object o) {
return ((Mp3File) o).getDirectory();
}
public String getLabel(Object o) {
Mp3File entry = ((Mp3File) o);
return entry.getName();
}
public ImageDescriptor getImageDescriptor(Object object) {
return AbstractUIPlugin.imageDescriptorFromPlugin(ID, IImageKeys.MP3);
}
public Object[] getChildren(Object o) {
return new Object[0];
}
};
@SuppressWarnings("unchecked") //$NON-NLS-1$
public Object getAdapter(Object adaptableObject, Class adapterType) {
if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof Mp3Directory)
return directoryAdapter;
if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof Mp3File)
return entryAdapter;
return null;
}
@SuppressWarnings("unchecked") //$NON-NLS-1$
public Class[] getAdapterList() {
return new Class[] { IWorkbenchAdapter.class };
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -