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
/**
	 * If this style is used, a twistie will be used to render the expansion
	 * toggle.
	 */
	public static final int TWISTIE = 1 << 1;
	/**
	 * If this style is used, a tree node with either + or - signs will be used
	 * to render the expansion toggle.
	 */
	public static final int TREE_NODE = 1 << 2;
	/**
	 * If this style is used, the title text will be rendered as a hyperlink
	 * that can individually accept focus. Otherwise, it will still act like a
	 * hyperlink, but only the toggle control will accept focus.
	 */
	public static final int FOCUS_TITLE = 1 << 3;
	/**
	 * If this style is used, the client origin will be vertically aligned with
	 * the title text. Otherwise, it will start at x = 0.
	 */
	public static final int CLIENT_INDENT = 1 << 4;
	/**
	 * If this style is used, computed size of the composite will take the
	 * client width into consideration only in the expanded state. Otherwise,
	 * client width will always be taken into acount.
	 */
	public static final int COMPACT = 1 << 5;
	/**
	 * If this style is used, the control will be created in the expanded state.
	 * This state can later be changed programmatically or by the user if