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

📄 hibernatecontentsection.java

📁 eclipse的hibernate插件,支持eclipse2.*版本
💻 JAVA
字号:
/* * 创建日期 2003-7-31 * * 更改所生成文件模板为 * 窗口 > 首选项 > Java > 代码生成 > 代码和注释 */package com.tanghan.plugin.hibernate.editor.formpages;import java.util.List;import java.util.Properties;import java.util.ResourceBundle;import org.apache.log4j.Logger;import org.eclipse.pde.core.IEditable;import org.eclipse.pde.core.IModel;import org.eclipse.pde.core.IModelChangedEvent;import org.eclipse.pde.internal.ui.editor.PDEFormPage;import org.eclipse.pde.internal.ui.editor.PDEFormSection;import org.eclipse.swt.SWT;import org.eclipse.swt.events.ModifyEvent;import org.eclipse.swt.events.ModifyListener;import org.eclipse.swt.graphics.Color;import org.eclipse.swt.layout.GridData;import org.eclipse.swt.layout.GridLayout;import org.eclipse.swt.widgets.Combo;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Label;import org.eclipse.swt.widgets.Text;import org.eclipse.update.ui.forms.internal.FormEntry;import org.eclipse.update.ui.forms.internal.FormWidgetFactory;import com.tanghan.plugin.TanghanPlugin;import com.tanghan.plugin.hibernate.editor.elements.ElementAttribute;import com.tanghan.plugin.hibernate.editor.elements.HibernateElementAttributes;import com.tanghan.plugin.hibernate.editor.elements.HibernateTreeObject;import com.tanghan.util.DealString;import com.tanghan.util.Log;/** * @author Jerry Tang * @version v0.1.0 * @copyright  (C) 2003 Tanghan Studio *  */public class HibernateContentSection extends PDEFormSection {	private static ResourceBundle res =		TanghanPlugin.getDefault().getResourceBundle();			private static Logger log = Log.getInstanse().getLogger(HibernateContentSection.class);		HibernateTreeObject hibernateElemObject ;	Composite container ;	protected FormWidgetFactory factory;	/**	 * @param formPage	 */	public HibernateContentSection(PDEFormPage formPage,HibernateTreeObject hibernateElemObject) {		super(formPage);		this.hibernateElemObject = hibernateElemObject;		setHeaderText(res.getString("Tanghan.Plugin.Hibernate.Edit.ElementSection.Title")); //$NON-NLS-1$		setDescription(res.getString("Tanghan.Plugin.Hibernate.Edit.ElementSection.Description")); //$NON-NLS-1$	}	/* (非 Javadoc)	 * @see org.eclipse.update.ui.forms.internal.FormSection#createClient(org.eclipse.swt.widgets.Composite, org.eclipse.update.ui.forms.internal.FormWidgetFactory)	 */	public Composite createClient(		Composite parent,		FormWidgetFactory factory) {		this.factory = factory;		container = factory.createComposite(parent);				GridLayout layout = new GridLayout();		layout.numColumns = 2;		layout.marginHeight = 2;		layout.marginWidth = 2;		container.setLayout(layout);					createAttributesForm(container,factory);		return container;	}	private void createAttributesForm(Composite parent,FormWidgetFactory factory){		if(hibernateElemObject!=null && hibernateElemObject.getObject()!=null){			final HibernateElementAttributes heAttr = (HibernateElementAttributes)hibernateElemObject.getObject();					List attList = heAttr.getAllAttributes();			final Properties prop = heAttr.getCurrentAttributes();					for(int i=0;i<attList.size();i++){				final ElementAttribute elemAtt = (ElementAttribute)attList.get(i);				String value = DealString.trim(prop.getProperty(elemAtt.getAttributeName()));					switch(elemAtt.getAttributeType()){					case ElementAttribute.BOOLEAN:					case ElementAttribute.ENUM:						createCombo(container, elemAtt.getAttributeName(),factory ,1,SWT.SINGLE | SWT.BORDER,elemAtt);						break;					default:						final Text txt = createText(container, elemAtt.getAttributeName(),factory ,1,SWT.SINGLE | SWT.BORDER);						if(elemAtt.isRequired()){							txt.setBackground(new Color(null,255,255,213));						}						txt.setText(value);						txt.addModifyListener(new ModifyListener(){							//String oldValue = "";							public void modifyText(ModifyEvent e){								if(!DealString.equals("",txt.getText())){ //$NON-NLS-1$									heAttr.getCurrentAttributes().setProperty(elemAtt.getAttributeName(), DealString.trim(txt.getText()));									heAttr.getElement().setAttribute(elemAtt.getAttributeName(), DealString.trim(txt.getText()));								}else{									heAttr.getCurrentAttributes().remove(elemAtt.getAttributeName());										heAttr.getElement().removeAttribute(elemAtt.getAttributeName());								}								forceDirty();								log.debug("forceDirty(txt)"); //$NON-NLS-1$							}						});						FormEntry titleText = new FormEntry(txt);						break;				}			}						//FormEntry titleText = new FormEntry(createText(container, hibernateElemObject.getName(),factory ,1,SWT.SINGLE | SWT.BORDER));		}		}	protected Combo createCombo(		Composite parent,		String label,		FormWidgetFactory factory,		int span,		int style,final ElementAttribute elemAtt) {		if((elemAtt.getAttributeType()!=ElementAttribute.BOOLEAN)&&(elemAtt.getAttributeType()!=ElementAttribute.ENUM)){			return null;		}		final HibernateElementAttributes heAttr = (HibernateElementAttributes)hibernateElemObject.getObject();		Label l = factory.createLabel(parent, label);		if ((style & SWT.MULTI) != 0) {			GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);			l.setLayoutData(gd);		}		final Combo combo =  new Combo(parent, SWT.READ_ONLY|SWT.DROP_DOWN);		if(!elemAtt.isRequired()){			combo.add(""); //$NON-NLS-1$		}		for(int i=0;i<elemAtt.getEnumData().length;i++){			combo.add(DealString.trim(elemAtt.getEnumData()[i]));		}		combo.setText(DealString.trim(elemAtt.getDefaultData()));				int hfill =GridData.HORIZONTAL_ALIGN_FILL;//			span == 1//				? GridData.FILL_HORIZONTAL//				: GridData.HORIZONTAL_ALIGN_FILL;//		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);		GridData gd = new GridData( GridData.VERTICAL_ALIGN_CENTER);		gd.horizontalSpan = span;		combo.setLayoutData(gd);		combo.addModifyListener(new ModifyListener(){		//String oldValue = "";		public void modifyText(ModifyEvent e){			if(!DealString.equals("",combo.getText())){ //$NON-NLS-1$				heAttr.getCurrentAttributes().setProperty(elemAtt.getAttributeName(), DealString.trim(combo.getText()));				heAttr.getElement().setAttribute(elemAtt.getAttributeName(), DealString.trim(combo.getText()));			}else{				heAttr.getCurrentAttributes().remove(elemAtt.getAttributeName());					heAttr.getElement().removeAttribute(elemAtt.getAttributeName());			}			forceDirty();			log.debug("forceDirty(combo)"); //$NON-NLS-1$		}	} );						return combo;	}	public void forceDirty() {		setDirty(true);		HibernateCFForm form = (HibernateCFForm)getFormPage().getForm();		form.getHibernateCFTreeSection().refreshTree(hibernateElemObject);		IModel model = (IModel)getFormPage().getModel();		if (model instanceof IEditable) {			IEditable editable = (IEditable)model;			editable.setDirty(true);			getFormPage().getEditor().fireSaveNeeded();		} 	}		/* (non-Javadoc)	 * @see org.eclipse.update.ui.forms.internal.FormSection#dispose()	 */	public void dispose() {		if ( !container.isDisposed() && !container.getParent().isDisposed() ) {			container.getParent().dispose();		} 		super.dispose();	}	/* (non-Javadoc)	 * @see org.eclipse.update.ui.forms.internal.FormSection#update()	 */	public void update() {		super.update();		this.reflow();	}	/* (非 Javadoc)	 * @see org.eclipse.pde.core.IModelChangedListener#modelChanged(org.eclipse.pde.core.IModelChangedEvent)	 */	public void modelChanged(IModelChangedEvent e) {		super.modelChanged(e);			}}

⌨️ 快捷键说明

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