Getting the content of a LINK from a GeDialog

On 02/08/2016 at 12:02, xxxxxxxx wrote:

Supposedly I can only get some types of values from GeDialog items. Namely:

GeDialog.GetBool()
GeDialog.GetLong()
GeDialog.GetInt32()
GeDialog.GetReal()
GeDialog.GetFloat()
GeDialog.GetVector()
GeDialog.GetString()
GeDialog.GetColorField()
GeDialog.GetTime()
GeDialog.GetFilename()
GeDialog.CheckTristateChange()

But I have a LINK field.
How can I get a value from it?

On 02/08/2016 at 12:03, xxxxxxxx wrote:

You get the LinkBoxCustomGui with GeDialog.FindCustomGui() then use LinkBoxCustomGui.GetLink().

Cheers,
Nik

On 02/08/2016 at 14:15, xxxxxxxx wrote:

Hello Niklas.
Thank you for the answer.
I have tried it but I get True, instead of a LinkBoxCustomGui.
I read in the SDK that...

Note: Returns True if the custom GUI was found in the dialog but its type is unknown by Python and cannot be returned.

My dialog is defined by a res file, not by a AddCustomGui() and the SDK also says that:

"Get the custom GUI for a certain ID. The GUI object must have been previously added with AddCustomGui()"

This means that it is not possible to get the value of a LINK gizmo that is defined by a res file?

On 02/08/2016 at 14:30, xxxxxxxx wrote:

        mylink = self.FindCustomGui(MY_LINKBOX, c4d.CUSTOMGUI_LINKBOX)  
      if mylink.GetLink().GetType() != None:   
          print mylink.GetLink().GetName() #<--The name of the object in the linkbox gizmo

-ScottA

On 02/08/2016 at 15:06, xxxxxxxx wrote:

Aha!!! My mistake was that I was doing:

mylink = self.FindCustomGui(MY_LINKBOX, MY_PLUGIN_ID)

But it was...

mylink = self.FindCustomGui(MY_LINKBOX, c4d.CUSTOMGUI_LINKBOX)

THANK YOU!!! 😄