Dialog BubbleHelp?



  • 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!



  • 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!



  • 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?



  • 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. :/



  • 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.



  • 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.



  • 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.



  • 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... ;)


Log in to reply