HISE Logo Forum
    • Categories
    • Register
    • Login

    Any documentaiton on look & feel for Combo Boxes

    Scheduled Pinned Locked Moved General Questions
    4 Posts 3 Posters 197 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.
    • LindonL
      Lindon
      last edited by

      I looked in the source but I cant really see anything specific for Combo Boxes.. Id like to draw a (different coloured) graphic next to each combo box item...

      HISE Development for hire.
      www.channelrobot.com

      DanHD 1 Reply Last reply Reply Quote 0
      • DanHD
        DanH @Lindon
        last edited by

        @Lindon here's some code I used recently:

        
        const var expcblaf = Content.createLocalLookAndFeel();
        
        expcblaf.registerFunction("drawComboBox", function(g, obj)
                            {
                                  var a = obj.area;
                                  
                                  g.setColour(obj.itemColour1);
                                  g.fillRoundedRectangle(a, 0);
                                  //g.setColour(obj.itemColour2);
                                  //g.drawRoundedRectangle(obj.area, 4, 1);
                                  
                                  g.setColour(Colours.withAlpha(obj.textColour, (obj.enabled && obj.active) ? 1.0 : 0.2));
                                  g.setFont("Abel-Regular", 16.0);
                                  
                                  
                                  g.drawAlignedText(obj.text, [a[0] + 10, a[1], a[2]-10, a[3]], "left");
                                  g.setColour(obj.textColour);
                                  var h = a[3];
                                  g.fillTriangle([a[0] + a[2] - h/3 - 10, a[1] + h/3, h/3, h/3], Math.PI);
                                  });
        
        ExpansionSelector.setLocalLookAndFeel(expcblaf);
        
        expcblaf.registerFunction("drawPopupMenuBackground", function(g, obj)
        {
            g.fillAll(0xFF016265);
            g.setColour(0xFF222328);
            
            g.drawRoundedRectangle([0, 0, obj.width, obj.height], 1, 2);
            
            //g.setColour(0xFFE3E3E3);
            //g.setFont("Abel-Regular", 16.0);
            //g.drawAlignedText(obj.text);
            
        });
        
        
        expcblaf.registerFunction("drawPopupMenuItem", function(g, obj)
        {
            var a = obj.area;
            var h = a[3];
            
            if(obj.isHighlighted)
                {
                    g.setColour(0x22FFFFFF);
                    g.fillRect(obj.area);
                }
            
            if(obj.isSeparator)
                {
                    g.setColour(Colours.white);
                    g.drawLine(a[0]+10, a[0] + a[2]-10, a[1] + a[3]/2, a[1] + a[3]/2, 1.0);
                    return;
                }
                
                if(obj.isTicked)
                {
                    g.setColour(Colours.white);
                    g.fillEllipse([a[0] + h/3, a[1] + h/3, h/3, h/3]);
                }
            g.setFont("Abel-Regular", 16.0);
            g.setColour(0xFFE3E3E3);
            g.drawAlignedText(obj.text, [a[0] + h, a[1], a[2] - h, a[3]], "left");
        });
        

        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
        https://dhplugins.com/ | https://dcbreaks.com/
        London, UK

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

          @Lindon drawPopupMenuItem is what you want to be looking at

          HiseSnippet 906.3ocsVstaaaCElxIpXVcanEXO.DFX.x.tF1oosCnHnM27fwRRMpyJ1+JnoNRlKTjBRTMwXnuG6wbuAaGpaVYwKK0.U+PfmahemOdNGpYoZNjkoSINcubUBPb9V24qTlkGujITjomPb9d2yYYFHkVp5nUIrrLHf33ryOaU3zcWRwye8liXRlhCqUQHePK3vYhXgYs1Yu8WDR4DV.boHtk26+1obs5XsTmi3YG2QjDF+JVDbAy5VGWhyiNMPXzoyMLCjg9bjNX07k5qUk9+AQlXgDrBiIywOToZxwKExfY04ZFg3r6r0Y9NkY9O3dtHPzneMC7jBCz0QzlCb5bePZ7W.jbZAocKgzScmySEIl0Vr34wtSU3ARHCo51PozWRm3NtGqQOTlgwrqfIonPSD9ubznAT7U+W64gzclgx0wKzKz2bFKjd.sNTdJfYzYZNSdlVe0gpfI.H8KCqIfgoPjvVdLIWwMBsxuWPJ65Y5j7jyAU9TCD2a.Mr1Zz.pdwu226On3im8kHj5mvRy.Dh9nsgF3FSe5OR2idvAzQ8KbpazvPrl4Pozur9HC23.DKVifLC9u7ZgLGpbqaw6ngYfozZiSWuTXp8JZnE+GJEQJH3RDJMXp.4CYHsLf1SBgldXHedMM9IF1iXYliz2LtEQFY2u3DsBE7603gM5FAKntCU2hl6+5ZFjpUWnMv6T9HI5006ydz+sovvMZyhmTsTBoazrsWL89BzWkGu.RGfIpkTqcDKVucGvidXc.7R5okiZ0Tkv7tDnRdhVFXqrsqua+BohescNUHDc0Tz27jp9lZ9kHBrsMMzMoHEZOmh7qSOgYX0eL76h6UBjZD1Tx4D3S3brxlxttm.YWYzIE9Vcvho8Cbqug3357m3Ntxt3M3hXVgNWbIVGFmY8er2ddO2aeuWfiKuyXAbfjNHWxL2dJkcbbkA7f6ViFrs+pLgYU6w0eAitFcuitdnP7otyDF9xMiwNa.i3wwWCLVMv+6bOMLD3l0.bW2I+11Nc++Y6euN2HTQmyLoB6w8E4wywgOb.2ckBGgYKA5XKqKkGYksLvbPETH723SkwwVYmJiiqMhER7T8G4kMC1qT9lBMHlTE2f1EuJGkoM0+ttiFNhDi2t8QN2l9OaLgr4X1aKh44aQL6uEw7hsHlWtEw7psHle5diw9iEGlazwksCnhYmVLGxw4TECqrJpBI+CScbpr
          

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

          LindonL 1 Reply Last reply Reply Quote 0
          • LindonL
            Lindon @d.healey
            last edited by

            @d-healey yeah I think htisn is close to what I want thanks, Thanks Dan too...

            HISE Development for hire.
            www.channelrobot.com

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

            31

            Online

            1.8k

            Users

            11.9k

            Topics

            104.0k

            Posts