Tooltips for Disabled Components? (To Tell Users WHY a Widget Isn't Available)
-
@clevername27 Not possible with ``Content.getComponent("btnHelp")``` but maybe with some sort of Broadcaster ?
On one of my old project, I showed a panel on top of a knob when in disabled state (I was less experienced than today).
If you don't have hundreds of controls, that might be a workaround, just put the tooltip in that panel... -
@Matt_SF Thank you for your response - an interesting solution. Unfortunately, I do have hundreds of controls.
-
@clevername27 said in Tooltips for Disabled Components?:
Unfortunately, I do have hundreds of controls.
That's what I suspected
In a project, I'm using a broadcaster to display the controls' values on hover but this doesn't work either if the control is disabled.
A solution which could work would be to display the tool tip when the mouse hovers a certain area on the GUI, so no matter the state of the control.... But this means having to reference each control's area....
-
@Matt_SF said in Tooltips for Disabled Components?:
A solution which could work would be to display the tool tip when the mouse hovers a certain area on the GUI, so no matter the state of the control.... But this means having to reference each control's area....
I'm doing exactly that for a project I'm working on, but in my case it's rather easy to do since I'm using only 1 main panel
-
@ulrik indeed it will be a tad more complicated if using a multi panel GUI
-
@clevername27 this is a solution, but you have to collect all your components in an array and exclude the "on top over all" - panel (that track the mouse position)
HiseSnippet 2513.3ocsY0sbaabEFz1v0j1IwJIyzoWzLazjwC0HFZIYaU65ZaQQBIwXJBZRHaqwiaLDvRx0FDfAXoDYxnN4ldeej7iRuu2j2.2yYA.wRQPJJ0TNdrvd18b1u867ytKPCeOKZPfmuRlrFi5SUxbK0Vib4cK20j4pTshRlkT0bMOxgZWgEH9qx1i5aFD.OjIyU2EGVlrWSQ762d11lNltVzDQJJuziYQqw5w3IRar0yYNN6XZSMX8jF882ppkmaYOGuA.jtp5ZJ8Ms9fYGZcSbXWQUIy00rYbO+VbSNMPIy011ydTqtdm3FN9WxBX.JwFqqzBLTn3c7brQDiRUJ2k4X2HdoGn.VoQBQb0Ph3qU2mYyFKOgPtsnCRhFx7QlqLI7t5Dva8YAuTfTFIHcsPHsjZKKeVedROHdtoZUWN0usIP6xPIbrJW4KxoV1CFgKuXOyOP2wGZLVi7at1ZEHv+sxiyk6t2krqlAoTsZjx562PutVciV4.GR.mTxworWu9dtfcBHOgDaxNT9Dcke4kCMU1lZ6n0TqdYMhgNoR0VMpU5P3Q8ZFUaPZTptVsHSeroOwvyygy52v0YRaO1v4WNYHwyvXi0L62Ome4RzrX.k2.bj7ldC3LWZ91Cbs3LO27cVI2ujKaGb.gge4C+SPwS5x3TbFyxZSxy6xBJZaxMKxrIe6SHvxMWVPyr3pvZVfWVKvTgilSGxAErvgleYdHHWVzM7Obx91n9ngYfKuBLWYyJzaUXpI4sixIWY4Hs5Tz127jRNrNtTaCXf4wQWfH..XqZdVlNa6Mv0NH+ZqTfrrCsMWLmmlK2o3pDIVQTPSsRj6PpVgrSS88OSPAQ60k0ZXPL1SKzUBOUxfTsEQuN3iaPzeoVSTmb9zNDjGBp511CVsu4svbvbc.xmDS9DAW44aybwrl7BWQaOeRdKBycxPuH1FYmHxgA7hvSru2f.ZCSWpC5SDCKqCtdIdG8dxSvlBYYQU9qDI0KDJ1zmZBc7lndFBcDOpQie9ULad27ws1ix5zkmek2hV3TzIfdgriWwE6OHnadX9Et0SQZ9TAEqMjZMfSyc1kdbtytUaYfTHo7AMgrHCxdHkpUIwIHnVqA99.sfyWTNw44Qj7hEHkpWgXzrT4mK7j6qePKPa8VUMppWWJ6LgYmY1oL4+3bIsvDJQqxlNNGAEySR4nGCZJ70.tKiPamCpWFmZrhAFC9p8pVduD.iqlHZH237MH8zpKBj7iI8Bj2HrcwgEHgOL5sH+GlAyBpPaCge14sVIJZRp.QbpMlWxrQmlDEKIUREeZerjR93LWX0Tcmo8WH50pWZ6ZZUJf0CwmBo7vhgBEQGRKiRMgTqp6CNLgS7UUQ21dZfaBLbhmBLXKCrObph0OdNRl3BnV00g+NV0vHDgc2VarFk1sT05QIWo5kwE+JoTRRjVIJwDH2WARaSm.pfWxxKFvM8439894WWrgSTBAvYTXXywUr7xygxOMrtEF6KnLAQUs9t3pdLOIh9mhYH5MQhIJRGKFq41ABMJZAUB3hyl3qez6oVhYhiqNgroikEgwyh2Nv0l5KRBxKpTIEQEE.NY9hLCx8GDRfgzK2qeHCJsxEq8vvCL7oolwAMqmV7WEndNVVeN6VNUo4jzKKL8p.AKRJVsgkVGBjFJ5MqAE1ijMJV15uUj0IJkahkxE1HZMGN1dL2WiCuXhQh6wbnTOa71UwgFkhMV2CSFw5SpqTO2Sn6gRarNj7zmDN024NvR3u8jvYCZLJpmCCaD1ygh8c8o7A9tjeIb6CLzD1+LZOivY5zGGUfG9MlA8bq6wo5QwHPujy1U61o1GFJ4643fd6T5NJNX1Jl2cPuin9EfR3NPPT7.giSN4YTu9hcFUqvHaoA54V0kw06SiZO+CYqDkZ.ms8VQHDFJWbx1OO5jssbXPphBCLxWLgn0UDKhnaJ7wu4e9edlxE1HaLgQB+MKir8.N2ycBiDJZ8eOLxbQx0BMxmEogAVJPXiOWVRJ3.KXpj4Ap2ayhS96X8cu+NG9nFUdQkGVVzF9u1qhc8nxhQbgm9Ml0zC2QaJ931QZB0QNxaaugByszYDN0B52d1kyPar.F5KizgZ+RF8j9d9bgo9poDuHt6E1XKha+KmHjsArKyDFKQbJ7UnG3Mpad+h6owqup6gNG9.lygNd5+vQOz8Q+bsQ01j8S6pMT23dO3EqVgaa7vVvSqo24m18.416OpVKQ.xCGAJMReyWz44qV7+A3Ny.FAbmLd7d5+9zVQ4fpUvIAtObT0GnhTepOmgE9xTgdLyhFd45rpUnAe.1eEVSi24VIyeXgKPMLYoYr0nwM90Wr0I3UFR58uuUWwsFRjTcqna+AEiUEuREEIHbiEt7VBDHmHAAv9K.DhNyA9pCFilrpwuPGkYyIyoT4PYZHAPaQuPbxMT0cuKrK47Xk4TpUBDGKyJ7KKqb6nWI1cidkXoQNma06YPMJtmAUa8toPU8DpYI0Jv88Ii7F3iGq7XZZbz4VJenrmQBKiVDrjFCcS0VT9rAzBtefTF02ICquaQbbvw1TxnlQ3nig0s.X4.mlGNSW+IvU1Kz1KR35oxQ0Ctf3JMl6qhgXoA1LORalybco0LOh5LgKUHYBtyUl6pDiQ0L1PyX7ol4ajIpkTwhhggUA7APpG9Zjfh9pcYoQbmCbjorOJWY5iGMW3HlyyrvRiz9igvMvqGk3w6RiAcJ4kWfM9kxJ7jcyuKcLmz8XbIlL3D7D.SBWYPZ9xKvwGFJ+pxSfz+9mOOHkFq8mhQmDuMMHOS8LwkTmvCKjLQ.2+PNfiMKOrsb.2MUgZo8cLGQVedg6yX1mYM92Mbdyd5UthAxFyK7YANc1PY9OAR+qect9J4h6esZI62OHfi4gj.goma.zBbFLo7PmKDnROsKBeX.DuKysCAeQNS.waNKG3sTSdoGJiKINJ9gwv40WQ1sgsNpS7GHJ60+zm9TXTFm1KQZ7ALSjtgrXrtxzlvzww6j32rS.dLhRPtQhfEJo3VpIukJ4TBlbJw3UWb56fo1m3oIQA+YUitr.B7OrJBGRXAwD6vnTEko+LQ2FXV6ANl7I+pU34Ji5fAmTR9SEgeNH2.Fej7kIt.eJq0l6mxZQg3RpMXbqtoiwqjBFgi0++CLF8A.+LUs1sgchS.30T240W1u124L8geOpN6ax8YXxP8A8ZAwmVTX1cgfq.L3+J30ECauVbdRKpqsnADF+onNWGamIpy0i6TomITt+GsBu.G9IFugPBfIWwWWMq59Xax3KVpptVw0T5wrY+nkEt7+dn3b55rwkPm6cIz49WBcdvkPmMuD57WtD57v4pC9glKMf60KLc.DzPSbe1LYzRpGq7eg.LocO
-
@ulrik yeah, unfortunately it's not easy to enable mouse hover on disabled components - it's deeply embedded into JUCE and hacking around this will definitely cause issues on another end, so I guess you'll have to do some hacking like you described.
-
@Christoph-Hart Yeah, this works ok
-
@ulrik Thank you once again for taking the time to write a solution here. You've inspired another approach - assuming our UI widgets, hierarchically, belong to panels, I think we could take your approach one step further, and automate the process to include more complex UIs (e.g., with tabbed panels):
-
At INIT, look through all the components, and see which have tooltips.
-
Read those components' starting points and dimensions — and create invisible, disabled, transparent panels (with standard or child panels, since it's at INIT), on top of the widgets with tooltips. (These panels have the tooltips for when a widget is disabled.)
-
When enabling or disabling a widget, instead of calling set or get directly, call a user-defined "enable" function.
-
In this function, when you enable or disable a widget, the transparent tooltip is disabled or enabled.
This seems doable in maybe 10 lines of code. The only question I can think of is ensuring that the tooltip panels are on top of the widgets, but other than that, seems sound?
-
-
@clevername27 can you make a snippet and show what you mean?
-
@ulrik Snippet below. Comments inside.
Would probably better implemented with a component property broadcaster, so when you enable/disable a component, the intended functionality is automatic - without making any changes to your existing code. But I didn't see how to set this up without creating a separate broadcaster for every component (with a tooltip). @Christoph-Hart?
HiseSnippet 2346.3ocuY0saajaEdFGOAqTxtMKZJJZ6MrpE6JgpHKI6swoFaqksj2JzXagH07CJVjRMCkEWOZnvLT1VH0.8gnn222g9.zGkE8In21qROGx4WYIaIsY6fDCQxyOemCO7vCI63KrYAABeCyb8lNlYX9PqtS8jCObHk6YztogokUspUMNX5XZP.ywvz7deENjYtMMTe+me2ATWpmMKoKCiWJ31rmyGwkI81Y++.208HpCqGeTJp2Y+11BuCEthI.LtmUUiwT6yomwNghjsgkg48a4vkB+tRpjEXXt4ABmocGJtzSS+K4A79tLrQMitffzcejv0AQL1qwgC4tNchL2.CPJcRL96oM9GacL2gG2ehS3QpAHIbj1eXtQV3cuLvqVZ3UME7lCjLSAoM0P5Ss5Z6yGKSFAwyCrZ6IY9CnfaOMTzzZrg6OzZqk7izrU2CeQ6N8Ze5IjsV9OR9s1B9G4PgG6J4DpKQJDtR9XRvz.IaTEza0m12cJoOSBfkvGM1kMhA.2gbIWNjz2WPcro.09Ajh7JrJkQIRkRp8vdhCEiFCB2Cs8wLeImETh7u+q+MxXeVvjQnnKS7DD6gTuyXAjKESbcHdLP7RAnTxHHVC+I0aJvi3aX1RT9xg7fPPRtjFPnNNJVpDZQs8zjDiWpjK7JSlJlfzBCxHN7.P+J1TFc.pGb.wELeW5z.hK+blhEMrFH7ww49nFXdZlsESvowwTeYPERKvpIRXsghMTXApoyxD9.UWCoWvBQKZRdrKA+nyYLYPYjbOTzbIw1mgAhXWvrPia39UlSHr5qbPJACK+HPLa7znDlVIiodL2xf5bHimn7d8EvLGBtHi.G6ltCtWFhrilKKqm5ojO+u74n3bXtXZBlen2eIC9ZeR6dqVzpJVU4YT.yl5cAMnRdH7UBvpxH54ri7gFwKrJVuZ0xD3Ok1KedHCUfLx5vDSstBXK.cjeIovacfdKrW9ybgHdWB00smlxS0QCcPuX.P46tNlH4bnngZt8KICntALPqIxKds.JkHLCy7MROTwBEJsWt7KuWrWqt8HMazqwp6J+JlT4G8YCX9LH8efJDu+DoDbUjKYv7rqKYR.SOgGEXTIzUdA0OpuCT7TKqgEaUEKjkLvDWjHpubhnNJBzFZxFv8hWKCBiARUaAogYz3ZtWnNxRFpir8TI.I2S5KbODlQ6CaxUT3ERSDQgD.Ly8bQvMXhmsZ85hHsXpkVWPcmvJQdW974fTFEialKetVpEhuBlJBCMCJl0uBoP7Ap26tIsdBofful.AtLTIKmVTw1KoZhoE0S9q2aEBsO7EsZzqEo2om97ds6P5z3jVOu6JFlO6TfN8gF2N5c66B66CkpPJF5lw0.IyHm.6Ew8NKz9vbhYVJWJzqkCz1Sl8izCiFgowvcTzohAA.fvYZXRdmJ.2tBaZ7.ZLlJIhRAZRBcupbMXNLfnE.ULztXAtSgRje0by5gxMQv7fr46VFAWAVfIg5qhm0yHeLOVNLHNWwh2pnBYFjmKy6LHQyukTsD4y9LRwe9rnpD5ugUMABWVkw9bbQaySKnhuBMjXU0t4xXCyiSHtvW956h6qtEleycw7TLMu1+mKQHP4.o2LIUdJnjAUWEyMaDPYBxepuYLi6X72TJJNH2LZuhCURqH74mw8nt+dF+rgx6xrfZYjCC8KyJtfDBJuDp5CJtFpn51.VHEe2PlRR8OSePnBkqdU0vuaQwPgSiVSFpujbfkAtHUjD7AkvhEpq96c4O0zFmFLzwhaXsFqzmKlmUCkSCOs5xk61lFtPejsBk0azcajFVg6Ljh+eAkA9mlcQ3WCNrYDMBwqW487h1r6zW15EOuwa9vro2b1lVz+aJGUYe39dPWy3NhIXOb7atAjJCKx1RrUS9kxW1t4WiXfr.PrZhHNBHqcfQoos7UQpwIvTlclbCuBGPEXtRxKJuSh.iWAkjsIUAZqEXq9c.WJduFcb4udMBj60508zQwqyMSz6TxAsHMO8jV+ln6pPe9Op5T13gGHiDd3U2PtbHGN7cr2SczlQB7zK7.UEX5y.eoOWc9QnS0wiAIfGa1dRfTLRc2Bgk5oJVqB4.PgmqDVlSUqOQDzKbHX8IfYRMdfZ7GiEPk9ry.7TmTdlyXqDUkUvqdbi1q3M7jOaA4ytBOp77rk3uHplywgdId.khQDr3xqKhrm5jPmHjrS8JVJ+6TAVjYGZvf4NV3Il.HL2gwqkz+1Xrn2jQ8wPA8AqhHzvbyrW.n0hu.vz2Oost7rTDJ7ZCgimNl4snaszHrlN3W+w1MgU73sFF1Wx0jA80jcA2louCwbVMYAmKEiMLue7lh.pkpQ+3naXDCYM3NFleh0k9zwfrzccEXQl+22+92OE+w+.9gQJo7QZo7IgRQO4pDyirxFXfBJ5Re+k6OMtw+5U6GRng4O0Re9aRs3v+nwBnWvZ60wmAANZGnJCUhX5uuNuS5qVNMRu+hr2GYw7rcEAS7YwVbjHdbJfBMBUok4eGZFoNKym.sL2Hktxsrdk5Kxq.Mh8J+XqVWYykPEQjna5.KKxXl5blikrPmlk40YrfGanBthkzCWjy5GMC9U28kNFIOHhoQ+HTOl4hzgYtnhaAa79QuTPRAoyu25o6NoVzz8d2dgXG4OKJ7p9MRmZrrA0YSisnouukse1vSxMCOe19nAYX9SrzI81poVzjFttpi+Omouzn7AxvWsPixibETLFoGGx0fX8GXktqEt96a+yIg0+yLAE+hjDN8BcH8RseuQxD5Cs1o9t018o6ryt6lYN8AV69z56T6Kpucsrypnwjd97gVauy1Oa65Oq9Se17rx6LRr17hDe6+WiDuYbVs4DmcyG44QVGKbl3RkYeyI7g1BG.1GJyC8f2RMTcrbZ5Gh6C1CQsrP7Ss5vk1CmOF2XNXDyR98.FCe9tO1p0fALaYB.2z5nW+8ya0Y7BwDbk0wToOGi4NYxntP3fMCztGVZLF9sAt.R2tJ1F8.cYdNpFvFouObvZXayvAqEMnwHpsu3s15pOvGH7iT8.XxS81n4rNFaSpYnpHAer1pUpZLh6veqsMZ9OAJhX97TeM3Y60fmcVCd9h0fme8ZvySWCd18V4Ael3FSfCCnWN.czokpLMSyvBawnPi+GfPyB0N
-
@ulrik what about this solution?
HiseSnippet 1911.3ocsX8laajaEeFmLoQZ6ltKvVTz9IlAEARHJN1NoaCZZ1UwxxABarsZj1sMHXaJ0PJIBOhivLTIVYQ.B5gXOA8HzCPN.8HTTzdC5Wa+h66MjyLbjkcTT5JHXKR9dO9i+d+YdC6FGEvSRhhcbqze9Tti6O1q2boZbqwTgzoydNt+LOlHgNHjyHAQSlRTQQgJwTmcmOkljvYNttW5QnvtUtrS5m+8WtKMjJC3ES437MQh.9iESDphY617qDgg6SY79hIVRe2lcBhjshBilA.6Rda4LkFbLcD+PJJ1FdNtWoMSnhh6onJdhi6k2MhMu23nWJ0x+MhDA.Ybv1N8.Comd+nPFhXbVmViEgrtYDPhCXktEzwkzzwm4cffIxmufV9jzEHEZXyGtaTFdWpD711FdaYAuk.IWKHcYMj9TudAwhophUP77QdcjJd7PJP61PQKqyF+mq50JBjPp1bB8X99wvfbMp84asUCB7m52uZ0ae6JOhqHzvvTGdjDzIoJ3PRTjGFF1JeNxCHYlbDWUZoZ99FSEyGIRfsgPkDZbLcNYXTLQMlS1MNhxBn3hIUAwHJ0zcagV8YeKnKp79fnkwA4kB0XzVBFXDphHiTDtjYVv+4fQ7a.BvHioIDZV3JZsVwbvcjpr7EZO.4Fjqyk5n6oTIODkaZHPILRjDTdJI5EbMdyAQC8dgyk.AjYaAA1OAfvozXPHxMI0xRbpWUHCERNY3LYfR.FNHEJ80J1UFlTqd0uqZEjZpE.vqLQWuZEXwJgQAzP7f+.R.x307ELjlqTA9hmuw7fiKXEJAIC8whHRPqhPN0I.JHFRpIXalLaPhJVHGgCB4xQvI6Vj61fjOrN45OvPrjabirs1bn8qmIEXRDjFTNH.PYa4H3Tuo9vZ4tqkJXED9+FhODGOkGqlSfBOA7X+F5ECRS+AAt01lYnwiRfwOyO2S.dZ+oF0we+BZ3Lt+2hh+5ThAYFjZdnRQCf3FxfBT.9MfP.hI2bnvCB1jlJb+nbGfAgBdBPRv1XhXvcrsI342SUAiAvq2Ucj7lSmkLt1ffRHwJHjkmJT3mv.WMeUNlqfYAY6fg.B1M0Nk6WZMqjRJi0EMZsTUZj44NwuNog42y8qWlmXLfjBwLVIONiOXrEoh4O1HBZ6Fflj91nUGDlLNZVHiL.VXLUNhyP6QdGeJHWzpHGj4f0FE8WuGVa1TFxkEdL8D6aRDwhTZ+0lIHe7RASM1OmpzCqm6T0BMlKFMVUHkY7hhUrmW2HX1LKJYVtTiyjbcSeqpHPvExIfOBB37sl2xXcgmOodRzLEj3UKqbSsQ0+Nc9vqqBeestxb6S3AyvPQfTkBU0kTSRKXeLIonzEVkII0yjefJ7QX7aLWMKVlVKDJzBSCvMMy7LkAK6LpIjL9IcjXrUC6xsYVug1LokJMax0Sm49omIyyLN5Ij9s60uygOhz8qeR2i50lz9vGt6iae685zC+O4NjVGcP2iNr8g86U4VK+yYvZjbOMgi4BIXNVbTXMKTVfMqmJlm3Ty+qjC1FJWtXrgVs6edZsqRtFZAtuKRKjsVth1mQsALmzVvygG.cgUao7.XSKh5vHE+Ho9QZUecUxhKMb3RWyXqPnpxxVF6QL9hTrlb1jA7XaOAJHz3T4tw7N+twraVLPSPVBFI6.IJGMkKOuVHcLrJz4lmAUfnpz91tlousdgBFO1Q.smcEOLnvIEul1e+mu5y9Geoypp6Nkzs4+5U+0yW2cmoTQRitXXUIc0eVUc2Y8z8Zd1wNKwFecm8nJJ12qgHKdzKL2d7W.uDgtK3Jd6wSNFZPCdkk73WG2ez6hqOoX+dZy4ECNrYZw9hI9iM000KloSyr28w8mfFirc9KC4r5PXGKHzL5CEB6rJP3rddKH7mrfvaGrHDd5EAgqkZr0AAmKIrNHX4bvGoLu.mFA6GFQgGJNpu.xzQb7SWxBkBO9BaeyubQXoNCr9hllX19lid1iRwdvbFLJ68Yqbk6cu6cJpgPwmTL6omd5cJO6N3zYoFJ9IpRB+2LYc4m3qrp4cEGx2Lz5PBNhxGx27rEOju420zdGqn2wON6MRSOoZmL9DHam7qr1n2b761I+zBmrwXkYq2912d5RXq1s2+zE4kqddnrZZIArIZDodtLPu43O9svOdexE+EkKGX0yli4ou3qhu5XZmBL8eswjkwd+g2NKCdqHlv77BL8myvz2eVd5BSW+4kJX7gQSXh+Rnou+Boo2M59PXILLs.R+EWCj96qBKYEu+ooF57XmydgPeh2AQrYgTU46mBuTNyBPaRktTH7hejIB0b6Ks6+aWZ0pBQ3bJf2Zd4XbikfQnufeHvn4p99Xu1CGxCTE.7xd6+G9g4d8bzuh1nCnpXAFsb3rI8fZXAbX2kPDE1lp6FXcL83svwHCziKYoCfm.bpYwswwtlE2NaQmIzf3nmGnaKCuLwqlNCfIY58nVw6.bLIuQPOus1bKmIBl34AA3w+VPOtKWmcVCctyZnycWCc9UqgNe9ZnyudMz4dWnN3UJ+vYpnI5zAXhtsSaH10ssUIf+G.nbFXl
However the ScriptSlider "leaks" tooltip when disabled, if you disable the Knb1 and hover over the value numbers, the Knbs tooltip will be shownEDITED: Changed the snippet to a better version
-
@ulrik
btw, when trying to upload an image I get this message:
"Imgur is temporarily over capacity. Please try again later" -
@ulrik said in Tooltips for Disabled Components? (To Tell Users WHY a Widget Isn't Available):
@ulrik
btw, when trying to upload an image I get this message:
"Imgur is temporarily over capacity. Please try again later"I remember reading that today Imugur is having a purge of all the porn on its servers, so that's probably affecting your dirty HISE pictures :)
Imgur Just Banned Porn
The image sharing and hosting site is about to wipe out countless images. Some see it as bending to political pressure to push sex workers offline.
WIRED (www.wired.com)
-
@d-healey said in Tooltips for Disabled Components? (To Tell Users WHY a Widget Isn't Available):
I remember reading that today Imugur is having a purge of all the porn on its servers, so that's probably affecting your dirty HISE pictures :)