We have an existing Photon Phab app “V” which runs fine as a standalone
app. It has a single window with several panes and a couple of dialogs.
We are developing a new application “W”. The main window of W will
contain several panes, one of which we want to consist of an instance
of “V”. We don’t really care whether “V” is running as a separate
process or whether it is running as part of the W process, but we do
need all of V’s functionality (callbacks, dialogs etc) to work the same
as they do in the standalone app. And obviously we want V to move and
get minimused (etc) along with W.
V and W are both fixed-size windows.
What is the best way of doing this? Obviously we want to avoid having
to copy/replicate all of V’s code within W.
Should we just spawn V as a child process of W but position it where we
want it to appear and subsequently do “manual” window management of V
so that whenever W is moved or minimised (etc), then V is moved along
with it (using PtForwardWindowTaskEvent() etc). Will this look OK
visually or will V have a noticeable/annoying lag behind W?
Should we re-engineer V as a custom widget?
Is there anything clever we can do by turning V into a DLL which can
somehow be used by W?
Any other possible approaches?
I’m just looking for some ideas on the best way to do this.