/** * Դ�������ƣ�OracleUserBasicPage.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.oracle.ui * ����˵����$desc * ����ĵ��� * ���ߣ����� */ package com.hundsun.ares.studio.jres.database.oracle.ui.editors; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.layout.GridLayoutFactory; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.events.ExpansionEvent; import org.eclipse.ui.forms.events.IExpansionListener; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.Section; import com.hundsun.ares.studio.jres.database.oracle.ui.editors.blocks.OracleUserBlock; import com.hundsun.ares.studio.jres.database.oracle.ui.editors.blocks.OracleUserPrivilegeBlock; import com.hundsun.ares.studio.ui.editor.EMFFormEditor; import com.hundsun.ares.studio.ui.editor.EMFFormPage; import com.hundsun.ares.studio.ui.editor.blocks.FormWidgetUtils; /** * @author wangbin */ public class OracleUserBasicPage extends EMFFormPage { //Block private OracleUserBlock userListBlock; private OracleUserPrivilegeBlock userPowerBlock; /** * @param editor * @param id * @param title */ public OracleUserBasicPage(EMFFormEditor editor, String id, String title) { super(editor, id, title); } /** * ����Oracle�û��б����� * @param parent * @param toolkit * @return */ protected Section createColumnSection(Composite parent, FormToolkit toolkit) { Section section = toolkit.createSection(parent, FormWidgetUtils.getDefaultSectionStyles()); section.setText("Oracle�û��б�"); userListBlock = new OracleUserBlock(getEditingDomain(), getEditor().getARESResource(), getProblemPool()); userListBlock.setEditableControl(getEditableControl()); userListBlock.createControl(section, toolkit); getEditor().getActionBarContributor().addGlobalActionHandlerProvider(userListBlock); addPropertyListener(userListBlock); getEditingDomain().getCommandStack().addCommandStackListener(userListBlock); section.setClient(userListBlock.getControl()); return section; } /** * ����Oracle�û�Ȩ������ * @param parent * @param toolkit * @return */ protected Section createIndexSection(Composite parent, FormToolkit toolkit) { Section section = toolkit.createSection(parent, FormWidgetUtils.getDefaultSectionStyles()); section.setText("Oracle�û�Ȩ��"); userPowerBlock = new OracleUserPrivilegeBlock(getEditingDomain(), getEditor().getARESResource(), getProblemPool()); userPowerBlock.setEditableControl(getEditableControl()); userPowerBlock.createControl(section, toolkit); getEditor().getActionBarContributor().addGlobalActionHandlerProvider(userPowerBlock); addPropertyListener(userPowerBlock); getEditingDomain().getCommandStack().addCommandStackListener(userPowerBlock); section.setClient(userPowerBlock.getControl()); return section; } @Override protected void doCreateFormContent(IManagedForm managedForm) { final Composite composite = managedForm.getForm().getBody(); FormToolkit toolkit = managedForm.getToolkit(); managedForm.getForm().setText(getTitle()); toolkit.decorateFormHeading(managedForm.getForm().getForm()); final Section columnSection = createColumnSection(composite, toolkit); final Section indexSection = createIndexSection(composite, toolkit); GridLayoutFactory.swtDefaults().applyTo(composite); GridDataFactory.fillDefaults().grab(true, true).applyTo(columnSection); GridDataFactory.fillDefaults().grab(true, true).applyTo(indexSection); columnSection.addExpansionListener(new IExpansionListener() { @Override public void expansionStateChanging(ExpansionEvent e) { } @Override public void expansionStateChanged(ExpansionEvent e) { ((GridData)columnSection.getLayoutData()).grabExcessVerticalSpace = columnSection.isExpanded(); composite.layout(); } }); indexSection.addExpansionListener(new IExpansionListener() { @Override public void expansionStateChanging(ExpansionEvent e) { } @Override public void expansionStateChanged(ExpansionEvent e) { ((GridData)indexSection.getLayoutData()).grabExcessVerticalSpace = indexSection.isExpanded(); composite.layout(); } }); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.ui.form.EMFFormPage#infoChange() */ @Override public void infoChange() { userListBlock.setInput(getInfo()); userPowerBlock.setInput(getInfo()); super.infoChange(); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.ui.form.EMFFormPage#dispose() */ @Override public void dispose() { removePropertyListener(userListBlock); getEditingDomain().getCommandStack().removeCommandStackListener(userListBlock); removePropertyListener(userPowerBlock); getEditingDomain().getCommandStack().removeCommandStackListener(userPowerBlock); super.dispose(); } }