Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware 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

    Dialog BubbleHelp?

    SDK Help
    0
    8
    654
    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
      Helper
      last edited by

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

      On 04/10/2007 at 11:41, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   R8.2-R10 
      Platform:   Windows  ; Mac  ;  Mac OSX  ; 
      Language(s) :     C++  ;

      ---------
      Me again. 🙂

      Is it possible to do BubbleHelp in a GeDialog and what would be the way to do it if possible?

      GeDialog::GetInputEvent() looks to be the way to go here, but then how does one know which gadget the cursor is over (etc.)?

      Thanks!

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

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

        On 04/10/2007 at 12:17, xxxxxxxx wrote:

        This seems to work in theory:

        > // IPPDialog.Msg_GetCursorInfo - BFM_GETCURSORINFO
        > //*---------------------------------------------------------------------------*
        > LONG IPPDialog::Msg_GetCursorInfo(const BaseContainer & msg, BaseContainer& result)
        > //*---------------------------------------------------------------------------*
        > {
        >      // Retrieve and Convert to Local coordinates
        >      LONG     x =     msg.GetLong(BFM_DRAG_SCREENX);
        >      LONG     y =     msg.GetLong(BFM_DRAG_SCREENY);
        >      if (!Screen2Local(&x;, &y;))          return GeDialog::Message(msg, result);
        >
        >      // Get Thumbnail Group Local coordinates and dimensions
        >      LONG     gx, gy, gw, gh;
        >      if          (GetItemDim(GROUP_THUMBNAIL, &gx;, &gy;, &gw;, &gh;) && (x > gx) && (x < gx+gw) && (y > gy) && (y < gy+gh))
        >      {
        >           result.SetString(RESULT_BUBBLEHELP, "Hello!");
        >      }
        >      else if (GetItemDim(IP_ABOUT, &gx;, &gy;, &gw;, &gh;) && (x > gx) && (x < gx+gw) && (y > gy) && (y < gy+gh))
        >      {
        >           result.SetString(RESULT_BUBBLEHELP, "Hello!");
        >      }
        >      return GeDialog::Message(msg, result);
        > }

        But no BubbleHelp. And, yes, Bubble Help is enabled and working elsewhere in the GUI. What do I miss here?

        Thanks!

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

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

          On 05/10/2007 at 09:40, xxxxxxxx wrote:

          Anybody?

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

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

            On 05/10/2007 at 09:55, xxxxxxxx wrote:

            Sorry, absolutely no clue. 😕

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

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

              On 05/10/2007 at 10:26, xxxxxxxx wrote:

              Same here. 🙂 There isn't a single example of how (and if) this might work outside of a tool plugin.

              All that I do know is that it gets to the result.SetString() in each case when over the dialog gadget. I've tried adding result.SetBool(RESULT_SUPPRESSBUBBLE, FALSE) to no avail.

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

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

                On 05/10/2007 at 13:42, xxxxxxxx wrote:

                For the moment, I'll just use StatusSetText(). Also needed to get the current tab so as to avoid responses when a tab not containing the gadget is visible.

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

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

                  On 05/10/2007 at 14:57, xxxxxxxx wrote:

                  yeah probably the best way.

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

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

                    On 05/10/2007 at 15:20, xxxxxxxx wrote:

                    Here's one more related question. It is easy enough to determine the active dialog tab - GetLong(<tab group id>, grp) where 'grp' is set to the active tab ID. But my tabs also have foldable groups within. One would assume that GetBool(<group id>, boolval) would return the fold state of the group (since SetBool(<group id>, boolval) will fold/unfold the group).

                    Uh uh. The following exquisite display occurs. The group will flicker as the cursor moves and no longer fold. If I restrict the check to after the GetItemDim() call, it won't flicker but when closed it will automagically reopen when the cursor moves back over the area where the unfolded group normally resides. I repeat - I called GETBool() not SETBool() and this is the response. ????????

                    I think that Maxon needs to rethink their GUI completely (both Attributes Manager and Dialogs). It is one of the most confusing, obsfuscated, limited oddities I've encountered. Not that the overall GUI is bad - it is very good and flexible. It's just the SDK support that makes every considered user-friendly feature a nightmare... 😉

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