summaryrefslogtreecommitdiff
path: root/scripting/examples/java/selector/ScriptSelector.java
diff options
context:
space:
mode:
Diffstat (limited to 'scripting/examples/java/selector/ScriptSelector.java')
-rw-r--r--scripting/examples/java/selector/ScriptSelector.java242
1 files changed, 106 insertions, 136 deletions
diff --git a/scripting/examples/java/selector/ScriptSelector.java b/scripting/examples/java/selector/ScriptSelector.java
index e0ff41e65cdf..ed3cfd441ab5 100644
--- a/scripting/examples/java/selector/ScriptSelector.java
+++ b/scripting/examples/java/selector/ScriptSelector.java
@@ -63,25 +63,23 @@ public class ScriptSelector {
private ScriptSelectorPanel selectorPanel;
- public ScriptSelector()
- {
+ public ScriptSelector() {
}
- public void showOrganizer(final XScriptContext ctxt)
- {
+ public void showOrganizer(final XScriptContext ctxt) {
try {
XBrowseNode root = getRootNode(ctxt);
final XScriptProvider msp =
(XScriptProvider)UnoRuntime.queryInterface(
- XScriptProvider.class, root);
+ XScriptProvider.class, root);
final JFrame client = new JFrame("Script");
selectorPanel = new ScriptSelectorPanel(root);
final JButton runButton, closeButton, createButton,
- editButton, deleteButton;
+ editButton, deleteButton;
runButton = new JButton("Run");
runButton.setEnabled(false);
@@ -111,27 +109,24 @@ public class ScriptSelector {
southButtons.add(deleteButton);
selectorPanel.tree.addTreeSelectionListener(
- new TreeSelectionListener() {
- public void valueChanged(TreeSelectionEvent e) {
- XBrowseNode xbn = selectorPanel.getSelection();
- XPropertySet props = (XPropertySet)
- UnoRuntime.queryInterface(XPropertySet.class, xbn);
-
- checkEnabled(props, "Creatable", createButton);
- checkEnabled(props, "Deletable", deleteButton);
- checkEnabled(props, "Editable", editButton);
-
- if (xbn != null &&
- xbn.getType() == BrowseNodeTypes.SCRIPT)
- {
- runButton.setEnabled(true);
- }
- else
- {
- runButton.setEnabled(false);
- }
+ new TreeSelectionListener() {
+ public void valueChanged(TreeSelectionEvent e) {
+ XBrowseNode xbn = selectorPanel.getSelection();
+ XPropertySet props = (XPropertySet)
+ UnoRuntime.queryInterface(XPropertySet.class, xbn);
+
+ checkEnabled(props, "Creatable", createButton);
+ checkEnabled(props, "Deletable", deleteButton);
+ checkEnabled(props, "Editable", editButton);
+
+ if (xbn != null &&
+ xbn.getType() == BrowseNodeTypes.SCRIPT) {
+ runButton.setEnabled(true);
+ } else {
+ runButton.setEnabled(false);
}
}
+ }
);
ActionListener listener = new ActionListener() {
@@ -149,36 +144,31 @@ public class ScriptSelector {
num[0] = new short[0];
script.invoke(new Object[0], num, out);
- }
- catch (Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
}
- }
- else if (event.getSource() == closeButton) {
+ } else if (event.getSource() == closeButton) {
client.dispose();
- }
- else if (event.getSource() == editButton) {
+ } else if (event.getSource() == editButton) {
DefaultMutableTreeNode node =
- (DefaultMutableTreeNode)
- selectorPanel.tree.getLastSelectedPathComponent();
+ (DefaultMutableTreeNode)
+ selectorPanel.tree.getLastSelectedPathComponent();
if (node == null) return;
showEditor(ctxt, node);
- }
- else if (event.getSource() == createButton) {
+ } else if (event.getSource() == createButton) {
DefaultMutableTreeNode node =
- (DefaultMutableTreeNode)
- selectorPanel.tree.getLastSelectedPathComponent();
+ (DefaultMutableTreeNode)
+ selectorPanel.tree.getLastSelectedPathComponent();
if (node == null) return;
doCreate(ctxt, node);
- }
- else if (event.getSource() == deleteButton) {
+ } else if (event.getSource() == deleteButton) {
DefaultMutableTreeNode node =
- (DefaultMutableTreeNode)
- selectorPanel.tree.getLastSelectedPathComponent();
+ (DefaultMutableTreeNode)
+ selectorPanel.tree.getLastSelectedPathComponent();
if (node == null) return;
@@ -217,114 +207,96 @@ public class ScriptSelector {
client.setLocation(x, y);
client.show();
- }
- catch (com.sun.star.uno.RuntimeException rue) {
+ } catch (com.sun.star.uno.RuntimeException rue) {
rue.printStackTrace();
- }
- catch (java.lang.Exception e) {
+ } catch (java.lang.Exception e) {
e.printStackTrace();
}
}
public void showOrganizer(final XScriptContext ctxt,
- final com.sun.star.awt.MouseEvent e)
- {
+ final com.sun.star.awt.MouseEvent e) {
showOrganizer(ctxt);
}
public void showOrganizer(final XScriptContext ctxt,
- final com.sun.star.awt.ActionEvent e)
- {
+ final com.sun.star.awt.ActionEvent e) {
showOrganizer(ctxt);
}
private void doDelete(
- XScriptContext ctxt, DefaultMutableTreeNode node)
- {
+ XScriptContext ctxt, DefaultMutableTreeNode node) {
Object obj = node.getUserObject();
XInvocation inv =
(XInvocation)UnoRuntime.queryInterface(
- XInvocation.class, obj);
+ XInvocation.class, obj);
Object[] args = new Object[] { ctxt };
+
try {
Object result = inv.invoke("Deletable", args,
- new short[1][0], new Object[1][0]);
+ new short[1][0], new Object[1][0]);
- if (result != null && AnyConverter.toBoolean(result) == true)
- {
+ if (result != null && AnyConverter.toBoolean(result) == true) {
selectorPanel.removeNode(node);
}
- }
- catch (Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
private void doCreate(
- XScriptContext ctxt, DefaultMutableTreeNode node)
- {
+ XScriptContext ctxt, DefaultMutableTreeNode node) {
Object obj = node.getUserObject();
XInvocation inv =
(XInvocation)UnoRuntime.queryInterface(
- XInvocation.class, obj);
+ XInvocation.class, obj);
Object[] args = new Object[] { ctxt };
+
try {
Object result = inv.invoke("Creatable", args,
- new short[1][0], new Object[1][0]);
+ new short[1][0], new Object[1][0]);
- if (result != null)
- {
+ if (result != null) {
XBrowseNode xbn = (XBrowseNode)
- AnyConverter.toObject(new Type(XBrowseNode.class), result);
+ AnyConverter.toObject(new Type(XBrowseNode.class), result);
selectorPanel.addNode(node, xbn);
}
- }
- catch (Exception e) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
private void showEditor(
- XScriptContext ctxt, DefaultMutableTreeNode node)
- {
+ XScriptContext ctxt, DefaultMutableTreeNode node) {
Object obj = node.getUserObject();
XInvocation inv =
(XInvocation)UnoRuntime.queryInterface(
- XInvocation.class, obj);
+ XInvocation.class, obj);
Object[] args = new Object[] { ctxt };
+
try {
inv.invoke("Editable", args,
- new short[1][0], new Object[1][0]);
- }
- catch (Exception e) {
+ new short[1][0], new Object[1][0]);
+ } catch (Exception e) {
e.printStackTrace();
}
}
private void checkEnabled(XPropertySet props, String name,
- JButton button)
- {
+ JButton button) {
boolean enable = false;
- try
- {
- if (props != null)
- {
+ try {
+ if (props != null) {
Object o = props.getPropertyValue(name);
enable = AnyConverter.toBoolean(
- props.getPropertyValue(name));
+ props.getPropertyValue(name));
}
- }
- catch (com.sun.star.lang.IllegalArgumentException iae)
- {
+ } catch (com.sun.star.lang.IllegalArgumentException iae) {
// leave enable set to false
- }
- catch (com.sun.star.beans.UnknownPropertyException upe)
- {
+ } catch (com.sun.star.beans.UnknownPropertyException upe) {
// leave enable set to false
- }
- catch (com.sun.star.lang.WrappedTargetException wte)
- {
+ } catch (com.sun.star.lang.WrappedTargetException wte) {
// leave enable set to false
}
@@ -339,12 +311,13 @@ public class ScriptSelector {
XComponentContext xcc = ctxt.getComponentContext();
XMultiComponentFactory xmcf = xcc.getServiceManager();
XBrowseNodeFactory xBrowseFac = (XBrowseNodeFactory)
- UnoRuntime.queryInterface( XBrowseNodeFactory.class, xcc.getValueByName(
- "/singletons/com.sun.star.script.browse.theBrowseNodeFactory") );
+ UnoRuntime.queryInterface(XBrowseNodeFactory.class, xcc.getValueByName(
+ "/singletons/com.sun.star.script.browse.theBrowseNodeFactory"));
result = (XBrowseNode)UnoRuntime.queryInterface(
- XBrowseNode.class, xBrowseFac.createView( BrowseNodeFactoryViewTypes.MACROORGANIZER ) );
+ XBrowseNode.class, xBrowseFac.createView(
+ BrowseNodeFactoryViewTypes.MACROORGANIZER));
return result;
}
}
@@ -356,15 +329,14 @@ class ScriptSelectorPanel extends JPanel {
public JTree tree;
public DefaultTreeModel treeModel;
- public ScriptSelectorPanel(XBrowseNode root)
- {
+ public ScriptSelectorPanel(XBrowseNode root) {
this.myrootnode = root;
initUI();
}
public XBrowseNode getSelection() {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)
- tree.getLastSelectedPathComponent();
+ tree.getLastSelectedPathComponent();
if (node == null) {
return null;
@@ -377,11 +349,11 @@ class ScriptSelectorPanel extends JPanel {
setLayout(new BorderLayout());
DefaultMutableTreeNode top =
- new DefaultMutableTreeNode(myrootnode) {
- public String toString() {
- return ((XBrowseNode)getUserObject()).getName();
- }
- };
+ new DefaultMutableTreeNode(myrootnode) {
+ public String toString() {
+ return ((XBrowseNode)getUserObject()).getName();
+ }
+ };
initNodes(myrootnode, top);
treeModel = new DefaultTreeModel(top);
tree = new JTree(treeModel);
@@ -389,13 +361,13 @@ class ScriptSelectorPanel extends JPanel {
tree.setCellRenderer(new ScriptTreeRenderer());
tree.getSelectionModel().setSelectionMode
- (TreeSelectionModel.SINGLE_TREE_SELECTION);
+ (TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
XBrowseNode xbn = getSelection();
XPropertySet props = (XPropertySet)UnoRuntime.queryInterface(
- XPropertySet.class, xbn);
+ XPropertySet.class, xbn);
if (xbn == null) {
textField.setText("");
@@ -403,16 +375,16 @@ class ScriptSelectorPanel extends JPanel {
}
String str = xbn.getName();
- if (xbn.getType() == BrowseNodeTypes.SCRIPT && props != null)
- {
+
+ if (xbn.getType() == BrowseNodeTypes.SCRIPT && props != null) {
try {
str = AnyConverter.toString(
- props.getPropertyValue("URI"));
- }
- catch (Exception ignore) {
+ props.getPropertyValue("URI"));
+ } catch (Exception ignore) {
// default will be used
}
}
+
textField.setText(str);
}
});
@@ -426,6 +398,7 @@ class ScriptSelectorPanel extends JPanel {
public void removeNode(DefaultMutableTreeNode node) {
MutableTreeNode parent = (MutableTreeNode)(node.getParent());
+
if (parent != null) {
treeModel.removeNodeFromParent(node);
}
@@ -433,19 +406,18 @@ class ScriptSelectorPanel extends JPanel {
public void addNode(DefaultMutableTreeNode parent, XBrowseNode xbn) {
DefaultMutableTreeNode newNode =
- new DefaultMutableTreeNode(xbn) {
- public String toString() {
- return ((XBrowseNode)getUserObject()).getName();
- }
- };
+ new DefaultMutableTreeNode(xbn) {
+ public String toString() {
+ return ((XBrowseNode)getUserObject()).getName();
+ }
+ };
treeModel.insertNodeInto(newNode, parent, parent.getChildCount());
tree.scrollPathToVisible(new TreePath(newNode.getPath()));
}
private void initNodes(XBrowseNode parent, DefaultMutableTreeNode top) {
- if ( parent == null || parent.hasChildNodes() == false )
- {
+ if (parent == null || parent.hasChildNodes() == false) {
return;
}
@@ -454,22 +426,21 @@ class ScriptSelectorPanel extends JPanel {
try {
if (children != null) {
for (int i = 0; i < children.length; i++) {
- if ( children[i] == null )
- {
+ if (children[i] == null) {
continue;
}
+
DefaultMutableTreeNode newNode =
- new DefaultMutableTreeNode(children[i]) {
- public String toString() {
- return ((XBrowseNode)getUserObject()).getName();
- }
- };
+ new DefaultMutableTreeNode(children[i]) {
+ public String toString() {
+ return ((XBrowseNode)getUserObject()).getName();
+ }
+ };
top.add(newNode);
initNodes(children[i], newNode);
}
}
- }
- catch (java.lang.Exception e) {
+ } catch (java.lang.Exception e) {
e.printStackTrace();
}
}
@@ -488,28 +459,27 @@ class ScriptTreeRenderer extends DefaultTreeCellRenderer {
}
public Component getTreeCellRendererComponent(
- JTree tree,
- Object value,
- boolean sel,
- boolean expanded,
- boolean leaf,
- int row,
- boolean hasFocus) {
+ JTree tree,
+ Object value,
+ boolean sel,
+ boolean expanded,
+ boolean leaf,
+ int row,
+ boolean hasFocus) {
super.getTreeCellRendererComponent(
- tree, value, sel,
- expanded, leaf, row,
- hasFocus);
+ tree, value, sel,
+ expanded, leaf, row,
+ hasFocus);
DefaultMutableTreeNode node = (DefaultMutableTreeNode)value;
XBrowseNode xbn = (XBrowseNode)node.getUserObject();
+
if (xbn.getType() == BrowseNodeTypes.SCRIPT) {
setIcon(scriptIcon);
- }
- else if(xbn.getType() == BrowseNodeTypes.CONTAINER) {
+ } else if (xbn.getType() == BrowseNodeTypes.CONTAINER) {
setIcon(containerIcon);
- }
- else if(xbn.getType() == BrowseNodeTypes.ROOT) {
+ } else if (xbn.getType() == BrowseNodeTypes.ROOT) {
setIcon(sofficeIcon);
}