### VIEW.SML ### Sample script for Building Dialogs in SML ### Creates and opens a standard View window ### and displays a selected raster. ### Define class instances used in procedures. class GRE_GROUP gp; # spatial group for display. class XmForm vwin; # parent form for window. ### Define procedure to close window. # Called when user clicks on the "X" close button on the title bar. proc OnClose(class widget widget) { DestroyWidget(vwin); GroupDestroy(gp); } ### Define procedure called when dialog is destroyed. # Can be either by the "Close" menu item or by us # calling DestroyWidget() above. proc OnDestroy() { Exit(); } ################################## ### Main program ################################## raster R; GetInputRaster(R); # Create group to be shown in View window. gp = GroupCreate(); # Create parent form for View and add callbacks # for procedures defined above. vwin = CreateFormDialog("Sample View Window"); WidgetAddCallback(vwin.Shell.PopdownCallback, OnClose); WidgetAddCallback(vwin.DestroyCallback, OnDestroy); class GRE_VIEW view; # Create view to display the group. view = GroupCreateView(gp,vwin,"",360,280, "NoScalePosLine,DestroyOnClose"); GroupQuickAddRasterVar(gp,R); # Add raster to group. DialogOpen(vwin); # Open view and redraw full. ViewRedrawFull(view); WaitForExit();