HISE Logo Forum
    • Categories
    • Register
    • Login

    panel in front

    Scheduled Pinned Locked Moved Scripting
    12 Posts 4 Posters 380 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.
    • ulrikU
      ulrik
      last edited by

      Can you script which panel you want in front on others?
      I have 12 panels, I know you can setZLevel if they all are inside another panel but this is 12 panels without parents.
      Just like when you click with the mouse on one, it will come up front.

      effect slot.gif

      Hise Develop branch
      MacOs 15.3.1, Xcode 16.2
      http://musikboden.se

      ustkU VirtualVirginV 2 Replies Last reply Reply Quote 0
      • ustkU
        ustk @ulrik
        last edited by

        @ulrik so why don't you place them in a parent?

        Hise made me an F5 dude, browser just suffers...

        ulrikU 1 Reply Last reply Reply Quote 0
        • ulrikU
          ulrik @ustk
          last edited by

          @ustk yes that could be done, I just wanted to know if it was possible without?

          Hise Develop branch
          MacOs 15.3.1, Xcode 16.2
          http://musikboden.se

          ustkU 1 Reply Last reply Reply Quote 0
          • ustkU
            ustk @ulrik
            last edited by

            @ulrik no this isn't possible

            Hise made me an F5 dude, browser just suffers...

            ulrikU 1 Reply Last reply Reply Quote 1
            • ulrikU
              ulrik @ustk
              last edited by

              @ustk thanks!

              Hise Develop branch
              MacOs 15.3.1, Xcode 16.2
              http://musikboden.se

              1 Reply Last reply Reply Quote 0
              • VirtualVirginV
                VirtualVirgin @ulrik
                last edited by VirtualVirgin

                @ulrik How does the ZLevel work exactly?

                I have a few panels on a panel:
                Screenshot 2025-08-29 at 2.39.33 PM.png

                When I use:

                	// move to front and allow keyboard input when clicked
                	if (event.clicked)
                	{
                		this.setZLevel("Front");
                		this.grabFocus();
                	}
                

                It will move a panel to the front, but only once.
                Once I have clicked on all three panels I have here,
                they just stay in that ZLevel order and never change subsequently:

                Screenshot 2025-08-29 at 2.37.29 PM.png

                I must be missing some aspect of the feature.

                You can listen to my orchestral mockups here:
                https://www.virtualvirgin.net/

                ChazroxC 1 Reply Last reply Reply Quote 1
                • ChazroxC
                  Chazrox @VirtualVirgin
                  last edited by

                  @VirtualVirgin .loseFocus?

                  VirtualVirginV 1 Reply Last reply Reply Quote 0
                  • VirtualVirginV
                    VirtualVirgin @Chazrox
                    last edited by

                    @Chazrox I may be wrong, but I think that is only for keyboard input.

                    You can listen to my orchestral mockups here:
                    https://www.virtualvirgin.net/

                    ChazroxC 1 Reply Last reply Reply Quote 0
                    • ChazroxC
                      Chazrox @VirtualVirgin
                      last edited by

                      @VirtualVirgin I was suggesting to try .loseFocus on the lower windows similar to how you would script radio buttons) to see if that does anything. If Im not mistaken its grabbing focus for mouse input too so its pretty much bringing it to attention to all inputs so maybe its a glitch if u dont release the focus on the un-needed windows Idk. Who knows. Just an idea.

                      1 Reply Last reply Reply Quote 0
                      • VirtualVirginV
                        VirtualVirgin
                        last edited by

                        Ok, so I found an issue with the ZLevel for panels.
                        It seems it does not function when the panel is set to:
                        "allowDragging" "Disabled".

                        I found this snippet from @ustk which demonstrates the basic ZLevel change for panels when clicked:

                        HiseSnippet 929.3ocsVEsaaaCEkxIpnVctXEnOOH3mjAxBjSZZKPQ65hcRgwZRLp6BFZQWACEsEQnHEDoRlQP9W1+v9W56849x9C7tTxxRYQHM1.QuHcO26k5PxykWNLQRnJkLAY078SioHqevdzTgNrWHlIPC5irdn8AXkll3lCs6zXrRQCPVVq8FCfUy0QYO+6urKliEDZIDBcrjQnukEwzknCe8uw378wAz2yhpD8Sd8.hTzSxko.eVy1GEiImhmPODaBqgMx5d6EvzxjQZrlpPVquqLX5nP44h73OloXmvoFitnQv.kCuujGXXrAE0KjwCFVLuUHXTFVtJrV9pvisOfEvVfWtZ7iYNbKyn55gUiahdc+9zyuN5YUgdqmSuGYOhjvh0kdLb6A1CDvF0XLrETkV4whZ7SMr6IgHD5MivmR2OALVjg2S882vcGe+NuvwwA1GTZ2yvItwBtx8kterHyITcOYTrT.FdsGhET91s6rQKG2q8bCozc4SYq1c9zKZAbarLw0K1kIx3VmVNWjORwapn5CjoJZOLmeBHc7FmJHZlT3Q6jGyEk+T1XWO5lDNibJMnyUIiNjoLi1GdK8LJ2qc1RUaXkw37R38kNq7SAmbkhCkZ5QBuNNW3zDFR2+uqwiq0mYQJQx4zjZcaJpRtoD8DoQmPS1.1e4ozEABpqqJeevsS9Rx2ypDnTLPvzGESmaWs9qXVW30GsXxVEpbNVEMapUSXkPWu9AMWSAe86C5i0XSI0bLHtXZhlYlsV8omAmUkWf0ztOUcpVFCi5BgHxxQm4sUQ4mQWhXvL6914xZzegrrstD9WSMebL7w4r.cnw3afQHkMITar9avBjoxy6mfmLgIl.LnQFPg5UY9Q8L5Sk6QB9TDSSiJNcr48PnYyLmZVhtUUXzRP6sxo8WJn8+bWR6Y6TKsmCuLzd6bZ+mEz9q2gzdF5U0Q6BXz0OiF5THCR4X8UaeX5YN2ATTdkyoMmEKTL8zp8TWhdJ925Vd2V59H6gLMIrd91nF9B0V207cdG5V16MdLknKI6516+GqZ63kfJuSlpAAzAXcByn+NLMZDHGHTfIBPUpL5sFFkbtsuw1rxLhJBxLlAOyc10XaM2Y2BmnHLIQ9YR9gal6.b+LDfShrqB0DtSFX61EkcDNjms+l9nH3pIelPLKE+Lv85yYqUHmsWgbdxJjyNqPNOcEx4YqPNO+FywbqveMUKixKS.fg6k0rwxZOAFTYYJRz+ATnnDPF
                        
                        

                        but if you set "allowDragging" to "Disabled", the the ZLevel no longer changes when clicked:

                        HiseSnippet 952.3ocsV0saaaCElxIpnVatXEXO.B9J4hf.+eSPwVSiSRmwpSLl6JF1vPGCEUDQnHEDoRlQQeG1iPusWu2f8brGh8F3cnjUj7paWiQKuQ57cNGxOc3GOTSSjDpRISPVNOedLEY8k1ylKzgiBwLAZ7QHq6YOAqzzD2bnCmGiUJpOxxZqmZ.rpuMJa7OO9PLGKHzRHD5ERFg9LVDSWhN8fumw4mf8oOmEUI59GLlHEijbYJvmsraihwjKwWPOEaBqlM56vpPj0CrGzsGou+C861cv9CI3gz8CvAAc542u+v81uSu8w82aHs8.j0cN1mokIyzXMUgr19Po+7YgxqE4KvKXJ14bpwnCZFrx4vmH49lOQCJZTHi6OsnPoPvrLsrrsUdY6qsmv7Y2fWV99pLGtkYTs.ZUaU5s0JzqSU50tB8VCkrpPosyoz8smQRXw5ROF97E1iEvtY.F1mpRk7XQ0rqYORBQHz6FgujdRBXbSFdCa2dG2Asa25QNNNvlkR6dENwMVvUteiqyuTuH2Kn5QxnXo.L7ZNEKn7dMasSCGWX7ABpyGSPca1x4WeTCfBAxDWuXWlHiBsZ37p7ji2UQ0SjoJ5HLmeNHi7BREDMSJ7nsxiYYnlAKv0itKgyHWR8aUhaF5PlxLa+7ynWQ4dMypHMgBfw4qgmu1YiGEbxUJNUpomI7Z47Jm5vT59ecEDrVelpThjyoIq0s4.VxGJQOQZz4zjcfsQdJ8l.AQzpJS62uxr5AGR9lVk.khwBl9rXp38cbBsbmFd6GGeDViMx4kXPbwzDMyPAqinWAMSxE20sOhptTKigY8F4A.qy71nP5aTKHFHvuqct7B86v2h0eBq0byK6AubMyWGZL9avHjxtHTardCXAZG40EJHkYdGYzHJ2yD74HllFUzsp9cPnEKLcwJQ6VEFcKXY2bV9WEr7skrbYuxeK5fBlVz8z+faEaWLXsrcI7sgs8xY6eTv16Y8ImsKPe65XaAL5ca9Asck9obrd0dwlarV5.NFrRCPSSNghomW8FsOYMn+Xo38smxzjv0ywZqgivgkOGbb40ZMrONHfRzkDba6S9oOO2gg9AYplItXBVmvLRpSSilAa0DJr5BPnYZCYUyHNysaarMUfYTgelwBXrzYGis0RmcJbhhvjD4KI4M+LWbd2LDfShrexnN72NfsaGTVCwp04H3d7WRHqNUuShc2zD6soI1eSSbvll3vMMwGtoIt2+ehley5IoZYT9wFDZxziytMwx5XAFTfYpUz+BvtP6LB
                        

                        You can listen to my orchestral mockups here:
                        https://www.virtualvirgin.net/

                        ChazroxC ulrikU 2 Replies Last reply Reply Quote 0
                        • ChazroxC
                          Chazrox @VirtualVirgin
                          last edited by Chazrox

                          @VirtualVirgin Took all the code out and just set the settings for each panel as shown below.

                          Screenshot 2025-08-30 at 11.46.19 PM.png

                          Is this what you need? I could be misunderstanding your issue. 🙏

                          HiseSnippet 910.3ocsV0saSjCE1NsFQR2JnRb0d0ndU6JTYRRSonUZozj1sQKsDsAPHtAb83IiU7XGMiSayh3mWBtXubeSP7BrWtuF6aP1imIIyjMAJDnNRQiO+X+8cNGeraEoY73XcDBW5wC5wQ3efzdfxDTOfJTnlMP3ejzHh1oC8TI2oEUwkwNO24g7y3Rz9C5Qii4dHLdoe0ZOt3xnjw+d+8oRphwyDgPOUKX7GJBElLos162DR4gTO9iEg4rd68Zxzp5ZotOfskHtndTVWZG9ITqYEHninwAH7OQpTwmsqq6tUqVykRq5QoaWlW8db+c7Y0bumq2o0bge6fvW6.OgQG01PM7XDd480dCZGnOWktAOUDK.RZmTF0F14TwGpkdVJZkhpGHjdsFGzhQvpzJKDtTZH7VjiEdhIxyBk2LQgSlG4Cf3BSCuklBdkyCO2bvaNPBmCRKmBo0HsYQhdlLMV7rBooxvi7oPdJOTRsEU3MXRcMXgxrUHsK+vHXxDO1XGW2a6Ty0cyetDLFaXGtotNrmVAS1X8jBlpqCl7YzW9RzWY8jsX0R24NNGoO+ObLATy8cZ50cKGoVtkSouogeeEyHzJGs5Dsg+H0FaV5UkJV50kb9+p78mqNK1izRIOZtpsU1QeNG2P0O7TdzscNiJ6ymXHj8ltjf7oKIxWwxRCk4LTqZpDlG0iq9T0wnQwe3qmzrA0Ps0QijA10iGYDVHfavOCNEmVUUjzfG20n6Aq5jjFzIwjnc0w0b1bHR.UVWmjluQW.bA+VXuFX+3ufONW3YBlb7+cc2KfK5DjqQg2dToTedc3+SgNA.TtA4ARoSl.ggGNtgQwqgPCGZ8KSZk7hSVrjFaBUGfVEP4HvJWBApjRfONl.ueFB7xvucBLr1bIvHwyP.C+BSl2e.82oa6WQdoZJs9ywz5etJn0PzuLOZMV7r4kYalAsQ0d8kTyz8Vs2.MRAb5ZpFZ1lVpXgYP9an9t0v8KEhqQZILrf4iwByAivYvqBLN5ZpUIG36yYlL.tL4vmc0bmD5208MPF8XpIRXqxNoeXaH2y3vtqrOpvVvUvVulN20N2FAZyUdISFBiQJKamiGor7XknPJKR+BVZOU6EgWOQBfIUxiFJRN1N2oLJoOa93bHbu7KXroWpYbrxh5X0E0wsWTGqsnNtyh53cWTG28xcz9roGz2nCSO1fPG25fjKov3CT1WllTsh9O5gj4PC
                          

                          it seems like Z level is baked into dragging. If you needed to script functions you can write mouse callbacks for your panel data, but I think scripting the z level in this situation is causing a bug.


                          then again...

                          your snippet is working if you just turn on dragging .

                          HiseSnippet 951.3ocsV0saaaCElxIJnVadnEXO.B9J4hf.Y63rTTr0zXmrYr5Di4thgMLzxPQYQXIRAQpjYTTr9prq5SSeW1af2gRVVxKtcctszWXd9i7SmyGOjiSDDpTJRPFVOcdLEY7klSlyUA8CvLNZ3.jwWYNBKUzD6bUmNOFKkTOjgwNeuVgQ8cQYi+9QmhCwbBsTEB8LAiPeBKhoJ0N9jejEFdN1i9TVTEuO7jgDAuuHTjB3YGSWTLlLCOkdAV6VMSzOfkAHi6a1oiO4XW2i61smKF20CiOrMs6Cn9G4S549.Wuq54B+NBYr2YdLkHYhBqnRjwtmJ7lOIPbCOeCdFSxtJjpEZil.6bt5yEgd5OQsVT+.Vn23hDkDAqx3xz1N4osu1bDyisReY56tYFrKinZBzn15vam0fW6pvysB71.jLp.ocygz8LmPRXwpRKZ77ElC4P0zGC0opPI2WTMyZl8EfGb0AQ3YzyS.gUQ3bjq6918bca8PKKKnXIU1WiSri4gR6u0152pWD6TppuHJVvAAmliwbZX2ls1ugkMLdON09CwoNMaY86OrA.AeQhsSrMimAgVMrdYdvwGHopQhTIsONL7JfF43mxIJlf6Pak6yRW0ClusC8.RHiLi50pTudnBXR8p8qOgdMMzoYVFoIj.zFeE7+qr15QAlrE7KDJ5kbmVVuzpNrj1+aS99azlNKkHBCoIazr9.Vx6KPGdZzUzj8gxXXJcki.IZclo46lYV8fCIunUwQAeHmotLlxeWGmPKqzvred3.rBqoyK0A9ESSTLMDLFPuFZljStqaNfJmoDwvpthd.MwTYVaTP80rEDCH32wLmdg9C3aw3MvdMWO4tvjaXdpfUcgd8rSBnroAU5W4cBvgD2Tvjj50uulqHsujGNGwTznhtV02CgVrPGUo1NUUmsTCRvSmx3SgOpZn+GvuSN7eaA7+yaA+WD8wB+E81H7Wp9iB9cyg+eU.+8L9jC+EnuaSvuP8sg+s6aBcrEdogX05sw0W1sz.bBZsdm59ibISMu5kgex5s+gBw6YNloHAaFi01.FgyYeNv3xaDaXdluOknJA3tlm+Kedt9C8ShTETQGgUILMG6hznIPsmPgcmCLOcGLnXqCMS1UKqy.SnbuLgEvXow1ZYikFaWXDEgIIhmSx6apuy8NYZ.LwydeRc3gRfrcaTVuzp44H3I.OmPVeotUfc11.6tsAd31FXusMvi11.+lsMvi+uCT+BsGmpDQ4GaPnQiOK6hHCiy3XfAlwVQ+ytB0Of
                          

                          Sorry. Im just trying to figure this out with you. lol 🤛

                          this also works.

                          Content.makeFrontInterface(600, 500);
                          
                          
                          const var pnls = 
                          [	Content.getComponent("Panel3"),
                              Content.getComponent("Panel1"),
                              Content.getComponent("Panel2")
                          ];
                          
                          
                          for (p in pnls)
                          {
                              p.setMouseCallback(function(e)
                              {
                                  if (e.clicked)          
                                      {
                                      	this.set("allowDragging", true);	
                                      }
                                      else
                                      {
                                      	this.set("allowDragging", false);
                                      }
                              });
                          }
                          
                          1 Reply Last reply Reply Quote 0
                          • ulrikU
                            ulrik @VirtualVirgin
                            last edited by

                            @VirtualVirgin a temporay solution would be to restrict the dragginBounds

                            for (p in pnls)
                            {
                                p.set("allowDragging", true);
                                p.setDraggingBounds([p.get("x"), p.get("y"), p.getWidth(), p.getHeight()]);
                                
                                p.setMouseCallback(function(e)
                                {
                                    if (e.clicked)
                                        this.setZLevel("Front");
                                });
                            }
                            

                            Hise Develop branch
                            MacOs 15.3.1, Xcode 16.2
                            http://musikboden.se

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

                            12

                            Online

                            1.9k

                            Users

                            12.4k

                            Topics

                            108.1k

                            Posts