LAF drawToggleButton



  • I know this has been covered: Using

    if (obj.text == "somename")
    

    to apply the LAF to another button (or group of buttons sharing the same text). But can you apply it to more than one other button / group?

    As in use more if statements in the function. Haven't done it successfully yet.

    Would be really wonderful if we could customise individual / groups of buttons using this LAF feature (imo 😆 )



  • @DanH Don't use multiple if statements. Use 2 arrays.

    For example if you wanted to capitalize all of the preset browser buttons you could do something like this:

    var presetBrowserButtons = ["Add", "Rename", "Delete", "Save Preset", "More"];
    var newText = ["ADD", "RENAME", "DELETE", "SAVE PRESET", "MORE"];
    
    if (presetBrowserButtons.contains(obj.text))
        g.drawAlignedText(newText[presetBrowserButtons.indexOf(obj.text)], obj.area, "centred");
    


  • @d-healey ok thanks, hopefully this will work with obj.id too



  • @DanH obj.id isn't usable is will always produce "" if I remember correctly.



  • @d-healey Roger that. So is it wrong to use two if statements? Because I'd like to apply this to several arrays !



  • @DanH

    So is it wrong to use two if statements?

    If it works then it's not wrong.

    My suggestion would be to use the two array technique for each group of buttons you want to customise and then use an if statement for each of those groups.

    So it would look something like this:

    if (presetBrowserButtons.contains(obj.text))
        g.drawAlignedText(newText[presetBrowserButtons.indexOf(obj.text)], obj.area, "centred");
    
    if (anotherArray.contains(obj.text))
        g.drawAlignedText("I love HISE", obj.area, "centred");
    
    if (oneMoreArray.contains(obj.text))
        g.drawAlignedText("Watch Dave's YouTube Channel", obj.area, "centred");
    


  • @d-healey thanks David - so I just tried

    if (presetBrowserButtonss.contains(obj.id))
    

    and it works... worth trying out?

    (I made an array with the ids in)



  • @d-healey Trying to use more than one if statement and the last statement seems to override the others. Close but no cigar just yet!



  • @DanH What does obj.id return?



  • @d-healey how can I check?



  • @DanH Console.print()



  • @d-healey I did try but it crashed, wasn't sure where to put it.



  • @DanH Put it right before you're using it.



  • @d-healey lots of crashes, I made a snippet:

    HiseSnippet 1605.3oc0YslaaaDDlz1zHRsJnoMnn8eD9WRnNJjRx5QMJhdXoTi3XqX4jVfff.ZxURaL0tpjqriPfAxO6+5UnGEeG5AnWgbCZmkKk3JaYaIq3fDZ.58w73a2Y3LytpoG0F46S8TTicvv9HE0uVq0PBqastVXhx1aonlP6vALFknyP9LkpC6a46ibTTUW9wbRTishRvyGdTUKWKhMJZHEkWPw1ncv8vrnQaV9IXW2FVNnCv8jnNW4ssojZTW5..NKqYnz2x9HqNncs3jsjlh5p0cvLpWKlE.FE0UpRcF1pK8Dhf9Wf8wG5h3cLUZABRLbCpqCGw7QUp0E65zbzx1WAjRynMgkEaB2W6oXG73wi1L9lfIzi3Pd+PcoqBdlxvyX1gmpD7VQ.u6o0x1C2mEMCGaek11DFxqsEXBjgkfVkkpupVMJPAgktm0QnFdPmwbjLugw55aXXjZyDwSD+g7Gc8cpzPWWOnyCSDGrN9L8is7zcsZq+K50IcvDTZaODrderK8PKWgt1gROpBwoAB4lTHuHVqF3L4aVwyyZHHjWtlXDy0VWOrYlnlYW6UaNEtyLlaw.4VOblMF0H+qBzK.zzdnNXeXY1X.wlgojjq43YcxAzNcbQBhA80dzjcVWmd3aRkH96RDGV65h2315ImP2oALw.uB+j.0owNoRIHLjqQOcR6iXBW5.BOrinSpMGK5HRaCeVT20E22GEPrErwx29zmfVb6fIoGi7Rc4Jy3sMZTqT0pFlijvroGomKnxisbGftFcBO4ENQyuNubIK9me5SvrtUb620JPW0yx+KvdIvl9izMSan+y72oFI8.4z.rVIWqxgH2GrOpy.WKOvlaVLsQDUbmhJt3NDjyAn2xBPICZHjOGufWoM70iGxYMv9IiVQ6SkLUhlHWejr86cWjo4zOQrStOc.AhYrOxlYQ.23jQPLi7t5Hm2oZ9hZcdsiYndhtlb.HS30q8yaGu.NNmm6jdPU1vHSkrUxJuJlu07j57KCuny4+bZpMGEORmR1kxP6QRlJ96hGK9ow0O+TsaO043w58nttHuoNMO2q2UwXRxfdGh7VWW32LhPHIzjY4zt7rbxIgsEodjHjR1lfY60GQtrbeJg4qfrfwBQEPJKHG3cCyAJhJqfgTcwzBSknD.Y45PTlC1yrXrmcwXO2hw9FKF64WL1KrXrWbwXuzTX+4aukEyhWFUnuD3e0G4wvbWW0sPGC0mJJpJl1VH+iXz9PMv0n85SIbOOUsYvc6siU46aTd33Nm8xxihiyqq1LWNyrkJVpPQ9pZNTPFYEz8VPAYkTvYCtETPN4UvuJo.ExDJHWlBkLMJTnTt4TAaHo.k2bKnf7xJ3japBRDpfcrfbHAx+NZAsk8gNS1D+9cKySevqtu5yO3f81skt4bIYYmmyvx11tWPxYlPxqNCetGI6lxaJe3jy42j0nX97YxURIpzhfIJXVvHW9LEmucKY+02KasaN3Bqory4Zpnjr+627waMs5LD9RxE6IKnlu3gFgitRcfZVXSddV9g3Cm.R+OwAG4GNj3iYCkOj+sxgbmU3dOslXlc2oi2klBdg.+213M7JCRnUucan1zHvthVie+S78CDdGNeqVSp6v9coDrcCrKb12..ESSzw7JtEGEkFdn+X.hXGsK9m+S4mI6B.a+RIY+gxOafkaztd4S2+eqTE2mBkGOSVjkmsBHulat4pba9dswKJ8EwWe4YyfcMFo6JPpl1NM1K7iPnk9Xbad8.6h1Hk6TleiZaGYJK+Wk+MqiQsod8BKvYL66f5.JRdjCPPfpVCI1xFpV8nTVWLoyj2S28KuCk1uNwBV5NxBoYWKe9wQfSJIKlZC7YzdivRvE40hg5GTWl5K0xmKM7z9m3uKUCdkcuON8+H5nszL5n8cAVxwlLtM8y7HpBDOwmGe1mCfGwR+KlbV+nVXvvfc4ubv8c0d1mAfce5.FDA5oVLOLTdj1tC50BJ2wFA.kPPt7KfPcIdTFQeCd+ffWHhSPm+CdBmzj2WMbRyQSpzyx1i9ZawAM4etemfQ.LQB9kGho8Tde8w2qfllQZCkdXG7qss4I5e.f8oySla.OYuA7j6FvyF2.dxeC3ovMfmhWIO7eDlJCfrJBeSXfl0E4STGmWRcYk+G.eXW9j
    

    Using the obj.id changes all the buttons it turns out, and I couldn't get more than one if statement to work 😞



  • @DanH obj.id returns undefined parameter. So like I said, don't use it 😛



  • @d-healey indeed!

    Any ideas on how to squeeze a couple more if statements into that snippet?



  • @DanH Not the way you're doing it. You need to use the text property, or some other property to determine which control you're styling.



  • @d-healey I understand, yet using obj.text in two statements renders the first invalid

    HiseSnippet 1628.3oc2YssaaaCFVJIpH1atncqXX6NgbkMVpqjsiOrfg5CItKn4fabZ2.JFJXjnsYiLomDURMJJPub2sWg8nj2gc8dG5avFonrEsiShOjLjNE.EQx+Cej+eh7W+tgKwB54QbUTicT+dPE0uTqYeLsSsN.DVYmsTTSncrOkRv5TnGUoZ+d.OOnshp5xOiKhZrUTBt9zSqBb.XKXTWJJuhfrf6h5hnQ81n7yQNN0A1viPckjNW4crH3ZDGhOCNKqYnzCXcBnMbe.WrkzTTu211HJwsIEv.ih5JUI18a1gbFVH+qPdnicf7FlJMYFRzcchiMGw7dUp0A4X2Xvz1SgYkFQKBKKVDdj1dHazv9iVLdPv.5QZHudntzUAOSY3YL8vSUBdqHf2C0ZZ4h5QiFgisuPaGLE51BvBAxvRHqxR+8pZ0HLIvzzcAm.q6xZLTij4MLVWeCCiTalHdh3Ogeoquak5555AMdRh3rniGU+TfqtCnk9OpuMtMBCSa4BYy2m4PNF3H70tDxIUv10gPmjB6EoZ0.xjmYEWWPelQd8ZhdLWac8vGyD8X1090Mmf1YFW6bQprQzi4mr1YGW6BQpTL5wRAZmHNaxl1E1F4wVpp6isnHBN4Z1tfyNhztsCTHMSuVCFr855jieapDweeh3r0OcwcTK8jiL6SyPFkwr7RxjNME9NZpTBQC0avU6zdPp3Ei.QOtsnQpMGZ7HQawd4ZaGGTOOXfv.V3gGDzGQVTqfAImBcSc4Ny3c0qWqT0pFlCrvz4GoqK3xSAN9vqwmrq7Bp3r6yK2xh+4k9LDsSEmdc.A9Z6r7+BhXBro+TcyzF5+.+dpAVOvN0YwqjqU4XnyiOD112A3xh5lESaDIEmVTwA0FCsOhEPGFYE1miWF+xh8NnKzdMV7SFshm+vkvYxb0blEkxbHwGy1F5PnEEfYr5jQ3MysE8YZ74sIUZV7++qnUPGOnb62eQ4mQZzrsfNfbOwnXzSi6cDE1UzzjC.YAuduOdH7B3XLx7nDoJaXjoR1JYkmEyEIVWJvemm.MF04Co1bvYb5D79DJ7.bxTwee7Xw+Pb8wGpUqINFOGDWhiCzchCyyIz8pTLI1u6wP200E7lABxRNZzruzt7rujSNzRjRjjfD7NXD8fdP7kkSlRXdTrryhEhJlnzfbyteXtYhcsUPrTvhoElhiR.jkyOVYFTOyhod1ES8bKl5arXpmewTuvhodwES8RSP8WtyV.JfmdeHWhwu5AcoHN0UcK3oruaRjreLssfdmPI8XeaVMR2dDLm4opMEzs2Mzkerd49Cab9qKOXeb926YlKmY1REKUnHeVMCNHirC5bK3frRN3b+aAGjSdF7SRNPAOhCxkoPISiBEJkaFcvFRNP4s2BNHurCNadcPhPGrKfcFRf8WUK3YYNz4xg3OteY9wG7u5r5KO5nC1uot4LYYYxy4H4XamKX4LiX46MEutGY6FxKJe5rw3MYMJlOelbkThRsHXfBlELxkOSwYa0Rlu9Q4ncC+KLmxNiyohR19Oe6M2b5dSw1WRTrmufd9hEy3AZ6QrY4rPGsNK7hKEN.63+QJnAunEXODsubwmtUJ9xzB2Gp0.Qs5LY7tzDvKai+aa7FVJqDZa2pEK2zHvthV8e4+35VEVawuRqAwoeuNDLxpNxgBEEtJllng4UTcQEk5tveyGhshVE+8+p7Kjo.rkeoCY+1xuvG3L1pdUTOBK83oJhr7zk.40TQwqh17MZCmT5KBWe4oKfcMAo6KPpl1t0OH7kP1S5Cws40CrKFiTVsLuRu6DEJK+Gk+YvovVD2tgI3LT8cgsYNRtmifrMpZ1GaIGnZ1kPncP31iV+3GUdWBo21X.apaKajFc.d7OGg8kRxloluGkzc.VBJvbSJrWPdYpuVKetzrqVeO+doZraYO3lo8MHQaoojn80AQxggLdL8N9NpBDOxqG24OCfuik9mMmY8cZgaFFrJ+4Ctuu1KtC.1CI9T1NP6AntHV5QZ662sIKcGKHCnXLzgW.B0k36xHZavaGr4EDaGz3eXWgCZxaqFNn4fAU5BrbIuwR7gl7W2WMnGFlvA+hXwz1i2VeXcEzzLRanzEYidikE+f9Gyv9j0IybnS14PmbygNaLG5jeNzovbnSwqTG9ONXEe1oJBtIqiFaKNOQc34RpKq7urmoU5.
    


  • @DanH ALWAYS USE CURLY BRACES WITH YOUR IF STATEMENTS.



  • @d-healey Savage 😂


Log in to reply
 

12
Online

1.3k
Users

4.2k
Topics

38.3k
Posts