Bug 202382 [Forms] Behaviour of Section with fixed style changed between Eclipse 3.0 and 3.1 (and later)
Build ID: M20060118-1600 Steps To Reproduce: 1. Create a section and assign a shortcut: final Section addressSection = toolkit.createSection(this, SWT.NONE); addressSection.setText("&Adresse"); 2. Add a text field to the section final Composite nameComposite = toolkit.createComposite(addressComposite, SWT.NONE); toolkit.createLabel(nameComposite, "Name", SWT.NONE); final Text nameText = toolkit.createText(nameComposite, null, SWT.NONE); 3. Run this in a Eclipse 3.0 dialog. Pressing the shortcut key ALT-A moves the focus to the text input file nameText. 4. Run this in a Eclipse 3.1 dialog. Pressing the shortcut key ALT-A hides the section! More information: In the ExpandableComposite which is the base class of Section, there is always a TraverseListener added to the object. This TraverseListener always toggles the state of the section, even if isFixedStyle() returns true. To restore the old behaviour, simply call programmaticToggleState() only if isFixedSytle() returns false.
bundles/org.eclipse.ui.forms/src/org/eclipse/ui/forms/widgets/ExpandableComposite.java
/**
	 * Returns <samp>true </samp> if the composite is fixed i.e. cannot be
	 * expanded or collapsed. Fixed control will still contain the title,
	 * separator and description (if present) as well as the client, but will be
	 * in the permanent expanded state and the toggle affordance will not be
	 * shown.
	 * 
	 * @return <samp>true </samp> if the control is fixed in the expanded state,
	 *         <samp>false </samp> if it can be collapsed.
	 */
	protected boolean isFixedStyle() {
		return (expansionStyle & TWISTIE) == 0
				&& (expansionStyle & TREE_NODE) == 0;
	}
	/**
	 * Returns the text client control.
	 * 
	 * @return Returns the text client control if specified, or
	 *         <code>null</code> if not.
	 */
	public Control getTextClient() {
		return textClient;
	}
	/**
	 * Sets the text client control. Text client is a control that is a child of
	 * the expandable composite and is placed to the right of the text. It can
	 * be used to place small image hyperlinks. If more than one control is
	 * needed, use Composite to hold them. Care should be taken that the height
	 * of the control is comparable to the height of the text.
	 *