[Geany-Devel] Python question

Matthew Brush mbrush at xxxxx
Fri Apr 25 06:39:22 UTC 2014


On 14-04-24 11:35 PM, Matthew Brush wrote:
> On 14-04-24 09:44 PM, Pavel Roschin wrote:
>> I'm played with GeanyPy plugin and faced with a problem.
>>
>> Here is the source code I created to get current document from sidebar:
>>
>>     def press(self, widget, event, data=None):
>>         if event.button != 2:
>>             return
>>         mod, it = widget.get_selection().get_selected()
>>         doc = mod.get(it, 2)[0]
>>
>> According to sidebar.c, mod.get(it, 2) should return pointer to Document.
>>
>
> This isn't supported/recommended to do in either Geany plugin API or
> GeanyPy, but see below.
>
>> But Python doesn't know that this is document and doc variable in this
>> example has type GPointer. How can I access to this document from
>> python plugin?
>>
>> P.S. I tried to use ctypes.cast, no success. Currently I'm addressing
>> document
>> with a file path but it is a hack and isn't working for symlinks.
>>
>
> If you really want to, maybe try to call the C function
> `Document_create_new_from_geany_document()` (in
> src/geanypy-document.[ch]) which is used by GeanyPy internally, but
> should be callable somehow from Python.
>

... Unless all you want to do is get the current/active document, in 
which case just call `geany.document.get_current()` from Python.

Cheers,
Matthew Brush



More information about the Devel mailing list