KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > ui > internal > part > DelegatingFocusable


1 /*******************************************************************************
2  * Copyright (c) 2004, 2005 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.ui.internal.part;
12
13 import org.eclipse.ui.internal.components.framework.Components;
14 import org.eclipse.ui.internal.components.framework.IServiceProvider;
15 import org.eclipse.ui.internal.part.components.interfaces.IFocusable;
16 import org.eclipse.ui.internal.part.multiplexer.IDelegatingContext;
17
18 /**
19  * @since 3.1
20  */

21 public class DelegatingFocusable implements IFocusable {
22
23     private IDelegatingContext context;
24     
25     public DelegatingFocusable(IDelegatingContext context) {
26         this.context = context;
27     }
28     
29     /* (non-Javadoc)
30      * @see org.eclipse.ui.internal.part.components.interfaces.IFocusable#setFocus()
31      */

32     public boolean setFocus() {
33         IServiceProvider active = context.getActive();
34
35         if (active == null) {
36             return false;
37         }
38         
39         IFocusable focusable = (IFocusable)Components.getAdapter(active, IFocusable.class);
40         if (focusable == null) {
41             return false;
42         }
43         
44         return focusable.setFocus();
45     }
46
47 }
48
Popular Tags