<?xml version="1.0" encoding="utf-8"?>
<data>
<r t="10.48">so first of all i'm supposed to say that i'm very disappointed that you started</r>
<r t="15.16">glottic without me</r>
<r t="20">i wish i had a lot more of screen shots and slides and stuff but</r>
<r t="25.16">well i have a enough material for the time and i wanted to make a</r>
<r t="31.19">longer history but</r>
<r t="33.61">the history would have taken up all the time anyway</r>
<r t="36.62">so</r>
<r t="37.9">the point of this slide is</r>
<r t="42.73">the point is to discuss a little bit what was the history of G T</r>
<r t="46.85">K A</r>
<r t="48.49">user interface programming paradigms over the last ten years or so</r>
<r t="53.44">before live blade or around when we had the blade then we had to well</r>
<r t="59.95">everybody was writing code by hand right</r>
<r t="62.77">but the plate was pretty early in the G T K history you had played</r>
<r t="68.78">first and the</r>
<r t="72.15">so a lot of people were writing code</r>
<r t="75.93">mixed in with the generated code that they</r>
<r t="79.93">build with collate so glade had only one feature</r>
<r t="83.66">to export which was to generate code in different languages and you would have</r>
<r t="90.73">you would have a whole application defined in an X M L file</r>
<r t="95.02">and one callbacks nazis just generated and people would just enter their cold</r>
<r t="101.88">it would be completely on maintainable</r>
<r t="106.17">so that's interesting fun fact is that the blade was created after delayed and it</r>
<r t="113.13">kind of just was a hijacking of directly project file format which was a really</r>
<r t="118.69">neat trick by change ten strange</r>
<r t="121.49">and since then we had since then we have the blade and</r>
<r t="127.68">back then</r>
<r t="129.44">it seemed that</r>
<r t="131.98">installing your user interface</r>
<r t="134.6">separately from your programming and allowing you to view your changes without compiling was all</r>
<r t="141.09">the rage i don't think we really care about that these days but that seems</r>
<r t="145.46">to have been all the rage back then</r>
<r t="150.95">right so back then how did we used to write code we could write modular</r>
<r t="155.3">code but it was not obvious</r>
<r t="157.59">i have a couple of code examples that i wanted to show</r>
<r t="164.61">and one of them was</r>
<r t="168.6">sh this is</r>
<r t="171.72">okay the this emacs is really huge on the screen but</r>
<r t="177.41">i seen a lot of code like this ten years ago basically you just create</r>
<r t="182.03">a structure and you build a lot of widgets and you have any pi its</r>
<r t="187.52">object based see it's not object oriented</r>
<r t="191.46">but you know people managed to and</r>
<r t="196.6">well maybe it's coming back now with templates you know this modular kind of way</r>
<r t="200.87">to write code but with late we just had a big mess</r>
<r t="206">huge user interface and many callbacks</r>
<r t="210.69">so just scroll through the well basically</r>
<r t="216.26">what's that</r>
<r t="220.11">so where</r>
<r t="223.85">okay so</r>
<r t="226.72">a eventually and my miss and my stepping over something after the blade</r>
<r t="233.9">after the blade well after the blade there was to take a builder but that</r>
<r t="237.24">came like five years later and</r>
<r t="241.76">and there is one interesting events that took place or event i started noticing the</r>
<r t="249.13">depth help program had bills itself as the G object for the preferences dialogue and</r>
<r t="256.45">use the G T K builder</r>
<r t="258.99">in the initialization function to create it's own interface and</r>
<r t="264.74">and it looks like a whole lot of boilerplate an extra lines of code like</r>
<r t="269.77">to do something pretty but it was it was actually really nicely done</r>
<r t="273.99">which is</r>
<r t="274.95">which is great you know and i started to encourage people to follow that paradigm</r>
<r t="279.58">but</r>
<r t="281.72">but people don't right</r>
<r t="284.35">people write the code that's obvious to them and if we don't guidelines</r>
<r t="289.58">and techniques and even</r>
<r t="292.41">infrastructure that forces you to code in a certain way then people are just going</r>
<r t="296.71">to write very random</r>
<r t="298.97">random things like for example</r>
<r t="302.23">how many times have you heard the question</r>
<r t="306.86">how do i get to pointers</r>
<r t="309.71">in my callback for G signal connect</r>
<r t="313.47">you know what i mean like that's like you're tackling the problem the problem from</r>
<r t="318.18">backwards you're not thinking of the design you just</r>
<r t="321.49">want this function to work right now what are you gonna do</r>
<r t="325.62">and</r>
<r t="326.89">how many people have seen cold like this</r>
<r t="331.65">like you have your callback structure you know</r>
<r t="336.6">and you allocate your callback structure</r>
<r t="341.63">you connected you have your data</r>
<r t="345.39">you know if you're lucky somebody thought of releasing the memory at some point</r>
<r t="351.71">and no but what it does to is that your dad is all over the</r>
<r t="356.24">place it's not centralised it's not it's not pretty it's not organised and</r>
<r t="363.65">and you're working in the environment that is</r>
<r t="366.81">errorprone because of the implicit invocation possibilities are enormous</r>
<r t="372.78">so you're working a project that's has all your dialogues all your buttons the same</r>
<r t="379.99">name space</r>
<r t="382.05">and anybody can just connect a signal</r>
<r t="385.16">and that can cause another signal to fire and there's no really defined limit since</r>
<r t="391.28">all of these objects are visible so you can have recursion and it's very hard</r>
<r t="396.37">to track these</r>
<r t="397.98">implicit invocation loops</r>
<r t="406.19">yes i'm not really jumping in order here but the whole generation</r>
<r t="412.07">i don't really have much to say about that but it's what everybody asks me</r>
<r t="418.59">why doesn't lead generate code</r>
<r t="427.67">yes</r>
<r t="429.42">yes maybe less in the last couple years but yes constantly</r>
<r t="436.26">ever since we released late three</r>
<r t="439.13">people cry about that</r>
<r t="442.01">yes like now i have to call</r>
<r t="446.17">glade X M L load from file do you take a builder add from file</r>
<r t="451.72">and</r>
<r t="458.84">well i mean that's the thing you know like it's</r>
<r t="462.57">your and you never gone and you never gonna use like twice if you're gonna</r>
<r t="466.65">use generated code just never gonna work out</r>
<r t="471.47">okay so</r>
<r t="473.45">after all that hey we have templates</r>
<r t="477.21">and not everybody knows what templates are but the templates are a way to encode</r>
<r t="484.2">G T katie builder X M L file descriptions into the widget class so that</r>
<r t="489.15">when you create an instance of a certain type</r>
<r t="492.98">it's complex it's components are automatically build and the variables referring to it are resolved</r>
<r t="500.21">and callbacks are connected</r>
<r t="504.54">it's just the formalism for creating and composite object class which we involves no grunt</r>
<r t="511.09">work</r>
<r t="512.24">there is a P eyes to call to describe it but there's no crunch work</r>
<r t="516.57">so not only do we gain</r>
<r t="520.32">by removing steps in the process of</r>
<r t="523.45">developing code but now we have a standard that's</r>
<r t="526.93">people can adapt to they can say this is the way that you write a</r>
<r t="531.37">composite widget in G T K and they they're not going to do this</r>
<r t="537.01">they're not going to ask how do i get to pointers in my user data</r>
<r t="542.19">they're not going to run around in circles and they're going to have a half</r>
<r t="546.12">in front of them</r>
<r t="547.39">alright</r>
<r t="549.93">a mean one</r>
<r t="554.53">so</r>
<r t="557.94">in this last ten years i guess ten years ago there was already this next</r>
<r t="563.26">that environment which was already doing this</r>
<r t="566.75">and little parenthesis here i</r>
<r t="571.88">i used interface builder and i used flash five years ago and that's when i</r>
<r t="576.8">started going crazy about templates and</r>
<r t="580.08">and it just like using X code in interface builder just</r>
<r t="585.62">just made me realise like</r>
<r t="587.76">how straightforward that is with G T K builder and</r>
<r t="592.5">kind of feeling pathetic about how come we did not do it yet and</r>
<r t="597.39">and it took this long here we are</r>
<r t="600.7">so next step environment is the apples objective C programming environment and name files is</r>
<r t="609.45">basically the equivalent of interface builders G T K builder format</r>
<r t="615.07">and they've been doing that for ever</r>
<r t="618.69">and they have some cool features to optimize your work flow so you can</r>
<r t="626.48">what are the features that they give you</r>
<r t="629.63">right you have those weird clients that's true you have the X code here and</r>
<r t="634.16">you have interface builder here and i wanted to put screenshots but i'm sorry i</r>
<r t="638.62">didn't have screen shots</r>
<r t="640.28">it's quite an acid trip because you have this like</r>
<r t="644.28">list of events that an object can generate like two signals and you have</r>
<r t="651.08">that's like in your plate right and then you have your source code editor which</r>
<r t="655.56">is that code which is kind of like sensitive drop target right and you grab</r>
<r t="660.53">your</r>
<r t="661.76">grab your signal and it's in another window</r>
<r t="665.25">and you drag it to the method and then that means that method is going</r>
<r t="670.4">to rip sponsor that signal on that object which is component child if you're right</r>
<r t="676.2">that's a big blue line just strands across the screen</r>
<r t="680.64">anyway</r>
<r t="682.1">it's but it's really practical i mean it looks really strange but it's really practical</r>
<r t="691.69">there is actually so many things that we need to do in late to support</r>
<r t="696.98">this properly</r>
<r t="698.41">"'cause" right now we only support just creating a</r>
<r t="702.97">object class right which is komplet defining one composite object class but</r>
<r t="709.28">another example of a cool feature to do is in adobe flash create or you</r>
<r t="716.1">can take</r>
<r t="717.63">you can just go ahead in your work flow will be i'm gonna design interface</r>
<r t="722.49">and there</r>
<r t="725.06">i mean it design interface</r>
<r t="728.2">right</r>
<r t="729.62">and</r>
<r t="731.11">i have my i don't know my album jacket you know and</r>
<r t="735.89">my song titles and you know my</r>
<r t="739.01">more but</r>
<r t="741.37">i don't know okay</r>
<r t="743.66">in search</r>
<r t="745.4">money no</r>
<r t="747.96">whatever's going on there</r>
<r t="750.3">and so i have a mock up and then i can just like take this</r>
<r t="753.97">box</r>
<r t="755.8">alright and i can right click on it</r>
<r t="759.28">and say export that as a class</r>
<r t="762.79">no just give me give me a list browser because i'm gonna use that in</r>
<r t="766.91">like three or four more of my interfaces</r>
<r t="770.18">so this one is like maybe a</r>
<r t="773.62">i don't know song browser screen you know and</r>
<r t="777.67">this one becomes a class called soundless</r>
<r t="781.62">you know</r>
<r t="785.69">that's from a i don't know but catalyst i use that with action script three</r>
<r t="795.63">there's air there's the</r>
<r t="798.98">but it's a i think that paradigm is going to work just as well as</r>
<r t="805.34">on air as on your streaming swr</r>
<r t="810.59">but it's really practical because then you have this new objects and you can either</r>
<r t="814.96">export it as a class which means that you're going to implement it</r>
<r t="819.9">or you can just since it's flash right you have these compose it thing is</r>
<r t="823.67">and they're just drawings and pictorial object right so you don't really need to have</r>
<r t="828.58">cool</r>
<r t="829.68">we can just use them and paste them</r>
<r t="833.21">and what's really interesting is that you have a project that's composed of like maybe</r>
<r t="838.4">ten classes</r>
<r t="840.35">and when you modify one then you see the change in the other and everything</r>
<r t="845.18">is reactive</r>
<r t="848.43">this is where i want to go with collate</r>
<r t="853.2">so how far did i go</r>
<r t="856.89">yes</r>
<r t="859.8">before we continue</r>
<r t="864.03">i did pull this out</r>
<r t="865.92">this is how it's done</r>
<r t="868.12">this is how it's done in</r>
<r t="871.35">coke or and the next step in interface builder</r>
<r t="876.73">basically</r>
<r t="879.15">you have this guy right i be outlets is a syntactic sugar that's custom for</r>
<r t="885.15">the next that objective C implementation</r>
<r t="889.59">and declaring your you while able as an I B outlet means that my text</r>
<r t="895.1">is associated with an object that's in the next that interface builder file so</r>
<r t="900.28">syntactic sugar that basically means that label is part of might need file</r>
<r t="906.77">and that same thing goes for</r>
<r t="910.58">i be action</r>
<r t="911.91">button pressed</r>
<r t="913.55">right</r>
<r t="915.52">so</r>
<r t="917.05">as you can imagine you only get to see that ellison teacher blue line across</r>
<r t="923.13">the screen if you have an I B action on that method that can handle</r>
<r t="926.94">that signal</r>
<r t="928.98">right</r>
<r t="932.64">right so that's i don't have flash script i wanted to have action script because</r>
<r t="937.95">it's more cute then we then the objective C but</r>
<r t="944.05">i couldn't put it together so</r>
<r t="948.16">and that's all because you guys started one day early</r>
<r t="956.44">alright</r>
<r t="958.84">this is this is what was on the internet on my blog site</r>
<r t="963.12">when we got it when we for men got it working with dollar</r>
<r t="970.39">his name is luke a</r>
<r t="973.21">that's right</r>
<r t="976.19">so here you can see the same pattern is repeated</r>
<r t="980.61">except we have this extra syntactic sugar which means you're probably class is going to</r>
<r t="985.71">be a template</r>
<r t="987.02">i'd this isn't exactly a tutorial about how to use power actually</r>
<r t="991.79">i am a big advocate of all the but i've never used it myself which</r>
<r t="995.66">is a bit strange but</r>
<r t="1000.37">maybe i was told that means i'm a true believer</r>
<r t="1006.19">huh i</r>
<r t="1007.49">right so</r>
<r t="1009.26">well the distinction is in objective C you have to use this controller object class</r>
<r t="1015.62">which i thought was kind of silly and i didn't what i did not want</r>
<r t="1018.48">to repeat that in G T K but they have this object can just you</r>
<r t="1022.49">why view controller object which is</r>
<r t="1026.14">it's a kind of metal objects around your screen</r>
<r t="1029.53">and</r>
<r t="1030.97">only using that object can you create compensate the interfaces</r>
<r t="1036.71">so here we have the equivalent you have dedicate templates do you take a child</r>
<r t="1041.45">is pretty much synonymous with the I B outlet</r>
<r t="1046.77">to let you to</r>
<r t="1049.55">course in C code this is a little bit more verbose but</r>
<r t="1053.6">but i think that we've got something really much nicer much more bleeding edge cutting</r>
<r t="1059.86">edge and i wish that i had the</r>
<r t="1063.04">screenshots to show it off better</r>
<r t="1065.71">to make us a little bit more ashamed about how behind we are</r>
<r t="1069.8">right</r>
<r t="1072.5">and so do you take a child and you take a callback right</r>
<r t="1076.73">now this is pretty simple you can create a class</r>
<r t="1080.34">create a you wife i'll put it all together this is just going to work</r>
<r t="1085.1">in this demo you have an entry</r>
<r t="1088.58">and you have of virtual text property</r>
<r t="1092.74">actually yes its kind of virtual because there's no storage you'd only sets the text</r>
<r t="1097.8">on its delegate entry object</r>
<r t="1100.37">and then when the entry changes</r>
<r t="1104.34">he notifies that virtual property has changed and that's a callback which is of course</r>
<r t="1110.15">connected to the entry inside the late file</r>
<r t="1115.18">in response to it's changed signal</r>
<r t="1124.18">who</r>
<r t="1131.28">it's</r>
<r t="1132.36">what is it needed for</r>
<r t="1135.01">it is</r>
<r t="1137.15">it declares your method or your function as a an endpoint for a signal that</r>
<r t="1144.7">can it</r>
<r t="1145.98">it becomes accessible to the name space that glade refers to for signals because we</r>
<r t="1151.33">couldn't really except D L open G L send</r>
<r t="1155.62">you know</r>
<r t="1156.68">so you know this kind of nice or you know like so the class itself</r>
<r t="1162.63">create a dictionary of</r>
<r t="1165.74">functions which can be called and the</r>
<r t="1169.45">the interface file the interface description only has access to those symbols</r>
<r t="1176.63">judy cable there will fall back to D else in but you don't have to</r>
<r t="1179.38">remember that</r>
<r t="1186.68">okay</r>
<r t="1189.93">i'm sure more parenthesis</r>
<r t="1197.97">right so we went over this in the beginning basically</r>
<r t="1202.23">adding this doesn't make anything new possible i've seen this</r>
<r t="1206.71">approach</r>
<r t="1208.05">there was a there was a python library are a something i remember but the</r>
<r t="1215.33">they had their own</r>
<r t="1217.23">kind of implementation of this but it was like a base class how to teach</r>
<r t="1221.8">a builder instance</r>
<r t="1223.56">who would you know like they it would respond to calls of like get this</r>
<r t="1229.73">or get that by looking at its own builder file then</r>
<r t="1234.85">but you know people have been doing similar things but</r>
<r t="1238.13">having an infrastructure for actually doing it</r>
<r t="1242.09">makes it so that people actually do it and that it's easy for them</r>
<r t="1246.44">that makes all the difference</r>
<r t="1250.92">right and we don't find these situations where</r>
<r t="1254.25">some code is reacting to you know like</r>
<r t="1258.82">you press the button</r>
<r t="1260.78">in your callback that change the entry and the other guys</r>
<r t="1265.26">hearing the entry changing he's setting the end of the scroll bar to be not</r>
<r t="1269.59">sensitive and</r>
<r t="1271.2">and it can go in every which direction but</r>
<r t="1274.35">since you have that built into a late file built into an object class then</r>
<r t="1279.67">there is no room for</r>
<r t="1282.13">unexpected instances of it</r>
<r t="1285.1">implicit invocation</r>
<r t="1287.63">so</r>
<r t="1289.64">i kind of think it's a good idea to move towards explicit invocation everywhere you</r>
<r t="1295.08">can "'cause" you just can't really define how program runs if you're relying solely on</r>
<r t="1302.17">a reactive system</r>
<r t="1304.74">everything is just reactive to each other</r>
<r t="1311.93">and reducing steps right so this is this is where we want to go with</r>
<r t="1316.17">played we need to redo steps</r>
<r t="1319.77">and by doing that's well i it implies that somebody here is gotta give us</r>
<r t="1325.13">a few hundred thousand dollars to invest in making late but</r>
<r t="1330.82">if we do it</r>
<r t="1333.15">right it implies a lot of work you know because as soon as we start</r>
<r t="1337.16">looking at these kind of features that they're doing in adobe flash or in</r>
<r t="1343.24">in interface builder</r>
<r t="1346.38">we're looking at us</r>
<r t="1348.39">making a single project full of a lot of different late files</r>
<r t="1353.02">all these play files a part of the same project now and one thing changes</r>
<r t="1357.51">so you have you have to unify the undo redo stack you have to do</r>
<r t="1361.78">all kinds of</r>
<r t="1364.17">all kinds of facts lips tricky stuff</r>
<r t="1368.05">has to be done especially if you want to get that feature which i want</r>
<r t="1372.74">you know</r>
<r t="1373.75">the experience of just throw up a markup and then break it up and create</r>
<r t="1379.7">an implementation from that markup</r>
<r t="1382.21">which is great well you need a lot of work to get that done</r>
<r t="1387.05">and</r>
<r t="1388.58">basically that's what we're looking for good ideas to reduce the steps</r>
<r t="1394.79">reduce this that's in the process of creating a good user interface without</r>
<r t="1400.4">you know without making it right</r>
<r t="1403.3">while keeping it</r>
<r t="1404.9">keeping it great keeping it clean</r>
<r t="1408.09">and making it easy</r>
<r t="1410.85">that's what we want to do so any suggestions</r>
<r t="1416.74">yes that's true</r>
<r t="1422.79">so something that approach on we can talk about right now is help you read</r>
<r t="1426.49">well not to sit don't three take it recommends like using specific spacing specific padding</r>
<r t="1433.88">and all that sort of stuff and right now i'm about simply when you insert</r>
<r t="1437.73">a child widget it's like it's all went up the next to each other of</r>
<r t="1442.1">a quick thing or so easy thing that i would say but i don't know</r>
<r t="1445.47">the plate will base is recommending a good set of default so you get a</r>
<r t="1448.91">good home three compliant apple right out of the right of the box</r>
<r t="1453.18">so i mean it sort of our cargo but i think that we need to</r>
<r t="1457.25">think about how we wanna strictly interpret making no maps going for</r>
<r t="1462.32">and i know what a problems and everything magical you don't space back how you</r>
<r t="1472.04">it's from the window we are do you</r>
<r t="1477.65">we've</r>
<r t="1480.13">we circled around that for a while we have this</r>
<r t="1484.12">custom code forty to get dialogue and there's a kind of trick like there's a</r>
<r t="1488.95">one little nasty trick about indicate dialogue is that the child of the content area</r>
<r t="1495.27">must have five pixels border</r>
<r t="1498.71">but not the content area itself because that would cause the action area to also</r>
<r t="1504.12">gained a border</r>
<r t="1505.8">so it's kind of really young you know and some of those some of the</r>
<r t="1511.39">things that G T K's doing with padding</r>
<r t="1515.32">which is sensible is</r>
<r t="1518.77">assigning it from star properties</r>
<r t="1520.9">like a few of the G T K dialogue good space things and patterns are</r>
<r t="1526.65">like you can set them but it means nothing it will it will be overwritten</r>
<r t="1530.78">by style thing settings when adjudicate dialogue initialises</r>
<r t="1537.37">a big question we have to ask ourselves about that is do we want to</r>
<r t="1541.25">relinquish all of that for C S</r>
<r t="1543.9">control it</r>
<r t="1545.29">but it's definitely something to look at</r>
<r t="1549.41">i also one more question what well i actually just be able to fly widgets</r>
<r t="1553.58">around to reorder problem and</r>
<r t="1559.7">hypothetically right now no</r>
<r t="1563.67">boy</r>
<r t="1565.36">it's not working</r>
<r t="1568.07">it somewhere</r>
<r t="1570.14">well actually thank you so much that's i</r>
<r t="1579.35">what about putting for non widgets what about with what's for non widgets</r>
<r t="1584.72">for non widgets like your application</r>
<r t="1592.59">and we move be there to do you</r>
<r t="1606.47">right you says also is the main thing to do you live</r>
<r t="1613.48">now we it's i guess it's true we cannot really you know expand let's go</r>
<r t="1617.85">until we bring it lower but i understand that you take a builder might not</r>
<r t="1623.39">be the thing</r>
<r t="1625.11">it might not be the implementation it might be</r>
<r t="1629.34">might be something barry and based or i don't know what i don't know i</r>
<r t="1634.62">don't know</r>
<r t="1636.26">and we probably need we need serialisation as well is D C realizations right if</r>
<r t="1641.65">we're gonna move something like that instance you bright no i'm not talking about you</r>
<r t="1645.81">need to do that but i mean it's fine if it's okay but if the</r>
<r t="1648.99">and i can also use it to construct things that are not which it's like</r>
<r t="1651.99">say for example there's this semi common paradigm where you have mostly static menu structure</r>
<r t="1658.55">but then you have like you know one menu that you wanna be dynamic or</r>
<r t="1661.55">one section so you have some menu layout and then you have a and i</r>
<r t="1665.32">on one subsection that's like recent talk</r>
<r t="1669.11">something like that or your bookmarks</r>
<r t="1670.98">and then you would want that become an instance variable in your application so that</r>
<r t="1674.63">it's easy to access</r>
<r t="1676.46">so it is it's really liked the same internal try but it's not being done</r>
<r t="1680.76">with widgets</r>
<r t="1682.57">well okay of course you have that at G T K application we know little</r>
<r t="1686.8">but to take application</r>
<r t="1689.26">it would have to be a rewrite i mean it would have to be a</r>
<r t="1691.82">ports because we have this abstract class it does a lot of stuff</r>
<r t="1695.88">right</r>
<r t="1698.5">maybe we can do it with those like default implementations of interfaces</r>
<r t="1705.14">but even then i think it would be a big can of worms</r>
<r t="1711.22">i exactly yes</r>
<r t="1734.99">no</r>
<r t="1736.05">no that's no well it's</r>
<r t="1738.56">no it can but there is a few quirks i mean do you take a</r>
<r t="1743.88">widget as the destroy signal and we use that to memorandum memory manage those instance</r>
<r t="1749.17">variables right</r>
<r t="1751.69">probably</r>
<r t="1753.46">it's probably you</r>
<r t="1767.18">it well it could be documented that the instance variables</r>
<r t="1771.95">exist until the first dispose cycle</r>
<r t="1775.93">it might not be so find in practice</r>
<r t="1779.11">but</r>
<r t="1797.85">i don't know it technically the technically the implementation should work fine with objects</r>
<r t="1803.46">it really should there's nothing really widget specific except that you know we have to</r>
<r t="1809.76">take a container</r>
<r t="1812.29">it helps you know</r>
<r t="1814.35">but it does it you know like i mean actions go in action groups in</r>
<r t="1818.6">you know text tags go and text tag tables and</r>
<r t="1835.13">okay was it was it not long enough do you need me to make a</r>
<r t="1838.04">performance</r>
<r t="1847.37">that's twelve and that makes forty minutes or some</r>
<r t="1856.92">that's</r>
<r t="1860.62">they</r>
<r t="1862.56">it's it has to do with your arriving early it was a preemptive attack must've</r>
<r t="1867.13">been coordinated yes</r>
<r t="1874.94">i think i read recently that a lot of the you wanting ladies</r>
<r t="1878.72">generated essentially</r>
<r t="1880.74">is to generated</r>
<r t="1883.42">yes we well generated it's with templates</r>
<r t="1889.27">right</r>
<r t="1890.41">i mean wanting out become quite interested in doing is</r>
<r t="1894.72">like designing it yes definitely and the summary things that are in the you want</r>
<r t="1902.6">don't need to be</r>
<r t="1904.17">i i've been i've been starting to prefer those like</r>
<r t="1908.31">that symbolic icons</r>
<r t="1910.9">we can also much no</r>
<r t="1914.01">that's little</r>
<r t="1915.61">plus and a minus it's very personal thing fruit</r>
<r t="1919.55">and basically they we have like thirty you why files</r>
<r t="1925.55">in the plug ins directory that like you can load and</r>
<r t="1930.95">it doesn't look exactly the same as in the end result but that's you know</r>
<r t="1934.85">you can edit those editors in played and i did it very fast</r>
<r t="1941.76">and knowing that you can change</r>
<r t="1945.29">right</r>
<r t="1959.8">okay well we do generate the property editors based on what is in the widget</r>
<r t="1964.07">class</r>
<r t="1974.32">well someone</r>
<r t="1975.87">some of the interesting things are like stuff that i</r>
<r t="1980.2">stuff they can be hidden</r>
<r t="1982.03">you know that it's not really useful as a property in your face but like</r>
<r t="1989.38">but a different way to set it you know like right now i have in</r>
<r t="1993.56">the common tab i have a tool tip property</r>
<r t="1996.98">and i have a check mark whether it's whether it's with markup</r>
<r t="2001.63">the way i don't have like a tool tip property and it like a tool</r>
<r t="2005.03">tip text property and a tool tip markup property you know like</r>
<r t="2019.39">well how long ago did you see the editors</r>
<r t="2023.83">less than a month</r>
<r t="2026.55">more than a month</r>
<r t="2031.75">let's see what it</r>
<r t="2036.65">little at least</r>
<r t="2051.66">let's see what i got here let's hope it doesn't crash right startup but</r>
<r t="2057.89">okay so what do we got</r>
<r t="2060.66">it's this is very small screen it's pretty bigger</r>
<r t="2067.81">right so</r>
<r t="2076.35">i</r>
<r t="2077.61">this is what this is</r>
<r t="2081.85">i</r>
<r t="2083.59">i have some like this is that application chooser dialogue and then isn't there</r>
<r t="2093.42">there is the where is it</r>
<r t="2104.85">and this is an application chooser widget</r>
<r t="2117.34">that's not a good example</r>
<r t="2119.93">let me just find one that's the is</r>
<r t="2124.05">the font but don't know where is that</r>
<r t="2132.12">in the middle</r>
<r t="2134.38">okay</r>
<r t="2149.9">i of course</r>
<r t="2158.52">right so up here we have point user attributes</r>
<r t="2162.91">and</r>
<r t="2167.09">and the where is the one chooser widget again</r>
<r t="2170.57">it's just the</r>
<r t="2174.65">that's the combo box accent font button there</r>
<r t="2178.96">and then this one so i have this box here font button attributes</r>
<r t="2184.38">and so like i have this one and everything that's a fonts</r>
<r t="2188.4">you know one selector</r>
<r t="2190.48">i just use that again</r>
<r t="2193.2">and i repeat it</r>
<r t="2195.07">and that that's works for like that choose are the recent choose are the there</r>
<r t="2199.4">all shared components of components</r>
<r t="2208.28">no actually right now after doing all that i did not remove anything everything is</r>
<r t="2213.14">still there</r>
<r t="2217.65">no i would not be opposed to that at all like we had that conversation</r>
<r t="2222.06">before like maybe there's an advanced mode</r>
<r t="2225.06">maybe there's a different view or something more</r>
<r t="2230.04">you know like i've been resisting the tree view idea for properties because i wanted</r>
<r t="2236.13">to get there</r>
<r t="2237.65">for so long but now that i'm there wouldn't be a bad thing to have</r>
<r t="2242.76">that review it as well because</r>
<r t="2247.75">search for properties yes</r>
<r t="2256.61">i</r>
<r t="2259.83">this isn't this is the widget editor know in the comments that</r>
<r t="2265.72">yep your visible</r>
<r t="2268.56">flags and</r>
<r t="2270.17">this is the tool tip it has a custom button that means that you know</r>
<r t="2274.99">you're going to it's gonna has tool tip true</r>
<r t="2279.11">so then you get the query tool tip signal right</r>
<r t="2285.36">yes it can be empty like</r>
<r t="2298.32">and it's gonna be you know it's a it's gonna be even better when alan</r>
<r t="2303.62">runs his fingers through the grooves between the widgets and adjust the spaces</r>
<r t="2312.96">i hope that</r>
<r t="2323.13">a accelerators</r>
<r t="2325.7">yes it is</r>
<r t="2327.56">it is</r>
<r t="2333.85">it's possible maybe</r>
<r t="2337.08">actually those are the actual property others which are mostly custom widgets</r>
<r t="2342.7">and it's possible that it's like</r>
<r t="2345.75">in the U I description but it's possible that it's in that custom widget</r>
<r t="2350.47">which is faulty not expand</r>
<r t="2354.64">alright</r>
<r t="2358.6">so does that do it anybody want to come do would dance</r>
<r t="2364.48">okay</r>
<r t="2385.74">okay we have things to discuss</r>
<r t="2396.69">we can we can have a mud wrestling competition and you know like we can</r>
<r t="2401.68">do get out and</r>
<r t="2403.39">maybe will like for G action to be you know G T K action because</r>
<r t="2408.69">it's like all of the same features only we don't change the A P I</r>
<r t="2417.69">we</r>
<r t="2419.06">right that called</r>
<r t="2421.92">well</r>
<r t="2424.68">once okay</r>
<r t="2426.32">it was a right</r>
</data>
