Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Setting a Timer for a .res dialog

    Scheduled Pinned Locked Moved PYTHON Development
    5 Posts 0 Posters 470 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

      On 08/05/2016 at 05:32, xxxxxxxx wrote:

      If I create a layout with GeDialog, I can easily set a timer.
      But, what if the layout is created using a .res file?
      I tried to create a User Area in the .res file, since I can also associate a timer with a User Area. But, apparently, User Areas are not allowed for tag layouts.
      Is there any way to create a timer (a method that is called frequently) for a tag? Must I create the tag layout with code?
      If yes, how?

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

        On 09/05/2016 at 01:44, xxxxxxxx wrote:

        Hello,

        I think you are confusing some things here:

        • a GeDialog is a GUI element. One can define the layout of the dialog using a resource file. Such a resource file contains definitions of groups and GUI gadgets.
        • If you want to implement the timer functionality of a GeDialog one must do this in the actual GeDialog based class using GeDialog.SetTimer()
        • NodeData based plugin classes do not contain a dialog. They contain a parameter description. This parameter description contains information on the parameters of the object. And this description may or may not also include some details on the graphical representation of these parameters.
        • Such a parameter description can also be defined in a resource files. But the resource files describing parameters are something different that the resource files that describe the layout of a GeDialog.
        • In NodeData based plugins there is no timer like functionality so one cannot set a Timer in a resource file
        • If you need some generic timer you can create one using a MessageData plugin.

        Best wishes,
        Sebastian

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

          On 09/05/2016 at 04:33, xxxxxxxx wrote:

          I know I may have some confusing ideas

          Using code, I only know how to create layouts using GeDialog. Usually I prefer to use .res files but, if I need a dynamic layout, I need to code it using commands.
          Since I know that I timer can be associated with a layout that is create with GeDialog, I decided to ask this.
          But I don't even know if a TagData plugin can have his layout defined in code, because I was needing this for a TagData plugin.
          If it is possible to create a TagData plugin in code, I could not find a framework that teaches how to do it.

          1 Reply Last reply Reply Quote 0
          • H Offline
            Helper
            last edited by

            On 09/05/2016 at 08:43, xxxxxxxx wrote:

            Hello,

            a timer is not really "associated" with a "layout". A timer is a functionality of a GeDialog GUI element. This GeDialog can also display various GUI gadgets defined in a resource file.

            A TagData plugin does not have a "layout". It has a parameter description. This parameter description has to be defined using a – different – resource file or by implementing GetDDescription(). Currently GetDDescription() is only available in the C++ API.

            But again: GeDialogs and NodeData based plugins like TagData are different things that have not much to do with each other.

            Best wishes,
            Sebastian

            1 Reply Last reply Reply Quote 0
            • H Offline
              Helper
              last edited by

              On 09/05/2016 at 08:50, xxxxxxxx wrote:

              Yeah, I understand.
              Anyway, even if possible, this would not solve my problem now.
              I thought that I could periodically check the state of the selection of the item list of an IN_EXCLUDE gizmo, with InExcludeData.GetFlags(index) but I can't

              1 Reply Last reply Reply Quote 0
              • First post
                Last post