HISE Logo Forum
    • Categories
    • Register
    • Login

    ComboBox Sub Categories

    Scheduled Pinned Locked Moved General Questions
    32 Posts 8 Posters 2.0k 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
      last edited by

      I'm going to bed, but this should get you started

      inline function onPanel1Control(component, value)
      {
          local t = component.get("popupMenuItems").split("\n");
          Console.print(trace(t));
          Label1.set("text",value);
      };
      

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      NatanN 1 Reply Last reply Reply Quote 1
      • NatanN
        Natan @d.healey
        last edited by

        @d-healey said in ComboBox Sub Categories:

        inline function onPanel1Control(component, value)
        {
        local t = component.get("popupMenuItems").split("\n");
        Console.print(trace(t));
        Label1.set("text",value);
        };

        Thank You Sir :) Sleep Tight <3

        1 Reply Last reply Reply Quote 0
        • NatanN
          Natan
          last edited by

          No Luck :/

          @d-healey said in ComboBox Sub Categories:

          I'm going to bed, but this should get you started

          inline function onPanel1Control(component, value)
          {
              local t = component.get("popupMenuItems").split("\n");
              Console.print(trace(t));
              Label1.set("text",value);
          };
          
          ulrikU 1 Reply Last reply Reply Quote 0
          • ulrikU
            ulrik @Natan
            last edited by ulrik

            @Natan

            inline function onPanel1Control(component, value)
            {
                local t = component.get("popupMenuItems").split("\n");
                Console.print(trace(t));
                Label1.set("text", t[value - 1]);
            };
            

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

            NatanN 1 Reply Last reply Reply Quote 0
            • NatanN
              Natan @ulrik
              last edited by

              @ulrik said in ComboBox Sub Categories:

              inline function onPanel1Control(component, value)
              {
              local t = component.get("popupMenuItems").split("\n");
              Console.print(trace(t));
              Label1.set("text", t[value - 1]);
              };

              Thank you Ulrick :)
              So What is The Trick To Not Including The Sub Menu's Name, Just The Item1/Item2/Item3...?

              Thank You Works Like A Charm, And Thanks To @d-healey I Didnt Figure It Out Until Ulrick Sent The Code Again :)

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

                @Natan If you don't want to include the submenu name

                inline function onPanel1Control(component, value)
                {
                    local array = component.get("popupMenuItems").split("\n");
                    local t = array[value - 1];
                    //  Without submenu name
                    local t2 = t.substring(t.indexOf(":") + 2, 20);
                    
                    Label1.set("text", t2);
                };
                

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

                NatanN 1 Reply Last reply Reply Quote 0
                • NatanN
                  Natan @ulrik
                  last edited by

                  @ulrik said in ComboBox Sub Categories:

                  local array = component.get("popupMenuItems").split("\n");
                  local t = array[value - 1];
                  //  Without submenu name
                  local t2 = t.substring(t.indexOf(":") + 2, 20);
                  
                  Label1.set("text", t2);
                  

                  YOU ROCK :) 👍 👏 :face_with_tongue:

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

                    @Natan actually this is better, it will follow the length of your "item names"

                    local array = component.get("popupMenuItems").split("\n");
                    local t = array[value - 1];
                    //  Without submenu name
                    local t2 = t.substring(t.indexOf(":") + 2, t.length);
                    
                    Label1.set("text", t2);
                    

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

                    NatanN 1 Reply Last reply Reply Quote 1
                    • NatanN
                      Natan @ulrik
                      last edited by

                      @ulrik Have You Noticed, If You Dont Click On The Menu When Its Open, It Will Show Some Errors?

                      Interface:! Line 2705, column 27: Unknown function 'substring'
                      

                      Just Click On Panel, Once The Drop Down Shows Up, Click On Outside of The Panel

                      1 Reply Last reply Reply Quote 0
                      • NatanN
                        Natan
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • NatanN
                          Natan
                          last edited by Natan

                          @ulrik
                          And Here you Can Clearly See That It Goes To Zero, If You Select Nothing:
                          It Goes To Zero, And Shows The Error:

                          HiseSnippet 1243.3ocsW01aaaCDlJIpq1atXEXebefvexAK001IoaHCCyMNIatsIwntqc.qCEzRzVDghTShJIFEAX+z1OoAre.aGIkrjUdYEFHNANfO2K7g2c73kQwROZRhLF4T6MyinHmuvc7bgJXP.gIPCO.47H2iIIJZL1Bs+7HRRB0G43r9OoAbpsAx74u+w8IbhviV.gPuUx7nuhExTEni5+RFmeDwm9FVXIs2o+POoXfjKSA9rtaGTDw6LxL5IDsZq4hbdvg9LkLdrhnnIHmM1W5Oebf7BgU+2xRXS3T8htnwfirvGI49ZFqQQCBXb+Q4m6DD3kQEQg0sQgux8XlOaAdQz3KMBvEVTNd3r1cQutkoWmOc54ThdaXo2icG6EyhTERzb6ycGJfD0TBjBJSKqtn09mMbGHAMDp1gjynGECKVXQqm0oyV3c6zYyuuQc6OPxHQgOmDieEYBk2E+C3b6mQUCjgQRArnUSq3lZKKr4kB4ja2Dizl46UgUiHh6ZmrhM1kqPBUGFhnwJFMANSguX7omrPysverQcL7o4ELeUPy8vcgyYFT.kMKPAXa2KGJRFkFcLUjNTQCS.QMGmNQut6d6og59dwx.8pBrcUfcpBr6BfdUcZFPul47gv4xKF.eOAtJX3i4beoBqUu40n8y4rYBPMUbJcIgmJds9vNfy7NCjOkvSnV4MpeUddfI3LAEOMU3oXRAVJrgQ8dFK4s7xyDaAIKdJcyF0gvaMPbhjSaGEyzIowTN0SQ8w5iBd3A.oweSlAvFUy7KW5Q3XRbLYNjsW3Xc9tU0rvlsSh3L.+8BSp2ZqBryX+uYbM9I3t+NH7oOEieGSEHSU3jzIgfWvBnAxBy5A1AkMoSRT.em0R0lI7oWd5zVM2q4l.S6sEHmSEyTA1.is9VWo0poN1CUUpdZQWYDe2kpZyxhe44wVUhqEW4rvZSNVllPWXPdFoE8bv4YgcU.KQq5a0Geqj1wzjTtxDlMh8BHhYT+VZDcx1bu61MpPkpFpYm9uYwhxhgxmRULmHUzSEs1r9GqWq9U0wUEMc5MJKKTvow2nX8KEw2kgsDogSnw4El4JBsLWtmr6s2St7SFd1bZIEkhgBl5zHp315TixJDz8ryXEnpxzw9QYcrGyY9zXDCZL+YtlHMxP3hWA+59neY3ADEI2MfGKZvAXGPOGdS09PPM2CnImojQvFsn1CNj+ua5kEa3K5OewhQQ8CIWV9IYTI2V251F4u9nKVMd8gt1B2xt83RtsuWeS6W.3A9YSFXa9pQvYHK2qSS+x85PK2T.47GtUZMWuRm4Jq2tx5cprd25U5JWYcOz0ZjBQZGMyWt8qF0.e8LRdnybKJKzYuQUJz8m+boP2ecVecHPm4rj.c8wAfgRj9obhZ4IUzimkI.tprzHA5m8EIL07xiucuL9xmJcer6HlxK3l46Z2.egqG227MaXvFtGNcJ7hVAY2v8ne89exOzqg2vfWnNl.OTAkGtmjFNFlM1iBLQ.22zsybVSWnYW2IudbLU3aV7uvmLgcyKK0B6lKDER7hkevy1tROt4CMH.mDlotqAi+CqwK5S451ocGTHLE7G77zghm.b+lso2JXy1qfM6rB1r6JXyyVAa91Uvlu6NsQ+Of77TkLzdMA.Fcn48BGmCEDnJyTQh9O.MJF1IA
                          
                          ulrikU 1 Reply Last reply Reply Quote 0
                          • ulrikU
                            ulrik @Natan
                            last edited by

                            @Natan it's because if the value = 0, then value - 1 will be -1 and you can't take the "substring"

                            Try this:

                            inline function onPanel1Control(component, value)
                            {
                                if (value)
                                {
                                    local array = component.get("popupMenuItems").split("\n");
                                    local t = array[value - 1];
                                    //  Without submenu name
                                    local t2 = t.substring(t.indexOf(":") + 2, t.length);
                                    Label1.set("text", t2);
                                    Console.print("Selected Item ID: " + value);
                                }
                            };
                            
                            Content.getComponent("Panel1").setControlCallback(onPanel1Control);
                            

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

                            NatanN 1 Reply Last reply Reply Quote 1
                            • NatanN
                              Natan @ulrik
                              last edited by

                              @ulrik said in ComboBox Sub Categories:

                              @Natan it's because if the value = 0, then value - 1 will be -1 and you can't take the "substring"

                              Try this:

                              inline function onPanel1Control(component, value)
                              {
                                  if (value)
                                  {
                                      local array = component.get("popupMenuItems").split("\n");
                                      local t = array[value - 1];
                                      //  Without submenu name
                                      local t2 = t.substring(t.indexOf(":") + 2, t.length);
                                      Label1.set("text", t2);
                                      Console.print("Selected Item ID: " + value);
                                  }
                              };
                              
                              Content.getComponent("Panel1").setControlCallback(onPanel1Control);
                              

                              EXCELLENT 👏 👏 👏

                              1 Reply Last reply Reply Quote 0
                              • NatanN
                                Natan
                                last edited by

                                @ulrik Ulrik
                                Trying To Add A Pre Next Button To The Sub Menu, But It Doesn't Work And It Loop Throw The Menu.
                                Do You Have Any Ideas?

                                HiseSnippet 1430.3ocuX0saaaCElJMJq1aYnEXWtKH7UNnIo1NIcCYXXtwIYys0IF0coCXcnfVh1lHxjdRTownH.6QaOR6MX6bHkrjUhcCxPpDPP34O9wy2gTG5tgJOdTjJj3T5MSmvINekauoR8nViXBIo8gDmu1sCKRyCoVQGLcBKJh6SbbdvOiBbJsJw77O+zAr.lzimIhPNSI73uRLVnyj1s4KEAAGy74uQLNm061rsmR1REnhA77.2ZjILuyYC4mvPyVwk3r1Q9BsJrmlo4QDmUOP4Os2H0GjV6OSDI5GvwA0I8f.YEerJvGQLJkzZjHvua55Nh.QoaVV3A1rv231Q3KlIOKa7HiBZlG4yGNqrL3UOO7pc6gmSN3spEdO1smWnXhNSChsuzssDHpALfBxCKqsjUZUxskBrPp2dL6b9wgvfYdT8Y0psIcuZ013GVur8EHiHM8BVH8Ur97f5zejl5+PttkZ7DkDFTshUcEzyLedoT0ewtXzVIctx7pKStrYxp13WpAQbLMLgGpE7HXMM9E8N8jYVtI8iqWlBOU9fvWOpx9z5v5LQzHtX3HMHamFohlnlDOoCWF2VyGGAppzKtONt996ihp+N47BZTTvNEEraQA6MSPihAMQPiJo3gEDn9PK3u8gsBF7XV2Wpon4UtFredfXnDLSGFymS4oxWiK1VABuyA8CXAQbq90KeUJOHjABImNHV5oEJIUIsoQbNCUAU8RYhMAxJHluw5kSRuhAzpohvwIhwm.kGKfxBCYSAdcVHPlsZw78FaGMIP.xemzPxyGCM3uIN+tYpnaQq+G4L5oOkReqPOREqoQw8GCQkJgiNtVXZ.wAJbh6GoCExgU0aKj97KOcP0J6WYC5SnM1DzGvkC0ixiBacNVwUsBxAP0ktQdCf7TjJfu8DHrfM83AbOM2mhKNZ6CA1CBtMMk30UP12j7Wd8NNmIjPZwP0BjS19VqXzkNp3H9LGRo0p7Kffa4tR5QhHzzyPTY0rcHOJNPiAzp1aDSNj6WMEzlMuK1oLSJ5HhtbIx7puJC+36SQx7DrNuaH+h4OivHdQmPfJKbRDFgEehBnL4bHXJwQacPrVqjacu9rfcavz++ZuVF0aoljwCSGuAtmwPr4rtHKkTStr70BpGyfeZFcqOSOY0MlxiDNjdeOoWmBwY+dlBexshBWFIZ2jbyjXtE.FsO+TH9lOgpz7SkU2n7GKWp7UkoEUMXvMpKYIDvCuQ0XmmgKywpx3w84goLWpgPKXy2im6h6wKeKndVdHmgJYaoPe5DtbQc9QRHOrGvDTAlpMc.90Ic.1KP3yCIBnQuuv0bnKw.3rtp+1ljes8gLMKMLPDyZXBjcH+BnGcaikkbOjGctVMAVXypWf++SNoWlMgun4zYC5No4X1k4awmjKrksgc8ztYwZYSTenqstNeX6jKrM8ZZZmCDrlexMMrMygRnIRlu2ID946chLeqGDm+zsPqdkKzoWgw6TX7tEFuW4Bc4UXbCx0ZLCxzNHxmucNTpQ70YjzTm4CpIoN6GWyk59qeIWp6uOuIlBPly.p4h5Zyyy1CQMgcMW7v877wixETxaaFwtf2F+B.bnBdoCQTGEzAllEBl4rxscVvSexCcVdV+rO4rb8qJAWXS4GGvzyeKN7pqIJfs8yccI7JQxHgdZ9q1dub0taKberaWg1azMi2UtA7Ba0uuwaxEkW28nACflby.6ptG+a2+2Jl7ZnKen28NLnEdndw8j3w8Twgdb.IR3rC7nYnf.c0LtV5dqdbouYv+BOIJqmtECUVOUIYLyKT8dO6Qu3UwenQBfIo4WjnjaGbLc1Yttt01tFYrvW7dOOLUrEf8a1mF2Ae14N3yt2Ae16N3yytC97c2Ae99k5C9iy77XsZrcaBHn6Qlu843bjjAUYlJRx+gf0V3I
                                
                                ulrikU 2 Replies Last reply Reply Quote 0
                                • ulrikU
                                  ulrik @Natan
                                  last edited by

                                  @Natan what have you tried so far?

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

                                  NatanN 1 Reply Last reply Reply Quote 0
                                  • NatanN
                                    Natan @ulrik
                                    last edited by

                                    @ulrik Check Snippet Above,
                                    I Did This:

                                    ///  Next Prev
                                    
                                    const var Next = Content.getComponent("Next");
                                    const var Prev = Content.getComponent("Prev");
                                    
                                    // Prev-Button----------------------------------------------------------------------------------------------
                                    
                                    inline function onPrevControl(component, value)
                                    {
                                        if (value)
                                        {
                                            Panel1.setValue(Panel1.getValue() - 1);
                                    	    Panel1.changed();
                                        }
                                    };
                                    Content.getComponent("Prev").setControlCallback(onPrevControl);
                                    
                                    //--------------------------------------------------------------------------------------------------------
                                    
                                    
                                    
                                    // Next-Button ----------------------------------------------------------------------------------------------
                                    inline function onNextControl(component, value)
                                    {
                                        if (value)
                                        {
                                            Panel1.setValue(Panel1.getValue() + 1);
                                    	    Panel1.changed();
                                        }
                                    
                                    };
                                    Content.getComponent("Next").setControlCallback(onNextControl);
                                    //--------------------------------------------------------------------------------------------------------
                                    

                                    But It's not Stable

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

                                      @Natan I thought you said you want to get previous and next "submenu" ?

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

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

                                        @Natan said in ComboBox Sub Categories:

                                        Trying To Add A Pre Next Button To The Sub Menu

                                        Do you mean you want to get to next/prev submenu?
                                        In that case you have to know at which indexes they are located, like in your snippet you have the first appearance of SubMenu1 at index 0 and SubMenu2 at index 5, so you have to work with those indexes to jump between SubMenus

                                        Something like this maybe

                                        //  sub menues
                                                local subName;
                                                local subIdxs = [];
                                                local items = Panel1.get("popupMenuItems").split("\n");
                                                
                                                //  get indexes of first apperance of submenu
                                                for (i = 0; i < items.length; i++)
                                                {
                                                    //  get sub menu name
                                                    local sub = items[i].substring(0, items[i].indexOf(":"));
                                        
                                                    //  check if sub name is different than the stored one
                                                    if (sub != subName)
                                                    {
                                                        //  store indexes of every "new" subMenu
                                                        subIdxs.push(i);
                                                        //  store current sub name, to be able to compare with the next
                                                        subName = sub;
                                                    }
                                                    
                                                }
                                        

                                        With this you'll get the first index of all submenus, dynamically

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

                                        NatanN 1 Reply Last reply Reply Quote 1
                                        • NatanN
                                          Natan @ulrik
                                          last edited by

                                          @ulrik Thank you Ulrik :folded_hands_medium-light_skin_tone: Will Give it A Go

                                          1 Reply Last reply Reply Quote 0
                                          • NatanN
                                            Natan
                                            last edited by

                                            @ulrik Where Should I Place The Code?
                                            It Shows Some Errors Again :/

                                            ulrikU bendursoB 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            13

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts