GetReal returns 0.0



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 02/08/2012 at 03:53, xxxxxxxx wrote:

    Hei guys,

    Am I missing something damn obviously here? GetReal(self.EDT_MUL) seems to return 0.0 always.
    Can somebody please enlighten me where the issue is? (Just copy&paste it into the script-manager)
    Thanks,

      
    import c4d  
    import c4d.modules.graphview as c4dgv  
      
    class Dialog(c4d.gui.GeDialog) :  
      
      EDT_MUL = 1000  
      BTN_OK  = 2000  
      BTN_CN  = 2001  
      
      def __init__(self) :  
          super(Dialog, self).__init__()  
          self.ok = False  
      
      def CreateLayout(self) :  
          self.GroupBegin(0, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT)  
      
          self.AddStaticText(0, c4d.BFH_LEFT, name="Multiplier")  
          self.AddEditNumberArrows(self.EDT_MUL, c4d.BFH_SCALEFIT)  
      
          self.AddButton(self.BTN_OK, c4d.BFH_SCALEFIT, name="Ok")  
          self.AddButton(self.BTN_CN, c4d.BFH_SCALEFIT, name="Cancel")  
          self.GroupEnd()  
          return True  
      
      def InitValues(self) :  
          self.SetReal(self.EDT_MUL, 0.5, min=0, step=0.01)  
          return True  
      
      def Command(self, id, msg) :  
          if id == self.BTN_OK:  
              self.ok = True  
              self.Close()  
          elif id == self.BTN_CN:  
              self.ok = False  
              self.Close()  
          return True  
      
      def Open(self) :  
          super(Dialog, self).Open(c4d.DLG_TYPE_MODAL, defaultw=200)  
      
      def Succeeded(self) :  
          return self.ok  
      
      def GetResult(self) :  
          return self.GetReal(self.EDT_MUL)  
      
    def main() :  
      dlg = Dialog()  
      dlg.Open()  
      if not dlg.Succeeded() : return  
      
      mul = dlg.GetResult()  
      print mul  
      
      
    if __name__ == "__main__":  
      main()
    


  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 02/08/2012 at 03:57, xxxxxxxx wrote:

    Ah, nevermind. That actually is obviously. One can't retrieve values after the dialog was closed.

      
    import c4d  
      
    class Dialog(c4d.gui.GeDialog) :  
      
      EDT_MUL = 1000  
      BTN_OK  = 2000  
      BTN_CN  = 2001  
      
      def __init__(self) :  
          super(Dialog, self).__init__()  
          self.ok = False  
          self.value = 0.5  
      
      def CreateLayout(self) :  
          self.GroupBegin(0, c4d.BFH_SCALEFIT | c4d.BFV_SCALEFIT)  
      
          self.AddStaticText(0, c4d.BFH_LEFT, name="Multiplier")  
          self.AddEditNumberArrows(self.EDT_MUL, c4d.BFH_SCALEFIT)  
      
          self.AddButton(self.BTN_OK, c4d.BFH_SCALEFIT, name="Ok")  
          self.AddButton(self.BTN_CN, c4d.BFH_SCALEFIT, name="Cancel")  
          self.GroupEnd()  
          return True  
      
      def InitValues(self) :  
          self.SetReal(self.EDT_MUL, self.value, min=0, step=0.01)  
          return True  
      
      def Command(self, id, msg) :  
          if id == self.EDT_MUL:  
              self.value = self.GetReal(id)  
          elif id == self.BTN_OK:  
              self.ok = True  
              self.Close()  
          elif id == self.BTN_CN:  
              self.ok = False  
              self.Close()  
          return True  
      
      def Open(self) :  
          super(Dialog, self).Open(c4d.DLG_TYPE_MODAL, defaultw=200)  
      
      def Succeeded(self) :  
          return self.ok  
      
      def GetResult(self) :  
          return self.value  
      
    def main() :  
      dlg = Dialog()  
      dlg.Open()  
      if not dlg.Succeeded() : return  
      
      mul = dlg.GetResult()  
      print mul  
      
      
    if __name__ == "__main__":  
      main()
    

    Cheers,
    -Nik


Log in to reply