Hi P5,

I took a similar path as yours some time ago. Instead of extending
InteractionDialog, I created a separate class with similar functionality
and tweaked part of its code. I recall that extending it wasn't working.

I am sending you my version of it, perhaps you will find it useful.. Sample
usage:

Form f = getCurrentForm();
AnimatedDialog newDlg = new AnimatedDialog();
newDlg.setLayout(new BorderLayout());
Label titleLable = new Label("some title");
        titleLable.getAllStyles().setAlignment(Component.CENTER);
        Container myTitle = new Container(new BorderLayout());
        Border lineBorder = Border.createLineBorder(2, 0x33b5e5);
        Border emptyBorder = Border.createEmpty();
        Border newBorder = Border.createCompoundBorder(emptyBorder,
lineBorder, emptyBorder, emptyBorder);
        myTitle.getAllStyles().setBorder(newBorder);
        myTitle.add(BorderLayout.CENTER, titleLable);
        newDlg.add(BorderLayout.NORTH, myTitle);
Button okBtn = new Button("OK");
        okBtn.getUnselectedStyle().setAlignment(4);
        okBtn.addActionListener(e -> {
            newDlg.disposeToTheTop();
        });
        FlowLayout centerLayout = new FlowLayout();
        centerLayout.setValign(CENTER);
        Container boxCenter = new Container(centerLayout);
        SpanLabel msgLbl = new SpanLabel("some msg");
        boxCenter.add(msgLbl);
        newDlg.add(CENTER, boxCenter);
        newDlg.add(BorderLayout.SOUTH, okBtn);
        int msgHeight = boxCenter.getPreferredH();
        int height = newDlg.getPreferredH();
        int width = newDlg.getPreferredW();
        int sideMargins = (f.getWidth() - width - 30) / 2;
        int verticalMargin = (f.getHeight() - height -
f.getToolbar().getHeight()) /2;
        newDlg.setDisposeWhenPointerOutOfBounds(true);
        newDlg.setAnimationSync(true);
        newDlg.show(verticalMargin/2, verticalMargin + verticalMargin/2,
sideMargins, sideMargins);
        int newMsgHeight = boxCenter.getPreferredH();
        if(newMsgHeight != msgHeight)
        {
            int newHeight = (newMsgHeight - msgHeight) + height;
            int newVerticalMargin = (f.getHeight() - newHeight -
f.getToolbar().getHeight()) /2;
            newDlg.resize(verticalMargin/2, verticalMargin/2 +
(newVerticalMargin - (verticalMargin - newVerticalMargin)), sideMargins,
sideMargins, false);
        }



On Mon, 28 Dec 2020 at 09:22, 'P5music' via CodenameOne Discussions <
[email protected]> wrote:

> (Merry Christmas)
>
> My app now features a new dialog class, I called it CommandDialog. It
> leverages both the features of InteractionDialog and Dialog, so the show()
> method now returns a Command.
> This class has to be completed to be fully functional:
> I subclassed InteractionDialog so now I need to prevent the mouse events
> from hitting the underlying components in the form.
> I tried
>     form.setGrabsPointerEvents(false);
>     form.setIgnorePointerEvents(true);
> but they seem not to be working at all. Furthermore they seem to be the
> same instruction with negated boolean parameter.
> Moreover I need the setDisposeWhenPointerOutOfBounds(value) feature that
> also seem not to be working.
>
> I need a workaround if necessary. I have some ideas but maybe something
> simple is available.
>
> This applies also to the InteractionDialog itself.
>
> Thanks in advance
>
> --
> You received this message because you are subscribed to the Google Groups
> "CodenameOne Discussions" 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/codenameone-discussions/dc0981af-019d-4433-8658-f8b39d326f3dn%40googlegroups.com
> <https://groups.google.com/d/msgid/codenameone-discussions/dc0981af-019d-4433-8658-f8b39d326f3dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"CodenameOne Discussions" 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/codenameone-discussions/CAG90yJ3UvOKU3DnwYBgGEoRiSYda1MV2frY7e8HzcRzri6_E2g%40mail.gmail.com.

Attachment: AnimatedDialog.java
Description: Binary data

Reply via email to