How to get the new value of a changed mask parameter in the dialog callback?

11 visualizaciones (últimos 30 días)
Hello, I am using Matlab R2011a. I have created a subsystem and masked it. There is a popup parameter in my mask and I have added a dialog callback to handle some things when the user changes the popup selection. At the moment, it seems as if in the dialog callback, when getting the value of the popup parameter with get_param(gcb,<parametername>), the old value is returned. Is there a way to get the current value of it?
Thank you,
Christian

Respuesta aceptada

Kaustubha Govind
Kaustubha Govind el 29 de Mayo de 2013
I think you need to just use the 'parametername' directly since it exists as a variable in the Mask workspace. Does that work?
  8 comentarios
Kaustubha Govind
Kaustubha Govind el 14 de Jun. de 2013
Christian: It looks like the Open callback is creating a new dialog (using DAStudio.Dialog). You can see this by running the same code from the command window on let's say, a Constant block in a model. You'll see that dlg.show opens a dialog, but when you double-click on the Constant block, there is a second dialog window opened. So, essentially, it is physically separate from the Mask dialog, which is why the callback is not getting the right values. I'm not sure how this new dialog interacts with the Mask dialog and invokes the right callback though. I think this problem is beyond my expertise, so I would recommend waiting to see what Tech Support recommends.
Christian
Christian el 14 de Jun. de 2013
Thank you for mentioning that the Open Callbacks opens another instance of the mask dialog. This is correct and it brought me to a solution finally:
t = DAStudio.ToolRoot;
dv = t.getOpenDialogs;
value = dv(1).getWidgetValue('Parameter1')
This will give me the current value of param1. The argument passed to getWidgetValue is NOT the name of the mask variable, but the prompt of it, as defined in the mask. Thanks a lot for your support.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Author Block Masks en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by