Hi guys. Our WinForms app has a strange feature and I’m curious if there’s any way to implement it with WiseJ…
For dialogs, instead of opening a modal Form, it displays a Panel with the dialog text and buttons and uses PreFilterMessage in the top-level form to catch mouse clicks and ignore them unless they occurred inside of the dialog Panel.
It sounds odd, but it makes sense in the context of our app.
As far as I know, WiseJ doesn’t support the IMessageFilter interface. So, aside from adding click handlers to every single control in the app and code to ignore the click if the dialog Panel is shown, is there a way to implement this behavior with WiseJ?
Thinking about this, the IEventFilter interface does replace the IMessageFilter but… Since Wisej has the client (browser) and the server totally decoupled , unlike a WinForms desktop, filtering the client events will only affect the server and will do nothing to the client. To emulate the modal state on the client you need to “mask” everything below the z-index of the modal panel. Wisej/qooxdoo have a block feature that works on any widget but it’s not directly exposed to Wisej.Web.Control since we use it for modal dialogs and messageboxes.
I’ll try to send you an example of a “modal panel”.
Please login first to submit.