[EMAIL PROTECTED] wrote:
Andreas, I understand where you're coming from. The issue arises because of a fundamental difference in Mac OS vs Windows/Linux window management. All Mac OS applications are a hybrid of MDI and SDI. I'll try to explain:

SDI Features
- There's generally no parent window enclosing the document windows

MDI Features
- Every app has a Window menu listing all of the app's open windows. This, along with the Cmd-` keyboard shortcut, are the two methods for accessing other windows of your app without clicking directly on them.
- There's only one Dock icon per application, regardless of how many windows are open


Since pgAdmin is not a wxWidgets MDI app, I don't think that wxWidgets is going to provide us with the Window menu. (http://www.wxwidgets.org/manuals/2.5.3/wx_wxmdiparentframe.html) I'm not familiar enough with wxWidgets to know if it can be made to provide a Window menu for SDI apps.

pgAdmin seems like it's part of the way towards fitting the OS X model nicely. As I mentioned before, the work of tracking open frames was already done for me. A search of the source for "frames" reveals this code. Building a Window menu based on the frame list shouldn't be hard. The other related issue is full Cmd-` support.
I am able to Cmd-` from the main window to a query window, but when I try to Cmd-` back to the main window, I just get a ` in the SQL text area.

Ok, so MAC obviously needs a hint which frames are there, still I'd guess that there's already a mac specific function wx function for that (like that wxApp::s_macAboutMenuId in frmMain). I'd expect a wxMAC function to be called in every frame to register it in the window list (IMHO this should happen in wxTopLevelWindow automatically). Please try a multi-windowed sample in wx, and post your results to wx. Finally, that'll probably more helpful.


Regards,
Andreas

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
     joining column's datatypes do not match

Reply via email to