Add Filename to GeDialog



  • On 26/12/2013 at 18:54, xxxxxxxx wrote:

    Hello everybody,

    sorry for that stupid question, but how can I add a FilenameElement (like UserData/Filename) to a GeDialog. I didn´t find anything in SDK.

    Thanks alot
    rown



  • On 27/12/2013 at 02:27, xxxxxxxx wrote:

    There is a filename customgui, you can examine it with the ressource editor plugin. You can also use just storage.SaveDialog().

    happy holidays,
    ferdinand



  • On 03/01/2014 at 13:33, xxxxxxxx wrote:

    Hello littledevil,

    thx for your reply. It was really helpfull.
    Ive solved it in this way:

    import c4d  
    from c4d import gui  
    #Welcome to the world of Python  
      
    class Dlg(gui.GeDialog) :  
      TEXT = 10001  
      SAVE = 10002  
      PATHSTRING = 10003  
      OK = 20001  
      CANCEL = 20002  
      
      def CreateLayout(self) :  
          self.GroupBegin(0, c4d.BFH_SCALEFIT, cols=1)  
          self.AddEditText(self.TEXT, c4d.BFH_LEFT, initw=500)  
          self.GroupEnd()  
          self.GroupBegin(0, c4d.BFH_SCALEFIT, cols=2)  
          self.AddEditText(self.PATHSTRING, c4d.BFH_SCALEFIT)  
          self.AddButton(self.SAVE, c4d.BFH_LEFT, initw=30, name="...")  
          self.GroupEnd()  
          self.GroupBegin(2, c4d.BFH_SCALEFIT, cols=2)  
          self.AddButton(self.OK, flags=c4d.BFH_SCALEFIT, name="OK")  
          self.AddButton(self.CANCEL, flags=c4d.BFH_SCALEFIT, name="CANCEL")  
          self.GroupEnd()  
          return True  
      
      def Command(self, id, msg) :  
          if id == self.SAVE:  
              path = c4d.storage.SaveDialog(type=c4d.FILESELECTTYPE_ANYTHING, title="Export", force_suffix="txt")  
              if path is None: file = ""  
              self.SetString(self.PATHSTRING, path)  
            
          if id==self.OK:  
              text = self.GetString(self.TEXT)  
              path = self.GetString(self.PATHSTRING)  
      
              file = open(path, "w")  
              file.write(text)  
              file.close  
                
              self.Close()  
      
          if id==self.CANCEL:  
              self.Close()   
            
          return True  
      
    def main() :  
      dlg = Dlg()  
      dlg.Open(c4d.DLG_TYPE_MODAL, xpos=550, ypos= 200, defaultw=300, defaulth=10)  
      c4d.EventAdd()  
      
      
    if __name__=='__main__':  
      main() 
    

    Greetings
    rown


Log in to reply