In the AnimatedDialog class that I shared resize should take pixels, but
note that it's the margins, not the dimension

On Sat, 2 Jan 2021, 15:53 'P5music' via CodenameOne Discussions, <
[email protected]> wrote:

> Thanks
> I tried to use the resize method as it seems to be useful in my case.
>
> backgroundInteractionDialog.resize(0,h,0,w); //w=2048 h=1534
> makes it disappear completely (w,h are the screen dimensions).
>
> instead
> backgroundInteractionDialog.resize(0,100,0,100);
> makes the backgroundInteractionDialog almost the size of the screen.
> It seems that the values are not in pixels (?).
>
> Regards
> Il giorno sabato 2 gennaio 2021 alle 16:07:20 UTC+1 [email protected]
> ha scritto:
>
>> 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/46dda134-a710-443b-9f6e-6d4ee42894d4n%40googlegroups.com
> <https://groups.google.com/d/msgid/codenameone-discussions/46dda134-a710-443b-9f6e-6d4ee42894d4n%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/CAG90yJ3ciFNR2NUUTxdS7ROcNB7-vXV-u9oJTGiy%2BviNyaFkKw%40mail.gmail.com.

Reply via email to