OT-ish: that view of the HP42s ('Free42' or whatever) looks an awful lot
better there than it does on my android phone, for some reason...
On Wednesday, September 11, 2024 at 4:43:58 AM UTC+1 [email protected]
wrote:
> I have solved the problem of the calculator not getting keypresses, and
> let me tell you it was tricky. The problem is that Windows does not know
> that Qt thinks that *it* (Qt) is managing the focus. Instead, The OS feeds
> mouse events directly to the calculator when it is visibly on top. But it
> doesn't do that for keypresses. Here is how I worked around the problem:
>
> When the calculator native window gets embedded into a Qt container
> object, we then overlay a transparent Qt widget over it. When Qt detects a
> mouse click on the overlay, it notifies the OS to focus the calculator
> window. When the Qt focus switches away, Qt notifies the OS that the
> calculator window no longer has focus.
>
> This actually works in my test program. I could not have done this without
> the help of ChatGPT, or at least it would have taken way longer and have
> been very frustrating. I had already learned that there are some
> incompatibilities that affected key handling between Qt-managed windows and
> OS-managed ones and that some people had been struggling with them.
> ChatGPT knew about the OS/Qt focus incompatibility and it knew how to call
> the right Windows functions from within the program. But it needed a lot
> of guidance from me, including the idea of the transparent overlay. The
> whole story is a saga that I will post about separately.
>
> I don't know how hard it will be to adapt the approach to Linux. It
> probably won't be too hard for the X11 system, but more and more distros
> are changing over to Wayland and that is very different. I'm not sure I
> will tackle it. Getting this HP calculator, which is Windows-only, into
> Leo satisfies my immediate desire.
>
> On Sunday, September 8, 2024 at 9:19:43 AM UTC-4 Thomas Passin wrote:
>
>> I have been able to embed an external (non-Leo, non-Python) application
>> in a Leo window. The attached screen shot shows an HP-42 Reverse Polish
>> Calculator program running in Leo's main splitter. This program uses an
>> image of real HP-42 hand-help calculator, as you can see. The calculator
>> program is not my own work; it has been around for a long time. If I had
>> known how to embed it, I might not have adapted the RPCalc code to use with
>> Leo. The HP-42 is much better.
>>
>> This is a proof of principle and everything isn't quite right yet. The
>> calculator responds to mouse presses but it isn't getting the focus and so
>> doesn't get keypresses as yet.
>>
>> I'm not sure what kinds of external programs will be useful this way. A
>> spreadsheet might be interesting but they usually need to have a large
>> window so it wouldn't work to confine it in part of Leo's window. The
>> calculator is useful because I sometimes want to calculate some numbers and
>> it's convenient to do it within Leo. You could do an image viewer but it
>> would be tricky to get it to work with Leo's data. And there are one or
>> more Leo scripts or plugins for viewing images already, including VR3 if
>> you want to write down a bit of RestructuredText or Markdown. Or you can
>> paste the full path to an image file into the body and CTRL-Click it. So
>> there are many ways to handle viewing images already.
>>
>> A small-size paint or drawing program might be interesting.
>>
>> Anyway, I hope this post will stimulate some ideas.
>>
>
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/leo-editor/c1056bac-6290-43f8-ac03-3bc2c264b8dfn%40googlegroups.com.