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!!! :-D


Log in to reply