Dialog Plugin

Good morning!

First, let me say that this wonderfully fills a gap for me.  I have come across a few issues, most of which I’ve been able to code around, that I ask that you look at.

1.  Info Dialog:  starting with your sample code, comment out the “optional” iconColor parameter and it throws a nil item reference.  *CRITICAL*

  1. overideBkInput:  in the simulator and on a device, when set to true, it is allowing touch and tap events to pass through.  *CRITICAL*.

  2. overideBkColor:  on the simulator (havent thrown it to a device yet), when given a color, we need to be able to adjust the speed of the fade.  For me, this is too slow, and needs to complete when the dialog reaches its final position - if not earlier.  If not using transitioning, the color pops into place (as it should). *ANNOYING*  I can turn off the transitioning, and it snaps - but the transitioning is nice, and we can adjust the speed of the dialog there.

4.  feature request:  What would it take to add the Icon options to the popupDialog.  I love the option in the InfoDialog, but need the multiple buttons of the popup.   I’m going to call this *IMPORTANT*, for consistency in the look and feel across the app.

This is a really sweet plugin.  At your earliest convenience, please bring your docs to match your sample code.  I saw that your sample was using undocumented variables.  Once I used your code as a base, rather than just building from the docs and allowing “optional” variables to not be set, things went rather smoothly - except for iconColor.  It took a little while to track that one down.

To anyone doing business apps - give this one a look.

Dave

Hi Dave,

I will look at all the issue and see what I can do with you feature request. I will get back to you shortly :slight_smile:

Best,
Nick

Hi Dave,

Are you sure the bug is with the param iconColor of infoDialog the error ? I am not able to reproduce.

Best,
Nick
 

Hi, Nick.

Ok, now it’s not with iconColor, but is with iconInCircle - in your sample code, in the simulator.

Screenshot attached.

I also noticed that the icon is no longer half out of the dialog when on a device.  In the simulator it is.  Setting the iconOnTop to true, has the top of the icon touching the top border, and when false, there is a small gap between the top of the icon and top edge of the dialog.  The code in the simulator puts the icon half out.  

Correct me, please, if I’m wrong.  The iconOnTop variable is what controls it.  Correct?

Thanks.

Dave

Hi Dave,

I am testing all the fix right now and hope to deploy today. For the iconOnTop is to display it half over the top line as shown in the first image here in the mockup :

Good afternoon.  From the differences, I assume you posted a new version.  Here is what is happening now.

displayInfoDialog:

I’ve posted a pic of what we get with iconOnTop set.  I am also now getting a runtime error with the following:

Runtime Error

Attempt to call method ‘cleanup’ (a nil value)

stack trace:

? in function <?:321>

Hi, no, I did not publish any updated yet as I had a problem with my source control to upload the changes. For the problem you mention, could you send me some sample code, I could run please ?

sample app attached.

Hi david6,

I’ve pushed a new build and the next time you start your project, your plugin should update. However, I am not able to reproduce the error you report lastly with your sample code. I had to fix the name of the icon as it was not working.

Nick

Hi, Nick.

The info display is displaying properly with the iconOnTop and is not crashing as before.  Thank you.  Taps and touches are still passing through so in that displayNotice function I sent you in the sample, I’ve created a “pacman” layer to eat the touches and taps.  In the call back I call another function to remove the touch and tap listeners.  Code below.

local pacman local function doPacMan(event) -- this eats all of the touch and tap events to the pacman layer and does not pass them through. return true end function killPacMan() pacman:removeEventListener("tap",doPacMan) pacman:removeEventListener("touch",doPacMan) pacman:removeSelf() end function displayNotice(...) . . . pacman = display.newRect(sceneGroup, \_CX, \_CY, \_CW, \_CH) pacman:setFillColor(0,0,0,.2) pacman:addEventListener("tap",doPacMan) pacman:addEventListener("touch",doPacMan) . . . tError = dialog.displayInfoDialog(options) end

Thanks,

Dave

I will look at the touch/tap as it was supposed to be fixed.

Hi Davea6,

I confirm that tap and touch are intercepted properly if you define overideBkInput = true and overideBkColor = { 0, 0, 0, 0.5 }. I’ve added a big button under the infoDialog and its impossible to reach. All touchs are intercepted by the infoDialog. Would you be able to give me the sample code that make this not working please ?

PS: Independent transition for the background is coming :slight_smile:

Nick

Hi, Nick.

Sorry for the delay.

attached is the test app.

I’ve placed a red rectangle in the top left corner (simulating a back arrow in a title bar) and given it tap and touch event listener.

Looking forward to the independent transition.

Dave