| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| package ov; |
| |
| import javax.swing.JPanel; |
| |
| import com.sun.star.accessibility.XAccessibleContext; |
| |
| /** This is the base class for all object views that can be placed inside an |
| object view container. |
| |
| <p>When provided with a new accessible object the container will call |
| the Create method to create a new instance when certain conditions are |
| met. It then calls SetObject to pass the object to the instance. |
| Finally it calls Update.</p> |
| |
| <p>The SetObject and Update methods may be called for a new object |
| without calling Create first. In this way an existing instance is |
| recycled.</p> |
| */ |
| abstract public class ObjectView |
| extends JPanel |
| { |
| /** This factory method creates a new instance of the (derived) class |
| when the given accessible object supports all necessary features. |
| In the ususal case this will be the support of a specific |
| accessibility interface. |
| */ |
| static public ObjectView Create ( |
| ObjectViewContainer aContainer, |
| XAccessibleContext xContext) |
| { |
| return null; |
| } |
| |
| public ObjectView (ObjectViewContainer aContainer) |
| { |
| maContainer = aContainer; |
| mxContext = null; |
| } |
| |
| /** Call this when you want the object to be destroyed. Release all |
| resources when called. |
| */ |
| public void Destroy () |
| { |
| } |
| |
| /** Tell the view to display information for a new accessible object. |
| @param xObject |
| The given object may be null. A typical behaviour in this case |
| would be to display a blank area. But is also possible to show |
| information about the last object. |
| */ |
| public void SetObject (XAccessibleContext xContext) |
| { |
| mxContext = xContext; |
| Update (); |
| } |
| |
| |
| /** This is a request of a repaint with the current state of the current |
| object. The current object may or may not be the same as the one |
| when Update() was called the last time. |
| */ |
| public void Update () |
| { |
| } |
| |
| |
| /** Return a string that is used as a title of an enclosing frame. |
| */ |
| abstract public String GetTitle (); |
| |
| /// Reference to the current object to display information about. |
| protected XAccessibleContext mxContext; |
| |
| protected ObjectViewContainer maContainer; |
| } |