20,741
edits
Line 37: | Line 37: | ||
== Instantiating a MFD Dialog == | == Instantiating a MFD Dialog == | ||
{{Main article|Howto:Creating a Canvas GUI dialog file}} | {{Main article|Howto:Creating a Canvas GUI dialog file}} | ||
<syntaxhighlight lang="nasal"> | |||
var (width,height) = (640,480); | |||
var title = 'Canvas MFD/Emesary Bridge'; | |||
var window = canvas.Window.new([width,height],"dialog").set('title',title); | |||
## | |||
# the del() function is the destructor of the Window | |||
# which will be called upon termination (dialog closing) | |||
# you can use this to do resource management (clean up timers, listeners or background threads) | |||
#window.del = func() | |||
#{ | |||
# print("Cleaning up window:",title,"\n"); | |||
# explanation for the call() technique at: http://wiki.flightgear.org/Object_oriented_programming_in_Nasal#Making_safer_base-class_calls | |||
# call(canvas.Window.del, [], me); | |||
#}; | |||
# adding a canvas to the new window and setting up background colors/transparency | |||
var myCanvas = window.createCanvas().set("background", canvas.style.getColor("bg_color")); | |||
# creating the top-level/root group which will contain all other elements/group | |||
var root = myCanvas.createGroup(); | |||
</syntaxhighlight> | |||