/******************************************************************************* * Copyright (c) 2007, 2012 Nokia and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Ericsson - initial implementation *******************************************************************************/ package org.eclipse.cdt.debug.ui.breakpointactions; import org.eclipse.cdt.debug.ui.breakpointactions.ReverseDebugAction.REVERSE_DEBUG_ACTIONS_ENUM; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; /** * @since 7.3 */ public class ReverseDebugActionComposite extends Composite { private Combo combo; public ReverseDebugActionComposite(Composite parent, int style, ReverseDebugActionPage page) { super(parent, style); final GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 3; setLayout(gridLayout); final Label reverseDebugActionLabel = new Label(this, SWT.NONE); reverseDebugActionLabel.setText(Messages.getString("ReverseDebugActionComposite.label")); //$NON-NLS-1$ // combo widget that lets the user select which reverse debug action to set combo = new Combo(this, SWT.READ_ONLY); combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); // add the available reverse debug actions to the combo drop-down list for(REVERSE_DEBUG_ACTIONS_ENUM elem : REVERSE_DEBUG_ACTIONS_ENUM.values()) { String option = elem.toString().toLowerCase(); combo.add(Messages.getString("ReverseDebugAction."+option)); //$NON-NLS-1$ } combo.select(0); } /** * @return The currently selected reverse debug action */ public REVERSE_DEBUG_ACTIONS_ENUM getOperation() { int index = combo.getSelectionIndex(); return REVERSE_DEBUG_ACTIONS_ENUM.getValue(index); } }