Thursday, December 19, 2013

From concept to reality in 6 weeks - part 25

Just when I thought I was done and could relax, I woke up today knowing I have to finish in a couple more days. I have today and tomorrow and then a weekend to be done. The good news is just as I expected the fix from my new found friend was waiting for me when I woke up. He had found the problem of the crash in his mapping engine code and had fixed it.

Now all I have to do it using his new DLLs and work my way thru all of the small issues I need to finish off. This morning I tried to poke around in Spotify to figure out what kind of music I felt like listening to and finally I arrived at Kirk Fletcher. He is the guitarist for The Fabulous Thunderbirds, so it is going to be a bluesy day today. That should help me a lot.

This morning I learned a new trick by calling "System.Diagnostics.Debug.Assert(false)" in my LINQ try/catch blocks I can see the stack trace when errors occur in the debug console. I have really de-generated in the past month as look at that crazy language I am speaking. I need to hurry up and finish this stuff to get back to what I really need to do and love doing and that it UX directed tasks. Enough of this programming stuff as it is not helping me!

I have several problems I must fix, so back to working on each one of these until I fix them all. Unless of course I need to go to sleep tonight and then I will leave some for tomorrow.

As I was marching down thru the issues, I actually found one in my own testing. When I was in hurry up mode, I could not figure out how to customize the Telerik Date/Time control to remove the header as I wanted my own text outside the control. I finally took some time and learned how to do that and it was pretty easy once I understood a bit more about component development in Windows 8 XAML from the Telerik documentation on the Date/Time control.

The next big lesson is that when creating a Grid you need to define the RowDefinitions and the ColumnDefinitions if you want the Grid to fill the remaining space. I am not sure why I thought that was the default but this is like the 5th time I have tried using a Grid and got frustrated when it did not work. I went back and the documentation exists but it is hard to find anything useful in there. I had to go back to the Quick Start Guide for Layouts as it was in there under the Auto and Star sizing. What a crazy name so that should prove another special keyword was needed instead of using a "*". On the other hand I really like the "2*" syntax to make a column two times wider than another - that is nice.

Now it is definitely to do a little complaining about VSE. I am sure there is a way to customize everything but the default action to increase/decrease the font size in the current editor is driving me crazy. The VSE default is for a two finger pinch to decrease the font size and the two finger extend increases the font size. That is not a gesture I deal with my my Mac so something I do changes the font size all of the time. It took me a while to figure it out - like a month!

The big lesson for the day is to always use a Grid since it is easier to adjust it that to use a StackPanel and then switch to a Grid. OK - always is a bit harsh but I don't know how many times in the last month I have started with a StackPanel because it was easy and then later on to switch it to a Grid. The real rule is if you have more than one row then create Grid.RowDefinitions and if you have more than one column then create Grid.ColumnDefinitions. Then all is well. Another very good rule is never try to nest StackPanel in a Grid or a Grid in a StackPanel as that just does not work without a lot of effort. This line in the documentation says it all:
By default, a Grid contains one row and one column.
The final task of the day is to learn how to style the Telerik date/time controls as the default blue background color is clashing with my default colors. Should be easy to fix since Telerik really has superb documentation on their control styles. Then of course I wanted to change the standard XAML slider colors as the purple is just a bit strange with the theme colors I am using. That took a bit more work to find the documentation and then it just show how great the Telerik documentation is as there are not illustrated screenshots that show the SolidColorBrush colors and where they apply to the XAML slider. I finally figured it out but it was a bit of hit and miss programming. Since this took too much effort I don't want to forget this technique:
    
   
   

   
   
   
   
   
   
 To end the day I how to figure out how to combine two different dates into a single date. One had the date and the other had the time. Not an ideal situation but it was not all that difficult to merge the two into a single date. Enough for today as tomorrow will be my final day of work on this project it appears at the moment.

No comments: