Monday, November 23, 2009

Few more screenshots to share:

First, the start screen:

(Pic is Ferry Bridge NX Panel
Thanks, Luke! lukebartey1876.fotopic.net)

Nothing revolutionary here,
Just Play or Create :D

The picture is random on startup though...

I especially like how it automatically adjusts to fit the picture, The actual pic was 800x600, but I capped the window size at 640x480, yet it scales nicely.

WPF is great, it allows you to make incredible interfaces!
I was experimenting with this window, and as an experiment made this version:


Moved the buttons on top of the picture, and made them semi-transparent. Again, hardly revolutionary, but it was simple change, that didn't break how it works, just how it looks.




Bet your thinking, "Thats dumb, now the buttons are hard to read!"
well:

Move your mouse over a button, and it becomes opaque, and gets bigger! Kinda contrived, but to do that in something other than WPF would take all day to make, and not be very flexible.
That animation is smooth, and it took 15 mins to make, 10 of which was reading about how to do it :D

What's really powerful is that the text on the buttons could be much longer like (ie German) or even Japanese 終了 (exit)? or Russian? Моделирование (simulation)
the buttons would automatically size to fit. I could put a picture on those buttons with the text. Instead of that big picture, I could also have a video. Or a 3D version of that panel. Or a webcam of a train station, or even a live feed of someone else's screen playing Signaller. Heck I could put videos on the buttons!

Enough of that then.

These are from the next-to-current experimental version. It works, but the organization and structure was terrible, hence ->MVVM


Not much to see, but the Track count works, and the slider is to zoom in and out on the grid.

Right click somewhere and...







Add a new track segment....
The gray bar is shows the orientation of the segment, in this case, to the right.
Click OK when your done, and...











Behold!

The colours are just for editing, the blue and red being the ends new tracks connect, the cyan being where the train describer text will be, Actually they are being drawn twice as wide as they should be, but, um, Yeah, I meant to do it that way!

Now, select a blue or red section to add some more tracks:


and zoom out a bit...
Job done!
er, except for points, signals, trains, stations, timetables.....

Moving these segments around or changing there size doesn't affect the actual size of the simulated track, screens like this are never to scale. The purpose is to show the relationships. Imagine this: (Excuse the ASCII)
-----------\
__________\________

where the dotted line is the track shown in the screenshot above.
If I select all the straight sections, and move them up, the angled section representing the points would adjust itself longer to adapt:

-------\
           \
_________\________

The data representing the points won't change, just the visual display.


This is an  important point, when the visual section gets created, the actual data for what the trains actually run on is created in the background, and is independent of whatever control system I'm looking at. This is psuedo-IECC, which is is mostly a bunch of rectangles, circles, lines and text. (Remember what computer displays were like in the '80's!)  If I want to design NX panels like the one in the start picture up there, the editor will be different, consisting of pre-rendered tiles assembled in a mosiac fashion, but the underlying data is the same. Even if I wanted a 3D virtual representation of a lever frame, it works the same way!

No comments: