Trying to make a template with 6 tabs / pages
-
That thread is old. Here is what you need to do.
Add one panel to your interface for every "tab" that you want.
Add one button for every panel.
Store a reference to each of the panels in an array. Store a reference to each button in an array.
Make a custom callback function and assign it to all of the buttons.
In that callback function you need to use
array.index()
to get the array index of the button that was clicked.Then hide all of the panels using the
Panel.showControl()
function, and display just the panel with the same array index as the button that was clicked.In last month's Patreon tutorial video I covered a version of this, except instead of hiding/showing panels I changed the text of a label. But you can easily modify it for our purpose.
That tutorial is now public on Patreon.
There's a poll on my Patreon page at the moment for next month's video. Tabbed interfaces is one of the topics you can vote for ;)
-
@d-healey @dustbro Thanks guys. I'm not familiar with how arrays work yet but I'll check out the video now and try and work it out
-
@SteveRiggs I highly recommend @d-healey video
-
@dustbro Ok nice one. Just put it on now. Will put my feet up for a bit
-
Hi again mate,
I just watched the tutorial video through again and tried to follow along so I could apply the steps to making tabs and panels for the pages I need but I've made a total hash of it and I'm stuck again (sorry about this!)
I just joined up on your Patreon and voted for the tabs video, and I'm going to check out the scripting 101 video next, as its clear I have a lot of learning to do still on the scripting side.
I'll put a snippet below of what I have so far. It's probably total rubbish and loads of stuff missing but I can't work it out.
My script watch table list doesn't seem to be showing up either which has confused me a bit as I cant check if the right buttons and panels have been saved into array lists.
I've put all 6 of my buttons in radio group 1. Not sure if that's the correct thing to do but I figured I won't need all the buttons turned off at any point so maybe it was easier to do it that way around?
Heres the snippet anyway. Any idea what I'm doing wrong?
Thanks again
HiseSnippet 1046.3ocwW0saZbDEdVrW2.sTkH0K5ka8UfbpEfAZqb+g.FGgZ.iJ3jVEEYMr6fYjWlY0rylXTTjpTus2zWh9nzWkdaeCZOyN6BKDLJqiKgqXNmy278smYNybl9BtMw2mKPFYGNyifL9DyAyXxIslfoLTmSPFegY2.WpzykXMDOx2ZHwWZUwZLWXUOzBp4LOruOwAYXryiUvLxtKJ72+7CMwtXlMYgID5obpM4IzoT4Bq8a7iTW2SwNjgzoIhtZiN1bVKtKO.j3NlkPdX6qvWR5gUgkwDYrWaGpjKFHwRhOxX2lbmYClveESG+So9zQtD0fxnAvDoMeJ20QoXkUTqITWm9woBeDLK8WjX1QmX9LytTG5b6KRP2Ozg0BDIyGFY1j7JmTdkVq7JsN4YjPd6pk2CLGXKndxEdTZ6iM6vjDwXLrDjTV5XQY9iLls3PDL4gSwWQNU.Clinv2TpzCspWqTwiymKeNXg.V4eIVX067tWz77gCOq2.quyp9wIbMJPJgAf4m+B.UN01jBTXXoisnVeaRnfgCNnXtWmyB9Eg64zW.wFKoKIxV7odbFLnv9MCCYeqCfI7fxEKdbt2rhl5+ndsexaIIOLi3tYEoAtjfzn1jd5qhXY4nRSTlKkQrFGvrkTNyhyzBurZVDb2B1wSwCA44FPJlO2qymKKVHvyNjxbHWWPkvyFN+G5C6UhQpL+FEGaJAUd+hG5qrGhoE10cDTxTXUYnlqDZrGWRNiUP80mE9PV0y3wqyUzT4RDqyqpRVrAXEXASGQDwYgn3fMzKWwXdyULIKns0ojDAxYcXT4YdD1MUlihxiPE0dQhBBUFVO8oQ0S5rFhBkMYMiRgnPEm7XNTJfWIFtoQH5T.8naOzp2dn0t8PquBzy6bBVhUmfEk5gkCOhPRUqzFmPdIb0f97rrlmP7uRx8fqjluGGY7QuCqNWqn6ZfsYw79Jpibxh0qeowDB8xIIt+46aHvNT9iE7.uUVWSA0UzT+2e.n9HM0OyX6ScUM0+0G.pqootdlsO000T+m24Tuml57w2mqtEHj46YF9+v82K5lZ17A+ZyFKKf6+6qJfO+2ZjFppr8n5nsGUU2dTU6lnBcmSU82yup2tiRnuVtSfKVtbytpN7ib.WmuTWkpNGY9T4rj6seu6.ds2b+NJ2GX1mJsmrd8lYM5EtZ5+a8F8dh7lsGOlXKWH1cMO8muae7vZkxOwCjT1kcwRAUcFVufoCfmWYS.kvTM8pNNKi5dd83RwGuMfvbBG7uvuHmkUiMhbVN1IZJ1VvuvV2nf5EK2KzBnIV3C2xZ1UM1ZdqTJcOEdF0E11pDwWBJe8HpjZDGkZDUSMhZoFQ8Ti3qRMhudCHTuY8QAR9TcYAXne6vdyLLZyvvtpvcfn+CT.0Q7M
-
@SteveRiggs you're pretty close. You have successfully created arrays for 6 buttons and 6 panels, but your function script isn't quite right.
-
HiseSnippet 1073.3ocwW80ahbCD2KIa5AsTcmTenOt8dBTth.BPaE8ZoPRNgZgfJjSW0oqolcMfUL1q10atfZOoVU025mi9b+H0OB8aP638OrKbjnroEwpnHlwyOO+7LdrGOvQXRbcENHsriVXSPZum9vEb4rNyvTNp6wHsORumGiJsYDiQ3wtFiHtRipFSDNFM70fZuvF65RrPZZ68LELsr6i7+96urMlg4ljXUHzyETSx2PmSkwZGz5qoL1oXKxH57DVWqUWSAuifI7.JtmdYjM17R7TRerxrL5HsCNwhJENCkXIwEoseag0hgyDulGX+yotzwLhRnBZHLQApOUvrTLVoE0YFkYMHJT3hfYYPbfYuf.yGn2iZQWpON.8P+ALhQjLdnk41nWkjzq7cmdZIn29Az6Q5CMcn1x3QTb6c06xkDmIXHEjjVA1hx7GYz6H.K3xRywWRN0ADVhnvmUt7SLZTubwl4ykOGjHfL+UXGi9m26h1mOZzY8GZ7TiFMSLzXOoDD.0u7UMShwFyIrk5yo19TfBhkaZPM97jSIn3vCKl6Gymy.9BmvWReEXbDWmRjcDysEbPnvia6axiMNDlwCqTTwVEx.Oda.Gnr3svE6wRtJy4RGAqClwFCa8JH3AtKTewl4dCDanbFkSLl3wMkTA2XMqJXF4zm.AClGoXd05KKSXhYFTqqAJF51RTtE45ylDCQwqrveqGxBVekXD9T4rffVvBHLxsRLnjKrmKhM9N7oFTf7Jidi+7C+OA86Kjjy3EfzPtrvJzX8glLYiiE5AFwYiCqJtctMfE3dyGSbhhRQFB6xWsLR+lKiRVkaFj1SXnf2kSkmYS32TwEJbuBTlcPHq.Sk9EYueXQVPxEQgZor5ABUP9TN4YenT.uZDbcMezo.5Q2en0t+Pqe+g1XMnm28XrDqNVKLzCoCahijpxzZGStBtuH3Ptr5GSbuTJrg6oVVGizdm6P1453Ly22ZQx6idM0RNKVw20ZFgNcVhKm9hVNXKp3YNBO60xuofBUSPg+hsSnvQInfs2NgB0RPge3m1ITndBJ7m+xNgBMRPgx+1VfBGDPg7QMEntFvmAOP2+2qTOfPwD3ma2ZUB7veecB7g+ZqMrZuQWU8+lqtJ5jcs8RiWOZm30Z6DuV+l7JZa50F++sVe6tYgdpEVdLrb0FsUutHb.nsgU5nU00J2kJWjrjXqz88cktORe.UZNay7MyF3KbC31lugukIu9ISlPLkwjce8Sew1+gKnuU3Io7o8vRGJr8Quu27gvS6LI.S3pVUUMEjQ0NQfb4nlDFR3V9B+C7ENXEkrV3fUhFDMGa5HtvLneD0qkdfuFfSb+GMlUumR1XYGaJdOGdB2Ellp.wGCLeyHplZDGkZD0RMh5oFQiTi3SRMhO8VPndu7W4IEyCJK.ECNwuEPMsS3XXWk+NPz+BPmvnPE
As @dustbro said you got pretty close. Since you have the same number of buttons as there are panels you can just use a single loop and constant for both.
-
@dustbro @d-healey Ah that makes much more sense! Amazing. Thanks guys. Good to know I wasn't a million miles away I'll keep on learning. Hopefully it will all click properly soon. This helps loads. Much appreciated fellas. That's made my day.
-
@d-healey Sir
What if we want to make the Buttons open n Close the panel and Do the radio Style Aswell?
Any idea? -
@Natan Don't rely on HISE's button groups for this, handle it yourself with a loop in the button callback.
-
@d-healey Have no idea,
I got 7 buttons, and each one Opens a specific Panel and Closes other ones, Also They set All the Other button's Values to Zero Once they Get Clicked.It's A little Out of my Knowledge :/
-
Sounds like you have it already, what part is missing?
-
@d-healey
I write it down in a dirty Old-school Way.
Like if This = 1
This.setvValue(0);
That.setvValue(0);
That.setvValue(0);
That.setvValue(0);And so on...
Tyring to clean Up and optimize some of My code parts, And need A example Like that to Study, And Translate it my Project.
Just one If This button=1 Others Value=0 And Hide Evrything = 1 , Expect the One That Connected to that Button.
-
@Natan Did you see my video about creating a tabbed interface?
-
@d-healey Nope, Where is it :)
-
@Natan Give you 3 guesses ;)
It starts with aY
Edit: Starts with a
P
:D -
@d-healey Haha, Will Def Check it out Right now :) Been at your channel A Few minutes Ago, The New HISE SAUCE name Is Very Good :)
-
Oh actually I was wrong, seems that video is still only for Patreon supporters.
-
@d-healey Yeah I'm At Your Patreon Site :)
-
@d-healey Well done Sir, the video And project on Patreon Is exactly what I was looking for :) Thank you