KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > rcp > composite > ExpandableWrapperComposite


1 /*
2  * Created on Jun 1, 2005
3  * by alex
4  *
5  */

6 package com.nightlabs.rcp.composite;
7
8 import org.eclipse.swt.widgets.Composite;
9 import org.eclipse.ui.forms.events.ExpansionEvent;
10 import org.eclipse.ui.forms.events.IExpansionListener;
11 import org.eclipse.ui.forms.widgets.ExpandableComposite;
12
13 /**
14  * @author Alexander Bieber <alex[AT]nightlabs[DOT]de>
15  *
16  */

17 public class ExpandableWrapperComposite extends ExpandableComposite {
18
19     
20     private IExpansionListener expansionListener = new IExpansionListener(){
21         public void expansionStateChanging(ExpansionEvent e) {
22         }
23         public void expansionStateChanged(ExpansionEvent e) {
24             getParent().layout(true);
25             getParent().redraw();
26         }
27     };
28     
29     /**
30      * @param arg0
31      * @param arg1
32      */

33     public ExpandableWrapperComposite(Composite parent, int style) {
34         this(parent, style, ExpandableComposite.TWISTIE);
35     }
36
37     /**
38      *
39      * @param parent
40      * @param style
41      * @param expansionStyle
42      */

43     public ExpandableWrapperComposite(Composite parent, int style, int expansionStyle) {
44         super(parent, style, expansionStyle);
45         setBackground(parent.getBackground());
46 // setForeground(parent.getForeground());
47
addExpansionListener();
48     }
49     
50     public void addExpansionListener() {
51         addExpansionListener(expansionListener);
52     }
53
54     public void removeExpansionListener() {
55         removeExpansionListener(expansionListener);
56     }
57 }
58
Popular Tags