⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logicalview.java

📁 eclise rcp 项目,是非常好的学习源码
💻 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.logical;import org.eclipse.jface.viewers.DoubleClickEvent;import org.eclipse.jface.viewers.IDoubleClickListener;import org.eclipse.jface.viewers.IStructuredSelection;import org.eclipse.jface.viewers.TreeViewer;import org.eclipse.swt.SWT;import org.eclipse.swt.layout.GridData;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Control;import org.eclipse.swt.widgets.Tree;import org.eclipse.swt.widgets.TreeColumn;import org.eclipse.ui.PartInitException;import org.eclipse.ui.part.ViewPart;import com.siemens.ct.mp3m.model.logical.Artists;import com.siemens.ct.mp3m.model.logical.ILogicalModelListener;import com.siemens.ct.mp3m.model.logical.Song;import com.siemens.ct.mp3m.ui.views.EditorFactory;import com.siemens.ct.mp3m.ui.views.PathEditorInput;/** * The logical view: Artists, Albums, Tracks + Titles *  * @author Kai Toedter * @author $LastChangedBy: toedter_k $ * @version $LastChangedDate: $ * @version $LastChangedRevision: $ */public class LogicalView extends ViewPart implements ILogicalModelListener {	public static final String ID = "com.siemens.ct.mp3m.ui.views.logical.LogicalView"; //$NON-NLS-1$	// The TableTreeViewer	TreeViewer treeViewer;	/**	 * Creates the main window's contents	 * 	 * @param parent	 *            the main window	 * 	 * @return Control	 */	@SuppressWarnings("deprecation")	protected Control createContents(Composite parent) {		// Create the table viewer to display the Artists		treeViewer = new TreeViewer(parent, SWT.FULL_SELECTION);		treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));		// Set the content and label providers		treeViewer.setContentProvider(new ArtistTreeContentProvider(this));		treeViewer.setLabelProvider(new ArtistTreeLabelProvider());		treeViewer.setInput(Artists.getArtists());		String[] columnTitles = { Messages.getString("LogicalView.Artist_Album_Song"),				Messages.getString("LogicalView.Track"), Messages.getString("LogicalView.Duration") };		Tree tree1 = treeViewer.getTree();		for (int i = 0; i < columnTitles.length; i++) {			TreeColumn treeColumn = new TreeColumn(tree1, SWT.NONE);			treeColumn.setText(columnTitles[i]);		}		tree1.setSortColumn(tree1.getColumn(0));		int columnCount = tree1.getColumnCount();		for (int i = 0; i < columnCount; i++) {			TreeColumn treeColumn = tree1.getColumn(i);			treeColumn.pack();		}		tree1.setHeaderVisible(true);		tree1.setLinesVisible(true);		// Set up the table		/*		 * Table table = ttv.getTree().getTable(); new TableColumn(table,		 * SWT.RIGHT).setText(Messages		 * .getString("LogicalView.Artist_Album_Song")); //$NON-NLS-1$ new		 * TableColumn(table,		 * SWT.LEFT).setText(Messages.getString("LogicalView.Track"));		 * //$NON-NLS-1$ new TableColumn(table,		 * SWT.LEFT).setText(Messages.getString("LogicalView.Duration"));		 * //$NON-NLS-1$		 *  // Expand everything ttv.expandAll();		 *  // Pack the columns for (int i = 0, n = table.getColumnCount(); i <		 * n; i++) { table.getColumn(i).pack(); }		 *  // Turn on the header and the lines table.setHeaderVisible(true);		 * table.setLinesVisible(true);		 */		return treeViewer.getTree();	}	// @Override	public void createPartControl(Composite parent) {		createContents(parent);		Mp3DoubleclickListener listener = new Mp3DoubleclickListener(this);		treeViewer.addDoubleClickListener(listener);		Artists.addModelChangeListener(this);		// getSite().getKeyBindingService().setScopes(new		// String[]{"com.siemens.ct.mp3manager.mp3ManagerContext"});		// //$NON-NLS-1$	}	// @Override	public void setFocus() {		treeViewer.getControl().setFocus();	}	class Mp3DoubleclickListener implements IDoubleClickListener {		private final LogicalView view;		/**		 * @param view		 *            the logical view		 */		Mp3DoubleclickListener(LogicalView view) {			this.view = view;		}		public void doubleClick(DoubleClickEvent event) {			IStructuredSelection selection = (IStructuredSelection) event.getSelection();			if (selection.getFirstElement() instanceof Song) {				Song title = ((Song) selection.getFirstElement());				final String fullPath = title.getFile();				if (fullPath != null) {					PathEditorInput pathEditorInput = new PathEditorInput(fullPath);					try {						this.view.getViewSite().getWorkbenchWindow().getActivePage().openEditor(								pathEditorInput, EditorFactory.getDefaultMp3EditorId());					} catch (PartInitException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}				}			}		}	}	/*	 * (non-Javadoc)	 * 	 * @see com.siemens.ct.mp3m.model.logical.ILogicalModelListener#modelChanged()	 */	public void modelChanged() {		treeViewer.setInput(Artists.getArtists());		treeViewer.refresh();	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -