Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

UI mouseover tooltip

Contributor ,
Mar 02, 2017 Mar 02, 2017

Hey all,

Does anyone know of a way to have a mouseover tooltip in the UI?  Mainly, I have a set of IconButton's and instead of using text on the buttons, I'm using an image and want the user to be able to mouseover the button and get a description of what it does.  This is easily done for the web, but I didn't see anything in ScriptUI that allowed for it.  I looked into the helpTip property but that didn't seem to be it.

I haven't really thought about if it would be possible to add manually.  The biggest thing to overcome I would think would be creating a floating StaticText/Window/Group/something that you could hide/show when the mouse was over the button.  Anyone ever try something like that?

Thanks!

Calvin

TOPICS
Scripting
6.5K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Explorer , Mar 05, 2017 Mar 05, 2017

Did you check your After Effect Preferences ?

After Effect > Preferences > General > Show Tool tips

The very first one

Screen Shot 2017-03-05 at 08.29.18.png

Ben

Translate
Advocate ,
Mar 03, 2017 Mar 03, 2017

cswaim080880  wrote

I looked into the helpTip property but that didn't seem to be it.

Normally, that's the one:

myButton.helpTip = "Please click me";

Xavier

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 03, 2017 Mar 03, 2017

Yup, it's spec'd out in the Javascript Tools Guide as part of IconButton but I just can't seem to get it to work.  I've found a way to override onDraw for the IconButton and evaluate when the mouse is over but can't figure out how to popup a tooltip.

iconbutton.onDraw = function(drawState) {

     if(drawState.mouseOver) {

          //do mouse over stuff

     }

   

     this.graphics.drawImage(this.image, 0, 0);

}

I know in HTML/CSS you could use a <div> and explicitly set it's position to that of the mouse.  To my knowledge, this isn't possible and while I haven't tried this using a window...it's not exactly what I want so I'd like to avoid if at all possible.

My absolute backup is to have a StaticText in the UI that I can use as a console to display any messages from program to user.

Thoughts?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Mar 03, 2017 Mar 03, 2017

myControl.helpTip = "some piece of string" has always worked for me, regardless of the control type, the os, and the after effects version, and even when the control has a custom onDraw associated to it. Going the popup window route seems overkill, and definitely unncessary.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 03, 2017 Mar 03, 2017

Welp, in 15+ years of software development, this isn't even close to the first time I've come across spec'd out functionality that doesn't work (for me at least).  It's probably some real small needs to be set or deleted or changed in my system to get this to work.

Here's the quick test I'm using:

var win = new Window("palette", "Test IconButton helpTip", undefined, {resizeable: true});

// resource specifications

var res = "group { \

     iconBtn: IconButton { text: 'test', preferredSize: [29.5, 29.5], helpTip: 'test helpTip', properties: { style: 'togglebutton', toggle: true } }, \

     }";

          

win.mainGrp = win.add(res);  

win.show();

This simply doesn't work on my system (see below):

Anyone at Adobe have any thoughts? 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Mar 03, 2017 Mar 03, 2017

Calvin, it looks like a bug.

I suggest you to fill a bug report here.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 05, 2017 Mar 05, 2017

Did you check your After Effect Preferences ?

After Effect > Preferences > General > Show Tool tips

The very first one

Screen Shot 2017-03-05 at 08.29.18.png

Ben

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 05, 2017 Mar 05, 2017

Welp, looks like I'm a big ol' dumb dumb.  That's EXACTLY it.  The silver lining is that it illuminates a use case I need to account for...when the user doesn't have "Show Tool Tips" set.

THANK YOU!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 05, 2017 Mar 05, 2017

Does anyone know the name of the Preference to check for this one?  Scanned through all the files located in ~/Library/Preferences/Adobe/After Effects/<VERSION>/ and couldn't find one that jumped out at me. 

It's important for me to at least be able to check for this pref because my UI is going to be 99% button/icon based to avoid using text and save on screen real estate.

THANKS!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 05, 2017 Mar 05, 2017

I found it here :

~/Library/Preferences/Adobe/After Effects/14.1/Adobe After Effects 14.1 Prefs-indep-general.txt

["Main Pref Section v2"]

     "Pref_TOOL_TIPS" = 01 // CHECKED

     "Pref_TOOL_TIPS" = 00 // UNCHECKED

Tested and working.

Ben

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 05, 2017 Mar 05, 2017

Ok, one last thing...when I try to access that preference both via the settings object and the preferences object it does not appear to exist. 

app.preferences.getPrefAsBool("Main Pref Section v2", "Pref_TOOL_TIPS");

app.settings.getSetting("Main Pref Section v2", "Pref_TOOL_TIPS");

Since it's a preference that lives in a file outside the main prefs file with a section name shared across multiple files (Main Pref Section v2), is there a different way to access it?  I would assume all the files get consolidated into a single preference/settings object.  Maybe I'm missing something simple...

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 05, 2017 Mar 05, 2017

It's a simple text file, so I guess you could just open the file, find the line with "Pref_TOOL_TIPS" = 00 and change it to 01.

then save the file.

It's documented in JavaScript Tools Guide CC , that you can open from Extendscript > Help menu.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 05, 2017 Mar 05, 2017

Yeah, there's always a brute-force/hack way around everything but if there's a way to do it already provided within the app framework, it'll be easier and take less time.  If it comes down to it I'll do that but there's GOT to be a way to access that preference.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 05, 2017 Mar 05, 2017

And I'm just looking to access what the value is...not change it.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 05, 2017 Mar 05, 2017

Just found this : It supposed to have a third parameter since v.12 , as documented here :

scripting changes in After Effects CC (12.0-12.2) | Creative Cloud blog by Adobe

The third parameter for ourTool Tip is :

  • PREF_Type_MACHINE_INDEPENDENT

So it should be the following :

app.preferences.getPrefAsString("Main Pref Section v2", "Pref_TOOL_TIPS", PREFType.PREF_Type_MACHINE_INDEPENDENT);

Except it doesn't return any value. I tried other preferences in the same section(working on After Effect 2017 v14.1.0.57) and it works just fine. As you can see in Adobe After Effects 14.x Prefs-indep-general.txt , the value for some parameter like Pref_TOOL_TIPS is = 01.

Any parameter with 00 or 01 as values doesn't return anything when I try. Every other ones works just fine. Looks like another bug to me.

Ben

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Mar 06, 2017 Mar 06, 2017

This works for me:

app.preferences.getPrefAsBool("Main Pref Section v2", "Pref_TOOL_TIPS", PREFType.PREF_Type_MACHINE_INDEPENDENT);

Xavier

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 06, 2017 Mar 06, 2017

Here you go !!

I was not aware of this getPrefAsBool .

Thank you Xavier.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 06, 2017 Mar 06, 2017

BOOM!  Thanks all!

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jul 02, 2020 Jul 02, 2020
LATEST

Hi, By chance, could I see the results of what you did with the mouseover tooltip that reveals text? I am trying to do something similar.

 

Thank you,

R

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines