1765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/*******************************************************************************
2765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Copyright (c) 2011 Google, Inc.
3765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * All rights reserved. This program and the accompanying materials
4765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * are made available under the terms of the Eclipse Public License v1.0
5765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * which accompanies this distribution, and is available at
6765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * http://www.eclipse.org/legal/epl-v10.html
7765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye *
8765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Contributors:
9765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye *    Google, Inc. - initial API and implementation
10765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye *******************************************************************************/
11765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepackage org.eclipse.wb.internal.core.model.property.editor.presentation;
12765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye
13765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.wb.core.controls.CFlatButton;
14765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.wb.internal.core.model.property.Property;
15765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.wb.internal.core.model.property.table.PropertyTable;
16765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye
17765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.SWT;
18765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.widgets.Control;
19765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye
20765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/**
21765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Internal implementation of {@link PropertyEditorPresentation} for displaying special owner-draw
22765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * button for Mac OSX.
23765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye *
24765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @author mitin_aa
25765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @coverage core.model.property.editor
26765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */
27765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyefinal class ButtonPropertyEditorPresentationImplMac extends ButtonPropertyEditorPresentationImpl {
28765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  ////////////////////////////////////////////////////////////////////////////
29765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  //
30765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  // Constructor
31765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  //
32765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  ////////////////////////////////////////////////////////////////////////////
33765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  public ButtonPropertyEditorPresentationImplMac(ButtonPropertyEditorPresentation presentation) {
34765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    super(presentation);
35765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  }
36765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye
37765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  ////////////////////////////////////////////////////////////////////////////
38765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  //
39765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  // Control
40765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  //
41765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  ////////////////////////////////////////////////////////////////////////////
42765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  @Override
43765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  protected final Control createControlImpl(final PropertyTable propertyTable, Property property) {
44765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    CFlatButton button = new CFlatButton(propertyTable, SWT.NONE);
45765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    button.setImage(getPresentation().getImage());
46765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    button.setToolTipText(getPresentation().getTooltip());
47765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    return button;
48765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  }
49765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye
50765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  @Override
51765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  public final void setSelection(PropertyTable propertyTable, Property property, boolean selected) {
52765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    CFlatButton button = (CFlatButton) m_propertyToControl.get(propertyTable, property);
53765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    if (button != null) {
54765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye      button.setSelected(selected);
55765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye    }
56765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye  }
57765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye}
58