summaryrefslogtreecommitdiff
path: root/odk/examples/java/Inspector/SwingTreeControlProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'odk/examples/java/Inspector/SwingTreeControlProvider.java')
-rw-r--r--odk/examples/java/Inspector/SwingTreeControlProvider.java427
1 files changed, 0 insertions, 427 deletions
diff --git a/odk/examples/java/Inspector/SwingTreeControlProvider.java b/odk/examples/java/Inspector/SwingTreeControlProvider.java
deleted file mode 100644
index bf00acd7..00000000
--- a/odk/examples/java/Inspector/SwingTreeControlProvider.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*************************************************************************
- *
- * The Contents of this file are made available subject to the terms of
- * the BSD license.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Sun Microsystems, Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *************************************************************************/
-
-import com.sun.star.beans.Property;
-import com.sun.star.beans.PropertyValue;
-import com.sun.star.lang.NullPointerException;
-import com.sun.star.reflection.XConstantTypeDescription;
-import com.sun.star.reflection.XIdlMethod;
-import com.sun.star.uno.AnyConverter;
-import com.sun.star.uno.Type;
-import java.awt.BorderLayout;
-import java.awt.Container;
-import java.awt.Dimension;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JProgressBar;
-import javax.swing.JScrollBar;
-import javax.swing.JScrollPane;
-import javax.swing.JSplitPane;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-import javax.swing.JTree;
-import javax.swing.event.TreeSelectionEvent;
-import javax.swing.event.TreeSelectionListener;
-import javax.swing.event.TreeWillExpandListener;
-import javax.swing.tree.DefaultTreeSelectionModel;
-import javax.swing.tree.ExpandVetoException;
-import javax.swing.tree.TreePath;
-import javax.swing.tree.TreeSelectionModel;
-
-
-
-public class SwingTreeControlProvider implements XTreeControlProvider{
- private JTextArea jtxtGeneratedSourceCode = new JTextArea();
- private JTextField jtxtFilter = new JTextField();
- private javax.swing.JLabel jlblFilter = new javax.swing.JLabel("Set a filter");
- private JPanel jPnlBottom = new JPanel(new BorderLayout());
- private JPanel jPanelProgress = new JPanel(new BorderLayout());
- private JPanel jPnlPath = new JPanel(new BorderLayout());
- private JLabel jLblPath = new JLabel("Generated source code");
- private JProgressBar jProgressBar1 = new JProgressBar();
- private JTree jTree = new javax.swing.JTree();
- private XDialogProvider m_xDialogProvider;
- private HideableTreeModel treeModel;
- private UnoTreeRenderer oUnoTreeRenderer;
- private InspectorPane m_oInspectorPane;
- private Object oUserDefinedObject = null;
- private boolean bIsUserDefined = false;
- private SwingUnoNode oRootNode;
-
- private final int nDIALOGWIDTH = 800;
-
-
-
- public SwingTreeControlProvider(XDialogProvider _xDialogProvider){
- m_xDialogProvider = _xDialogProvider;
- }
-
-
- public void addInspectorPane(InspectorPane _oInspectorPane){
- m_oInspectorPane = _oInspectorPane;
- }
-
- public InspectorPane getInspectorPane() throws NullPointerException{
- if (m_oInspectorPane == null){
- throw new NullPointerException("InspectorPage has not been added to TreeControl");
- }
- else{
- return m_oInspectorPane;
- }
- }
-
- private void ComponentSelector(Object _oRootObject, String _sRootTreeNodeName) {
- String sTreeNodeName = _sRootTreeNodeName;
- oRootNode = new SwingUnoNode(_oRootObject);
- oRootNode.setLabel(_sRootTreeNodeName);
- treeModel = new HideableTreeModel(oRootNode);
- jTree.setModel(treeModel);
- jTree.setRootVisible(true);
- jTree.setVisible(true);
- oRootNode.setFoldable(true);
- enableFilterElements(null);
- }
-
-
-
- private void insertTopPanel(JPanel _jPnlCenter){
- javax.swing.JPanel jPnlTop = new javax.swing.JPanel(new BorderLayout(10, 10));
- jPnlTop.setPreferredSize(new java.awt.Dimension(nDIALOGWIDTH, 20));
- jlblFilter.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
- jlblFilter.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
- jPnlTop.add(jlblFilter, java.awt.BorderLayout.WEST);
- jtxtFilter.setHorizontalAlignment(javax.swing.JTextField.LEFT);
- jtxtFilter.setPreferredSize(new java.awt.Dimension(200, 10));
- jtxtFilter.addKeyListener(new InspectorKeyFilterAdapter());
- jPnlTop.add(jtxtFilter, java.awt.BorderLayout.CENTER);
- _jPnlCenter.add(jPnlTop, java.awt.BorderLayout.NORTH);
- }
-
-
- private void insertBottomPanel(JSplitPane _jSplitPane){ //JPanel _jPnlCenter){
- jtxtGeneratedSourceCode.setTabSize(4);
- jtxtGeneratedSourceCode.getAccessibleContext().setAccessibleName("generated SourceCode");
- JScrollPane jScrollPane = new JScrollPane(jtxtGeneratedSourceCode);
- jScrollPane.setPreferredSize(new Dimension(nDIALOGWIDTH,205));
- jtxtGeneratedSourceCode.setEditable(false);
- _jSplitPane.setBottomComponent(jScrollPane);
- }
-
- private void insertBorderPanes(Container _cp){
- JPanel jPnlEast = new JPanel(new BorderLayout());
- JPanel jPnlNorth = new JPanel(new BorderLayout());
- JPanel jPnlSouth = new JPanel(new BorderLayout());
- JPanel jPnlWest = new JPanel(new BorderLayout());
- _cp.add(jPnlNorth, java.awt.BorderLayout.NORTH);
- jPnlWest.setPreferredSize(new java.awt.Dimension(10, 10));
- _cp.add(jPnlWest, java.awt.BorderLayout.WEST);
- jPnlEast.setPreferredSize(new java.awt.Dimension(10, 10));
- _cp.add(jPnlEast, java.awt.BorderLayout.EAST);
- jPnlSouth.setPreferredSize(new java.awt.Dimension(10, 10));
- _cp.add(jPnlSouth, java.awt.BorderLayout.SOUTH);
- }
-
-
- public String enableFilterElements(XUnoNode _oUnoNode){
- String sFilter ="";
- boolean bIsFacetteNode = isFacetteNode(_oUnoNode);
- this.jtxtFilter.setEnabled(bIsFacetteNode);
- this.jlblFilter.setEnabled(bIsFacetteNode);
- sFilter = m_oInspectorPane.getFilter(_oUnoNode);
- jtxtFilter.setText(sFilter);
- return sFilter;
- }
-
-
- private class InspectorKeyFilterAdapter extends KeyAdapter{
- public void keyReleased(KeyEvent e){
- String sFilter = jtxtFilter.getText();
- SwingTreePathProvider oSwingTreePathProvider = new SwingTreePathProvider(jTree.getSelectionPath());
- XUnoNode oUnoNode = oSwingTreePathProvider.getLastPathComponent();
- if (oUnoNode instanceof XUnoFacetteNode){
- m_oInspectorPane.applyFilter((XUnoFacetteNode) oUnoNode, sFilter);
- }
- }
- }
-
-
-
- /** Inspect the given object for methods, properties, interfaces, and
- * services.
- * @param a The object to inspect
- * @throws RuntimeException If
- */
- public Object inspect(java.lang.Object _oUserDefinedObject, String _sTitle) throws com.sun.star.uno.RuntimeException {
- JPanel jPnlContainer = new javax.swing.JPanel(new BorderLayout(10, 10));
- try {
- javax.swing.JPanel jPnlCenter = new javax.swing.JPanel();
- bIsUserDefined = (_oUserDefinedObject != null);
- if (bIsUserDefined){
- oUserDefinedObject = _oUserDefinedObject;
- m_oInspectorPane.setTitle(_sTitle);
- }
- javax.swing.JScrollPane jScrollPane1 = new javax.swing.JScrollPane();
- TreeSelectionModel tsm = new DefaultTreeSelectionModel();
- tsm.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
- jTree.setSelectionModel(tsm);
- jTree.setVisible(false);
- jPnlCenter.setLayout(new java.awt.BorderLayout(10, 10));
- jPnlCenter.getAccessibleContext().setAccessibleName("inspection tab view");
- insertTopPanel(jPnlCenter);
- jScrollPane1.setViewportView(jTree);
- jScrollPane1.setPreferredSize(new java.awt.Dimension(600, 600));
- jScrollPane1.getAccessibleContext().setAccessibleName("API view scroll pane");
-
- JScrollBar jHScrollBar = jScrollPane1.createHorizontalScrollBar();
- jHScrollBar.getAccessibleContext().setAccessibleName("API view horizontal scroll bar");
- jScrollPane1.setHorizontalScrollBar(jHScrollBar);
-
- JScrollBar jVScrollBar = jScrollPane1.createVerticalScrollBar();
- jVScrollBar.getAccessibleContext().setAccessibleName("API view vertical scroll bar");
- jScrollPane1.setVerticalScrollBar(jVScrollBar);
-
- JSplitPane jSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
- jSplitPane.setTopComponent(jScrollPane1);
- jPnlCenter.add(jSplitPane, java.awt.BorderLayout.CENTER);
- jSplitPane.setDividerLocation(500);
- insertBottomPanel(jSplitPane);
- UnoTreeRenderer oUnoTreeRenderer = new UnoTreeRenderer();
- jTree.setCellRenderer(oUnoTreeRenderer);
- jTree.addTreeSelectionListener(
- new TreeSelectionListener() {
- public void valueChanged(TreeSelectionEvent event) {
- TreePath tp = event.getNewLeadSelectionPath();
- if (tp != null){
- XUnoNode oUnoNode = getSelectedNode();
- String sFilter = enableFilterElements(oUnoNode);
- }
- }
- }
- );
- // Add KeyListener for help
- jTree.addKeyListener( new java.awt.event.KeyAdapter() {
- public void keyReleased(java.awt.event.KeyEvent event) {
- if ( event.getKeyCode() == KeyEvent.VK_F1 ) {
- // function key F1 pressed
- TreePath aTreePath = jTree.getSelectionPath();
- SwingUnoNode oUnoNode = (SwingUnoNode) aTreePath.getLastPathComponent();
- oUnoNode.openIdlDescription(m_xDialogProvider.getIDLPath());
- }
- }
- });
- jTree.addMouseListener(new MouseAdapter() {
- public void mousePressed (MouseEvent e) {
- if (e.isPopupTrigger()){
- m_oInspectorPane.showPopUpMenu(e.getComponent(), e.getX(), e.getY());
- }
- //unfortunately under Windows the method "isPopupTrigger" always returns false
- else if ((e.getModifiersEx() & MouseEvent.BUTTON3_DOWN_MASK) == MouseEvent.BUTTON3_DOWN_MASK){
- m_oInspectorPane.showPopUpMenu(e.getComponent(), e.getX(), e.getY());
- }
- }
- });
- jPnlContainer.add(jPnlCenter, java.awt.BorderLayout.CENTER);
- insertBorderPanes(jPnlContainer);
- if (this.bIsUserDefined){
- ComponentSelector(oUserDefinedObject, m_oInspectorPane.getTitle());
- }
- m_xDialogProvider.addInspectorPage(m_oInspectorPane.getTitle(), jPnlContainer);
- addTreeExpandListener();
- }
- catch( Exception exception ) {
- exception.printStackTrace(System.out);
- }
- return jPnlContainer;
- }
-
- public HideableTreeModel getModel(){
- return treeModel;
- }
-
-
- public void addTreeExpandListener(){
- jTree.addTreeWillExpandListener(
- new TreeWillExpandListener() {
- public void treeWillExpand(javax.swing.event.TreeExpansionEvent event) throws javax.swing.tree.ExpandVetoException {
- SwingTreePathProvider oSwingTreePathProvider = new SwingTreePathProvider(event.getPath());
- XUnoNode oUnoNode = oSwingTreePathProvider.getLastPathComponent();
- if (!m_oInspectorPane.expandNode(oUnoNode, oSwingTreePathProvider)){
- throw new ExpandVetoException(event);
- }
- }
-
- public void treeWillCollapse( javax.swing.event.TreeExpansionEvent evt) throws javax.swing.tree.ExpandVetoException {
- }
- });
- }
-
-
- public void setSourceCode(String _sSourceCode){
- jtxtGeneratedSourceCode.setText(_sSourceCode);
- }
-
-
- public XTreePathProvider getSelectedPath(){
- return new SwingTreePathProvider(jTree.getSelectionPath());
- }
-
-
- public void expandPath(XTreePathProvider _xTreePathProvider) throws ClassCastException{
- SwingTreePathProvider oSwingTreePathProvider = (SwingTreePathProvider) _xTreePathProvider;
- jTree.expandPath(oSwingTreePathProvider.getSwingTreePath());
- }
-
-
- public XUnoNode getSelectedNode(){
- XUnoNode oUnoNode = null;
- TreePath aTreePath = jTree.getSelectionPath();
- Object oNode = aTreePath.getLastPathComponent();
- if (oNode instanceof XUnoNode){
- oUnoNode = (XUnoNode) oNode;
- }
- return oUnoNode;
- }
-
-
- public void nodeInserted(XUnoNode _oParentNode, XUnoNode _oChildNode, int index) {
- getModel().nodeInserted(_oParentNode, _oChildNode, _oParentNode.getChildCount()-1);
- }
-
-
- public void nodeChanged(XUnoNode _oNode) {
- getModel().nodeChanged(_oNode);
- }
-
-
- public boolean setNodeVisible(Object node, boolean v) {
- return getModel().setNodeVisible(node, v);
- }
-
-
- public boolean isPropertyNode(XUnoNode _oUnoNode){
- return (_oUnoNode instanceof SwingUnoPropertyNode);
- }
-
-
- public boolean isMethodNode(XUnoNode _oUnoNode){
- return (_oUnoNode instanceof SwingUnoMethodNode);
- }
-
-
- public boolean isFacetteNode(XUnoNode _oUnoNode){
- return (_oUnoNode instanceof SwingUnoFacetteNode);
- }
-
-
- public XUnoNode addUnoNode(Object _oUnoObject){
- return new SwingUnoNode(_oUnoObject);
- }
-
-
- public XUnoNode addUnoNode(Object _oUnoObject, Type _aType){
- return new SwingUnoNode(_oUnoObject, _aType);
- }
-
-
- public XUnoFacetteNode addUnoFacetteNode(XUnoNode _oParentNode, String _sNodeDescription, Object _oUnoObject){
- SwingUnoFacetteNode oSwingUnoFacetteNode = new SwingUnoFacetteNode(_oUnoObject);
- oSwingUnoFacetteNode.setLabel(_sNodeDescription);
- if (_oParentNode != null){
- ((SwingUnoNode) _oParentNode).addChildNode(oSwingUnoFacetteNode);
- }
- return oSwingUnoFacetteNode;
- }
-
-
- public XUnoMethodNode addMethodNode(Object _objectElement, XIdlMethod _xIdlMethod){
- SwingUnoMethodNode oSwingUnoMethodNode = new SwingUnoMethodNode(_xIdlMethod, _objectElement, m_xDialogProvider);
- return oSwingUnoMethodNode;
- }
-
-
- public XUnoPropertyNode addUnoPropertyNodeWithName(Property _aProperty){
- SwingUnoPropertyNode oUnoPropertyNode = new SwingUnoPropertyNode(_aProperty);
- oUnoPropertyNode.setLabel("Name: " + _aProperty.Name);
- return oUnoPropertyNode;
- }
-
-
- public XUnoPropertyNode addUnoPropertyNodeWithHandle(Property _aProperty){
- SwingUnoPropertyNode oUnoPropertyNode = new SwingUnoPropertyNode(_aProperty);
- oUnoPropertyNode.setLabel("Handle: " + _aProperty.Handle);
- return oUnoPropertyNode;
- }
-
-
- public XUnoPropertyNode addUnoPropertyNodeWithType(Property _aProperty){
- SwingUnoPropertyNode oUnoPropertyNode = new SwingUnoPropertyNode(_aProperty);
- oUnoPropertyNode.setLabel("Type: " + _aProperty.Type.getTypeName());
- return oUnoPropertyNode;
- }
-
-
- public XUnoPropertyNode addUnoPropertyNodeWithAttributesDescription(Property _aProperty){
- SwingUnoPropertyNode oUnoPropertyNode = new SwingUnoPropertyNode(_aProperty);
- XConstantTypeDescription[] xPropertyAttributesTypeDescriptions = Introspector.getIntrospector().getFieldsOfConstantGroup("com.sun.star.beans.PropertyAttribute");
- String sDisplay = Introspector.getIntrospector().getConstantDisplayString((int) _aProperty.Attributes, xPropertyAttributesTypeDescriptions, "Attributes: ");
- oUnoPropertyNode.setLabel(sDisplay);
- return oUnoPropertyNode;
- }
-
-
- public XUnoPropertyNode addUnoPropertyNode(Object _oUnoObject, Property _aProperty){
- SwingUnoPropertyNode oUnoPropertyNode = new SwingUnoPropertyNode(_aProperty, _oUnoObject, null);
- oUnoPropertyNode.setPropertyNodeType(XUnoPropertyNode.nPROPERTYSETINFOTYPE);
- oUnoPropertyNode.setLabel(UnoPropertyNode.getStandardPropertyDescription(_aProperty, null));
- return oUnoPropertyNode;
- }
-
-
- public XUnoPropertyNode addUnoPropertyNode(Object _oUnoObject, Property _aProperty, Object _oUnoReturnObject){
- SwingUnoPropertyNode oUnoPropertyNode = new SwingUnoPropertyNode(_aProperty, _oUnoObject, _oUnoReturnObject);
- oUnoPropertyNode.setLabel(UnoPropertyNode.getStandardPropertyDescription(_aProperty, _oUnoReturnObject));
- return oUnoPropertyNode;
- }
-
-
- public XUnoPropertyNode addUnoPropertyNode(Object _oUnoObject, PropertyValue _aPropertyValue, Object _oReturnObject){
- SwingUnoPropertyNode oUnoPropertyNode = new SwingUnoPropertyNode(_aPropertyValue, _oUnoObject, _oReturnObject);
- oUnoPropertyNode.setLabel(UnoPropertyNode.getStandardPropertyValueDescription(_aPropertyValue));
- return oUnoPropertyNode;
- }
-}