Forum
    • Categories
    • Register
    • Login

    Change Look And Feel Dynamically

    Scheduled Pinned Locked Moved General Questions
    9 Posts 4 Posters 660 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.
    • bendursoB
      bendurso
      last edited by

      Is it possible to change the local LookAndFeel of a component dynamically?

      Something like:

      .setLocalLookAndFeel(value ? MacroLafLight : MacroLafDark);

      I can apply the LookAndFeel, but the changes don’t take effect unless I recompile HISE. I’ve tried using sendRepaintMessage(), changed(), and even reloading the contentType, but none of them work.

      P.S.: I need this because I want to change the colors of the CSS-styled FrontEndMacroPanel, but class selectors don’t seem to work with this FloatingTile.

      Christoph HartC 1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart @bendurso
        last edited by

        @bendurso can you make a snippet? I‘m currently sitting on some LAF things and changing class selectors is supposed to work (unlike changing LAF dynamically).

        bendursoB OrvillainO 2 Replies Last reply Reply Quote 1
        • bendursoB
          bendurso @Christoph Hart
          last edited by

          @Christoph-Hart Yes sure, something like this

          HiseSnippet 1135.3oc6VstaiSDEdbabEM.KrR7.LJ7mTTakcurzlJzl1zFHPuD1TVsRHzpwiGmLpimwxdx1FVsh8IhmMdCJmw1I1tIzKHw+vQJIybt8cNymOmoerhxRRTwHq5WNIhgr9L6ASj5QcFQ3RTuiQVOy9LRhlEiy15nIQjjDlOxxZ4u2rg0p0PoO+0KOhHHRJqXKD50JNkcJOjqK1se6ehKDcI9rK4gkzdm18nJYGkPMFvyx1NnHB8JxP14DiZKYi9ARxHj02X64ukiu6Kn645t0t6tmi2daS22a6.x16vHd66rmKY+cCb1AYsxI9bsJdflnYIfSOR4OYvH00xr.7ZdB2SvLKbQCfHmsMpyHtvu+zhSBBYUqeQoZ4rR0WYeF2mOa+hR1WlJ.WXQ4hl0R2GjbeBPxpDjpkAomaOfFyizERL34Ss6IgSv.Bb1TFJY5hVJnlcGEngTuYH4JV2XXwLKZ9BGm0wvWqcP85v4ShF+NRL9LBMVcJI.+c3o1RiYPJcphRDmpTWcnzuKiIZB1chbHWx1LgoS8MS5mZdRyeswocunw5XyOtM9MSHl5Xi18jBvtA5IB1fQLltYi5X3YSAe3HMVOB+9z0lm.vuaDPB4hIsvGFyIh0wuhMbrfDevLknP4LtE1S.7pCpZZB+2YsvteazM2Qv0LSvZg20woPhlcidCB.CYKLkYJUExhH99b4PvYNQ2f2srC8Tw9r3M7TZsJDT.jmnDbe7Wu0glOYZ9gzuyxTeR7UUSzGcxVJgudDWyNXdWrnj99S7GJ4efBviuHjUHZTkz0UnHZv0WxEL2RLugLcGUXjRBKZ1nhVodnxNFh0bjzorNi17TVGNXrjp4JIVIOZLfUoqIbwJQS5zXsNfJwX1Z0ee8UmKFEz1NB3UtlopheItQF8sAtE7Wy4qAhe.h6hyl7X2XMiOyQPGhP3Ab3l2EZF3WB2mqzrKjMSwWcfVcWQAAKTVtyDr3EJ1z0N99LrobbnGKtb0wnHzkpZquUdbs9nY0kRJpj8jb8EQr70cUBeSKMy+muQIJuvZZYliPPUcZCymk2vLqLh3fSV0NulhRge4oYneo2wDMYpi.eBwIhEq4lzw5X16focYchW09XVxUZUDL3Z1oIzJVmO5HKrkIMoA+KrqviP2LK7e7maOo7hb.LcTTkFq8IRl.4Mb5rzUWYZB.8ABK181au8iU2cqxaadQedkul6qgov1V+oEBMJsIgY0OZkVomko0dDE3hrqMqT109OZile1FLUU4Cs3zUG0ZtDRt.fDVY9lYFlLgqmT9RJOg4uN2672GKDetcetlNZwXboEfQfd8eAFyu0xmaeRP.ipK.XM6tu4e6UTdfv+J0XCW9LhNlCG11mONb.PmnLH5RfilXXNKYHNYqcLqMUfA.UNcAv5tMWnqYsUtP2oBQgFF+aoYuXatWzmjtCfIY58FssgKWL+6xgvUzdKkV0MyLZEiQtOUqfqn9+V7OZg4RwGNFF5m8V.BcV+SRamZYchj.DpTxG5uAT1EgiA
          

          I would like to add class selectors to all elements, including th, tr, td, button, and others.

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart @bendurso
            last edited by

            @bendurso yes you're right, if I add a button, it works:

            HiseSnippet 1210.3oc6V0saaaCElxwJn1aqaAXO.Dd23NjDXY6j13fg5Dm3Mike7pSKJvvPAsDkEQnHEjnahaQw5ixdF1ivdR1ivteWjcnjrkTsSWBv5cSAHl776GOmCO7LLTZSihjgHipWLKfhL9byQyDJuddDl.M3HjwCMOkDong3DRGNKfDEQcPFFq88ZBFUJih+9qmdHgSD1zLRHzKjLa5ILelJi5vt+Hiy6SbnWv7yIc6tCrkhdRtbJfm0LafBH1WRlPOinEqjI5GHQdHiu0bmlsra67XmlM2YucsI6R2yk35Z0xoc6cexdVs1iz9I6RarCxX8icXJY3HEQQiPFkOT5Lajm7JQhCdAKhMlS0arPi.OmPtuj6nOhZpnddLtyv4ApHDXkgYgs0RBaes4oLG1B5YguuJlANSi7APiREg2ZEfmUd30HG7VAjLxAoxIPZCyQ1gr.UFGMd9LyABHa5Rf7TdnjHKpTPYydRPBgZaexkz9gvlEZTe2FM1DC+6Q6WsJjqhT3WSBwmRrCkmPbweGdtt1gT3HchzlvOQJu7.gSeJkWGz6XwDlftcDUEaapvIV8n5+bsS5edsMw5erp8KZWL2vZoGH3fdiTy3zQdTppdspX3S4gea7B8mKXvsbI9L9rN3CBYD9l3mQmLkSB2egPEkNh8FZGr0iCtd+hLthxl3o5f2oQiLNJ50psHb1DQGrMUGVx3EPbbXhIfwZDbMdm7FbrLzgFt0XoRI8AA.9QRNyA+MMOP+Whjuq5B3ssCI7x3UusZE8O1PxOrCdLGtQrrzbMTWg3W4wTzkDe7T.Fh7hOFr5jP4Tgi1ESWnRsh44CiUrYtz7DppmzOPJfM0qkxOVqz05L2RUAySqEsdetjnf.3ELN05V8QAoh8TAJ+q9iEWFgcmJrULo.KEIH0R6tPIut8besIfJHV7npPPZIejUG1iC2gpGKJ9o3ZI4hZ3NvRcRTCwJ4BF2KEeG.3OVnFB.ZalB8dDNWmIq+gmI84N2A9Lohdtnd7AqJTW7grbcWIuTiwogqjstWd3GSw5ho9iog4CqZAg9UEaBZd6MAy2i1NItjSPoXffoNOfJtsN2nzfIzvrTJp.QUwsKeXZ6xjPGhAcEqXlFGQwPN+6Zn6g5MWg5OevQDEQ23NER.LCngJlNBXbD80vylIswqXdDM5RkL.b0hB.nOtJ8cmD2lu.M14eoYgZVz0Kb+6+otyxuIE.yeGqPW4gDAkiFOY9ixUVe9A.Zr3mQ8lat48Eo1LOYcaykE9JlixaAR9y2z0Ktk6BJ+lpKJ2It7cHOkcJ6RycJ69qErzCtCoLvRlF+tABMSu3OfE4iBvQ34KGEZ0pk6JhBarwF+8JiB2jLNzRubCyLHcfGsTEGjPOtUJC3hUgWu0uPKhXpY4GG6+roKtqPbCygLks2pwXoUfQ88vOAXLclruv7XWWpsJCfkM6+xOMCfgdlbp9x1oDUHSW6b1T+QPl1lBdW.WhzM1LJoabjrugduNBLBtqEuQWPjxzRu2Hko0blHe8UxWYmz4QO02Cho.XRDOgroIL5zxMa7gAPekscQyrPo00JYce0BFF++03V0POx+ASgY8RtEfPmN73398FFGKHPAUbwG5e.MToxAC
            

            I'll take a look, but it shouldn't be a problem to recursively set the classes with the method.

            1 Reply Last reply Reply Quote 1
            • OrvillainO
              Orvillain @Christoph Hart
              last edited by

              @Christoph-Hart Am I reading this right Christoph - changing LAF dynamically isn't supported or supposed to work??

              Musician - Instrument Designer - Sonic Architect - Creative Product Owner
              Crafting sound at every level. From strings to signal paths, samples to systems.

              David HealeyD 1 Reply Last reply Reply Quote 0
              • David HealeyD
                David Healey @Orvillain
                last edited by

                @Orvillain Depends on what you mean exactly. You can't swap out look and feel objects at run time, but you can change the appearance of components using either code branches or css classes if you're using css.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                OrvillainO 1 Reply Last reply Reply Quote 0
                • OrvillainO
                  Orvillain @David Healey
                  last edited by

                  @David-Healey said in Change Look And Feel Dynamically:

                  @Orvillain Depends on what you mean exactly. You can't swap out look and feel objects at run time, but you can change the appearance of components using either code branches or css classes if you're using css.

                  hmmmmm... interesting......

                  I've got a bunch of effect slots where the user can choose an effect. There are 16 sliders that get bound to the effect controls when an effect is selected... but also.... eventually each effect is going to need its own look; I sort of took it for granted that I could change the assigned LAF to the various components for the effect at runtime.

                  Does this mean I need one big fat look and feel object, with effect-name aware branching??

                  Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                  Crafting sound at every level. From strings to signal paths, samples to systems.

                  David HealeyD 1 Reply Last reply Reply Quote 0
                  • David HealeyD
                    David Healey @Orvillain
                    last edited by

                    @Orvillain said in Change Look And Feel Dynamically:

                    Does this mean I need one big fat look and feel object, with effect-name aware branching??

                    Yes but I'd break it out into small individual functions, so the laf function holds the branches and picks the appropriate draw function based on the effect.

                    Free HISE Bootcamp Full Course for beginners.
                    YouTube Channel - Public HISE tutorials
                    My Patreon - HISE tutorials

                    OrvillainO 1 Reply Last reply Reply Quote 1
                    • OrvillainO
                      Orvillain @David Healey
                      last edited by

                      @David-Healey Gotcha. Thanks man! Looks like there's a chunky refactor in my future! 😁 😁

                      Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                      Crafting sound at every level. From strings to signal paths, samples to systems.

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

                      15

                      Online

                      2.3k

                      Users

                      13.7k

                      Topics

                      119.1k

                      Posts