diff options
author | Tomas O'Connor <toconnor@openoffice.org> | 2003-10-15 16:17:21 +0000 |
---|---|---|
committer | Tomas O'Connor <toconnor@openoffice.org> | 2003-10-15 16:17:21 +0000 |
commit | 35644b06ea95a418518ceb722da80c0b3aa7842d (patch) | |
tree | fc8c7d62bc8a60d2ec6994965ab0c548edbd6540 /scripting/examples/java | |
parent | 4a24c56ae594ad1b980648d9421663d0e5d1fb1a (diff) |
#i19258# - implement java script selector prototype, add edit functionality
Diffstat (limited to 'scripting/examples/java')
-rwxr-xr-x | scripting/examples/java/build.xml | 49 | ||||
-rw-r--r-- | scripting/examples/java/selector/ScriptSelector.java | 636 | ||||
-rw-r--r-- | scripting/examples/java/selector/parcel-descriptor.xml | 4 |
3 files changed, 281 insertions, 408 deletions
diff --git a/scripting/examples/java/build.xml b/scripting/examples/java/build.xml index 5bbcccce020f..c63879835181 100755 --- a/scripting/examples/java/build.xml +++ b/scripting/examples/java/build.xml @@ -3,9 +3,9 @@ # # $RCSfile: build.xml,v $ # -# $Revision: 1.5 $ +# $Revision: 1.6 $ # -# last change: $Author: toconnor $ $Date: 2003-09-10 10:51:13 $ +# last change: $Author: toconnor $ $Date: 2003-10-15 17:17:21 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -123,32 +123,6 @@ <!-- ===================== Build the examples ========================= --> <target name="buildexamples" depends="patchesJS"> - <mkdir dir="${out}/class/examples/java/debugger"/> - <javac srcdir="${prj}/examples/java/debugger" - destdir="${out}/class/examples/java/debugger" - includes="*.java" - classpathref="debuggerclasspath" - debug="${debug}" optimize="${optimize}" deprecation="on"/> - - <copy todir="${out}/class/examples/java/debugger"> - <fileset dir="${prj}/examples/java/debugger"> - <include name="**/*.java"/> - <include name="*.xml"/> - </fileset> - </copy> - - <jar jarfile="${out}/class/examples/java/debugger/debugger.jar" - basedir="${out}/class/examples/java/debugger" includes="*.class"> - <manifest> - <attribute name="Built-By" value="Sun Microsystems"/> - <attribute name="ScriptFramework-Version" value="${sfversion}"/> - </manifest> - </jar> - - <delete> - <fileset dir="${out}/class/examples/java/debugger" includes="*.class"/> - </delete> - <mkdir dir="${out}/class/examples/java/selector"/> <javac srcdir="${prj}/examples/java/selector" destdir="${out}/class/examples/java/selector" @@ -204,25 +178,6 @@ <copy file="${prj}/examples/java/MemoryUsage.java" todir="${out}/class/examples/java/MemoryUsage/"/> <copy file="${prj}/examples/java/ExampleSpreadSheet.sxc" todir="${out}/class/examples/java/MemoryUsage/"/> - <mkdir dir="${out}/class/examples/java/ScriptFrmwrkHelper"/> - <javac srcdir="${prj}/examples/java/" destdir="${out}/class/examples/java/ScriptFrmwrkHelper/" - includes="**/ScriptFrmwrkHelper.java" classpathref="scriptexampleclasspath" - debug="${debug}" optimize="${optimize}" deprecation="on"/> - <copy todir="${out}/class/examples/java/ScriptFrmwrkHelper/"> - <fileset dir="${prj}/examples/java/"> - <include name="**/ScriptFrmwrkHelper.java"/> - </fileset> - </copy> - <copy file="${prj}/examples/java/ScriptFrameWkHelperParcel.xml" tofile="${out}/class/examples/java/ScriptFrmwrkHelper/parcel-descriptor.xml"/> - <jar jarfile="${out}/class/examples/java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.jar" - basedir="${out}/class/examples/java/ScriptFrmwrkHelper" - includes="**/*.java,**/*.class,**/*.xml" - excludes="${out}/class/examples/java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.jar"> - <manifest> - <attribute name="Built-By" value="Sun Microsystems"/> - <attribute name="ScriptFramework-Version" value="${sfversion}"/> - </manifest> - </jar> </target> <!-- ====================== Clean Generated Files ===================== --> diff --git a/scripting/examples/java/selector/ScriptSelector.java b/scripting/examples/java/selector/ScriptSelector.java index 9b0e36e0a5ab..08bb0da0cdc7 100644 --- a/scripting/examples/java/selector/ScriptSelector.java +++ b/scripting/examples/java/selector/ScriptSelector.java @@ -2,9 +2,11 @@ import javax.swing.*; import javax.swing.tree.*; import javax.swing.table.*; import javax.swing.event.*; +import javax.swing.border.*; import java.awt.*; import java.awt.event.*; import java.util.*; +import java.beans.*; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.Exception; @@ -12,57 +14,70 @@ import com.sun.star.uno.Any; import com.sun.star.uno.AnyConverter; import com.sun.star.uno.Type; import com.sun.star.uno.XComponentContext; + import com.sun.star.lang.XMultiComponentFactory; import com.sun.star.lang.XComponent; import com.sun.star.frame.XModel; -import com.sun.star.container.XEnumeration; import com.sun.star.beans.*; -import com.sun.star.util.XMacroExpander; +import com.sun.star.script.XInvocation; import com.sun.star.lib.uno.helper.PropertySet; import drafts.com.sun.star.script.framework.browse.XBrowseNode; import drafts.com.sun.star.script.framework.browse.BrowseNodeTypes; import drafts.com.sun.star.script.framework.runtime.XScriptContext; +import drafts.com.sun.star.script.framework.provider.XScript; +import drafts.com.sun.star.script.framework.provider.XScriptProvider; -public class ScriptSelector extends JFrame implements ActionListener { +public class ScriptSelector { - private XBrowseNode myrootnode = null; - private JButton runButton, editButton, deleteButton; - private JTextField textField; + private static final int BIG_GAP = 10; + private static final int MED_GAP = 5; - public ScriptSelector(XScriptContext ctxt) + public static String go(final XScriptContext ctxt) { - //super("Script Selector Prototype"); - // myrootnode = new RootBrowseNode(ctxt); + String result = ""; try { - String serviceName = "drafts.com.sun.star.script." + - "framework.provider.MasterScriptProvider"; + XBrowseNode root = getRootNode(ctxt); - XComponentContext xcc = ctxt.getComponentContext(); - XMultiComponentFactory xmcf = xcc.getServiceManager(); + final ScriptSelectorPanel selectorPanel = + new ScriptSelectorPanel(root); - Object serviceObj = - xmcf.createInstanceWithContext(serviceName, xcc); + final JOptionPane optionPane = new JOptionPane( + selectorPanel, + JOptionPane.PLAIN_MESSAGE, + JOptionPane.OK_CANCEL_OPTION); - myrootnode = (XBrowseNode)UnoRuntime.queryInterface( - XBrowseNode.class, serviceObj); - } - catch (Exception e) { - e.printStackTrace(); - return; - } + final JDialog dialog = new JDialog(); + dialog.setModal(true); + dialog.setContentPane(optionPane); + dialog.setDefaultCloseOperation( + JDialog.DO_NOTHING_ON_CLOSE); - initUI(); - } + optionPane.addPropertyChangeListener( + new PropertyChangeListener() { + public void propertyChange(java.beans.PropertyChangeEvent e) + { + String prop = e.getPropertyName(); - public static void go(XScriptContext ctxt) - { - try { - ScriptSelector client = new ScriptSelector(ctxt); - client.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - client.show(); + if (dialog.isVisible() + && (e.getSource() == optionPane) + && (prop.equals(JOptionPane.VALUE_PROPERTY))) { + dialog.setVisible(false); + } + } + } + ); + + dialog.pack(); + dialog.setSize(375, 350); + dialog.setVisible(true); + + int value = ((Integer)optionPane.getValue()).intValue(); + if (value == JOptionPane.YES_OPTION) { + result = selectorPanel.textField.getText(); + } } catch (com.sun.star.uno.RuntimeException rue) { rue.printStackTrace(); @@ -70,347 +85,308 @@ public class ScriptSelector extends JFrame implements ActionListener { catch (java.lang.Exception e) { e.printStackTrace(); } + return result; } - private void initUI() { - JPanel panel = new JPanel(); - panel.setLayout(new BorderLayout()); + public static void showOrganizer(final XScriptContext ctxt) + { + try { + XBrowseNode root = getRootNode(ctxt); - DefaultMutableTreeNode top = new DefaultMutableTreeNode(myrootnode); - initNodes(myrootnode, top); - final JTree tree = new JTree(top); + final XScriptProvider msp = + (XScriptProvider)UnoRuntime.queryInterface( + XScriptProvider.class, root); - tree.setCellRenderer(new ScriptTreeRenderer()); + final JFrame client = new JFrame("Script"); - tree.getSelectionModel().setSelectionMode - (TreeSelectionModel.SINGLE_TREE_SELECTION); + final ScriptSelectorPanel selectorPanel = + new ScriptSelectorPanel(root); - tree.addTreeSelectionListener(new TreeSelectionListener() { - public void valueChanged(TreeSelectionEvent e) { - DefaultMutableTreeNode node = (DefaultMutableTreeNode) - tree.getLastSelectedPathComponent(); + final JButton runButton, closeButton, assignButton, + editButton, deleteButton; - if (node == null) return; + runButton = new JButton("Run"); + runButton.setEnabled(false); - XBrowseNode xbn = (XBrowseNode)node.getUserObject(); - XPropertySet props = (XPropertySet)UnoRuntime.queryInterface( - XPropertySet.class, xbn); + closeButton = new JButton("Close"); - checkEnabled(props, "Deletable", deleteButton); - checkEnabled(props, "Editable", editButton); + JPanel northButtons = + new JPanel(new GridLayout(2, 1, MED_GAP, MED_GAP)); - String str = xbn.getName(); - if (xbn.getType() == BrowseNodeTypes.SCRIPT && props != null) - { - try { - str = AnyConverter.toString( - props.getPropertyValue("URI")); - } - catch (Exception ignore) { - // default will be used - } - } - textField.setText(str); + northButtons.add(runButton); + northButtons.add(closeButton); - if (xbn.getType() == BrowseNodeTypes.SCRIPT) - { - runButton.setEnabled(true); - } - else - { - runButton.setEnabled(false); - } - } + assignButton = new JButton("Assign"); + assignButton.setEnabled(false); - private void checkEnabled(XPropertySet props, String name, - JButton button) - { - boolean enable = false; + editButton = new JButton("Edit"); + editButton.setEnabled(false); - try - { - if (props != null) - { - Object o = props.getPropertyValue(name); - enable = AnyConverter.toBoolean( - props.getPropertyValue(name)); + deleteButton = new JButton("Delete"); + deleteButton.setEnabled(false); + + JPanel southButtons = + new JPanel(new GridLayout(3, 1, MED_GAP, MED_GAP)); + + // southButtons.add(assignButton); + southButtons.add(editButton); + // 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, "Deletable", deleteButton); + checkEnabled(props, "Editable", editButton); + + if (xbn.getType() == BrowseNodeTypes.SCRIPT) + { + runButton.setEnabled(true); + } + else + { + runButton.setEnabled(false); + } } } - catch (com.sun.star.lang.IllegalArgumentException iae) - { - // leave enable set to false - } - catch (com.sun.star.beans.UnknownPropertyException upe) - { - // leave enable set to false - } - catch (com.sun.star.lang.WrappedTargetException wte) - { - // leave enable set to false - } + ); - button.setEnabled(enable); - } - }); + ActionListener listener = new ActionListener() { + public void actionPerformed(ActionEvent event) { + if (event.getSource() == runButton) { + String uri = selectorPanel.textField.getText(); - JScrollPane scroller = new JScrollPane(tree); - panel.add(scroller, BorderLayout.CENTER); + try { + XScript script = msp.getScript(uri); - // JTable table = new JTable(new ScriptTableModel(myrootnode)); - // JScrollPane tableScroller = new JScrollPane(table); - // panel.add(tableScroller, BorderLayout.NORTH); + Object[][] out = new Object[1][0]; + out[0] = new Object[0]; - JPanel lowerPanel = new JPanel(); - textField = new JTextField(); - lowerPanel.setLayout(new BorderLayout()); - lowerPanel.add(textField, BorderLayout.NORTH); + short[][] num = new short[1][0]; + num[0] = new short[0]; - JPanel buttonPanel = new JPanel(); - runButton = new JButton("Run"); - runButton.addActionListener(this); - runButton.setEnabled(false); + script.invoke(new Object[0], num, out); + } + catch (Exception e) { + e.printStackTrace(); + } + } + else if (event.getSource() == closeButton) { + client.dispose(); + } + else if (event.getSource() == editButton) { + DefaultMutableTreeNode node = (DefaultMutableTreeNode) + selectorPanel.tree.getLastSelectedPathComponent(); + + if (node == null) return; + + Object obj = node.getUserObject(); + XInvocation inv = + (XInvocation)UnoRuntime.queryInterface( + XInvocation.class, obj); + Object[] args = new Object[] { ctxt }; + try { + inv.invoke("Editable", args, + new short[0][0], new Object[0][0]); + } + catch (Exception e) { + e.printStackTrace(); + } + } + else if (event.getSource() == assignButton) { + } + else if (event.getSource() == deleteButton) { + } + } + }; - editButton = new JButton("Edit"); - editButton.addActionListener(this); - editButton.setEnabled(false); + runButton.addActionListener(listener); + closeButton.addActionListener(listener); + assignButton.addActionListener(listener); + editButton.addActionListener(listener); + deleteButton.addActionListener(listener); - deleteButton = new JButton("Delete"); - deleteButton.addActionListener(this); - deleteButton.setEnabled(false); + JPanel buttonPanel = new JPanel(new BorderLayout()); + buttonPanel.add(northButtons, BorderLayout.NORTH); + buttonPanel.add(southButtons, BorderLayout.SOUTH); - buttonPanel.add(runButton); - buttonPanel.add(editButton); - buttonPanel.add(deleteButton); - lowerPanel.add(buttonPanel, BorderLayout.SOUTH); + JPanel mainPanel = new JPanel(new BorderLayout(MED_GAP, MED_GAP)); + mainPanel.setBorder( + new EmptyBorder(BIG_GAP, BIG_GAP, BIG_GAP, BIG_GAP)); + mainPanel.add(selectorPanel, BorderLayout.CENTER); + mainPanel.add(buttonPanel, BorderLayout.EAST); - panel.add(lowerPanel, BorderLayout.SOUTH); + client.getContentPane().add(mainPanel); + client.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + client.setSize(375, 350); - getContentPane().add(panel); - setSize(600, 300); + client.show(); + } + catch (com.sun.star.uno.RuntimeException rue) { + rue.printStackTrace(); + } + catch (java.lang.Exception e) { + e.printStackTrace(); + } } - public void actionPerformed(ActionEvent event) { - if (event.getSource() == runButton) { - String uri = textField.getText(); + private static void checkEnabled(XPropertySet props, String name, + JButton button) + { + boolean enable = false; - // XScript script = msp.getScript(uri); - // script.invoke(); + try + { + if (props != null) + { + Object o = props.getPropertyValue(name); + enable = AnyConverter.toBoolean( + props.getPropertyValue(name)); + } } - else if (event.getSource() == editButton) { + catch (com.sun.star.lang.IllegalArgumentException iae) + { + // leave enable set to false } - else if (event.getSource() == deleteButton) { + catch (com.sun.star.beans.UnknownPropertyException upe) + { + // leave enable set to false } - } - - private void initNodes(XBrowseNode parent, DefaultMutableTreeNode top) { - if ( parent == null || parent.hasChildNodes() == false ) + catch (com.sun.star.lang.WrappedTargetException wte) { - return; + // leave enable set to false } - System.err.println("initNodes parent = " + parent.getName() ); - XBrowseNode[] children = parent.getChildNodes(); - try { - if (children != null) { - for (int i = 0; i < children.length; i++) { - if ( children[i] != null ) - { - System.err.println("initNodes child is " + children[ i ].getName() ); - } - else - { - System.err.println("initNodes child " + i + " is null " ); - continue; - } - DefaultMutableTreeNode newNode = - new DefaultMutableTreeNode(children[i]) { - public String toString(){ return ( (XBrowseNode)getUserObject() ).getName(); } }; - top.add(newNode); - initNodes(children[i], newNode); - } - } - } catch (java.lang.Exception e) { e.printStackTrace(); } + button.setEnabled(enable); } -} -class RootBrowseNode implements XBrowseNode { + private static XBrowseNode getRootNode(XScriptContext ctxt) { - private Collection nodes = new ArrayList(); - - public RootBrowseNode(XScriptContext ctxt) { - - Object serviceObj = ctxt.getComponentContext().getValueByName( - "/singletons/com.sun.star.util.theMacroExpander"); + XBrowseNode result = null; try { - XMacroExpander me = (XMacroExpander) AnyConverter.toObject( - new Type(XMacroExpander.class), serviceObj); - - MyMasterScriptProvider msp; - - msp = new MyMasterScriptProvider(ctxt, me.expandMacros( - "${$SYSBINDIR/bootstraprc::BaseInstallation}/share"), "share"); - nodes.add(msp); - - msp = new MyMasterScriptProvider(ctxt, me.expandMacros( - "${$SYSBINDIR/bootstraprc::UserInstallation}/user"), "user"); - nodes.add(msp); + String serviceName = "drafts.com.sun.star.script." + + "framework.provider.MasterScriptProvider"; - XEnumeration docs = - ctxt.getDesktop().getComponents().createEnumeration(); + XComponentContext xcc = ctxt.getComponentContext(); + XMultiComponentFactory xmcf = xcc.getServiceManager(); - while (docs.hasMoreElements()) - { - Object o = docs.nextElement(); - XComponent comp = (XComponent)AnyConverter.toObject( - new Type(XComponent.class), o); + Any[] args = new Any[1]; + args[0] = new Any(new Type(XModel.class), ctxt.getDocument()); - XModel doc = - (XModel)UnoRuntime.queryInterface(XModel.class, comp); + Object serviceObj = xmcf.createInstanceWithArgumentsAndContext( + serviceName, args, xcc); - msp = new MyMasterScriptProvider(doc, ctxt); - nodes.add(msp); - } + result = (XBrowseNode)UnoRuntime.queryInterface( + XBrowseNode.class, serviceObj); } catch (Exception e) { - System.err.println("Error creating RootNode: " + e.getMessage()); + e.printStackTrace(); } + return result; } +} - public String getName() { - return "soffice"; - } +class ScriptSelectorPanel extends JPanel { - public XBrowseNode[] getChildNodes() { - return (XBrowseNode[])nodes.toArray(new XBrowseNode[0]); - } + private XBrowseNode myrootnode = null; + public JTextField textField; + public JTree tree; - public boolean hasChildNodes() { - return true; + public ScriptSelectorPanel(XBrowseNode root) + { + this.myrootnode = root; + initUI(); } - public short getType() { - return BrowseNodeTypes.ROOT; - } + public XBrowseNode getSelection() { + DefaultMutableTreeNode node = (DefaultMutableTreeNode) + tree.getLastSelectedPathComponent(); - public String toString() { - return getName(); - } -} - -class MyMasterScriptProvider implements XBrowseNode { + if (node == null) { + return null; + } - private Collection nodes = new ArrayList(); - private XModel model; - private String path; - private String name; - private XComponentContext xcc; - private XMultiComponentFactory xmcf; + return (XBrowseNode)node.getUserObject(); + } - public MyMasterScriptProvider(XScriptContext ctxt, String path, String name) - { - this.path = path; - this.name = name; + private void initUI() { + setLayout(new BorderLayout()); - xcc = ctxt.getComponentContext(); - xmcf = xcc.getServiceManager(); + DefaultMutableTreeNode top = + new DefaultMutableTreeNode(myrootnode) { + public String toString() { + return ((XBrowseNode)getUserObject()).getName(); + } + }; + initNodes(myrootnode, top); + tree = new JTree(top); - String[] languages = {"Java", "BeanShell", "JavaScript"}; + tree.setCellRenderer(new ScriptTreeRenderer()); - for (int i = 0; i < languages.length; i++) - { - createScriptProvider(languages[i]); - } - } + tree.getSelectionModel().setSelectionMode + (TreeSelectionModel.SINGLE_TREE_SELECTION); - public MyMasterScriptProvider(XModel model, XScriptContext ctxt) - { - this.model = model; - this.name = model.getURL(); - this.name = this.name.substring(this.name.lastIndexOf("/") + 1); + tree.addTreeSelectionListener(new TreeSelectionListener() { + public void valueChanged(TreeSelectionEvent e) { + XBrowseNode xbn = getSelection(); + XPropertySet props = (XPropertySet)UnoRuntime.queryInterface( + XPropertySet.class, xbn); - xcc = ctxt.getComponentContext(); - xmcf = xcc.getServiceManager(); + String str = xbn.getName(); + if (xbn.getType() == BrowseNodeTypes.SCRIPT && props != null) + { + try { + str = AnyConverter.toString( + props.getPropertyValue("URI")); + } + catch (Exception ignore) { + // default will be used + } + } + textField.setText(str); + } + }); - String[] languages = {"Java", "BeanShell", "JavaScript"}; + JScrollPane scroller = new JScrollPane(tree); + add(scroller, BorderLayout.CENTER); - for (int i = 0; i < languages.length; i++) - { - createScriptProvider(languages[i]); - } + textField = new JTextField(); + add(textField, BorderLayout.SOUTH); + setSize(600, 300); } - private void createScriptProvider(String language) { - - Any[] args = new Any[1]; - - if (path != null) - { - args[0] = new Any(new Type(String.class), path); - } - else if (model != null) + private void initNodes(XBrowseNode parent, DefaultMutableTreeNode top) { + if ( parent == null || parent.hasChildNodes() == false ) { - System.out.println("creating property set for: " + model.getURL()); - XPropertySet props = new InvocationPropertySet(model); - System.out.println("property set created"); - args[0] = new Any(new Type(XPropertySet.class), props); - System.out.println("and stuffed into Any"); + return; } - try { - String serviceName = "drafts.com.sun.star.script." + - "framework.provider.ScriptProviderFor" + language; - - System.out.println("now createInstance"); - Object serviceObj = xmcf.createInstanceWithArgumentsAndContext( - serviceName, args, xcc); - - XBrowseNode xbn = (XBrowseNode)UnoRuntime.queryInterface( - XBrowseNode.class, serviceObj); + XBrowseNode[] children = parent.getChildNodes(); - nodes.add(xbn); + try { + if (children != null) { + for (int i = 0; i < children.length; i++) { + if ( children[i] == null ) + { + continue; + } + DefaultMutableTreeNode newNode = + new DefaultMutableTreeNode(children[i]) { + public String toString() { + return ((XBrowseNode)getUserObject()).getName(); + } + }; + top.add(newNode); + initNodes(children[i], newNode); + } + } } - catch (com.sun.star.uno.Exception e) { + catch (java.lang.Exception e) { e.printStackTrace(); - System.err.println("Error creating SPFor" + language + ": " + e); - } - } - - public String getName() { - return name; - } - - public XBrowseNode[] getChildNodes() { - return (XBrowseNode[])nodes.toArray(new XBrowseNode[0]); - } - - public boolean hasChildNodes() { - return true; - } - - public short getType() { - return BrowseNodeTypes.CONTAINER; - } - - public String toString() { - return getName(); - } - - public class InvocationPropertySet extends PropertySet { - public XModel model; - public int id = 7; - public String uri; - - public InvocationPropertySet(XModel model) { - this.model = model; - this.uri = model.getURL(); - - registerProperty("SCRIPTING_DOC_REF", new Type(XModel.class), - (short)0, "model"); - registerProperty("SCRIPTING_DOC_STORAGE_ID", new Type(int.class), - (short)0, "id"); - registerProperty("SCRIPTING_DOC_URI", new Type(String.class), - (short)0, "uri"); } } } @@ -456,61 +432,3 @@ class ScriptTreeRenderer extends DefaultTreeCellRenderer { return this; } } - -class ScriptTableModel extends AbstractTableModel { - final String[] columnNames = {"Name", "Full Name"}; - private Vector scripts; - - public ScriptTableModel(XBrowseNode myrootnode) { - scripts = new Vector(); - addScriptNodes(myrootnode); - } - - private void addScriptNodes(XBrowseNode root) { - XBrowseNode[] nodes = root.getChildNodes(); - - if (nodes != null) { - for (int i = 0; i < nodes.length; i++) { - if (nodes[i].getType() == BrowseNodeTypes.SCRIPT) { - scripts.addElement(nodes[i]); - } - else { - addScriptNodes(nodes[i]); - } - } - } - } - - public int getColumnCount() { - return columnNames.length; - } - - public int getRowCount() { - return scripts.size(); - } - - public String getColumnName(int col) { - return columnNames[col]; - } - - public Object getValueAt(int row, int col) { - String result = ""; - - XBrowseNode xbn = (XBrowseNode)scripts.elementAt(row); - - if (col == 0) - result = xbn.getName(); - else if (col == 1) - result = xbn.getName(); - - return result; - } - - public boolean isCellEditable(int row, int col) { - return false; - } - - public void setValueAt(Object value, int row, int col) { - return; - } -} diff --git a/scripting/examples/java/selector/parcel-descriptor.xml b/scripting/examples/java/selector/parcel-descriptor.xml index 5d840e70d04a..8e3e70e8c60b 100644 --- a/scripting/examples/java/selector/parcel-descriptor.xml +++ b/scripting/examples/java/selector/parcel-descriptor.xml @@ -8,8 +8,8 @@ Prototype Script Selector GUI for StarOffice </description> </locale> - <functionname value="ScriptSelector.go"/> - <logicalname value="ScriptSelector.go"/> + <functionname value="ScriptSelector.showOrganizer"/> + <logicalname value="ScriptSelector.showOrganizer"/> <languagedepprops> <prop name="classpath" value="selector.jar"/> </languagedepprops> |