|
From: Matthias K <mat...@us...> - 2006-04-24 20:41:09
|
Update of /cvsroot/jcommander/plugins/org.jcommander.ui.filepanel/src/org/jcommander/ui/filepanel/dialogs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22997/src/org/jcommander/ui/filepanel/dialogs Modified Files: CustomConfirmDialogComposite.java Added Files: HideableComposite.java Log Message: Extracted the functions to show/hide a composite into new class HidableComposite --- NEW FILE: HideableComposite.java --- /** * */ package org.jcommander.ui.filepanel.dialogs; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; /** * @author MatthiasK * */ public class HideableComposite{ protected Composite composite; protected Composite contents=null; private boolean visible; private int height; /** * @param parent * @param style */ public HideableComposite(Composite parent, int style) { composite = new Composite(parent, style); GridLayout compositeLayout = new GridLayout(); compositeLayout.marginWidth=0; compositeLayout.marginHeight=1; composite.setLayout(compositeLayout); } protected void appear(){ if (!visible) { Point p = composite.getShell().getSize(); contents = new Composite(composite,SWT.NONE); GridData contentsData = new GridData(); contentsData.horizontalAlignment=SWT.FILL; contentsData.grabExcessHorizontalSpace=true; contents.setLayoutData(contentsData); GridLayout contentsLayout = new GridLayout(); contents.setLayout(contentsLayout); createContents(contents); composite.getShell().pack(); height=composite.getSize().y; composite.getShell().setSize(p.x, p.y+height); visible=true; } } protected void disappear(){ if (visible) { contents.dispose(); contents=null; Shell shell = composite.getShell(); shell.setSize(shell.getSize().x, shell.getSize().y-height); visible=false; } } protected void createContents(Composite parent){ } public void setLayoutData(Object layoutData){ composite.setLayoutData(layoutData); } public boolean isVisible() { return visible; } public void setVisible(boolean visible) { if (visible) { appear(); } else { disappear(); } } } Index: CustomConfirmDialogComposite.java =================================================================== RCS file: /cvsroot/jcommander/plugins/org.jcommander.ui.filepanel/src/org/jcommander/ui/filepanel/dialogs/CustomConfirmDialogComposite.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CustomConfirmDialogComposite.java 17 Apr 2006 17:58:31 -0000 1.4 --- CustomConfirmDialogComposite.java 24 Apr 2006 20:40:58 -0000 1.5 *************** *** 151,154 **** --- 151,155 ---- //b.setVisible(true); composite.layout(true); + //detailsComposite.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_RED)); Point p = detailsContent.getSize(); detailsHeight = p.y; |