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

📄 tomcatprojectpropertypage.java

📁 一个学习eclipse插件开发的绝好入门程序
💻 JAVA
字号:
package com.sysdeo.eclipse.tomcat;

/*
 * (c) Copyright Martin Kahr, Sysdeo SA 2001, 2002.
 * All Rights Reserved.
 */

import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jface.preference.IPreferencePage;
import org.eclipse.jface.preference.PreferencePage;
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.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.dialogs.PropertyPage;

/**
 * provides a tab control with property pages for the 
 * settings of a tomcat project.
 * 
 * @version 	1.0
 * @author		Martin Kahr
 */
public class TomcatProjectPropertyPage extends PropertyPage implements IWorkbenchPreferencePage, TomcatPluginResources {

	private TabFolder folder;
	private TomcatProjectGeneralPropertyPage generalPropertyPage;
	private TomcatProjectWebclasspathPropertyPage webClassPathPropertyPage;
	private TomcatProjectWARPropertyPage warPropertyPage;

	/**
	 * @see PreferencePage#createContents(Composite)
	 */
	protected Control createContents(Composite parent) {
		folder = new TabFolder(parent, SWT.NONE);

//		folder.setLayout(new TabFolderLayout());
		folder.setLayoutData(new GridData(GridData.FILL_BOTH));

		// general property page
		generalPropertyPage = new TomcatProjectGeneralPropertyPage(this);
		// add to tab
		TabItem generalTab = new TabItem(folder, SWT.NONE);
		generalTab.setText(TomcatPluginResources.PROPERTIES_PAGE_PROJECT_GENERAL_TAB_LABEL);
		generalTab.setControl(generalPropertyPage.createContents(folder));

		// webclasspath property page
		webClassPathPropertyPage = new TomcatProjectWebclasspathPropertyPage(this);
		// add to tab
		TabItem webClassTab = new TabItem(folder, SWT.NONE);
		webClassTab.setText(TomcatPluginResources.PROPERTIES_PAGE_PROJECT_DEVLOADER_TAB_LABEL);
		webClassTab.setControl(webClassPathPropertyPage.getControl(folder));

		// war property page
		warPropertyPage = new TomcatProjectWARPropertyPage(this);
		// add to tab
		TabItem warTab = new TabItem(folder, SWT.NONE);
		warTab.setText(TomcatPluginResources.PROPERTIES_PAGE_PROJECT_WAR_TAB_LABEL);
		warTab.setControl(warPropertyPage.createContents(folder));

		return folder;
	}

	/**
	 * @see IPreferencePage#performOk()
	 */
	public boolean performOk() {
		// delegate to property pages
		if (generalPropertyPage.performOk()) {
			// check if it's a tomcat project any more 
			if (generalPropertyPage.isTomcatProjectChecked()) {
				if (webClassPathPropertyPage.performOk()) {
					try {
						this.getTomcatProject().updateContext();
					} catch (Exception ex) {
						TomcatLauncherPlugin.log(ex);
					}
				}
				warPropertyPage.performOk();
			}
		}
		return true;
	}

	/**
	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench)
	 */
	public void init(IWorkbench workbench) {
	}

	/* helper methods */
	protected IJavaProject getJavaProject() throws CoreException {
		IProject project = (IProject) (this.getElement().getAdapter(IProject.class));
		return (IJavaProject) (project.getNature(JavaCore.NATURE_ID));
	}
	protected TomcatProject getTomcatProject() throws CoreException {
		return TomcatProject.create(getJavaProject());
	}

}

⌨️ 快捷键说明

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