2.3 More Rappture Objects

Video in TIB AV-Portal: 2.3 More Rappture Objects


Purchase DVD

Formal Metadata

2.3 More Rappture Objects
Title of Series
Part Number
Number of Parts
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
00:09 More Rappture Objects 00:19 Groups 01:50 Group of Groups 03:27 Phase 05:55 Enable/disable 08:00 Enable/disable 10:03 Enable/disable groups 12:43 Notes 15:45 Notes 17:21 Under the hood: XML 19:35 Under the hood: XML 20:54 Atoms 22:39 Assignment #7: Add options to Spirograph
Computer programming Simulation Game controller Executive information system Multiplication sign Sheaf (mathematics) Interface (computing) Urinary bladder Local Group Number Length of stay Computer animation Personal digital assistant Hierarchy Charge carrier Energy level Right angle Object (grammar) output Arc (geometry) Descriptive statistics
Web page Computer programming Game controller Building Moment (mathematics) Multiplication sign Scientific modelling Geometry Control flow Parameter (computer programming) Disk read-and-write head Regular graph Number Heegaard splitting Insertion loss Hypermedia Phase transition String (computer science) output Arc (geometry) Condition number Boolean algebra Metropolitan area network Series (mathematics) Touchscreen Interface (computing) Local Group Computer animation Personal digital assistant Phase transition Right angle Figurate number Cuboid Pressure Window
Boolean algebra Metropolitan area network Computer programming Game controller Scientific modelling Mathematical singularity Parameter (computer programming) Local Group Number Gaussian elimination Pell's equation Computer animation Tower Personal digital assistant Computer configuration Phase transition Phase transition Charge carrier Personal area network Right angle output Gamma function Arc (geometry) Condition number
Point (geometry) Axiom of choice Computer programming Expression Game controller Multiplication sign Connectivity (graph theory) Scientific modelling 1 (number) Parameter (computer programming) Drop (liquid) Thresholding (image processing) Electronvolt Number Mathematics String (computer science) output Normal (geometry) Subtraction Arc (geometry) Units of measurement Condition number Boolean algebra Metropolitan area network Touchscreen Expression Electronic mailing list Bit Set (mathematics) Port scanner Local Group Maxima and minima Computer animation Equation output Right angle Data type
Web page Computer programming Building Computer file Set (mathematics) Computer-generated imagery Flash memory Hyperlink Function (mathematics) Web browser Coma Berenices Theory Number Web 2.0 Medical imaging Goodness of fit Plane (geometry) Linker (computing) String (computer science) Integer Scripting language Arc (geometry) World Wide Web Consortium Area Metropolitan area network Information Element (mathematics) Electronic mailing list Interface (computing) Hecke operator Directory service Port scanner Maxima and minima Uniform resource locator Hausdorff space Process (computing) Computer animation Vertex (graph theory) output Website Right angle Absolute value Object (grammar)
Point (geometry) Axiom of choice Metropolitan area network Asynchronous Transfer Mode Game controller GUI widget Computer file Drop (liquid) Measurement Number Skeleton (computer programming) Computer animation Device driver Website Liquid Arrow of time Object (grammar) Quicksort Arc (geometry) Units of measurement Router (computing) Modem Condition number
Web page Computer programming Building Game controller Scientific modelling Mathematical singularity Sheaf (mathematics) Spiral Streaming media Function (mathematics) Parameter (computer programming) Weight Graph (mathematics) Table (information) Number Data model Medical imaging Spring (hydrology) Goodness of fit Atomic number Linker (computing) String (computer science) Selectivity (electronic) Arc (geometry) Units of measurement Graph (mathematics) Block (periodic table) Element (mathematics) Interface (computing) Bit Staff (military) Cartesian coordinate system Element (mathematics) Symbol table Local Group Computer animation Personal digital assistant Equation output Website Right angle
Web page Metropolitan area network Computer programming Computer file Inheritance (object-oriented programming) Real number Spiral Web browser Directory service Coma Berenices Hand fan Maxima and minima Web 2.0 Computer animation Software testing Subtraction Arc (geometry)
Point (geometry) Computer programming Game controller Computer file Code Scientific modelling Spiral Drop (liquid) Storage area network Wave packet Formal language Number Mathematics Luftreibung Term (mathematics) Operator (mathematics) String (computer science) Information Arc (geometry) Condition number Boolean algebra Metropolitan area network Bit Set (mathematics) Local Group Maxima and minima Skeleton (computer programming) Arithmetic mean Computer animation Order (biology) Statement (computer science) Vertex (graph theory) output
Metropolitan area network Curve Game controller Computer animation String (computer science) Sheaf (mathematics) Statement (computer science) Function (mathematics) Arc (geometry)
Ocean current Computer programming Computer file ACID Sheaf (mathematics) Function (mathematics) Information privacy Number String (computer science) Software testing Arc (geometry) Boolean algebra Metropolitan area network Default (computer science) Curve Information Local Group Maxima and minima Software development kit Database normalization Arithmetic mean Computer animation Personal digital assistant Device driver Octave Statement (computer science) Right angle
Ocean current Metropolitan area network Computer programming Computer animation Information String (computer science) Statement (computer science) Software testing Arc (geometry) Curve fitting
Metropolitan area network Computer programming Curve Information Computer file Structural load Sheaf (mathematics) Interface (computing) Function (mathematics) Mereology Mathematics Computer animation Personal digital assistant String (computer science) Statement (computer science) output Arc (geometry) Resultant
Metropolitan area network Computer programming Graph (mathematics) Personal digital assistant Scientific modelling Multiplication sign Parameter (computer programming) Arc (geometry) Directed graph
I had half online simulation and more work for technology brought for so in the
next section we're going to take up a little deeper look at rapture and we'll see a lot of other kinds of objects that that are possible when you're building interfaces so for 1
thing as you start building up tools you may run into a situation where you have a lot of controls and you want me to put things together they're related there's a thing in practical called a group that you can use to group things together and in the builder you drag a group over it looks like that little icon up in the right-hand corner there just drag that over and drop it in the rear face and then you can put other things inside of it a group so it acts like a hierarchy level in your program and you can put other things inside of it in this case I have a group named towel and it's labeled minority carrier lifetimes and inside of it I have 2 numbers and it actually gets drawn on the screen of like a border around the around the controls in the builder again it would look like this it's got the name how it's gonna label menorrhoea minority carrier lifetimes in the description describes what that is you guys probably already know about minority carrier lifetimes right right no if you don't the description says that that that's the average time that it takes for a minority carrier recombine and semiconductor blah-blah-blah anyway your advisor will tell you like with the science is behind it and you can put in good descriptions but once you do that you got a title for the group when you mouse over the title pop up the tilted so somebody doesn't know what that means they can use the tool tip to figure it out right again the documentation is embedded right there with the tools right
now there's 1 other interesting thing that you can do in rapture if you create a group and then you put groups inside of it you create a group of groups when you do that raptures thinking boys getting complicated there's a lot of stuff here and what it does is it renders it to you with tabs so because the such starts to become so many nested groups of figures are right was better if I just showed use tabs so but you get to tabs if you create a group in this case I call that tabs you don't have to but there's a group you're called tabs inside of it there's a group called models of group called Indian and inside the group models as a group tau and all that anyway but when you have groups of groups they become tabs on the interface so you can see the group models and a group in the and those are like 2 separate tabs you can see 1 or the other at the time but not both now inside the group models I have a regular control of Boolean value for recombination and I have a group with 2 numbers and as soon as I start to mix things up I have 1 control in groups with other stuff then rapture doesn't do tabs anymore but as soon as I start mixing controls it splits them all out so you can see that the Boolean value for recombination model and the right below it you can see the group's group with the 2 numbers in it and so the tabs only works when you have groups of groups have just groups of groups and get tabs otherwise you'll see the groups with headings and that tends to work pretty well on most of the time when you're building stuff so that's a good assumption there's 1 other
thing and that's like a group but even bigger sometimes the the tools that you build have so many controls melody have groups of groups but you need to have groups of groups of groups some you know kind of build split things up and it's easier for the user if you can walk them through the important stuff so we have something called a phase in rapture that is kind of like the wizard thing that you see on Windows sometimes you know you see a panel announces next and fill out those things as is next in a kind of walks you through a series of panels so the way you do that in raptures by defining a phase but in this case I've got a phase with a string in it and get another phase with another string in it so to show you the 1st phase just that 1 string and then there's a button will take you to the 2nd page and then I'll show you the 2nd page with this 1 string and then will take on to the next and at the end of the last but not always says simulate because by the time you've gone through all the phases all that's left is to actually run the program so if you're tool is so complicated if it's got like 100 controls and then you want probably take those hundred controls and 1st of all recommended groups but you might also even 1 break interfaces you might have 2 or 3 phases 1 phases all the geometry that deals with your device the next phase is all the temperature and pressure in ambient conditions in the next phases of the voltage that you apply to a whatever things that are logically related and I each phase there should probably be at least a dozen if not 20 parameters right so you want use phases only when you're tool is so complicated Scott that many parameters to manage if you can fit everything on 1 screen that's actually the best I mean for the user and 1 screen with the media dozen controls that be perfect but if you get the other dozen controls use groups and if you get beyond that you can use phases the really complicated tools so but anyway so that's there you can remember if you get a really complicated tool that's 1 way of managing it costs you know whatever you do that with groups and phases the groups tend to hide things from people of you've
got tabs like this I can look at models but not in the and you 1 or the other so whatever you put things inside the tabs like that the parameters are a little bit hidden and when you put them in the phases especially there's not much there you just torturing user so again I'm saying use these things sparingly but they really help when you have a large program
right now suppose that inside my group with the drift-diffusion options I have this recombination model suppose I have 2 other numbers but when the recombination model off I don't want the user enter those numbers still makes sense but when the recombination model is turned on will then I have to have those numbers because I need them so what I have a recombination model active I need those 2 numbers for minority carrier lifetime and if I don't then forget it there's a way in rapture of enabling and disabling stuff like that based on the value of a control and elimination how to do that so inside the builder have is a boolean value for recombination and in the builder if I highlight that Boolean control and then I go down to where the name is I can click on it and say copy if I click on that instead of renaming it up to now we've been renaming the thing right but if I click on that name and copy that's like a copy paste thing and it let me grab that thing grab the name of a member this is the same name that I would use in my rapture program undergrad that name and then use it elsewhere in the builder right now some of the click there and copy the name and then and then paste it in to would enable condition over here so many go the thing that I wanna have turned on and off in this case the number of talent and there's also a number each 1 of those I want to have this enable condition what this says is when this control is turned on this number is active when this control is turned off this number should be off so that's the simplest thing I can do when the Boolean value is on this number is enabled when the Boolean values off the number is disabled and I do that for this number and I do it for the uh the number 2 tower Intel P 5 2 numbers each 1 of them has to be enabled properly right
but just to build on that a little bit suppose I have a tight binding energy 2 . 9 9 E V and 1 1 and 2 . 9 9 0 below I don't need the next number but if I'm at 3 . 0 or above that I do need the number slightly different rights not quite a Boolean thing that turns on and off it's more of a numeric value when I'm a small value I don't get the number but when have a liar a higher value will reach a certain threshold then I have something called a high energy lifetime or something I have to include so what I would do that again there's enable conditions but this time the enable condition is not just the boolean values such as true false it's a little more complicated I write it this way basically I go to the thing that I'm I'm looking at the tight binding energy and and so I grabbed the name of that type binding energy of input that native TDE that's the name of the tight binding energy if I had calling the under the end of it will take the value of that thing and converted to electron volts and drop the units that let me take a string like 200 million electron volts and convert it to a number like point 2 in electron volt so this will give me and number value and then I just look at greater than or equal to 3 so if I got that number greater or equal to 3 but it's enabled otherwise disabled CDs enable conditions that I showed you a 2nd ago they can be just a simple Boolean thing or they can be an expression like this is an expression get a number and what is greater than or equal to 3 then this thing's enabled and when it's not it's not so you can write any arbitrary expression they're using the value of 1 rapture component to control another 1 you always take the 1 that has the controlling value and you put it on the enable condition of the other ones that you want to control or to a mystery another
example of that again suppose that I have something called a like a choice thing with the drop down list and when i choose drift-diffusion I wanna have those parameters and when i choose Boltzmann transport equation I 1 have these parameters and which is negative I want these parameters actually have 3 different sets of parameters depending on the model that you choose and I wanna make sure that when you choose 1 model you 1 set of parameters but if you choose a different model you actually get a different set of parameters the way I do that in the program is M make 3 groups for the parameters and when this model is enabled by show I when when the model drift-diffusion is on I enable its group I disable the other 2 groups if you enable Group it'll show its controls if you disable group at the controls will completely disappear actually don't gray out they disappear off the screen so this idea of enable and disable is a way of showing controls and hiding controls to you can enable a whole group and the whole group pops up and you can disable the group and the whole group will disappear so the way I do that is for the 1st group I look at the value of the choice of input that choice parentheses model that's the model thing that you're seeing top of each 1 of the 3 of these so that this is the rapture name for it and if I if I look at that model and input that choice model equals then go ahead and enable that panel the next 1 says look at the choice and if it's BTE then enable that panel and next says if the if the model is not yet that enable that panel and answered by coral there's some mathematical correla I'm sure that says you know when the model is the the top 1 will be true the other 2 will be false right so it'll be enabled and disabled and disabled but on the other hand if I had the choice model was named after that it would be disabled disabled and enabled right because it would be false false true so that way there's only 1 is active at a time whatever model I choose using the the drop down drift-diffusion BTU neck after whichever 1 I choose will pop up that panel of controls and the others will disappear so the enable thing is really good it helps you on the 1 hand do simple things like enable and disable certain controls and I can do that with a simple Boolean value I can do that with the numeric value or you can actually show or hide whole groups controls by enabling and disabling groups so it's a very powerful thing
are on a different note literally different note but there is 1 more thing you can put into your tool for documentation there's a rapture object that's called a no it's not really an input it's not really an output but it's an element that's there to help you with documentation I what I found was people start building rapture interfaces and put in strings and images that were inputs but they just described stuff so people would put in a string with a bunch of documentation and then your program would actually receive that as an input but it would ignore it right so I thought well heck with that we can do better than that you can actually have an unknown object that actually has HTML text that describes what's going on in your interface so for example you can see in the builder here I've got a note and then a number and an integer n over on the right-hand side you can see some html documentation and then a number an integer right so that the node is a little HTML area where you can show images and links and text in any everything you need to describe your tool that area right there is the no and when you're setting it inside the builder there's a little button where you can choose any HTML file so just pretend the 19 nineties and you can create little HTML file by hand any sort of in a of ordinary HTML file with an HTML tag body sorta like the way people used to do it back in the 19 nineties and but you can also include images that actually doesn't stand such style sheets but it doesn't understand flash it doesn't understand job you know all the fancy stuff on the web but it doesn't do doesn't do JavaScript data so you gotta keep your your HTML pages kind of plane but if you if you have HTML pages you can plug them in right there and you can test them with your browser to make sure they look right so this is what typically you do inside if this is my where my tool is about my tool that XML about my script for my tool it's a good idea to make a directory called docs D O C rapture will look for a directory called docs in the same area where you told us XML is it will assume that all your no information is in the docks directory so in the stocks directory I could have an HTML file and I can also images and all that stuff and then a year HTML file can reference the by size that you feel region is altogether so when you're building a tool maker docs directory same place you have you told that XML and put all your HTML in your images there and then and then just use it in the loaded the HTML file and you're often right there's your docs that might be useful it's like a really useful thing for a lab assignment just say every like women what back up what the note I give you the note this is what it would look like by
the way if you not history writing HTML feudal HTML primer on back in the nineties this is people made with pages so that it starts out with an HTML tags and a body tag and then some stuff and then slashed body slash HTML and inside the Pisa paragraph tags you L is an unordered list of a is a link in the web are you notice you could actually are embed links in this and you can embed links to other websites in year 2 0 so for example in this documentation I say here's a bunch of cool sites that you should check out and you know this is the theory for this tool or something we can actually reference like no . were resources or we can reference so google . com or whatever whatever web URL you wanna stick in here but you can do that and when the user clicks on the link intellectually pop page for them so what so feel free to use web links outside even now and you can also see the image right at the top I got the ING tag the ING tag with SRC equals by size that Jeff that's how you include an image in your HTML and that was that image I showed you just a 2nd ago sitting in my docs directory so that's how you write HTML that's a good example and that's my by size that HTML file that looks like the thing at the top and the links are active so when when users clicking the link it will pop up the tool page just like that which is really great trash right now the last
thing I wanted to I still we started already kind getting good documentation the website and the more you do with rapture more you'll find you need that documentation there there are things you can do in rapture that are in the builder yet and we've been working on the builder there's a lot of stuff in rapture is not feature complete yet it's close but not quite there so for example kinda builder if I look at a number of objects you can see lots of things you can see the enable condition and the fault value the measurement units of measurement all that but if you look in the documentation for number there is even more that you can do that's not in the builder for example numbers have something you can put in called preset if you write this in XML if you if you use the Builder Generator tool that XML file and then added it by hand you can actually add something like this to the XML you can add a preset value 300 K a preset value 77 K and what that does is gives you little drop down menu the number now is an entry widget but it'll have a little arrow next to it with the drop down in drop down these 2 choices that's a really useful thing because sometimes people don't know what good temperatures are and it turns out that experimentalists like to work at 4 point 2 kelvin that's like liquid helium temperature at 77 kelvin that's liquid nitrogen temperature and also at 300 kelvin because at room temperature and if you do if you were an experimentalist might not know that but it's really good as a tool builder to build those things in your tool that way it makes it easy for people they just think I I wanna work at liquid nitrogen what's that temperature I forget all at 77 and there so if you build something in builder you get closer with the tool that XML you can then go into your tool that XML and edit it and you can add stuff and just like we were doing with the driver file when we added in the current values you can edit the tool that XML and presets for example and add new behaviors other histories like that that you'll find lots of other things in rapture if you read the documentation there's extra stuff that you can do in the XML OK so the
builder builds your tool that XML and then you can go in and and stuff like that and say that now the only bad thing is that if you reload this file into the builder The Builder straight out all the stuff that doesn't understand and throw away so once you started entry editing your tool that XML by hand is sort on your own sorry about that I don't know what else to do about it the the sort of throws away stuff that it doesn't like and when it goes right back out all that stuff that you added by hand will be gone so once you can use the builder to get so far if you start adding stuff by hand and then you might as well just keep adding stuff by hand in the tool that XML so just be forewarned I guess this is what it looks like by the way if I add those 2 presets when I did this temperature control have a little drop down in the drop down 1 of my preset values on it on which is kind of nice on the other hand you might say s not worth it for me because I don't care that much about that feature compared to losing the builder when I start using it so trash there a few
other things that you'll find if you poke around in rapture there is also an input called the periodic element and and I think it's in the building so we can drag it over right that's good because it didn't used to be on so solar so now and you can drive over this periodic element in the builder and again this is what it looks like in the XML and it shows you a periodic table and it's really good for chemistry applications if you're asking somebody selected element like oxygen there you know helium or something like that you can give them a periodic table and they can click and choose the elements on the periodic table and you may in some cases with chemistry applications like this you don't wanna let people select anything you you only 1 let the select 3 5 compounds or something like that certain columns of the periodic table and so there's all these different kinds of over on the right hand side noble gas and the transition metals and all that so you can activate certain sections of the periodic table where you can deactivate certain sections of periodic table you can say the user can select anything except a transition metal in when they're choosing so that periodic element controls just a nice way of choosing elements and you can look into the documentation a little bit more look at would be inactive and the active does and in the fall of turns out in the return has a thing called return value to where you can say what you wanna get and you want to get the symbol doing it the number the name the atomic weight everything so you can sort of when the user chooses an element like helium you can decide what your program is going to get is an immediate name helium is a unit of the atomic number or the weight so you can choose any of that with the periodic table to by
Canada Popery grab bag of all we're features on and and now I've got a lab assignment for you which is also a Popery grab bag of weird features of my I wanted you to try a few of those things out in your spirogram graph review this paragraph program from yesterday maybe you still have a sit around and if not let me know we could probably get you a solution what I wanted you to do is add a few things and you aspire graph program if you remember from yesterday this paragraph program that we had only had 3 values you choose 3 numbers and you get a spiral graph right where I had a few things on 1st of all put in no right up at the top and put whatever you want and the know what I did was I put a note with some HTML and their skin image the image has not equation site from what I 1 the equation used in image for that I put in some links remember there's that link to the article about spiral graphs I put that in so give it a try try to put a note in your spiral graph build the HTML page maybe some the images in there that kind of thing and that's step 1 when you're done with that try putting in groups and make yourself a group of model parameters and a group comments and a group of news like a group of groups thing so you get tabs there be tab for model parameters and a tab for comments you can try that much out the comments staff should look like this it should have a boolean value with the string so all your comment controls are inside the comments your model parameters and models to have to do that and get that much working and then the very last thing if you're looking for something to play with the enable and disable make it so that when you turn on comments this is enabled and when you turn off comments the string is disabled in at least on the gooey and your your program probably will ignore the comments it doesn't have to do anything with them if you really ambitious I guess you could take the input comments and produce an output stream that has the comments of 2 if you want to the i guess i said that so when comments are enabled produce up with string with comments if you're looking for something to do you can do that and so take it 1 step at a time start with the note did that much working in your interface and the groups and get that much working in your face and then finally play with the enable and disable within the common staff see if you can enable and disable the string OK here's my solution for the lab assignment who wanted to stick a in the top we wanted to create a couple of groups so we want to mess with enable and disable so initially when I came up with books from 1 that is 6 better by so I've got I've got this and I took the toll that
XML and the spiral program from the previous lab assignment and I made a new directory called docs make their stocks and then I put some stuff in it right so I got 2 things in there got an overview that HTML and a Spiro Dashiki when S . png and if you're this is just a simple HTML text the scattered HTML a slash HTML embody slash my audience and stuff in between and you can look up web tutorials about HTML and it'll show you simple stuff like this but nothing real super fancy I wanted to people try grabbing a web page like from Amazon . com or whatever stuffing it in here and then works of great because modern web pages have so much stuff 1st of all they need this and that JavaScript from this and that and they need all these different style sheets and things like that so there too many dependencies are that you run into with modern gotta keep the HTML here really simple thing 1990's HTML and but as you're developing that you can use a web browser to cut a test that and if you have like Firefox or something that any given the file it you can bring up Firefox's some web browser and you can test and see what that looks like and you can edit your HTML and then reloaded here and edited and reloaded and so web browsers an easy way of kind of checking to see what is ultimately gonna look like in your tool and alright so I've got
my docs there so then in my builder we open up my
solution in the builder I added a note the note is right here or you can find it under the documentation to have this kind of dragon drop that over and this note and you just set you just choose the HTML file here I have set that overview . html I can just go in here and she's overview and that's that's the content so that no 1 so that's all there is to it in terms of adding a node and then when I got a preview and there's my note and if I change the HTML it'll show me different text and so forth so the other thing I wanted to do was add the groups so in order to add the groups I go over here and there is a group thing right here and I just dragged and dropped that over and you notice you can kind of rearrange things if I wanna grab a number and move it around up here a move the number back into their move it up to the top of the helps you can you can rearrange encountered drag things around so if you have an older tool that you built with the builder with small controls you can move at all around 1 thing no to be careful about as I'm moving this number around if I move the number way up to the top and I look at its name the name is really simple the name here input that number parentheses 1 but if I take that number and I drop the down of a group name changes now the name is input . group tabs that group model that number 1 and that's important for 2 reasons 1 reason is back in the you programming your skeleton program we use these names to get the values and so you have to fix up your program to look for that number not the old number the new number right different paths and so when you move things around inside your program be careful those paths change and you have to change your your main program to use those names course if you regenerate the skeleton like I usually do if I go and say that as and I say this out to a different tool that XML and I choose another skeleton program maybe like mean to or something if I do that and you save and then it will regenerate a new skeleton with all the new names and then maybe I can take my old code kind of Plunkett in the new skeleton and everything's all fixed up so just be careful of that we're moving things around the names change the other thing I did inside the group comments I added the Boolean value and also the string and then for the string I wanted to set the enable condition and easy way of doing that is to say alright I want this Boolean-valued to do the enabling and so I grabbed its name and copy and then I go over this training and I set the enable statement to that based based so that sets in enable condition when the Boolean control is is 1 the the string will be on when the Boolean trolls often string be off and if I want to do the opposite just like in C language I can say exclamation point the exclamation point at the beginning is like the logical not operator so that would flip the control and I can also do things like saying equal equal and then given a string like like looks like yes but you can do that too I was forget the whether it's yes or no or often it added it shouldn't matter but it does because when evaluated if I'm trying to compare to the string yes it's got actually be YES YES so if you're trying to do something like that you may have a fossil that bit to get right on but you should be able to do different things like that the easiest thing for a Boolean is just a copy the name and I I that's up about it in terms of saving and which I'm not going to save any of that but
that's about it and then in my program spiral again I if I added my old program I should be careful to change these names or maybe generated in the skeleton and I stuck my code in either way but that means are different than they used to be because now it's not just input that number and 1 its input . group tabs StarGroup model and all that so I had to be careful to change the name there had to be careful the change of name there in the name there and everything else is pretty much the same I do mine T my z just like I did before when I say the values back just like I did before there's 1 other thing I added for the comments I
checked that Boolean value to see if it's turned on and off on if comments are enabled that I went ahead and I put this stuff out but this is interesting the way I did it right here I'm actually I'm putting 2 strings I'm sitting out the about that label and in setting up the current value for that strange on doing both of those things that actually that actually creates the control out of whole cloth let me show you
my tool that XML if you look in the output section I have a curve in the output section and that's it is nothing else there there's no string and when I when executing my code and that adds statement is
turned on this ad statement actually creates a string as if I had created it in the builder it does that by doing 2 things number 1 it creates a label for the string is Russia has to know what to call it so that's what the output that string privacy info . about that label that gives them a label and then the output that string info current gives it some text and so that actually created let me show you what it looks like then
to run this undertaken the copy my tool that XML to a driver . xml men entered the driver amigo in all the places where there's a default value and then make a current value user used to this by now I do this well I a test case I can run by hand because I've got those 3 values I'm also going to set values for the boolean boolean value acidity yes and a given string to call and also at the string current value to testing there is so that's my driver file I can run octave I can set in file to the driver file and I can run that mean program books were the cortical aspire books or articles by redundant groups are 0 there OK so I ran it by hand now and I can look in the run that XML and you can see a couple of things and 1st of all there's all the numbers that's great but a lot of numbers I forgot I guess there's a thousand numbers right edition started the top OK so here's the curve in the output section here's the curve and it now has a bunch of values
right and if we go down down down we can get to the end
here is the end of the curve and
here's this strange info that didn't exist in
my original tool that XML I created it on the fly inside my program my add statement did 2 things he created a string named info and it sends about label and it created the current value testing so that chunk right there of XML that appeared because of these 2
statements when you do where are people input you put a string in the output section it'll look for in the output section it'll look for string named info in this case if it finds it it'll change it if it doesn't find it actually creates set so you can dynamically create new outputs in your program and that's what I'm doing here this will dynamically create a string with the ID involved and it will set the about label to comments just like the the look the builder would have the phi would have created that string in builder and then also it sets its current value to the to the text that I wanted for the comments so and so I was expecting a curve to come out of this program when the comments are enabled I actually get a curve industry and you can see that if I if I do
i'd rapture as load that run file you can see the results right this is my interface you can see the curve but you can also see the string sigh actually have 2 outputs there I can flip back and forth between art and going back to my interface now seems like all the parts of their budgets from rapture and
I can change the model parameters and tied new cases and I can put comments on or off my enable is working properly because you can see the comments turning on and off and on and simulate and now I get aspire graph and some comments that questions on that that business at the end that I showed you about creating new things in your program will hit that a few more times you'll see that coming up more and so the they ever didn't quite sink and yet it will


  899 ms - page object


AV-Portal 3.15.0 (0adb9429a9b6d91003da50b8636c932b69ab95bb)