This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch python-editing-embedding
in repository https://gitbox.apache.org/repos/asf/openoffice.git

commit 7686e66c7a7e4c93b95d81d0d636b7da9d226718
Author: Damjan Jovanovic <[email protected]>
AuthorDate: Sun Apr 26 06:25:47 2026 +0200

    PackageBrowseNode also needs to implement XPropertySet and XInvocation,
    otherwise the macro selector screen shows no macros!
    
    Patch by: me
---
 main/scripting/source/pyprov/pythonscript.py | 41 +++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

diff --git a/main/scripting/source/pyprov/pythonscript.py 
b/main/scripting/source/pyprov/pythonscript.py
index fe3378e2f8..9052e3daa2 100644
--- a/main/scripting/source/pyprov/pythonscript.py
+++ b/main/scripting/source/pyprov/pythonscript.py
@@ -998,7 +998,7 @@ def penultimateElement( aStr ):
 def lastElement( aStr):
     return aStr[ aStr.rfind( "/" )+1:len(aStr)]
 
-class PackageBrowseNode( unohelper.Base, XBrowseNode ):
+class PackageBrowseNode( unohelper.Base, XBrowseNode, XPropertySet, 
XInvocation ):
     def __init__( self, provCtx, name, rootUrl ):
         self.provCtx = provCtx
         self.name = name
@@ -1030,6 +1030,45 @@ class PackageBrowseNode( unohelper.Base, XBrowseNode ):
         log.debug( "DirBrowseNode getScript " + uri + " invoked" )
         raise IllegalArgumentException( "PackageBrowseNode couldn't 
instantiate script " + uri , self , 0 )
 
+    # XPropertySet
+
+    def getPropertyValue( self, name ):
+        ret = None
+        log.debug( "PackageBrowseNode.getPropertyValue called for " + name + 
", returning " + str(ret) )
+        return ret
+
+    def setPropertyValue( self, name, value ):
+        log.debug( "PackageBrowseNode.setPropertyValue " + name + "=" +str( 
value ) )
+
+    def getPropertySetInfo( self ):
+        log.debug( "PackageBrowseNode.getPropertySetInfo called" )
+        return None
+
+    # XInvocation
+
+    def getIntrospection( self ):
+        log.debug( "PackageBrowseNode.getIntrospection() called" )
+        return None
+
+    def invoke( self, name, params, outparamindex, outparams ):
+        log.debug( "PackageBrowseNode.invoke called for " + name + "," + str( 
params ) + "," + str( outparamindex ) + "," + str( outparams ) )
+        return None, (), ()
+
+    def setValue( self, name, value ):
+        log.debug( "PackageBrowseNode.setValue" )
+        return None
+
+    def getValue( self, name ):
+        log.debug( "PackageBrowseNode.getValue" )
+        return None
+
+    def hasMethod( self, name ):
+        log.debug( "PackageBrowseNode.hasMethod" )
+        return False
+
+    def hasProperty( self, name ):
+        log.debug( "PackageBrowseNode.hasProperty" )
+        return False
 
 
 

Reply via email to