Board index FlightGear Media

The making of the Queen

Screenshots, videos, sound recording etc. taken in/with FlightGear.

Re: The making of the Queen

Postby Hooray » Sun Oct 13, 2013 4:56 pm

I sent a heads-up to Tom so that he's aware of the discussion, so just briefly:

  • thinking about it, I would probably prefer extending the core canvas.nas API to provide a function that renders an existing canvas in a dialog/window, or that returns a callback (or hash) that can be customized by the user (i.e. to add buttons, styles etc) - simply, because that's going to be a pretty common use-case, i.e. showing some aircraft-specific MFD in a dialog for usability reasons.
  • regarding the EICAS group, I wasn't necessarily referring to the actual SVG file, but rather to the representation in the property tree - so that each page ends up being a separate group, that you can easily show/hide as required.
  • regarding multiple PFD/ND/MFD instances, I think that can be easily accomplished by doing what I suggested earlier, i.e. turning your global variables into instance variables (members), as shown above.

Ultimately I'd prefer to have seperate dialogs for all displays, so one can for example show the PFD, EICAS fuel page and EICAS hydraulics page at the same time.

Not sure what Tom thinks, but I would suggest to make this a core part of the canvas APIs, so that such dialogs can be created procedurally, and automatically - with an option to customize them as needed, so that there's a single call to get a proper canvas dialog/window for an existing canvas.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: The making of the Queen

Postby Gijs » Sun Oct 13, 2013 5:28 pm

Creating a built-in dialog feature would be really nice. It's something we'd probably want to do on most of the glass cockpit canvases anyway.

Couldn't resist to give canvas://by-index/ a try in the mean time. Now I just need a larger screen! :-)

Image
Airports: EHAM, EHLE, KSFO
Aircraft: 747-400
User avatar
Gijs
Moderator
 
Posts: 9544
Joined: Tue Jul 03, 2007 3:55 pm
Location: Delft, the Netherlands
Callsign: PH-GYS
Version: Git
OS: Windows 10

Re: The making of the Queen

Postby Hooray » Sun Oct 13, 2013 5:29 pm

That looks great!
Creating a built-in dialog feature would be really nice. It's something we'd probably want to do on most of the glass cockpit canvases anyway.


I just sent you a PM - I have no way to test this currently, but a simple helper function would basically look like this:

http://wiki.flightgear.org/Howto:Using_ ... n_a_dialog
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: The making of the Queen

Postby TheTom » Mon Oct 14, 2013 12:02 pm

Gijs wrote in Sun Oct 13, 2013 2:09 pm:Porting the displays to Canvas system for example. The PFD is mostly done now and so are the EICAS displays

Great! Looks really nice :-)

I'm also doing some work on my C-130J cockpit and therefore have got nearly the same problems^^ There are currently five screens with a lot of pages which can be freely placed on any of the screens. I'm not yet sure on how to setup this system in detail. If displays/windows/etc. show exactly the same thing they should also use the same canvas. One approach would be to use a canvas for each page and add one ore more placements to it depending on where it should be displayed.
Another approach would be to use a canvas for each screen and either reload each page on switching or after loading once hide the according group.
A completely different approach (which probably also will require some core changes) is to allow moving groups between different canvasses and also just to a storage location to move pages around as needed.

Gijs wrote in Sun Oct 13, 2013 5:28 pm:Creating a built-in dialog feature would be really nice.

Just showing a canvas is already quite easy:
Code: Select all
# The optional second arguments enables creating a window decoration
var dlg = canvas.Window.new([x, y], "dialog");
dlg.setCanvas(my_existing_canvas);


Philosopher wrote in Sun Oct 13, 2013 4:42 pm:There should also be an isHidden predicate...

It already exists - just use !isVisible() :-)
TheTom
 
Posts: 322
Joined: Sun Oct 09, 2011 11:20 am

Re: The making of the Queen

Postby Hooray » Mon Oct 14, 2013 12:46 pm

TheTom wrote in Mon Oct 14, 2013 12:02 pm:I'm also doing some work on my C-130J cockpit and therefore have got nearly the same problems^^ There are currently five screens with a lot of pages which can be freely placed on any of the screens. I'm not yet sure on how to setup this system in detail. If displays/windows/etc. show exactly the same thing they should also use the same canvas. One approach would be to use a canvas for each page and add one ore more placements to it depending on where it should be displayed.
Another approach would be to use a canvas for each screen and either reload each page on switching or after loading once hide the according group.
A completely different approach (which probably also will require some core changes) is to allow moving groups between different canvasses and also just to a storage location to move pages around as needed.


It would probably be a good idea to look at existing airliners in FG, such as the 744, 777 and then come up with a simple Nasal-space framework to manage image sources and screens, so that a screen selector would ideally only manage placements, while supporting different MFDs for each pilot - analogous to how A661 has the concept of an image generator (IG) and a cockpit display system (CDS).

For most modern jets it would make sense to introduce some intermediate layer that wraps the main canvas system, so that different displays (PFD, ND, EICAS, M/CDU etc) can be conveniently managed.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: The making of the Queen

Postby Hooray » Tue Oct 15, 2013 11:42 am

Basically, we only need to add a handful of Nasal wrapper classes that provide the building blocks for any kind of EFIS, i.e. generic components such as:


cockpit developers would then ideally use existing components or add new ones as required, for different types of EFIS (777, 747, A320, A380).

PFD/ND and EICAS/ECAM or MCDUs would be built on top of these.
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: The making of the Queen

Postby pilot » Wed Oct 23, 2013 1:10 pm

Is it out :?: can I have it :?:
If nothing is moving your life is paused
User avatar
pilot
 
Posts: 78
Joined: Sun Apr 07, 2013 1:44 pm
Location: somewhere
OS: one on computer

Re: The making of the Queen

Postby E-Savageair » Sun Oct 27, 2013 7:46 am

This is what I got so far for the Malaysia....

Image

Still got some work to do but hope to be done not to far from now; it's been pretty fun :)
E-Savageair
 
Posts: 384
Joined: Fri Jun 27, 2008 5:36 am
Location: Minneapolis, Mn
Callsign: ESA
Version: 3.0
OS: Windows 11 64bit

Previous

Return to Media

Who is online

Users browsing this forum: No registered users and 9 guests