1*34dd1e25SAndrew Rist /**************************************************************
2*34dd1e25SAndrew Rist  *
3*34dd1e25SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*34dd1e25SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*34dd1e25SAndrew Rist  * distributed with this work for additional information
6*34dd1e25SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*34dd1e25SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*34dd1e25SAndrew Rist  * "License"); you may not use this file except in compliance
9*34dd1e25SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*34dd1e25SAndrew Rist  *
11*34dd1e25SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*34dd1e25SAndrew Rist  *
13*34dd1e25SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*34dd1e25SAndrew Rist  * software distributed under the License is distributed on an
15*34dd1e25SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*34dd1e25SAndrew Rist  * KIND, either express or implied.  See the License for the
17*34dd1e25SAndrew Rist  * specific language governing permissions and limitations
18*34dd1e25SAndrew Rist  * under the License.
19*34dd1e25SAndrew Rist  *
20*34dd1e25SAndrew Rist  *************************************************************/
21*34dd1e25SAndrew Rist 
22*34dd1e25SAndrew Rist 
23cdf0e10cSrcweir import com.sun.star.reflection.XIdlMethod;
24cdf0e10cSrcweir import com.sun.star.uno.TypeClass;
25cdf0e10cSrcweir import java.awt.event.ActionEvent;
26cdf0e10cSrcweir import java.awt.event.ActionListener;
27cdf0e10cSrcweir import java.util.Vector;
28cdf0e10cSrcweir 
29cdf0e10cSrcweir 
30cdf0e10cSrcweir 
31cdf0e10cSrcweir public class SwingUnoMethodNode extends SwingUnoNode implements ActionListener, XUnoMethodNode{
32cdf0e10cSrcweir 
33cdf0e10cSrcweir     private UnoMethodNode m_oUnoMethodNode;
34cdf0e10cSrcweir     private XDialogProvider m_xDialogProvider = null;
35cdf0e10cSrcweir 
SwingUnoMethodNode(XIdlMethod _xIdlMethod, Object _oUnoObject, XDialogProvider _xDialogProvider)36cdf0e10cSrcweir     public SwingUnoMethodNode(XIdlMethod _xIdlMethod, Object _oUnoObject, XDialogProvider _xDialogProvider) {
37cdf0e10cSrcweir         super(_oUnoObject);
38cdf0e10cSrcweir         m_oUnoMethodNode = new UnoMethodNode(_xIdlMethod, _oUnoObject, this);
39cdf0e10cSrcweir         m_xDialogProvider = _xDialogProvider;
40cdf0e10cSrcweir         setUserObject(m_oUnoMethodNode.getNodeDescription());
41cdf0e10cSrcweir         if (m_oUnoMethodNode.isFoldable()){
42cdf0e10cSrcweir             setFoldable(true);
43cdf0e10cSrcweir         }
44cdf0e10cSrcweir     }
45cdf0e10cSrcweir 
isFoldable()46cdf0e10cSrcweir     public boolean isFoldable(){
47cdf0e10cSrcweir         return m_oUnoMethodNode.isFoldable();
48cdf0e10cSrcweir     }
49cdf0e10cSrcweir 
getName()50cdf0e10cSrcweir     public String getName(){
51cdf0e10cSrcweir         return m_oUnoMethodNode.getName();
52cdf0e10cSrcweir     }
53cdf0e10cSrcweir 
getClassName()54cdf0e10cSrcweir     public String getClassName(){
55cdf0e10cSrcweir         String sClassName = "";
56cdf0e10cSrcweir         sClassName = getXIdlMethod().getDeclaringClass().getName();
57cdf0e10cSrcweir         if (sClassName.equals("")){
58cdf0e10cSrcweir             sClassName = super.getClassName();
59cdf0e10cSrcweir         }
60cdf0e10cSrcweir         return sClassName;
61cdf0e10cSrcweir     }
62cdf0e10cSrcweir 
getAnchor()63cdf0e10cSrcweir     public String getAnchor(){
64cdf0e10cSrcweir         return m_oUnoMethodNode.getAnchor();
65cdf0e10cSrcweir     }
66cdf0e10cSrcweir 
invoke(Object _oUnoObject, Object[] _oParameters)67cdf0e10cSrcweir     public Object invoke(Object _oUnoObject, Object[] _oParameters) throws com.sun.star.uno.Exception{
68cdf0e10cSrcweir         return m_oUnoMethodNode.invoke(_oUnoObject, _oParameters);
69cdf0e10cSrcweir     }
70cdf0e10cSrcweir 
71cdf0e10cSrcweir 
getLastParameterObjects()72cdf0e10cSrcweir     public Object[] getLastParameterObjects(){
73cdf0e10cSrcweir         return m_oUnoMethodNode.getLastParameterObjects();
74cdf0e10cSrcweir     }
75cdf0e10cSrcweir 
getLastUnoReturnObject()76cdf0e10cSrcweir     public Object getLastUnoReturnObject(){
77cdf0e10cSrcweir         return m_oUnoMethodNode.getLastUnoReturnObject();
78cdf0e10cSrcweir     }
79cdf0e10cSrcweir 
getTypeClass()80cdf0e10cSrcweir     public TypeClass getTypeClass() {
81cdf0e10cSrcweir         return m_oUnoMethodNode.getTypeClass();
82cdf0e10cSrcweir     }
83cdf0e10cSrcweir 
getXIdlMethod()84cdf0e10cSrcweir     public XIdlMethod getXIdlMethod() {
85cdf0e10cSrcweir         return m_oUnoMethodNode.getXIdlMethod();
86cdf0e10cSrcweir     }
87cdf0e10cSrcweir 
hasParameters()88cdf0e10cSrcweir     public boolean hasParameters() {
89cdf0e10cSrcweir         return m_oUnoMethodNode.hasParameters();
90cdf0e10cSrcweir     }
91cdf0e10cSrcweir 
invoke()92cdf0e10cSrcweir     public Object invoke()  throws com.sun.star.uno.Exception{
93cdf0e10cSrcweir         return m_oUnoMethodNode.invoke();
94cdf0e10cSrcweir     }
95cdf0e10cSrcweir 
isInvoked()96cdf0e10cSrcweir     public boolean isInvoked() {
97cdf0e10cSrcweir         return m_oUnoMethodNode.isInvoked();
98cdf0e10cSrcweir     }
99cdf0e10cSrcweir 
isInvokable()100cdf0e10cSrcweir     public boolean isInvokable(){
101cdf0e10cSrcweir         return m_oUnoMethodNode.isInvokable();
102cdf0e10cSrcweir     }
103cdf0e10cSrcweir 
isPrimitive()104cdf0e10cSrcweir     public boolean isPrimitive() {
105cdf0e10cSrcweir         return m_oUnoMethodNode.isPrimitive();
106cdf0e10cSrcweir     }
107cdf0e10cSrcweir 
actionPerformed(ActionEvent e)108cdf0e10cSrcweir     public void actionPerformed(ActionEvent e){
109cdf0e10cSrcweir         openIdlDescription(m_xDialogProvider.getIDLPath());
110cdf0e10cSrcweir     }
111cdf0e10cSrcweir 
getMethodObjects()112cdf0e10cSrcweir     public Vector getMethodObjects(){
113cdf0e10cSrcweir         MethodParametersDialog oMethodParametersDialog = new MethodParametersDialog(this);
114cdf0e10cSrcweir         oMethodParametersDialog.addActionListener(this);
115cdf0e10cSrcweir         return oMethodParametersDialog.getMethodObjects();
116cdf0e10cSrcweir     }
117cdf0e10cSrcweir 
118cdf0e10cSrcweir 
getParameterDescription()119cdf0e10cSrcweir     public String getParameterDescription(){
120cdf0e10cSrcweir         return m_oUnoMethodNode.getParameterDescription();
121cdf0e10cSrcweir     }
122cdf0e10cSrcweir 
123cdf0e10cSrcweir 
getStandardMethodDescription()124cdf0e10cSrcweir     public String getStandardMethodDescription(){
125cdf0e10cSrcweir         return m_oUnoMethodNode.getStandardMethodDescription();
126cdf0e10cSrcweir     }
127cdf0e10cSrcweir }