1
00:00:14,160 --> 00:00:18,310
hope you can all you me it's not
that you know and peace to free

2
00:00:18,310 --> 00:00:20,920
to interrupted anytimes and questions

3
00:00:21,550 --> 00:00:25,690
so the topic is G T K propagation developers and

4
00:00:26,030 --> 00:00:26,360
i've

5
00:00:27,430 --> 00:00:30,050
but not us but it's an abstract that
wasn't really clear on what i was

6
00:00:30,050 --> 00:00:34,580
going to do so well actually sit down
to write prepared this talk i figured

7
00:00:34,580 --> 00:00:38,180
and i want to try and just show some examples
of what's possible this project

8
00:00:38,180 --> 00:00:42,320
a K and i hope i can convey these examples
that it's actually it's really

9
00:00:42,320 --> 00:00:47,180
easy not to build country style applications
as we expect them to be that they

10
00:00:47,180 --> 00:00:48,220
had about that's

11
00:00:48,670 --> 00:00:52,290
nicely nice transitions and all that stuff
that you see in blocks and rather than

12
00:00:52,290 --> 00:00:53,240
and these applications

13
00:00:53,980 --> 00:00:56,300
this is dedicated point and

14
00:00:56,890 --> 00:00:59,440
but most of the building block so that are in place and

15
00:01:00,730 --> 00:01:03,390
it doesn't take that much work to get
something like that off the ground

16
00:01:04,040 --> 00:01:07,080
and i will show that in the series of examples

17
00:01:08,370 --> 00:01:10,010
then i had his nine steps

18
00:01:10,350 --> 00:01:13,670
yesterday's on going to show nine
example sell forget so the

19
00:01:14,250 --> 00:01:17,870
and at the end i will have something
that looks a bit like an application

20
00:01:17,870 --> 00:01:20,100
just really limited but that's something

21
00:01:20,940 --> 00:01:26,750
hopefully inspiring and i did not prepare
a slide so this instead i decided i

22
00:01:26,750 --> 00:01:31,350
want this material to be available for
the longer term so i will call as

23
00:01:31,350 --> 00:01:36,530
actually wanna but examples they all available
in the did okay so three itself sometime

24
00:01:36,530 --> 00:01:37,070
last week

25
00:01:38,010 --> 00:01:42,210
and that extra rolled around it is
it's all available in the G D K

26
00:01:42,210 --> 00:01:45,920
A P I documentation you have a tutorial
section there and you check that right

27
00:01:46,800 --> 00:01:49,300
so you can look on it up online if you want

28
00:01:50,230 --> 00:01:51,990
it's available that solve

29
00:01:53,450 --> 00:01:53,970
last week

30
00:01:54,970 --> 00:01:58,760
and we'll see how well it actually works
for talk it's an experiment so let

31
00:01:58,760 --> 00:02:01,110
me know if it doesn't work more
than five to do something else

32
00:02:01,790 --> 00:02:05,710
so but before we step into the examples
maybe it's were stepping back a little

33
00:02:05,710 --> 00:02:10,310
bit and ask what actually is an application
we learned from that out yesterday

34
00:02:11,330 --> 00:02:14,140
how we things an application to look
at the star trek future it's all the

35
00:02:14,140 --> 00:02:18,790
single bundle that you can just download and
run it without installation it will be

36
00:02:18,790 --> 00:02:23,730
very cool but that's not quite where we
are today so as of today applications

37
00:02:23,730 --> 00:02:26,760
that have a number of things that need
to be spread around to five system

38
00:02:27,330 --> 00:02:31,800
and i just put up the list the of the things
that are they obviously

39
00:02:31,800 --> 00:02:35,390
it's the application binary itself expected will use a bit

40
00:02:36,360 --> 00:02:40,130
then applications need to have a testify that's
pretty from the established that the show

41
00:02:40,130 --> 00:02:45,020
can actually displayed nicely and it also
needs and i can for that obviously

42
00:02:45,780 --> 00:02:50,130
and then every nontrivial applications will
have some settings and for that we need a

43
00:02:50,130 --> 00:02:55,180
setting schema and then they might be just
a miscellaneous other resources like you i

44
00:02:55,180 --> 00:02:56,680
files and whatnot

45
00:02:57,280 --> 00:03:00,580
which you would ordinarily also spatter on the five system

46
00:03:01,300 --> 00:03:05,750
but we actually have resources nowadays if
you pay attention to the examples to see

47
00:03:05,750 --> 00:03:10,310
that we actually get to put all those other
resources inside the binary itself so

48
00:03:10,310 --> 00:03:13,260
that's all already a pretty good step towards the

49
00:03:13,780 --> 00:03:15,400
single file application future

50
00:03:16,560 --> 00:03:17,590
that we want to get to

51
00:03:18,760 --> 00:03:23,370
and don't here i'll talk a little bit
about all the stuff that i'm hoping

52
00:03:23,370 --> 00:03:24,690
to touch on the examples

53
00:03:25,200 --> 00:03:29,220
i'm not gonna we the whole list here
you can see this stuff to go

54
00:03:29,220 --> 00:03:31,260
to so let's get to it

55
00:03:32,050 --> 00:03:34,300
in stockholm building up a vacation

56
00:03:35,270 --> 00:03:40,250
so the first thing to know about they don't
want to use jic application here

57
00:03:40,250 --> 00:03:43,440
which is the application class that
you can provide so that yes

58
00:03:44,750 --> 00:03:50,260
yes i know i just wanted to have the idea
one line main functions like

59
00:03:50,260 --> 00:03:52,010
i was willing to like except that league

60
00:03:58,230 --> 00:04:00,520
so let's not go to too much on that
the one thing to take away

61
00:04:00,520 --> 00:04:04,000
he is that the main function is really
not ready action is it's just the

62
00:04:04,000 --> 00:04:09,570
one line that the really just creates an instance
of obligation class and then we

63
00:04:09,570 --> 00:04:13,120
college application on it and to give at the command
of parameters minutes it

64
00:04:13,800 --> 00:04:17,150
not much else to that's all the all the logic
of application and all the

65
00:04:17,150 --> 00:04:20,980
ending of command line options and all that
is happening in the application class

66
00:04:22,340 --> 00:04:28,280
so one and a little bit us a very trivial
application classes we do some

67
00:04:28,280 --> 00:04:31,570
plastic application for that that's
the intended way of using it

68
00:04:32,770 --> 00:04:37,670
and we used to the usual G object
want to pay for that we don't

69
00:04:37,670 --> 00:04:39,550
really implement anything here yet

70
00:04:40,980 --> 00:04:45,190
just december entry points to applications this
for instance if you just run the application

71
00:04:45,190 --> 00:04:50,740
all about them not giving it any arguments
then we have an entry point it's

72
00:04:50,740 --> 00:04:52,290
called active at a

73
00:04:53,270 --> 00:04:56,930
which is what is called when you in then
you just run it by itself

74
00:04:57,770 --> 00:05:02,210
and i have a kind of trivial application at implementation
of that here which just

75
00:05:02,210 --> 00:05:04,420
creates a new window and then presented

76
00:05:05,510 --> 00:05:09,950
the entry point that i have implemented years opening files

77
00:05:10,610 --> 00:05:14,300
so if you run the application and give
it file filenames on the command line

78
00:05:14,710 --> 00:05:19,440
well colour different into point it's called
open and that gets an array of files

79
00:05:20,290 --> 00:05:23,380
and in this implementation here
not much is happening we just

80
00:05:23,860 --> 00:05:27,110
again we created i would know and then we call this

81
00:05:27,550 --> 00:05:29,760
open function for each of the files and

82
00:05:30,400 --> 00:05:32,140
magic might happen the functional not

83
00:05:33,640 --> 00:05:38,250
and that's about it one thing to maybe
briefly possible look at is

84
00:05:38,810 --> 00:05:41,220
that creating an application

85
00:05:41,730 --> 00:05:45,660
subclass you always want to have an application
id that's kind important because that's really

86
00:05:46,210 --> 00:05:49,660
very central concept in the board of the application
you really want to have an

87
00:05:49,660 --> 00:05:53,350
application id which is used as the last
name and it seems just of ideally

88
00:05:53,350 --> 00:05:56,480
you system in for the best of file
and all those things so we need

89
00:05:56,480 --> 00:05:58,540
a unique identifier for the implication

90
00:05:59,310 --> 00:06:00,450
and that's this idea here

91
00:06:03,860 --> 00:06:09,340
that's not a of this fairly trivial skeleton
implementation is that just saw for that

92
00:06:09,340 --> 00:06:13,400
at some places i created windows

93
00:06:13,730 --> 00:06:18,360
and those and those are actually instances
of this class example up a little

94
00:06:19,370 --> 00:06:22,620
which is a subclass of G T K application bundle and

95
00:06:23,300 --> 00:06:28,820
again this is an entirely empty imitation does
nothing but than necessary scalable is a

96
00:06:28,820 --> 00:06:32,300
so it's a question like the last slide
would be one line and it's this

97
00:06:32,300 --> 00:06:37,370
main what do you can tax you bind text
domain is that handled for you

98
00:06:37,370 --> 00:06:40,460
and you have to shine directly or
should and i mean as well i only

99
00:06:40,460 --> 00:06:43,340
glanced over that here but i guess you
would have to do some setup work

100
00:06:43,340 --> 00:06:47,800
for that and okay so you do that automatically
there's no magic that's just a

101
00:06:47,800 --> 00:06:49,480
matter don't know okay

102
00:06:50,430 --> 00:06:52,450
maybe my dad that if you to i don't know that

103
00:06:54,820 --> 00:06:58,920
so maybe things are changing that offer knowledgeable
if you wanted internationalisation you have to

104
00:06:58,920 --> 00:06:59,550
set that up

105
00:07:00,790 --> 00:07:01,110
okay

106
00:07:02,310 --> 00:07:07,470
last thing that i have in this initial
example is that we also one and

107
00:07:07,470 --> 00:07:10,480
i can attest of file up is the created some

108
00:07:11,080 --> 00:07:15,210
model like i can dare think the game for five minutes

109
00:07:15,600 --> 00:07:16,000
and

110
00:07:17,270 --> 00:07:21,930
the decibel it after five years also
very couple of i just put an ad

111
00:07:21,930 --> 00:07:22,720
in the idea

112
00:07:23,760 --> 00:07:27,610
just to cheat a little bit because i'm
running one able runs that location in

113
00:07:27,610 --> 00:07:31,870
a minute and i'm actually running it uninstalled
so i have to actually catch to

114
00:07:31,870 --> 00:07:32,770
like being here

115
00:07:33,670 --> 00:07:34,620
to make that work

116
00:07:36,170 --> 00:07:38,230
and we actually switch to

117
00:07:39,010 --> 00:07:39,910
running his example

118
00:07:44,920 --> 00:07:46,170
should also take first

119
00:07:47,700 --> 00:07:51,190
this is inside the G T K so it is
an examples directory and if

120
00:07:51,190 --> 00:07:51,790
you look and that

121
00:07:52,690 --> 00:07:56,500
this nine subdirectories which contain
examples and i'm going to here

122
00:07:57,200 --> 00:07:59,340
and right now i'm stepping into the first one

123
00:08:02,700 --> 00:08:05,230
and it's already component are running it

124
00:08:06,800 --> 00:08:09,900
who this my educational it's not very exciting admittedly

125
00:08:10,440 --> 00:08:13,290
doesn't really contain anything
it doesn't even will the title

126
00:08:13,550 --> 00:08:14,870
but

127
00:08:15,720 --> 00:08:18,350
notice that the channel already
picks up the it has some five

128
00:08:19,280 --> 00:08:22,170
and find see i can we just because
i she did a little bit and

129
00:08:22,170 --> 00:08:26,990
put the i can in the whole local
share i can somewhere and up to

130
00:08:26,990 --> 00:08:29,850
justify there's also just that this works you

131
00:08:30,760 --> 00:08:34,620
and realised of course it's all these
files and user share somewhere

132
00:08:35,130 --> 00:08:36,040
have it worked that way

133
00:08:37,790 --> 00:08:42,720
so it's not very impressive but admittedly
we didn't write much good either and

134
00:08:43,360 --> 00:08:45,330
well there's not much to see this already

135
00:08:46,060 --> 00:08:50,370
it's a football geolocation which has a presence
on the bus a single instance

136
00:08:51,650 --> 00:08:52,840
characteristics

137
00:08:53,370 --> 00:08:57,490
and it technically also kind of file so
right now i just activated that are

138
00:08:57,490 --> 00:09:00,210
running it without arguments but it could give it a

139
00:09:01,960 --> 00:09:03,180
an argument like this

140
00:09:04,450 --> 00:09:07,880
well nothing else happens because we'd have implemented
the open function yet but at least

141
00:09:07,880 --> 00:09:09,070
it accepts the adamant

142
00:09:10,090 --> 00:09:12,770
and things are set up for the next

143
00:09:15,250 --> 00:09:16,200
so step to is

144
00:09:17,480 --> 00:09:19,280
this winter was twenty so yes

145
00:09:22,180 --> 00:09:23,370
it's annoying isn't

146
00:09:24,320 --> 00:09:25,020
so they're not here

147
00:09:27,140 --> 00:09:28,000
and then for that

148
00:09:28,890 --> 00:09:31,300
okay so i'm next that is still

149
00:09:32,070 --> 00:09:36,300
get some content and the window so that
we are using something that if you

150
00:09:36,300 --> 00:09:40,490
went to just on stock just before lunch
you probably talked about ten that's

151
00:09:41,100 --> 00:09:42,320
maybe you didn't did you

152
00:09:43,090 --> 00:09:47,240
okay so we're using complex this is
all just on that in the last year

153
00:09:47,240 --> 00:09:50,240
or two and it finally landed in G T K

154
00:09:50,860 --> 00:09:55,930
so what's attempted is likely you i follicles
want to use to editing that's great

155
00:09:55,930 --> 00:09:56,880
operating late

156
00:09:57,660 --> 00:09:58,180
and

157
00:09:59,250 --> 00:10:01,020
just like that you can see the beginning of the file

158
00:10:02,130 --> 00:10:05,550
the my main difference between that and the directional
you i find is that attempted

159
00:10:05,550 --> 00:10:09,610
actually define say it complex which is like
a container with internal structure

160
00:10:10,070 --> 00:10:13,850
and you can use clay for populating that
instead of having to manually writing in

161
00:10:13,850 --> 00:10:17,070
that function that that's G T K contain i had of this G T K

162
00:10:17,070 --> 00:10:22,990
box next out of that and handily really
write a lot of code for populating

163
00:10:22,990 --> 00:10:26,650
your constructed your complex you are you
can one adding like know which is really

164
00:10:27,320 --> 00:10:28,060
pretty nice

165
00:10:28,520 --> 00:10:31,800
and so he is our initial and that

166
00:10:32,980 --> 00:10:36,960
you can see we have a defining the example
happen a class that i showed

167
00:10:36,960 --> 00:10:37,500
earlier

168
00:10:38,210 --> 00:10:41,880
maybe just pack a few things in the first
of all we set some useful

169
00:10:41,880 --> 00:10:44,720
properties like to be no title and the people size

170
00:10:45,210 --> 00:10:48,360
maybe put in the box and they have
the populate the box that i had

171
00:10:48,360 --> 00:10:49,120
about a stack

172
00:10:50,180 --> 00:10:54,130
you can stick and didn't and inside the had
about we have a stack switching

173
00:10:55,040 --> 00:10:57,790
and i see these which it and actually in a minute

174
00:10:59,750 --> 00:11:03,320
but first able to stop briefly and show
how we actually get to use this

175
00:11:03,320 --> 00:11:05,040
template so now we just click on the set

176
00:11:05,610 --> 00:11:06,420
you i file

177
00:11:07,190 --> 00:11:07,550
and

178
00:11:09,550 --> 00:11:13,750
to make use of it for actually defining application
middle class we because a function

179
00:11:13,750 --> 00:11:17,330
called G T K widget class set template from resource

180
00:11:18,200 --> 00:11:19,920
which finds this templates

181
00:11:20,490 --> 00:11:21,120
to our

182
00:11:21,770 --> 00:11:22,680
or subclass

183
00:11:23,780 --> 00:11:27,590
and i talk about the results that in a minute
bottom that's the first step

184
00:11:27,590 --> 00:11:32,220
the other step is that then we actually instantiate
this class integrated application the know

185
00:11:32,830 --> 00:11:36,810
in the in a function for that we have
to called you can project in

186
00:11:36,810 --> 00:11:42,090
the template actually use the template
and populate our instance

187
00:11:43,020 --> 00:11:44,660
it's a two steps for using attempted

188
00:11:45,880 --> 00:11:49,310
and i touched on that earlier be using resources

189
00:11:50,470 --> 00:11:50,940
and

190
00:11:51,920 --> 00:11:56,100
that means that we actually take this
window dot U I for the to the

191
00:11:56,100 --> 00:11:59,610
national italian fee turn it into a

192
00:12:00,530 --> 00:12:03,580
resource hundred happy then link into our education binary

193
00:12:04,530 --> 00:12:07,040
that's done using the tool called

194
00:12:07,650 --> 00:12:10,810
gina compile resources and do the proper resources takes

195
00:12:11,370 --> 00:12:16,610
it's input like we tell it what actually
to compile into that resource bundle by

196
00:12:16,610 --> 00:12:18,760
but in this little excellence that up there

197
00:12:19,750 --> 00:12:22,680
and i'm not gonna get too much into
it if you want to really look

198
00:12:22,680 --> 00:12:25,030
into that you can check out examples

199
00:12:25,600 --> 00:12:29,470
in the repository that's all hooked up with
the makefile you can see actually running

200
00:12:30,480 --> 00:12:34,020
looking let me switch back to actually
running this example now

201
00:12:35,030 --> 00:12:36,190
so we are stop to

202
00:12:38,400 --> 00:12:39,360
and i'm running it again

203
00:12:41,360 --> 00:12:41,730
but

204
00:12:42,630 --> 00:12:45,530
as you can see the windows not entirely
empty at this point you have

205
00:12:46,050 --> 00:12:49,820
obviously we have the window title
and if you if you look at the top

206
00:12:49,820 --> 00:12:53,760
of them and you can kind of see the and
you had about their which

207
00:12:54,440 --> 00:12:58,030
it's not really prominent of the that's
gonna get populated in the next steps

208
00:12:58,890 --> 00:13:01,720
well no this is just basis for the work

209
00:13:07,450 --> 00:13:08,550
okay so that's me is

210
00:13:09,850 --> 00:13:15,350
we want to actually populate the speculated
that we put in place an ultimate upon

211
00:13:15,350 --> 00:13:17,740
that out and we want to

212
00:13:18,230 --> 00:13:21,500
i to act what you know if you can are
already passed financial the command

213
00:13:21,500 --> 00:13:25,010
line so the next have a step we actually
want to open these files and

214
00:13:25,010 --> 00:13:25,770
children

215
00:13:26,810 --> 00:13:28,150
for that

216
00:13:30,270 --> 00:13:33,290
because if you know features that want to mention

217
00:13:34,920 --> 00:13:37,770
all example brno class now case a private start

218
00:13:40,230 --> 00:13:44,380
you can see to find out there that contains
just one on i'm not currently

219
00:13:44,800 --> 00:13:46,290
this stack pointer there

220
00:13:47,970 --> 00:13:51,530
and there's a new way actually just change
recently you the way it used to

221
00:13:51,530 --> 00:13:53,950
be for private starts that you use to call

222
00:13:54,700 --> 00:14:00,020
G type class at try that in your class
in a function and we turned

223
00:14:00,020 --> 00:14:04,210
that around to cycle and we actually made
that more declarative so now the new

224
00:14:04,210 --> 00:14:08,570
way of doing this is that you use G define
typhus private and that that's

225
00:14:08,570 --> 00:14:09,790
automatically on seems

226
00:14:10,290 --> 00:14:13,470
we don't have to do anything anymore
in your class function for this

227
00:14:14,410 --> 00:14:16,970
and it is that you can do something
else in your class in a function

228
00:14:16,970 --> 00:14:17,560
which is

229
00:14:18,090 --> 00:14:19,130
well you can use

230
00:14:20,500 --> 00:14:24,000
this somewhat magic thing here called G T K widget last

231
00:14:24,320 --> 00:14:27,460
find template right private that's quite a most
well i think that's the content of

232
00:14:27,460 --> 00:14:29,280
a long as function name and G T K

233
00:14:32,120 --> 00:14:35,740
i couldn't really how it need to be
that long to fit all the naming

234
00:14:35,740 --> 00:14:38,010
patterns and everything else so what does this do

235
00:14:39,300 --> 00:14:43,380
just for the should things behind the scene
so we give it the example happened

236
00:14:43,380 --> 00:14:44,100
or name

237
00:14:45,110 --> 00:14:48,310
and we give it a name of variables that there and

238
00:14:48,810 --> 00:14:53,110
what's happening behind the scene is
that this instructs you to create a

239
00:14:54,260 --> 00:14:58,420
because to use the private various function
it knows that it actually is supposed to

240
00:14:58,420 --> 00:15:02,810
look in the private struck that's also associated
press example happen all so example up

241
00:15:02,810 --> 00:15:03,410
in the private

242
00:15:04,250 --> 00:15:04,650
and

243
00:15:05,390 --> 00:15:07,190
should look for this stack member in it

244
00:15:08,100 --> 00:15:10,570
and it showed populate definitely

245
00:15:11,260 --> 00:15:13,880
that which it from the template that escorts that

246
00:15:14,880 --> 00:15:17,930
so this is one of the magic not
at actual this that when we get

247
00:15:17,930 --> 00:15:20,810
to a instance and it function we
can rely on the fact that the

248
00:15:21,550 --> 00:15:25,110
the staff member in our private structures
is pointing to the better that we want

249
00:15:25,110 --> 00:15:25,740
to point to

250
00:15:26,310 --> 00:15:29,320
so there's not a lot of hassle manually look and also

251
00:15:33,130 --> 00:15:34,780
i don't know that's a question from under

252
00:15:38,770 --> 00:15:42,670
okay so this was just preparatory work for actually

253
00:15:44,390 --> 00:15:47,760
doing some actual logic here i'm
not gonna explain this in detail

254
00:15:48,260 --> 00:15:53,190
this is the code to create a store dwindle
great attacks to inside it and

255
00:15:53,190 --> 00:15:55,820
open the file that was passed as an argument

256
00:15:56,180 --> 00:15:58,800
and populate the text to with the contents of that file

257
00:15:59,470 --> 00:16:03,760
one thing that's worth pointing out us
some venom at all this a line the

258
00:16:03,760 --> 00:16:05,700
record it a stack at titled

259
00:16:06,140 --> 00:16:07,670
that is very actually at the

260
00:16:08,440 --> 00:16:12,300
this more brno S A H in our state so to speak

261
00:16:12,980 --> 00:16:13,380
and

262
00:16:14,010 --> 00:16:17,690
we give it very unique identifier for
that we just use the basin of the

263
00:16:17,690 --> 00:16:20,830
file and then there's another argument which is

264
00:16:21,620 --> 00:16:24,860
did a display title to actually show
in the you know i will see that

265
00:16:25,700 --> 00:16:27,140
the be obvious one so run it

266
00:16:29,440 --> 00:16:34,180
and the other one thing i want to say
about that is that the display

267
00:16:34,180 --> 00:16:37,350
type is obviously going to be displayed
but this text which i would just the

268
00:16:37,350 --> 00:16:38,560
rolls of caps

269
00:16:39,120 --> 00:16:41,640
but we don't have to touch this
text which at all you because

270
00:16:42,190 --> 00:16:46,110
this text which are just getting all this
data needs to know how many types

271
00:16:46,110 --> 00:16:50,340
display able to show and then by looking
at the at the stack that is

272
00:16:50,340 --> 00:16:51,180
associated with

273
00:16:58,960 --> 00:16:59,820
so the problem

274
00:17:01,770 --> 00:17:03,900
so i'm switching back to running as well

275
00:17:06,460 --> 00:17:09,700
well that's magic now we actually have contended
it looks like a real application of

276
00:17:09,700 --> 00:17:13,170
so let me make is a little bit and actually given files

277
00:17:27,490 --> 00:17:30,430
i don't know that's a question for
the design as i think i mean i

278
00:17:30,430 --> 00:17:31,820
think about available for this case

279
00:17:32,760 --> 00:17:33,150
and

280
00:17:34,720 --> 00:17:38,850
i would i'm sure the designers would do time
we often find something wrong about

281
00:17:39,560 --> 00:17:40,990
it works so

282
00:17:42,500 --> 00:17:46,220
good things to say it is that you see
this text which are now that's

283
00:17:46,220 --> 00:17:48,090
the like the two buttons updated

284
00:17:48,570 --> 00:17:50,820
those get created but it's text which are

285
00:17:51,450 --> 00:17:52,830
and you know the

286
00:17:53,920 --> 00:17:56,430
the content of the file at U C obviously council

287
00:17:57,160 --> 00:17:59,670
from the function i just showed you and we can

288
00:18:00,920 --> 00:18:03,900
actually switch between them and it works
so that that's you can stack and you

289
00:18:03,900 --> 00:18:04,830
can stick switcher

290
00:18:05,420 --> 00:18:05,940
connection

291
00:18:13,790 --> 00:18:17,790
i just keep moving on is this questions
feel free to interrupt me at any

292
00:18:17,790 --> 00:18:18,060
time

293
00:18:19,020 --> 00:18:22,580
next this we want to resolve a little
more that an application menu i don't

294
00:18:22,580 --> 00:18:25,750
need to say too much evolved modification
men us and how it works

295
00:18:26,380 --> 00:18:29,300
well dive right into how you do this

296
00:18:30,880 --> 00:18:33,900
and also get specified by educator that you iphone

297
00:18:34,860 --> 00:18:36,380
like this one here

298
00:18:37,300 --> 00:18:41,450
and i don't think i should say too much
and details about the syntax you

299
00:18:41,450 --> 00:18:46,420
can see that we actually created menu element
which is a menu not surprisingly and

300
00:18:46,420 --> 00:18:47,900
they can be sections in there

301
00:18:48,490 --> 00:18:50,520
and items and the items have

302
00:18:51,690 --> 00:18:54,590
a couple of at a good see a we set a label which is what's

303
00:18:54,590 --> 00:18:56,820
gonna going to shop in the U I

304
00:18:57,380 --> 00:18:59,690
and then we have an action for each item

305
00:19:00,250 --> 00:19:03,360
which is what's going to get activated
and you have to check on that menu

306
00:19:03,360 --> 00:19:03,570
item

307
00:19:05,720 --> 00:19:11,660
and actually used is you i for an obligation
we need to call G T

308
00:19:11,660 --> 00:19:13,460
K application setup menu

309
00:19:14,990 --> 00:19:18,290
and a good place to do that is in the startup before

310
00:19:19,030 --> 00:19:20,620
of your energy application

311
00:19:21,250 --> 00:19:24,620
i mentioned earlier that you application as
a number of different entry points like it

312
00:19:24,620 --> 00:19:28,710
has an active right does it open or you
could activated by directly calling in

313
00:19:28,710 --> 00:19:29,180
action

314
00:19:29,990 --> 00:19:35,960
and how you activated how you started there's
always a startup different that it gets

315
00:19:35,960 --> 00:19:36,790
caught no matter what

316
00:19:37,550 --> 00:19:40,490
so that's a good place to do things
that you want to happen in all

317
00:19:40,490 --> 00:19:41,220
the cases

318
00:19:41,840 --> 00:19:43,580
because if you have to actually

319
00:19:44,260 --> 00:19:45,760
get a lot

320
00:19:46,210 --> 00:19:48,010
you are funded i just so

321
00:19:48,470 --> 00:19:49,060
and then we

322
00:19:50,310 --> 00:19:51,640
well you get the menu model

323
00:19:52,010 --> 00:19:56,650
that the data constructed format and we called
you get jic application setup menu

324
00:19:57,680 --> 00:20:01,810
which does all the work behind the scenes
just this puts us stuff on the

325
00:20:01,810 --> 00:20:04,160
bus on the session but also the show
picks it up from there so that's

326
00:20:04,160 --> 00:20:07,320
a lot of things that are happening
behind the scenes of that's right

327
00:20:12,070 --> 00:20:16,320
right i did not really get into the difference
between finer primary and secondary instance

328
00:20:16,320 --> 00:20:21,600
but you're so right points out that G application
as this concept of single instance

329
00:20:21,600 --> 00:20:27,050
which are briefly mentioned earlier and that means
there's a primary instance which is actually

330
00:20:27,050 --> 00:20:32,140
fourty flash running application and if you
start again on the command line it's not

331
00:20:32,140 --> 00:20:34,070
gonna open set second binary but just

332
00:20:34,540 --> 00:20:35,940
talk to the primary instance

333
00:20:36,730 --> 00:20:40,540
and the startup function i said it gets
run no matter what it only gets

334
00:20:40,540 --> 00:20:43,810
run in the province but if you're if you're
starting at or second time and

335
00:20:43,810 --> 00:20:46,250
doesn't actually launch something them started with not

336
00:20:51,050 --> 00:20:52,720
okay that's a fair point

337
00:20:54,860 --> 00:20:58,400
going back to this i said earlier
in a financial to you have a if

338
00:20:58,400 --> 00:21:01,640
you to be mention applications like
each item as an associated action

339
00:21:02,420 --> 00:21:05,460
and so we need to somehow bring these actions into

340
00:21:05,970 --> 00:21:10,090
into being and that's what what's happening
actually four lines up here

341
00:21:10,410 --> 00:21:14,360
we call a function called G action map at actually entries

342
00:21:15,190 --> 00:21:15,670
which is

343
00:21:17,270 --> 00:21:20,310
also a lot of work that's happening by the scenes
that school of a little

344
00:21:20,310 --> 00:21:20,690
bit

345
00:21:21,040 --> 00:21:24,760
you can actually see the add entries
irate if you pass in there

346
00:21:25,320 --> 00:21:28,740
this looks very similar to what we what
we have and how to indicate for

347
00:21:28,740 --> 00:21:32,460
the longest time which is a G T K action entry every

348
00:21:33,100 --> 00:21:38,940
and this is just basically the same kind
of idea translated into G action sort

349
00:21:38,940 --> 00:21:39,860
of detection

350
00:21:41,080 --> 00:21:44,960
so we are creating to actions one is as
the name preferences minus on this

351
00:21:44,960 --> 00:21:45,670
and it could

352
00:21:46,190 --> 00:21:48,570
just a student to do that you saw the U I five before

353
00:21:49,370 --> 00:21:54,670
and we have you be also specify the activate
callbacks you like could activated it's

354
00:21:54,670 --> 00:21:57,950
called in the collection is activated
preferences activated escort

355
00:21:58,890 --> 00:22:01,710
when preferences you preference actions activated

356
00:22:03,180 --> 00:22:04,240
that's actually try that out

357
00:22:07,660 --> 00:22:08,900
so not to step for

358
00:22:12,740 --> 00:22:14,000
that you have to have an

359
00:22:14,810 --> 00:22:19,060
vision and you know yes it's there so
the shell has successfully picked up

360
00:22:20,170 --> 00:22:21,940
menu the other people on the bus

361
00:22:22,710 --> 00:22:26,540
and that S which it shows of the preferences
and could menu item

362
00:22:27,400 --> 00:22:29,210
no one click on preferences

363
00:22:30,640 --> 00:22:34,410
nothing happens that's because the preferences activity
function that i just is percent these of

364
00:22:34,410 --> 00:22:35,140
us nothing

365
00:22:36,640 --> 00:22:39,220
exciting is going on but it is fully functional

366
00:22:40,900 --> 00:22:43,800
just works and a little bit want to show that

367
00:22:44,490 --> 00:22:47,670
you may not more may not what is
it but for the for the could

368
00:22:47,670 --> 00:22:53,740
i don't actually specified a keyboard accelerator
people talk out in the U I for

369
00:22:53,740 --> 00:22:55,100
the expected one controlled you

370
00:22:55,770 --> 00:22:57,020
and when i had control to here

371
00:22:57,630 --> 00:23:00,270
also works or that is already hooked up

372
00:23:01,490 --> 00:23:05,080
and the next that will be to make the preferences
menu item actually something

373
00:23:06,890 --> 00:23:08,920
well that i'm moving on to the next step

374
00:23:10,550 --> 00:23:11,090
which is

375
00:23:12,090 --> 00:23:14,110
soon so how preferences work

376
00:23:14,920 --> 00:23:15,380
and

377
00:23:17,580 --> 00:23:21,490
we want our preferences obviously to be remembered
from one run of the application for

378
00:23:21,490 --> 00:23:24,730
the next are we gonna use G settings to number them

379
00:23:25,920 --> 00:23:30,500
and for using G settings the first
step is always to that you need a

380
00:23:30,500 --> 00:23:31,720
schema for a settings

381
00:23:32,510 --> 00:23:34,780
which is another type of X M L file actually here

382
00:23:35,450 --> 00:23:38,980
is fairly minimal scheme are just system
to settings and it the one is

383
00:23:39,780 --> 00:23:41,490
a font the unless a transition time

384
00:23:45,550 --> 00:23:49,610
there's some magic that you need to do some
magic intent incantations that you need

385
00:23:49,610 --> 00:23:53,270
to do to make it make use of the scheme
or you have to compile

386
00:23:53,270 --> 00:23:54,600
it but you have to like

387
00:23:55,120 --> 00:24:00,320
installed icexml from the right location
and then you call gina comply schemas to

388
00:24:01,250 --> 00:24:03,990
it's gotta be have some autoconf

389
00:24:04,650 --> 00:24:06,030
macros to make that

390
00:24:06,460 --> 00:24:08,300
the little easier if you're using all the tools

391
00:24:09,160 --> 00:24:11,690
so i'm not gonna dive into the details
of how to do that let's just

392
00:24:11,690 --> 00:24:12,110
assume

393
00:24:12,910 --> 00:24:14,620
that we can figure that out

394
00:24:15,890 --> 00:24:19,080
and so now we have a disk in that case

395
00:24:19,670 --> 00:24:23,570
which means you can actually now
use our settings and for that

396
00:24:24,960 --> 00:24:28,730
we need to quality settings new to
obtain an instance of our settings

397
00:24:29,360 --> 00:24:29,870
object

398
00:24:31,130 --> 00:24:31,610
and

399
00:24:33,100 --> 00:24:36,910
the next thing we do is we use a very convenient
functionality of T settings

400
00:24:36,910 --> 00:24:38,060
which is finding

401
00:24:38,500 --> 00:24:43,270
so we have this settings here actually earlier
which is about the other which was

402
00:24:43,270 --> 00:24:44,040
called transition

403
00:24:44,960 --> 00:24:46,750
and we just find that too

404
00:24:47,090 --> 00:24:49,320
remember pressed accuracy

405
00:24:49,810 --> 00:24:54,540
it's a pointer that points to the do
you can stack which is that we

406
00:24:54,540 --> 00:24:56,730
have in our window somewhere

407
00:24:57,480 --> 00:25:01,770
and the do you can stack it's a property
that's called transition type

408
00:25:02,470 --> 00:25:04,360
and i would just by deciding to the

409
00:25:04,750 --> 00:25:05,960
to the property

410
00:25:06,500 --> 00:25:10,500
and that's all we need to do to make
the reject reactor the changes of

411
00:25:10,500 --> 00:25:10,970
the setting

412
00:25:18,740 --> 00:25:21,710
there's some educated and i'm not gonna get into right now

413
00:25:22,090 --> 00:25:23,260
it's even better than

414
00:25:23,360 --> 00:25:24,270
then i'm telling

415
00:25:24,710 --> 00:25:25,200
so let's

416
00:25:30,360 --> 00:25:32,150
let's see if i can actually because

417
00:25:33,890 --> 00:25:37,250
so remember we don't have a preference
dialogue get that we have hooked up to

418
00:25:37,250 --> 00:25:38,270
setting service

419
00:25:38,830 --> 00:25:41,080
going to see and if i can actually

420
00:25:42,870 --> 00:25:45,310
prove to you that if i don't change the settings

421
00:25:46,170 --> 00:25:48,670
on the command line using the G settings commitment to

422
00:25:51,790 --> 00:25:52,700
i hope that something is

423
00:25:53,240 --> 00:25:56,360
as i mean i was gonna less impressive that
wanted because the window was hidden

424
00:25:56,360 --> 00:25:57,410
but you can see that the

425
00:25:58,130 --> 00:26:02,750
the application actually picked up my phone
so strange before was one space to open

426
00:26:02,750 --> 00:26:03,590
autumn especially

427
00:26:05,250 --> 00:26:08,530
but obviously using the command line for
these kind of changes it's not ideal so

428
00:26:08,530 --> 00:26:09,120
we want to

429
00:26:09,970 --> 00:26:13,980
a preference dialogue so that that's
move on and constructive

430
00:26:17,570 --> 00:26:21,500
obviously be we use all the same things
that we've already used to be again

431
00:26:21,500 --> 00:26:24,340
right attempted five for this dialogue this time it's a

432
00:26:25,980 --> 00:26:28,260
it's a subclass of you could dialogue can see appear

433
00:26:29,060 --> 00:26:32,760
and i'm not gonna go to listen detail
but you can see that we populated

434
00:26:32,760 --> 00:26:33,370
that they

435
00:26:34,210 --> 00:26:38,270
some labels and the data from that they're
gonna use for the phone probably obviously

436
00:26:39,320 --> 00:26:40,820
and the little further down

437
00:26:42,570 --> 00:26:46,730
is a combo box that using for the this transition
property which is three possible

438
00:26:46,730 --> 00:26:47,310
values

439
00:26:48,020 --> 00:26:51,490
and i'm specifying them right in the in the template

440
00:26:56,130 --> 00:26:56,620
and then

441
00:26:59,340 --> 00:27:02,330
you obviously a great a subclass
of ticket dialogue for this

442
00:27:02,740 --> 00:27:03,800
using the standard

443
00:27:04,180 --> 00:27:07,600
so there's all the same one i played
and i showed you for our occasional

444
00:27:08,710 --> 00:27:10,870
you find type of private that business

445
00:27:11,880 --> 00:27:17,730
and we do the same tended finding that
we did for vacation and when this

446
00:27:17,730 --> 00:27:20,350
time you do it for a preference dialogue

447
00:27:21,010 --> 00:27:23,580
we again obtain an instance of our settings you

448
00:27:25,090 --> 00:27:25,930
percent X

449
00:27:27,070 --> 00:27:31,320
and again we use the settings finding functionality combine

450
00:27:31,900 --> 00:27:37,050
or settings this time to bite into the controls
we have in the dialogue actually

451
00:27:37,050 --> 00:27:37,710
the changing

452
00:27:38,280 --> 00:27:40,530
so for the for the font setting the use the

453
00:27:41,240 --> 00:27:42,720
the functional

454
00:27:43,910 --> 00:27:46,970
and for the position settings use this combo box

455
00:27:47,350 --> 00:27:50,960
i didn't actually pointed out that the name
of that budget in the time that

456
00:27:50,960 --> 00:27:51,840
five was position

457
00:27:54,330 --> 00:27:54,870
and

458
00:27:56,900 --> 00:27:58,790
there's a lot more part of it here

459
00:27:59,320 --> 00:28:00,340
on think we still have to do is

460
00:28:01,890 --> 00:28:05,980
we created this preferences activated callback
for the action but it was empty so we

461
00:28:05,980 --> 00:28:07,490
know need to go back to it and

462
00:28:08,080 --> 00:28:13,460
make it actually created you instance of a preference
dialogue and present that

463
00:28:16,500 --> 00:28:16,900
and

464
00:28:17,870 --> 00:28:19,500
so let's go back and see how that looks

465
00:28:30,430 --> 00:28:35,150
you can see of all font settings change
from last one got remembered across to

466
00:28:35,150 --> 00:28:35,700
be stuff

467
00:28:36,370 --> 00:28:36,850
and

468
00:28:37,520 --> 00:28:42,060
no tricking preferences again and a test our
preference that'll and it has the things

469
00:28:42,060 --> 00:28:45,810
that i pointed out earlier in the that
so there's a one choose a

470
00:28:46,730 --> 00:28:49,220
chose the value that we just sat in the on the command line

471
00:28:50,010 --> 00:28:52,340
and that's the combo box for the transition

472
00:28:53,280 --> 00:28:56,690
just gonna briefly pause and show what it actually does

473
00:28:57,470 --> 00:28:58,310
change the slide

474
00:28:59,950 --> 00:29:02,140
and if i know change taps here

475
00:29:03,150 --> 00:29:06,050
actually any mates so this is a new feature indicates that

476
00:29:06,760 --> 00:29:09,110
as opposed to the old do you can notebook

477
00:29:09,740 --> 00:29:13,380
you can actually do nice animated transitions
here the other one that i have it

478
00:29:13,380 --> 00:29:16,410
here in the preference dialogue i'm gonna
show that as well as the cross fade

479
00:29:18,470 --> 00:29:19,850
so for change to that then

480
00:29:20,830 --> 00:29:22,660
you can kind of see the cross fade happening here

481
00:29:23,740 --> 00:29:27,980
so that's a nice new feature of you
can stack which is made possible by

482
00:29:27,980 --> 00:29:34,060
all the frame based drawing like
that owned it the last year

483
00:29:35,890 --> 00:29:37,110
okay well known

484
00:29:39,690 --> 00:29:43,780
this application starting to look like an application
that's fairly minimal so will add a

485
00:29:43,780 --> 00:29:45,650
few more bits of functionality here

486
00:29:46,170 --> 00:29:50,710
the next that is very common and don't see application
research that's obviously very central

487
00:29:50,710 --> 00:29:53,650
so i want to show how to make be

488
00:29:54,390 --> 00:29:58,590
research entry here that looks somewhat similar
to what we have another one applications

489
00:29:59,790 --> 00:30:04,540
product we the use do you can search
entry which is just a subclass of

490
00:30:04,540 --> 00:30:07,540
do you can feel it has a bit of extra functionality

491
00:30:08,450 --> 00:30:11,870
to make a certain like basically a button
and it has see extra signal that

492
00:30:11,870 --> 00:30:15,830
kind of patches the changes things like
that and then we used to do concerts

493
00:30:15,830 --> 00:30:17,120
but i would just and you a budget

494
00:30:18,150 --> 00:30:19,030
which lets you

495
00:30:20,190 --> 00:30:24,600
place such country and maybe some other divided
you might need and content in relation

496
00:30:24,600 --> 00:30:24,960
to that

497
00:30:25,540 --> 00:30:26,750
in inside a

498
00:30:27,780 --> 00:30:29,700
toolbar model stick and slide in from the top

499
00:30:31,590 --> 00:30:34,010
let's see how we actually use those

500
00:30:35,530 --> 00:30:37,680
so they go back to our

501
00:30:38,370 --> 00:30:39,970
have that for application than or

502
00:30:40,540 --> 00:30:41,650
and the and if you extra things

503
00:30:44,400 --> 00:30:47,870
right we had a probable so they had a bar

504
00:30:48,500 --> 00:30:50,980
the be much easier to see that men
i run the application and i'm just

505
00:30:50,980 --> 00:30:52,380
pointing out how this looks and they

506
00:30:52,950 --> 00:30:53,410
covered

507
00:30:56,010 --> 00:30:56,630
and

508
00:30:58,170 --> 00:30:59,050
no further down

509
00:31:00,570 --> 00:31:03,440
between the had about the stack you know put a search by

510
00:31:04,260 --> 00:31:05,890
the search but contains a search entry

511
00:31:07,350 --> 00:31:07,870
and

512
00:31:08,420 --> 00:31:09,670
what we also do here is

513
00:31:10,780 --> 00:31:14,650
we hook up this segment of for the search
changed signal of the searching for

514
00:31:14,650 --> 00:31:17,500
you might you know that have that right
so we don't have too many legal

515
00:31:17,500 --> 00:31:19,060
ninety six not connect to know

516
00:31:19,790 --> 00:31:21,710
so once again this reduces

517
00:31:22,480 --> 00:31:25,200
the amount of menu cool to have to be produced

518
00:31:26,420 --> 00:31:31,120
and obviously implementing search actually
takes quite a bit of work i'm not gonna go

519
00:31:31,120 --> 00:31:33,700
to that in detail here but i just wanted to

520
00:31:34,300 --> 00:31:38,170
if you show that there see the main
did to be for this work us

521
00:31:38,170 --> 00:31:42,770
having a second like he has touched
exchange which gets called

522
00:31:43,280 --> 00:31:46,020
whenever you talk a new character in your surgery

523
00:31:47,040 --> 00:31:50,960
and then we would do magic was text
you just to find the first match

524
00:31:50,960 --> 00:31:52,160
for that you know text

525
00:31:52,960 --> 00:31:53,370
and

526
00:31:54,070 --> 00:31:54,880
one vector

527
00:31:56,630 --> 00:31:57,800
like a couple again

528
00:32:02,180 --> 00:32:04,460
so it is well you can see the

529
00:32:05,400 --> 00:32:07,510
there's of like on is that all the button that i mentioned

530
00:32:08,580 --> 00:32:09,380
if i click that's

531
00:32:12,140 --> 00:32:14,140
so sparse lights in the such entry

532
00:32:15,570 --> 00:32:17,430
and i can type something like

533
00:32:21,410 --> 00:32:22,000
so just

534
00:32:22,540 --> 00:32:23,350
that's kinda need

535
00:32:26,960 --> 00:32:28,320
escape i think

536
00:32:29,410 --> 00:32:29,890
okay

537
00:32:31,580 --> 00:32:32,350
so

538
00:32:33,310 --> 00:32:34,720
that's already pretty good

539
00:32:36,320 --> 00:32:39,660
but you can at the present a little more
functionality you before but i'm not

540
00:32:39,660 --> 00:32:40,450
so

541
00:32:41,640 --> 00:32:44,510
think it's a step eight of nine so i
might actually gets too much steps

542
00:32:44,510 --> 00:32:45,400
supposed to learn that

543
00:32:47,900 --> 00:32:48,620
sidebar

544
00:32:50,510 --> 00:32:55,210
i really have to like wracked my brain
to come up is some example that

545
00:32:55,210 --> 00:32:58,200
lets me put in as many of the new but just as possible so i

546
00:32:58,730 --> 00:33:03,110
cannot this let me let me know that that's
totally ridiculous but at least it

547
00:33:03,110 --> 00:33:07,220
gets the don't drop down definitional do
you can menu button did you can reveal

548
00:33:07,220 --> 00:33:08,790
and you can just box set

549
00:33:10,410 --> 00:33:11,510
so once again we

550
00:33:12,540 --> 00:33:13,890
go back into our tempted

551
00:33:14,740 --> 00:33:17,560
and we are just sort you that we added top to bottom

552
00:33:18,610 --> 00:33:22,220
we know at a menu button next to that
that's down here you can menu

553
00:33:22,220 --> 00:33:22,470
button

554
00:33:26,010 --> 00:33:28,280
and then going for the down

555
00:33:28,720 --> 00:33:30,700
and maybe used to have the G T K stack

556
00:33:31,330 --> 00:33:31,990
we know

557
00:33:32,770 --> 00:33:35,220
wrap that inside you get box and

558
00:33:35,680 --> 00:33:36,450
put a

559
00:33:37,070 --> 00:33:37,840
a little extra

560
00:33:38,590 --> 00:33:41,840
before it is actually i was audible
so we put something left

561
00:33:42,250 --> 00:33:45,920
which is a G T K with you know that contains a list box in

562
00:33:45,920 --> 00:33:46,770
the school window

563
00:33:49,130 --> 00:33:49,690
and

564
00:33:52,830 --> 00:33:55,500
it's a little more xml here to show

565
00:33:56,020 --> 00:33:59,110
i said that i put a menu button there
i didn't actually tell you where

566
00:33:59,110 --> 00:34:01,430
the menus coming from that's yet another

567
00:34:02,020 --> 00:34:03,970
the U I for that actually here

568
00:34:04,510 --> 00:34:09,320
which is really virtually identical to the syntax
of the one that i showed you

569
00:34:09,320 --> 00:34:10,760
polyak menu it's just another

570
00:34:11,340 --> 00:34:13,770
you i five to be find a gym anymore

571
00:34:14,790 --> 00:34:17,730
in this case i just put a single item in there right now

572
00:34:18,270 --> 00:34:22,330
just a label words and they know the action here words

573
00:34:23,640 --> 00:34:26,500
and obviously i need to tell you
where that actually comes from

574
00:34:27,250 --> 00:34:31,140
so we go back to this is actually to go back you can

575
00:34:32,480 --> 00:34:36,020
i so i called action show works but
actually the U I five says when

576
00:34:36,020 --> 00:34:37,180
dot show words

577
00:34:38,010 --> 00:34:42,740
the window hottest this goebbels the action
so the actions we saw before for the

578
00:34:42,740 --> 00:34:47,070
application manoeuvre applications
goal actions which we defined in

579
00:34:47,690 --> 00:34:49,920
in the startup function of the application

580
00:34:50,670 --> 00:34:53,570
but there can also be we know school actions

581
00:34:53,980 --> 00:34:57,840
and the can i mention here is that
you refer to those by putting went

582
00:34:57,840 --> 00:34:59,680
off as the prefix the name

583
00:35:00,640 --> 00:35:05,130
and obviously in brno school action should not
be defined in the G application startup

584
00:35:05,130 --> 00:35:09,620
function but it should be specific to
the rental so we at that action in

585
00:35:09,620 --> 00:35:12,450
the in the function of our example than a class

586
00:35:13,470 --> 00:35:17,240
and the last three lines that actually but it happens

587
00:35:17,940 --> 00:35:21,320
in this case we use a settings actually

588
00:35:22,000 --> 00:35:26,550
which is a neat little this integrate
to take one of audio settings

589
00:35:27,850 --> 00:35:33,020
in this case it's setting called sure words
and just wrap actually and actually wanted

590
00:35:33,990 --> 00:35:34,610
and

591
00:35:35,960 --> 00:35:39,500
activating the action will have that
we change the value of the setting

592
00:35:40,170 --> 00:35:43,680
this case the setting this is leon and

593
00:35:45,100 --> 00:35:48,340
the settings action who just probably
and every time you activated

594
00:35:49,350 --> 00:35:53,260
that's a very convenient way to make settings
available to the you live in the

595
00:35:53,260 --> 00:35:54,020
form of actions

596
00:35:56,370 --> 00:35:59,590
and but that i'm switching back to show you know that looks

597
00:36:06,220 --> 00:36:06,740
okay so

598
00:36:08,360 --> 00:36:10,600
next a lot of the button up there

599
00:36:10,920 --> 00:36:12,100
is to get something you know

600
00:36:13,450 --> 00:36:13,920
menu button

601
00:36:15,150 --> 00:36:15,730
click connect

602
00:36:16,610 --> 00:36:17,840
is the menu item that i just

603
00:36:18,530 --> 00:36:19,280
mystified

604
00:36:19,780 --> 00:36:21,320
and if i actually

605
00:36:21,650 --> 00:36:22,290
product

606
00:36:23,790 --> 00:36:27,590
decide partials up and you saw that it actually
slides and that's what the really

607
00:36:27,590 --> 00:36:29,770
knows doing it cannot that's the animated

608
00:36:30,190 --> 00:36:31,170
reveal

609
00:36:31,640 --> 00:36:34,460
and inside they really lazy

610
00:36:35,030 --> 00:36:38,590
in this box here this block so i could
can spend an entire talked us

611
00:36:38,590 --> 00:36:42,240
talking about do you can this box and
what that's about it doesn't do but

612
00:36:42,240 --> 00:36:44,740
it is essentially it's just a container that is

613
00:36:45,410 --> 00:36:48,100
it's meant to contain lots of digits and it has

614
00:36:48,620 --> 00:36:53,320
functionality that you normally associate with
the but that review like it can filter can

615
00:36:53,320 --> 00:36:55,420
consult the items that are contained in it

616
00:36:56,450 --> 00:37:00,970
but the to the defining difference
between this and the triggers that

617
00:37:01,530 --> 00:37:05,480
it shows actually is that which it
it's not a seven day which is kind

618
00:37:05,480 --> 00:37:08,600
of a different layout model so this
is nice if you want to have a

619
00:37:08,600 --> 00:37:09,070
list

620
00:37:09,610 --> 00:37:13,760
but you want to have actual july and it's
not necessarily just data-driven

621
00:37:14,730 --> 00:37:15,680
giant data is

622
00:37:16,220 --> 00:37:18,850
and since i have to come up to something
for this example adjust

623
00:37:19,640 --> 00:37:23,900
created buttons one button for each button
my text and if i click on one

624
00:37:23,900 --> 00:37:24,690
of those buttons

625
00:37:25,860 --> 00:37:27,700
research again so this december

626
00:37:28,840 --> 00:37:30,280
make this example but meaningful

627
00:37:37,470 --> 00:37:38,180
right

628
00:37:40,020 --> 00:37:42,350
and i just saw the movie to hide itself again

629
00:37:43,150 --> 00:37:43,880
so we don't

630
00:37:46,110 --> 00:37:47,560
almost and this is the last step

631
00:37:48,040 --> 00:37:51,990
but i've been about them of this like first
it had only it's that's actually

632
00:37:51,990 --> 00:37:56,970
and then ryan came back to me and said
okay just reason like probably actions

633
00:37:57,600 --> 00:38:01,160
because that's need to so i went back
and i racked my brain a little

634
00:38:01,160 --> 00:38:05,240
more and try to come up with some
way of showing property actions

635
00:38:05,830 --> 00:38:07,720
so what what's that about

636
00:38:09,260 --> 00:38:13,120
which is all and a topic so if you
have lots of useful properties and

637
00:38:13,120 --> 00:38:16,440
it's a it's a said earlier these settings
action but it just showed it's a

638
00:38:16,440 --> 00:38:21,470
very convenient way to make settings accessible
to do you want to from corrections

639
00:38:21,970 --> 00:38:28,570
and there similarly G property action does the same
thing for properties of widget object

640
00:38:29,450 --> 00:38:29,930
and

641
00:38:30,900 --> 00:38:32,510
we'll see how that works

642
00:38:33,460 --> 00:38:38,020
so i'm not going in all the details here but
just explaining what what's happening

643
00:38:38,020 --> 00:38:41,010
here we have seen to have to go
back to our camp that again and

644
00:38:41,010 --> 00:38:43,420
be i'm adding a two labels

645
00:38:43,880 --> 00:38:45,010
pulled out of our

646
00:38:45,490 --> 00:38:52,520
the names are lines label lines actually
get again just talk about it and then

647
00:38:52,520 --> 00:38:53,720
we go to our

648
00:38:54,390 --> 00:38:56,960
the U I for it defines the geeky a menu

649
00:38:57,570 --> 00:38:59,240
and be out at the second item there

650
00:39:00,670 --> 00:39:02,030
the name lines and

651
00:39:02,340 --> 00:39:05,010
but they are the new action show lines

652
00:39:05,710 --> 00:39:07,170
which now would be a property action

653
00:39:08,050 --> 00:39:09,980
so i have to show you know that is done

654
00:39:11,100 --> 00:39:13,940
and again it's done in the in a function
of all in the class and

655
00:39:15,530 --> 00:39:17,100
it is the first line there's

656
00:39:17,550 --> 00:39:22,290
G property actually you so we specify
the name show lines and then we

657
00:39:23,100 --> 00:39:24,380
we use the lines object

658
00:39:24,990 --> 00:39:28,500
and you probably expect by now that pretty lines is another

659
00:39:29,690 --> 00:39:33,610
point a very banal prime instructed
gets magically populated finally

660
00:39:34,290 --> 00:39:38,180
gee wouldn't you can window class
pine temperature a lot well

661
00:39:38,710 --> 00:39:41,320
so that's for that one little that we just added

662
00:39:42,130 --> 00:39:47,220
and use the visible property of the label and
we have another boolean target actually

663
00:39:47,220 --> 00:39:47,470
here

664
00:39:48,580 --> 00:39:48,940
and

665
00:39:50,530 --> 00:39:53,420
yet another thing that i squeezed in this last that is that

666
00:39:54,570 --> 00:39:57,540
but only can be do that but we can also

667
00:39:58,500 --> 00:39:59,080
use

668
00:39:59,640 --> 00:40:05,690
object binding here logistic in a nice way to basically
connect properties of different objects

669
00:40:05,690 --> 00:40:06,670
and keep them and so

670
00:40:07,540 --> 00:40:10,390
so that's what we're using here to
assess at the at to labels but we

671
00:40:10,390 --> 00:40:16,000
always want them to become visible invisible
together so we can adjust we use do

672
00:40:16,000 --> 00:40:20,970
you object buying property to just connect
the visible property of these two widgets

673
00:40:21,370 --> 00:40:24,840
so when i when i show the first one the second
one automatically get shown

674
00:40:24,840 --> 00:40:25,360
as well

675
00:40:29,270 --> 00:40:32,420
let me show you look something about it yes

676
00:40:54,200 --> 00:40:54,990
okay so

677
00:40:56,470 --> 00:40:59,930
rest of them here's our new menu
item lines i just quit that

678
00:41:00,890 --> 00:41:01,760
metropolis

679
00:41:02,500 --> 00:41:03,570
to label simply here

680
00:41:04,710 --> 00:41:07,370
and show you the code for actually
counting the lines the text

681
00:41:07,980 --> 00:41:10,570
as well that that's interesting to taps

682
00:41:11,700 --> 00:41:13,280
it actually a baseline count you

683
00:41:14,360 --> 00:41:16,310
and if i top and the property again

684
00:41:18,100 --> 00:41:21,760
most of them disappeared the same time because
that was the properties are all together

685
00:41:24,850 --> 00:41:25,190
and

686
00:41:26,710 --> 00:41:29,030
that was the last step so i'm actually

687
00:41:30,190 --> 00:41:31,450
and on the my samples

688
00:41:32,060 --> 00:41:34,830
i'll be and what that and if you
have any questions free to ask

689
00:41:35,390 --> 00:41:40,230
thanks to take a break from this i hope
are but it's actually really not

690
00:41:40,230 --> 00:41:42,930
hard automatic norm three style vacation using

691
00:41:43,520 --> 00:41:47,870
bits and pieces that are available in typically
master now so it's tickets we can

692
00:41:47,870 --> 00:41:48,940
all of this would be

693
00:41:49,440 --> 00:41:51,750
would be at your disposal and

694
00:41:52,290 --> 00:41:56,980
actually did a line count you on the last
step you that most complete example

695
00:41:56,980 --> 00:42:00,730
that i have comes onto some five hundred
lines of C code and some two

696
00:42:00,730 --> 00:42:02,610
hundred lines of you across

697
00:42:03,400 --> 00:42:05,150
so that's not too bad considering it see

698
00:42:09,360 --> 00:42:11,810
no i that i used to be a for this

699
00:42:13,800 --> 00:42:15,950
but i hope late what we have to it as well that's just

700
00:42:18,240 --> 00:42:18,700
yes

701
00:42:26,430 --> 00:42:27,770
can repeat the question mark

702
00:42:30,920 --> 00:42:31,270
okay

703
00:42:31,850 --> 00:42:38,940
yes this first of all as i said earlier these
examples including all the makefile

704
00:42:38,940 --> 00:42:42,380
integration everything is available the G
T K source tree so you can go then

705
00:42:42,380 --> 00:42:45,660
local actually that this that's make for the yams

706
00:42:46,150 --> 00:42:51,960
there's also a various documentation for instance
the i pointed out at some point is

707
00:42:51,960 --> 00:42:55,470
that we should some macros in G I
L actually for the for the schema

708
00:42:55,470 --> 00:42:59,260
compilation part and there's a link that's
of the G I O documentation but that's

709
00:42:59,260 --> 00:42:59,750
explain

710
00:43:00,540 --> 00:43:00,930
and

711
00:43:01,590 --> 00:43:05,190
maybe have documentation for some for the resource
part of so an actual about that

712
00:43:07,780 --> 00:43:11,050
okay so some of this might not be wrapped a nice macros

713
00:43:11,850 --> 00:43:15,870
but some of it is and for the parts that
are there should be documentation

714
00:43:15,870 --> 00:43:20,980
somewhere inside the G I O documentation but
that's not necessarily easy to find so

715
00:43:20,980 --> 00:43:24,450
i try to put links to that in this

716
00:43:29,390 --> 00:43:31,290
right that's a that's a good exactly actually

717
00:43:33,290 --> 00:43:37,970
so there's a there's a nice you way of writing
documentation hold how do i

718
00:43:37,970 --> 00:43:40,210
that wind kicked off and this drumming

719
00:43:40,990 --> 00:43:42,500
drumming for which

720
00:43:44,140 --> 00:43:47,870
that that's available i think it's a one
about resources maybe not yet but

721
00:43:48,480 --> 00:43:49,760
we should make one available

722
00:43:55,040 --> 00:43:59,250
so there's more questions or nothing
i want to say is that this is the

723
00:43:59,250 --> 00:44:03,160
location where you can actually find all
of all of this online this is the

724
00:44:03,160 --> 00:44:04,900
D A P I documentation where

725
00:44:05,580 --> 00:44:09,770
that i just wanted to other point
out that i found a few box and

726
00:44:09,770 --> 00:44:13,190
in the documentation gonna bend over this
last night so but i showed you was

727
00:44:13,190 --> 00:44:18,360
my local fixed build and that will
be all our online but the next you

728
00:44:18,360 --> 00:44:18,890
can release

729
00:44:19,570 --> 00:44:23,650
and this is a the G T K sources and you can see the night

730
00:44:23,650 --> 00:44:25,330
subdirectories where i ran

731
00:44:25,770 --> 00:44:26,640
these examples

732
00:44:31,450 --> 00:44:32,200
thank you next time

733
00:44:36,980 --> 00:44:37,750
and questions

734
00:44:39,690 --> 00:44:40,540
okay thank you

