on 05-05-2012 01:45 AM
Style Manager works, styles now configurable in Xml, automatic Font Caching built in. Happy!
Now the updates to and from the wizard and a bit of clean-up, and I'm ready to go 'public beta' ...
on 05-05-2012 11:10 PM
Hurray! I've achieved my first major milestone If anyone is interested, this is now ready for testing in a foreign location. I'm going to hook it up to various stuff myself now, demos and other test stuff, but the basics are now done:
Contains a serializeable object-hierarchy that defines the user interface. You instantiate the WizardManager, optionally with a url to a serializeable xml file that will automatically create the wizard, otherwise start with an empty wizard object that you can build out in code.
The WizardManager also controls navigation (FirstPage, NextPage, PreviousPage) and setting values of individual elements (SetElementValueByName), and will raise events when actual changes occur (ValueChanged, PageChanged) with event arguments containing the relevant information (e.g. NewValue, OldValue, Element and NewPage, OldPage, Direction respectively).
Contains a WizardPanel and a WizardElementPanel, as well as a StyleManager. The StyleManager works similar to the WizardManager, and can serialize and de-serialize its Styles from a file. It handles all the basic settings for Widgets, but as best practice I have setup the WizardElementPanel to distinguish between Label, Widget, and Text, always falling back to Default whenever there is no explicit style defined.
I'll write a full manual and will unquestionably add more features, but for now, this is a good start and I'm very happy.
on 12-05-2012 08:34 AM
14-05-2012 10:24 PM - edited 14-05-2012 10:36 PM
FIRST *BETA* RELEASE
Those interested can try the libs now. It's not nearly finished, and there is plenty of work to do on the documentation as well but the basics are there, and as I had a question from someone if he could try it, and I am off for a week not able to work on this, it seemed like a good moment to share some results.
There's a manual in there detailing how to add the UI Wizard to your project, and there's a modifield SampleModelDemo from the PSS that shows the end result of integrating it, that you can use for reference and testing. I also made a little crappy video, that shows some of the project and code that I will post whenever it is done.
You can download the whole package from here, it's the only file in the shared folder at the moment:
Hope to see some cool stuff from you guys. Feel free to post questions here. I will be answering those promptly.
06-06-2012 10:39 PM - edited 06-06-2012 10:39 PM
I have been messing around a bit trying to model some existing UIs in the tool to see what works and what is still missing. Features I am now working on is a generic 'StackPanel' that can orientate horizontal and vertical, a simple header control, making labels optional and configurable, extending the existing UI Toolkit controls with most needed features etc. Quite a lot of work. *sigh*
on 07-06-2012 10:06 AM
Usually you want that for sizing, right? But I will support a different trick that I learnt for that, that I think makes docking irrelevant (otherwise I would model after the DockPanel rather than the StackPanel):
- controls have a default height (y): the Height were designed at
- height can however be specified specifically in either pixels or percentage of remaining space, with a minimum (and I will also support a maximum)
So for instance, if you specify two controls, the first one 100pixels hight, the second one 100%, and the control space (not the actual visible space, as that could be less in a scroll panel), is 300 pixels high, then the second panel will be 200 pixels high, or fill up all the remaining space.
This works both horizontally and vertically, so is very powerful for list views as well. If you have a control with 800 pixels wide, four items in total: two items with a fixed with, of say 100 each, and the other two should scale to the remaining space. Then you can simply specify those at 40% and 60%, and that will be calculated over the 800 - 200 for the fixed width controls, so 600 pixels, which amounts to or 240 for the first and 360 for the second.
I've found that a very pleasant and powerful way to work, so hoping others will too.
The other thing I would like to implement is gradient fills and brushes though, but I don't know if I can do that. On iOS those haven't been that important - you can just use images. But on PS Mobile, Android and PC, that is generally nicer as it scales much better to the vastly different range of screen sizes available (and makes packages smaller.
Website ©2013 Sony Computer Entertainment Europe