01: /*******************************************************************************
02: * Copyright (c) 2007 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
11: * bugfix in: 182800
12: ******************************************************************************/package org.eclipse.jface.viewers;
13:
14: /**
15: * @since 3.3
16: *
17: */
18: public abstract class FocusCellHighlighter {
19: private ColumnViewer viewer;
20:
21: /**
22: * @param viewer
23: */
24: public FocusCellHighlighter(ColumnViewer viewer) {
25: this .viewer = viewer;
26: }
27:
28: /**
29: * @return the focus cell
30: */
31: public ViewerCell getFocusCell() {
32: return viewer.getColumnViewerEditor().getFocusCell();
33: }
34:
35: /**
36: * Called by the framework when the focus cell has changed. Subclasses may
37: * extend.
38: *
39: * @param cell
40: * the new focus cell
41: * @deprecated use {@link #focusCellChanged(ViewerCell, ViewerCell)} instead
42: */
43: protected void focusCellChanged(ViewerCell cell) {
44: }
45:
46: /**
47: * Called by the framework when the focus cell has changed. Subclasses may
48: * extend.
49: * <p>
50: * <b>The default implementation for this method calls
51: * focusCellChanged(ViewerCell). Subclasses should override this method
52: * rather than {@link #focusCellChanged(ViewerCell)} .</b>
53: *
54: * @param newCell
55: * the new focus cell or <code>null</code> if no new cell
56: * receives the focus
57: * @param oldCell
58: * the old focus cell or <code>null</code> if no cell has been
59: * focused before
60: * @since 3.4
61: */
62: protected void focusCellChanged(ViewerCell newCell,
63: ViewerCell oldCell) {
64: focusCellChanged(newCell);
65: }
66:
67: /**
68: * This method is called by the framework to initialize this cell
69: * highlighter object. Subclasses may extend.
70: */
71: protected void init() {
72: }
73: }
|