fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / toolkit / test / accessibility / ov / ObjectView.java
blobfa128c85ad3a4d15503da4791124fabcf2f84749
1 /*
2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 package ov;
21 import javax.swing.JPanel;
23 import com.sun.star.accessibility.XAccessibleContext;
25 /** This is the base class for all object views that can be placed inside an
26 object view container.
28 <p>When provided with a new accessible object the container will call
29 the Create method to create a new instance when certain conditions are
30 met. It then calls SetObject to pass the object to the instance.
31 Finally it calls Update.</p>
33 <p>The SetObject and Update methods may be called for a new object
34 without calling Create first. In this way an existing instance is
35 recycled.</p>
37 abstract public class ObjectView
38 extends JPanel
40 /** This factory method creates a new instance of the (derived) class
41 when the given accessible object supports all necessary features.
42 In the ususal case this will be the support of a specific
43 accessibility interface.
45 static public ObjectView Create (
46 ObjectViewContainer aContainer,
47 XAccessibleContext xContext)
49 return null;
52 public ObjectView (ObjectViewContainer aContainer)
54 maContainer = aContainer;
55 mxContext = null;
58 /** Call this when you want the object to be destroyed. Release all
59 resources when called.
61 public void Destroy ()
65 /** Tell the view to display information for a new accessible object.
66 @param xObject
67 The given object may be null. A typical behaviour in this case
68 would be to display a blank area. But is also possible to show
69 information about the last object.
71 public void SetObject (XAccessibleContext xContext)
73 mxContext = xContext;
74 Update ();
78 /** This is a request of a repaint with the current state of the current
79 object. The current object may or may not be the same as the one
80 when Update() was called the last time.
82 public void Update ()
87 /** Return a string that is used as a title of an enclosing frame.
89 abstract public String GetTitle ();
91 /// Reference to the current object to display information about.
92 protected XAccessibleContext mxContext;
94 protected ObjectViewContainer maContainer;