HISE Logo Forum
    • Categories
    • Register
    • Login

    How to trigger label callback on enter/return but not on focus change?

    Scheduled Pinned Locked Moved Scripting
    labeltextvalueupdatefocus
    23 Posts 5 Posters 264 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.
    • d.healeyD
      d.healey @ustk
      last edited by

      @ustk I don't see how. I just want to trigger the callback when I hit enter.

      I could roll my own complicated solution where I store each entered character in a variable and then process it when enter is pressed but that seems like a lot of work for something so simple.

      1 Reply Last reply Reply Quote 0
      • A
        aaronventure
        last edited by

        keypresscallback object has a "isFocusChange" property

        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @aaronventure
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • ChazroxC
            Chazrox
            last edited by

            Was the keypress callback a crucial part of your script or was it a work around for getting the value to print on ENTER?

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @Chazrox
              last edited by

              @Chazrox I was using it to try and get around the focus behaviour.

              ChazroxC 1 Reply Last reply Reply Quote 0
              • ChazroxC
                Chazrox @d.healey
                last edited by Chazrox

                @d-healey oh, In that case, I think I got it to work (Print value on ENTER and nothing else right?).

                try this?

                const var Label1 = Content.getComponent("Label1");
                Label1.setControlCallback(onLabel1Control);
                Label1.setConsumedKeyPresses({keyCode: 13});
                
                inline function onLabel1Control(component, value)
                {
                	Console.print(value);
                	Label1.set("text", "");
                }
                
                HiseSnippet 880.3ocsU0taSiDEclzZTi2kUKR7.XkeEPUUNMskBHzlsIs6FAsMhvhPnUBMY70wip8LV1iK0KBo8sh+tOR6a.6crcpcJgETD3HE464buybl49gmjn3PZpJgPseQdLPn+n0zboNXX.SHIiGQn+j0orTMj3TBcTdLKME7HT5F+lAf1dSRwy+9KGwBYRNTCQHuTI3vyDQBcM5jAOUDFdByCdgHpg26MXLWIGpBUYnd1vxkDy3WvlCmwLt0xh76rz.B89V6tqO+PW2C62eeWFquGisWOn+CA+C74669PWuY66h+NfPu0wdBsJYplogTBcyiTd4SCTuUVtAuTjJlEBFidjo3NWBehJzybDMnjgAhPuIKtnRI3pLo9Zaixqs6ZcpvSbMd802OWP3TGQyKPZqkk2FKIudMkmaC4sBIQaHoMKkzcrlxSDw5ZFid9AqwRLa5yv7TSoT5Ko0GnVCUnGR8NQrKfSRPiqin6Atta6f+cuGaai4pTsykrDmmwlAg8bdhyhHmC5gpnXkDM51ojtCFS4a6jZnk5DU3PVX3LLI2UIK4pvuouoYQf2Sg7II3IAR69tKf7gJO3QN85+diXDxPgDb7yjbsPIctw50kuPNaiJNLCtm86raaVXUHrSbh.0YI9isaWuyc6ngqzc11oiQ8u211twFblRCmK6VrRHmyMo78WIWkhBgjURaZIR9+BrqLKZFjz7bXbDS6KWKY84qkZVpyKSYMbTIGKE5yiA4mqAfTkmw29iwiXZlo.rBC8KFRzBiDnifKw1+xxw1VifzKzp3BeqxF3XGcA6sqJVKt6IBrjbKqx7.4pqmP7O+4f7ZiWO3sBOcv0.+8kCB.w7fFSZFMX17EySZeKD3iFTeToSE+0RSdLXkiY1x57qxmiGdSpuXpC4S6svtZkWVHSubqtYfXEAlyVp+xzCISE57lCL+l0++0Jw6XMQn4AqVisVgFwL62CMVM071VG66Cbcs.2z5jW88YDI44pLsPN+TlNQf0TVmkEMEqL3.t6RIDZ5YnsLU2k1tFayMvTP5UX7Q7ohrmwlVQ1aAIIhwSTugW1oZlKuUABpIYQwUa7ionsSORQ2ay64H7yDugyWdo9j.2ccCr+5F3dqaf6utAdv5F3CV2.O7KGn4q3+ZlVEU11PHmN43hQeT5wRFVAVTsR9O.LwdkQA
                

                *Edited because I noticed it would trigger callback if you clicked out after ENTER without clearing the text.

                in this example I input text, press ENTER, value prints, I click out and callback is not executed. I click in and out of the text input field just to show it doesn't execute.
                ezgif-70a4b779aca0be.gif

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Chazrox
                  last edited by

                  @Chazrox Type in the label, then click on the UI outside of the label, for me that's firing the callback.

                  ChazroxC 1 Reply Last reply Reply Quote 0
                  • ChazroxC
                    Chazrox @d.healey
                    last edited by Chazrox

                    @d-healey yeah, that'll drive you nuts. haha Sorry. Thought I had it.

                    1 Reply Last reply Reply Quote 0
                    • rglidesR
                      rglides
                      last edited by

                      I got it to almost work here, if I'm understanding the issue correctly, high chance I'm not

                      HiseSnippet 1356.3ocsW80aaaCDmJIJHVaFXEXXOsGz7VKrQCBR555JVZ2biS7PPye7l65VQPP.sDkMQnHEjnSpWP.F1mj8QYutuB6w8IXu2G5NJJYQYK2UDzp.3Hd28i7Gu6HuS8hEdjjDQLxp1ylDQPVenc+Ib4nNivTNZ+cQVN1X7S1W8GZmIQ3jDhOxxZ4uWo2p1Jnzm+861AyvbORgHD54BpG4.ZHUVHsW6mRYrtXexyngFVe+166I3cDLwXfKKauIJB6cNdH4HrxrkrQVqtmOUJh6KwRRBxZkcD9S5ORbIWa+yoIzALhZvVn9vDoE2Uv7ULVIE0YDk42KeOmffYoWgGXYsG3isOj5SmJuvS7QoJbKPX5OrVpL8VtD81xjdaZPuJnjkAkVQSoaY22KlFIKzn3yGXuOWRhCvfa2jJZaQKc6Us6H.K3xMBwmS5FCClhn4C1by0cgeZssiC35SjtWficO.Ofv1x8wt4HGRjcDgQBNLnYCs5Fs1ttScCTQb1YGezBQoUmhZFLc69lA0sKfx0D1whnjEhQobdxg4D1OKh8U3tptiK7jSouw8jFBdi0caLgjn9WjHgJoWPTuOLlP3MNccSH.gRwDDnrfKR+kLDmiIl323z5NWmxA0pyvIx9DFwSR76oXBPhFMRUS4LJm3FLl6IoBt63HeH2I0njlsp6bkZY0Ktltaj.4Spcdrf0L.yRHp85T8c6tXCTdlpzlu.5eYBOLykxiFKAZpC1JWbyFRxKkMZsgTbf3RRbGbBoY9TqAg8TtfY1gEybfH1sYZj.ldiPRKs5rvxTKovbr41tT2GYX6Ioud5FLBenbDn8t2sUANioP8PCfYQuQd77ywIzSaU19YfqdJukRAt87VMHlfOeF4WWLz3UEkLmyOS4mZUZBt1cAgqRbIE2LN3pm747tUdtw.WqRqpLd7zLnzPcEIyFfy2DP9uhbY4OIpkhmLNj3+TxjdwvEXjjlM1ScSj9z87GEDbM3b.M8xI65tmSlnNbTrsAAJeR5D5dm6TJuk.WJig6cA+7LZzYzKxOU9rXoMVw1JmccvL1.nbUyYosNH4n9wXqcjPRNl2rkyUN0bt1wcVUAAUpKKnvHwUpVUOM9MArIeb3.R75vkhLHrlaHTjobkK6EW4xrvpmNSxvPAeeNUdbDgunxsnrzO3seZ+cwRrpbWlLvtHRrjpnf0tjKfdGzE+pYuKI4boHBX5zbVnuDYp15YkFSc7HJT.bMacP.8xosW7a31SlNv8x1pXOLa1bA5RpubTQeHx1iHzgiL5X4aaOXXdeI0VED7ZkTLiNjGlRjZ1.2NfDHQAvNoO8WMZq4QsQFTtVYJmlckQY8E7FTtsvfxvfY34KlimunMURBKX50ux6uUxKjdOSwWjGUsV1jhqsHJVyNqFy6RN9v9u5epfi4heq7cqZqtrbQA6+P19sHBWlU29pe3upfUe9fO82mwyoRdWDCKRHcrYC.WWYVh9BCVBOkY4eFWAK0YsehsLdhK10mFDPhgU1Et1KrhbusaGgU5MnXluBMeGlPusB+wLrrbCupt7yT.2kTpKSUmjbnYoIleEv6rtfeao3sr6QkdipliKUAGgabdevwrucnt8dPTwSVPvUr69Kue9PAzOJFKo7gGhkwTHwx9nwg8gjUOBr5bUgKPl0RpiQ5wapFq7.8Ib+zAuFdxTtkZrUlxsxUhBwdwhy7zUPTecxZoR.NwS+vrZ1GpF6tEJsphoeND9Xoy77JOUyA7d2Tfe4ME38uo.+paJvGbSA902TfO7+Gn5aYexXoHTerAgNr2dokjsr1iqZYJMaE8e.G1gEK
                      

                      The issue now is the callback is triggered immediately when the label is 're-interacted' with

                      d.healeyD 1 Reply Last reply Reply Quote 0
                      • d.healeyD
                        d.healey @rglides
                        last edited by d.healey

                        @rglides What is Enter here? I don't see it declared anywhere

                        if (key == Enter ...
                        

                        Edit: Actually that keypress callback doesn't look valid, you should only get one parameter which would be event.

                        rglidesR 1 Reply Last reply Reply Quote 0
                        • rglidesR
                          rglides @d.healey
                          last edited by

                          @d-healey Enter is for the setConsumedKeyPresses right? Guessing I'm wrong but I thought the method was setConsumedKeyPresses("Enter") and then if key == Enter, do I not need to do this? seems to work for me

                          d.healeyD rglidesR 2 Replies Last reply Reply Quote 0
                          • d.healeyD
                            d.healey @rglides
                            last edited by

                            @rglides said in How to trigger label callback on enter/return but not on focus change?:

                            Enter is for the setConsumedKeyPresses right?

                            Not unless you define it. Your if statement is currently the equivalent of

                            if (key == undefined ...
                            
                            1 Reply Last reply Reply Quote 0
                            • rglidesR
                              rglides @rglides
                              last edited by

                              @rglides Ha! yeah, I changed it to if (Label1.get("editable")) and it works, ok little lesson learned. Still, this works, almost

                              d.healeyD 1 Reply Last reply Reply Quote 0
                              • d.healeyD
                                d.healey @rglides
                                last edited by

                                @rglides said in How to trigger label callback on enter/return but not on focus change?:

                                if (Label1.get("editable")

                                The label is always editable isn't it?

                                rglidesR 1 Reply Last reply Reply Quote 0
                                • rglidesR
                                  rglides @d.healey
                                  last edited by

                                  @d-healey Sure, but for some reason it has allowed clicking outside of the label and not triggering the callback

                                  d.healeyD rglidesR 2 Replies Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey @rglides
                                    last edited by

                                    @rglides said in How to trigger label callback on enter/return but not on focus change?:

                                    @d-healey Sure, but for some reason it has allowed clicking outside of the label and not triggering the callback

                                    It's still triggering it here. Add Console.print("test"); inside the if statement, you can remove all the update panels stuff, it's just complicating the picture.

                                    1 Reply Last reply Reply Quote 0
                                    • rglidesR
                                      rglides @rglides
                                      last edited by

                                      @rglides uggggh, ok, HISE has defeated me yet again, my logic was to start with an if statement to see if the callback could be avoided, so I thought I had it. Turns out the callback just won't trigger at all regardless of the if statement, until the label is re-interacted with (or when hitting enter) so I have proved useless again. But I tried, and it was fun to feel like I figured something out, briefly

                                      d.healeyD 1 Reply Last reply Reply Quote 1
                                      • d.healeyD
                                        d.healey @rglides
                                        last edited by

                                        @rglides said in How to trigger label callback on enter/return but not on focus change?:

                                        I tried, and it was fun to feel like I figured something out, briefly

                                        You've done no worse than my attempt :)

                                        rglidesR ChazroxC 2 Replies Last reply Reply Quote 1
                                        • rglidesR
                                          rglides @d.healey
                                          last edited by

                                          @d-healey Thank you. This really should just be a core feature, it seems like basic stuff

                                          1 Reply Last reply Reply Quote 1
                                          • ChazroxC
                                            Chazrox @d.healey
                                            last edited by

                                            @d-healey @rglides this is a crazy one. lol I'll def try again.

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

                                            21

                                            Online

                                            1.9k

                                            Users

                                            12.2k

                                            Topics

                                            106.6k

                                            Posts