These are chat archives for AvaloniaUI/Avalonia

12th
Nov 2016
Darnell Williams
@Seeker1437
Nov 12 2016 00:52
Yes but I only know how to get it using D2D's IWriteTextFormat.GetIncrementalTabStop()
oh I see haa im dumb
it also has IWriteTextFormat.SetIncrementalTabStop()
Should basically be part of FormattedText imo
Darnell Williams
@Seeker1437
Nov 12 2016 01:00
lAh well maybe not... the IWriteTextFormat information is used in IWriteTextLayout which I THINK we use lol.
idk our minimun os supported in regards to windows lol
@danwalmsley
Weston
@ronnyek
Nov 12 2016 01:59
is .netcore/netstandard still in the works?
danwalmsley
@danwalmsley
Nov 12 2016 10:15
@ronnyek yes, looks like we now have all dependencies ported, and mainly waiting for .net csproj too long to catch up
*too long - tooling
danwalmsley
@danwalmsley
Nov 12 2016 12:21
@wieslawsoltes hey man, I get the impression xamlbehaviors and core2d, is automatically re-building against the latest avalonia nugets whenever a new version is published
how did you achieve this?
Steven Kirk
@grokys
Nov 12 2016 12:48
@danwalmsley got a bit of time to check out your PR if you're around?
I'm getting 3 test failures on your branch currently
danwalmsley
@danwalmsley
Nov 12 2016 12:49
hey
yes, I'm here but not for long
i wasn't sure how to fix the 2 tab control failures, looks like my changes broke loading of data templates
also running test app just results in an empty screen, I'm hoping just because of tab control failures
any ideas why it broke data templates?
I added you to be able to push to my fork incase you have any quick fixes...
Steven Kirk
@grokys
Nov 12 2016 12:53
Container_Should_Have_TemplatedParent_Set_To_Null is also failing for me, is that failing for you?
i can't see where it's broken data templates
danwalmsley
@danwalmsley
Nov 12 2016 12:59
it fails for me too yes
I'm not sure the reason why template parent should be null?
also I wasn't 100% certain that my assumption that TypeContainers should have been left with the old behaviour?
Steven Kirk
@grokys
Nov 12 2016 13:03
what are TypeContainers?
danwalmsley
@danwalmsley
Nov 12 2016 13:17
the Typed Container generators i meant
i.e. when the new ContainerType property is not null
Steven Kirk
@grokys
Nov 12 2016 13:23
ok, i'm still having difficulty understanding this though:
also I wasn't 100% certain that my assumption that TypeContainers should have been left with the old behaviour?
danwalmsley
@danwalmsley
Nov 12 2016 13:23
ok
let me find the line
this else here I'm referring to
so I'm just doing what avalonia did before, is that correct
or do we also need to do something different when we have Typed ContainerGenerator
Steven Kirk
@grokys
Nov 12 2016 13:27
ah ok, yeah the behavior was already correct for typed containers
danwalmsley
@danwalmsley
Nov 12 2016 13:27
ok
will try and fix issues your brought up on pr ;)
Steven Kirk
@grokys
Nov 12 2016 13:28
i'm trying to work out why TemplatedParent is being set
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:29
what's current state of avalonia?
works on uwp as well?
Darnell Williams
@Seeker1437
Nov 12 2016 13:30
Totally read that as "What's the current state of America?"
Sorry
Steven Kirk
@grokys
Nov 12 2016 13:30
hahaha that's a good question too
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:30
america? near disaster..
Steven Kirk
@grokys
Nov 12 2016 13:30
current state is alpha
danwalmsley
@danwalmsley
Nov 12 2016 13:31
hehehe!
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:31
so "it works" on uwp?
Steven Kirk
@grokys
Nov 12 2016 13:31
no UWP support yet, I'm concentrating on getting the core working before thinking too much about platforms
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:31
just asking....
Steven Kirk
@grokys
Nov 12 2016 13:31
shouldn't be too difficult to get a UWP backend working though
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:31
looking for a way t make neat-ish ui using uwp for an iot project....
Steven Kirk
@grokys
Nov 12 2016 13:32
we already have a Direct2D renderer that would work with UWP
so it's just a matter of creating windows etc
if you're interested in doing it, it wouldn't be hard i don't think
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:33
is there a good getting-started tutorial for avalonia on dekstop-windows?
danwalmsley
@danwalmsley
Nov 12 2016 13:37
@grokys addressed some of the issues you raised...
Steven Kirk
@grokys
Nov 12 2016 13:37
sorry, there's not much documentation right now, as i said we're still alpha so it's really only for people with a high tolerance for pain ;)
Darnell Williams
@Seeker1437
Nov 12 2016 13:38
LOL
danwalmsley
@danwalmsley
Nov 12 2016 13:38
I have to go now, but leave me some more comments to address I get them done tonight!
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:38
@grokys i'm willing to learn, and get hit by weirdish stuff..
danwalmsley
@danwalmsley
Nov 12 2016 13:38
later guys ;)
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:38
My situation is this: second hafl of january i have to have a prototype iot project working. touch screen, runing on win iot
Steven Kirk
@grokys
Nov 12 2016 13:38
bye @danwalmsley should i push directly to your branch if i fix things?
@mterwoord there is a small amount of docs here https://github.com/AvaloniaUI/Avalonia/tree/master/docs/spec
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:39
functionally i have things working
Darnell Williams
@Seeker1437
Nov 12 2016 13:39
@grokys it looks like the Midget feed is not listed in the public gallery, however MyGet does have a way to add an HTTP web hook in the packages section, for NuGet I can use RSS.
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:39
"just" need to make things look neat enough for an exhibition
Darnell Williams
@Seeker1437
Nov 12 2016 13:39
MyGet
hate mac's aggressive autocorrect grrr
Steven Kirk
@grokys
Nov 12 2016 13:39
@Seeker1437 what are you asking for exactly? is there something we need to do?
@mterwoord well if you're feeling brave, please feel free to create a UWP backend! unfortunately though the only documentation is the code itself at the moment
Darnell Williams
@Seeker1437
Nov 12 2016 13:40
@grokys I need to be able to pool the rss feed to detect newer released of the nuget packages
Steven Kirk
@grokys
Nov 12 2016 13:41
ok, do it!
Matthijs ter Woord
@mterwoord
Nov 12 2016 13:41
@Seeker1437 I'll have a look at avalonia on normal windows desktop to see how it looks
i'm a very brave man! :)
Darnell Williams
@Seeker1437
Nov 12 2016 13:41
It's not available as long as the avalonia midget is not listed in the gallery (or maybe it isles)
Steven Kirk
@grokys
Nov 12 2016 13:41
what is an avalonia midget?
Darnell Williams
@Seeker1437
Nov 12 2016 13:41
LOLOLOLOL
damn you autocorrect
Avalonia MyGet
Steven Kirk
@grokys
Nov 12 2016 13:42
Darnell Williams
@Seeker1437
Nov 12 2016 13:42
or maybe it is
Steven Kirk
@grokys
Nov 12 2016 13:42
you'd have to just change that to use UWP instead of Win32
Darnell Williams
@Seeker1437
Nov 12 2016 13:42
but I just need you to give me the rss feed from the package settings
Steven Kirk
@grokys
Nov 12 2016 13:42
how do i get that?
Darnell Williams
@Seeker1437
Nov 12 2016 13:44
You would need to log into MyGet and navigate to the avalonia feed, select the feed settings, and it should have the v2 and v3 api links as well as the rss feed link
sorry slightly old
from the feed details then select activity it will be there
this one is mine for example https://www.myget.org/RSS/mabiavalon-ci
Steven Kirk
@grokys
Nov 12 2016 13:56
ok it's https://www.myget.org/RSS/avalonia-ci
Darnell Williams
@Seeker1437
Nov 12 2016 13:58
ah thank you!
I should have guessed lol
danwalmsley
@danwalmsley
Nov 12 2016 14:12
@grokys yes, push directly if you fix anything, iv invited you to have direct access to my fork
Darnell Williams
@Seeker1437
Nov 12 2016 14:23
In theory, he should automatically be able to push into branches of PRs (says GitHub)
danwalmsley
@danwalmsley
Nov 12 2016 14:27
@Seeker1437 does this allow us to automatically rebuild our projects as avalonia publishes updates?
Darnell Williams
@Seeker1437
Nov 12 2016 14:33
You mwan uaing rhe RSS feed? Yes, I have a backend in place to do this automatically for my project, I can have it do it for yours as well.
danwalmsley
@danwalmsley
Nov 12 2016 14:33
that would be awesome, basically id like it to everytime a new version of avalonia is released
to update avalonia, xamlbehaviors and docknc nuget packages and submit it to a branch
and i can just merge that in everytime i want to update master to be on latest master
it takes my pc about 15 - 20 minutes to do this manually in visual studio
because nuget is so slow
Darnell Williams
@Seeker1437
Nov 12 2016 14:37
oi yeah, I will get that set up asap fr you
danwalmsley
@danwalmsley
Nov 12 2016 14:40
ill give you a hand on docking soon too ;)
danwalmsley
@danwalmsley
Nov 12 2016 15:12
@grokys did you manage to find out how templated parent was getting set?
Matthijs ter Woord
@mterwoord
Nov 12 2016 15:17
what VS extensions is the real one? AvaloniaVS or Avalonia for Visual Studio ?
Matthijs ter Woord
@mterwoord
Nov 12 2016 15:59
hmm. bummer. Trying to run the controlcatalog sample from git, using the nuget. getting SharpDX errors
danwalmsley
@danwalmsley
Nov 12 2016 16:01
@mterwoord what errors?
you running on windows?
Darnell Williams
@Seeker1437
Nov 12 2016 17:08
@mterwoord the second one will receive updates regularly
Avalonia for Visual Studio
danwalmsley
@danwalmsley
Nov 12 2016 17:17
@grokys I'm back and able to look at the itemscontrol changes again, let me know when your around
Steven Kirk
@grokys
Nov 12 2016 17:18
@mterwoord Avalonia for Visual Studio
we need to ask the person who published AvaloniaVS to take it down as its out of date
@danwalmsley i've only got an hour but yeah i figured out the templated parent
not had time to fix it though
danwalmsley
@danwalmsley
Nov 12 2016 17:19
ok
Steven Kirk
@grokys
Nov 12 2016 17:19
basically: TemplateParent inherits from its parent LogicalControl
danwalmsley
@danwalmsley
Nov 12 2016 17:20
do you have any pointers I can try and debug the data templates not working the tab control
?
Steven Kirk
@grokys
Nov 12 2016 17:20
before you had ItemsControl -> ContentPresenter and ItemsControl.TemplatedParent is null so ContentPresenter.TemplatedParent is null
now you have ItemsControl -> ContentPresenter.Child and so the ContentPresenter's parent is now not the ItemsControl but the StackPanel in the ItemsControl template, which has a TemplatedParent (as its in the template)
so i think the solution is just to set the TemplatedParent of the ContentPresenter to null in the method you added the changes to
danwalmsley
@danwalmsley
Nov 12 2016 17:23
Ok I think I can do that
Steven Kirk
@grokys
Nov 12 2016 17:23
(note that the setter is internal so you have to do control.SetValue(TemplatedParentProperty, null))
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:23
i'm on windows, yes
Jeremy Koritzinsky
@jkoritzinsky
Nov 12 2016 17:27
Are you on the most updated nightly build?
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:29
no
normal nuget version (0.4?)
let me guess, previous-century version i'm on then?
danwalmsley
@danwalmsley
Nov 12 2016 17:35
its very old the official nugget ;)
try this...
@grokys ok cool
I don't know if you can give any clues on the DataTemplate problem affecting tab control?
Steven Kirk
@grokys
Nov 12 2016 17:42
which failing test in particular?
danwalmsley
@danwalmsley
Nov 12 2016 17:42
this is the main one

ok the

(note that the setter is internal so you have to do control.SetValue(TemplatedParentProperty, null))

fixed that test
so will push to PR
Steven Kirk
@grokys
Nov 12 2016 17:45
oh actually it's the same assembly so you can just set the property. don't worry about that though - we need to put setting the templated parent behind an interface like ISetLogicalParent
danwalmsley
@danwalmsley
Nov 12 2016 17:46
with this test failing
control catalog looks like this...
image.png
Steven Kirk
@grokys
Nov 12 2016 17:46
uh-oh!
:)
Darnell Williams
@Seeker1437
Nov 12 2016 17:47
Im still working on the implementation for the system
danwalmsley
@danwalmsley
Nov 12 2016 17:47
oh no it doesn't!
its because I was testing empty string on skia the other day! my fault
Darnell Williams
@Seeker1437
Nov 12 2016 17:47
LOL
danwalmsley
@danwalmsley
Nov 12 2016 17:47
my control catalog wasn't reset!
Darnell Williams
@Seeker1437
Nov 12 2016 17:47
;)
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:47
trying to update avalonia and skia to latest versions, and now i get a build error that says The Platform needs to be either x64 or x86 to support Skia in Windows.
what am i doing wrong?
Darnell Williams
@Seeker1437
Nov 12 2016 17:48
I thought they fixed that...
danwalmsley
@danwalmsley
Nov 12 2016 17:48
@mterwoord you can right click properties on solution
Darnell Williams
@Seeker1437
Nov 12 2016 17:48
anyways set your build to x86
danwalmsley
@danwalmsley
Nov 12 2016 17:48
then configuration manager
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:48
did that
danwalmsley
@danwalmsley
Nov 12 2016 17:48
delete all the x86 ones
Darnell Williams
@Seeker1437
Nov 12 2016 17:48
try again now?
danwalmsley
@danwalmsley
Nov 12 2016 17:48
and recreate them
for all projects
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:48
wait, config manager or project settings?
Darnell Williams
@Seeker1437
Nov 12 2016 17:48
clean and build
danwalmsley
@danwalmsley
Nov 12 2016 17:48
config manager
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:48
begh
ms really made a mess out of that...
danwalmsley
@danwalmsley
Nov 12 2016 17:49
@Seeker1437 you have to delete the x86 configuration from all projects first for it to fix this
Darnell Williams
@Seeker1437
Nov 12 2016 17:49
Basically it should say Build (Debug/Release) Configuration x86
Ah not for me
danwalmsley
@danwalmsley
Nov 12 2016 17:49
iv wasted hours on it before
Darnell Williams
@Seeker1437
Nov 12 2016 17:49
I just set it directly and it was fine
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:49
got it building and running now!
danwalmsley
@danwalmsley
Nov 12 2016 17:49
@mterwoord good ;)
Darnell Williams
@Seeker1437
Nov 12 2016 17:49
Yay :D
Yeah I can imagine having to do that for all of them
danwalmsley
@danwalmsley
Nov 12 2016 17:49
configuration manager for solutions will do it all in 1 go
but if you don't know to do it.
can be a massive pain
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:50
now i see the control demo, i fear it wont help me with what i want.. :|
danwalmsley
@danwalmsley
Nov 12 2016 17:51
@mterwoord you can make it very easily look like anything you want
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:51
same with wpf and uwp....
imo
danwalmsley
@danwalmsley
Nov 12 2016 17:51
here is what can be done, without spending too much attention polishing...
so you can easily achieve any look you want
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:53
i hoped for something i could just use and not care at all about how i want things (ie, magically have something neat)
guess, back to drawing board (real drawing board)
Darnell Williams
@Seeker1437
Nov 12 2016 17:53
D:
danwalmsley
@danwalmsley
Nov 12 2016 17:53
what are you trying to do?
Darnell Williams
@Seeker1437
Nov 12 2016 17:53
We can help :D
Jeremy Koritzinsky
@jkoritzinsky
Nov 12 2016 17:53
We're still working on getting to that point
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:53
iot-like project: we'll be controlling an industrial kitchen equipment..
Darnell Williams
@Seeker1437
Nov 12 2016 17:54
OOOH I think I see what you mean
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:54
(setting temperatures, showing temperatures, chainging RGB lighting colors, etc)
Darnell Williams
@Seeker1437
Nov 12 2016 17:54
You like the basic look
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:54
basic as in what uwp gives me?
or?
danwalmsley
@danwalmsley
Nov 12 2016 17:54
@mterwoord what do you intend to run it on?
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:54
win iot
danwalmsley
@danwalmsley
Nov 12 2016 17:54
because on embedded processors, Avalonia is currently very slow
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:55
hmm, ok
danwalmsley
@danwalmsley
Nov 12 2016 17:55
not been optimized yet
if your on multicore intel with 1. something ghz and plenty of ram you will be fine
but if your on an arm board with 256mb ram and single core its going to be slowwwwww!
Matthijs ter Woord
@mterwoord
Nov 12 2016 17:56
raspberry 3?
danwalmsley
@danwalmsley
Nov 12 2016 17:58
might get away with it
raspberry pi 2 wasn't up to it
Darnell Williams
@Seeker1437
Nov 12 2016 17:58
the 3 might be okay
danwalmsley
@danwalmsley
Nov 12 2016 17:58
this may change very soon
Darnell Williams
@Seeker1437
Nov 12 2016 17:58
2 is foreverslow
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:01
so using the zero is out of the question.. ;)
danwalmsley
@danwalmsley
Nov 12 2016 18:01
yes!
I think pi 2 took like 30minutes to loads the test application wasn't it @Seeker1437 ?
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:02
but that's on mono + linux?
danwalmsley
@danwalmsley
Nov 12 2016 18:02
yes!
by all means give it a go though
we would love to see if its faster on windows 10 iot
they might have done some optimizations, if its successful I can try help you polish up your ui a bit
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:05
i'm actually leaning towards using uwp for that now..
multiple things to do.. :(
danwalmsley
@danwalmsley
Nov 12 2016 18:06
if it were me, i would use UWP to get to the exhibition... then later port to Avalonia if you need cross platform, once we are caught up on UI features and performance
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:07
:)
thanks for honesty!:)
danwalmsley
@danwalmsley
Nov 12 2016 18:11
no problem, Avalonia its nearly there but we are not quite at the stage uwp is
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:12
being the creative mind, i think i'm going to use the current controllers as a guide on what to make it look like...
once things are public, i'll try to remember to show you guys..
:)
danwalmsley
@danwalmsley
Nov 12 2016 18:16
sounds like an interesting project,
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:16
yep
1 side of the project is controlling the hardware
other side is making a datalogger...
danwalmsley
@danwalmsley
Nov 12 2016 18:17
i work on lots of embedded devices, for a design agency and we are looking for this kind of solution but for very low end controllers
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:17
"this kind of solution" -> datalogger or controling?
may be interesting to have a (private) chat?
danwalmsley
@danwalmsley
Nov 12 2016 18:18
so say stm32 microcontroller, presenting very high quality ui onto tft
Steven Kirk
@grokys
Nov 12 2016 18:18
@danwalmsley worked out the problem. things are about to get ugly ;)
danwalmsley
@danwalmsley
Nov 12 2016 18:18
all the existing options are highly costly!
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:18
ah,so the tiny device has to make a high quality ui..
or you mean add a controller to it for the ui?
Steven Kirk
@grokys
Nov 12 2016 18:19
at the point there where you call UpdateChild the control isn't yet part of the logical tree, so it can't find the data template and so uses the default data template
danwalmsley
@danwalmsley
Nov 12 2016 18:19
i mean something like avalonia, but compiled to native code and runs with only a few mbs of ram
@grokys ah
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:19
no clue there..
Steven Kirk
@grokys
Nov 12 2016 18:20
so we can't do it like that
danwalmsley
@danwalmsley
Nov 12 2016 18:20
and the ugly part is there is no easy way around it!
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:20
we focus on price efficiency (kind-of) and dont care too much about power consumption..
the devices we'll be monitoig start around 10K euro's, so adding 200 euro for monitoing is acceptable...
add another 1000 euro for touch screen controller, etc
Steven Kirk
@grokys
Nov 12 2016 18:20
the way around it is to listen for the ContentPresenter.Child change and then add the logical child. in the right place in the list :/
Matthijs ter Woord
@mterwoord
Nov 12 2016 18:20
all not a huge issue
Steven Kirk
@grokys
Nov 12 2016 18:21
and make sure that that subscription is cleaned up when the container is dematerialized
danwalmsley
@danwalmsley
Nov 12 2016 18:21
before I call updatechild
does the child control not exist yet?
Steven Kirk
@grokys
Nov 12 2016 18:21
no, that's what UpdateChild does - create the Child
hmmm but
no! there is a simple way to do it
before calling UpdateChild, set the content presenter's logical parent
((ISetLogicalParent)containerControl).SetParent(this);
that fixes the tests
danwalmsley
@danwalmsley
Nov 12 2016 18:25
shall I push that change
or do you want to push it?
Steven Kirk
@grokys
Nov 12 2016 18:25
you do it
got to run
danwalmsley
@danwalmsley
Nov 12 2016 18:25
ok
sure
danwalmsley
@danwalmsley
Nov 12 2016 20:11
@grokys I believe #799 is ready for approval ;)