program RDC use fml use fgl use mxui use RDC_core implicit none type(mfArray) :: x, y, z call msUIInitialize call InitData() call LoadData() call PlotData() call msSetUICallbacks call msUIMainLoop end program !/////////////////////////////////////////////////////////////////////////////// !// MxUI Callback BEGIN subroutine scbLayer_ValueChanged(sender) use mxui use RDC_core CHARACTER(*) :: sender layer_index = mfUIGetPropertyInteger( sender, 'value' ) updateLayer = .true. call PlotData end subroutine scbLayer_ValueChanged subroutine btnAnimate_Click(sender) use RDC_core implicit none CHARACTER(*) :: sender updateLayer = .true. call StartAnimation() end subroutine btnAnimate_Click subroutine btnStop_Click(sender) use RDC_core implicit none CHARACTER(*) :: sender updateLayer = .true. call StopAnimation() end subroutine btnStop_Click subroutine rbtnMapping_Click(sender) use mxui use RDC_core implicit none CHARACTER(*) :: sender map_index = mfUIGetPropertyInteger( sender, 'tag' ) cameraReset = .true. call PlotData end subroutine rbtnMapping_Click subroutine rbtnDrawType_Click(sender) use mxui use RDC_core implicit none CHARACTER(*) :: sender draw_type = mfUIGetPropertyInteger( sender, 'tag' ) cameraReset = .true. call PlotData end subroutine rbtnDrawType_Click subroutine rbtnData_Click(sender) use mxui use RDC_core implicit none CHARACTER(*) :: sender data_index = mfUIGetPropertyInteger( sender, 'tag' ) cameraReset = .true. call PlotData end subroutine rbtnData_Click !// MxUI Callback END !/////////////////////////////////////////////////////////////////////////////// !/////////////////////////////////////////////////////////////////////////////// !// MxUI Unused Callback BEGIN !DEC$IF DEFINED (CB_UNUSED_CALLBACK) !DEC$ENDIF !CB_UNUSED_CALLBACK !// MxUI Unused Callback END !/////////////////////////////////////////////////////////////////////////////// !/////////////////////////////////////////////////////////////////////////////// !// msSetUICallbacks BEGIN subroutine msSetUICallbacks use fml use fgl use mxui implicit none external scbLayer_ValueChanged, btnAnimate_Click, btnStop_Click, rbtnMapping_Click, rbtnDrawType_Click, rbtnData_Click call msUISetOnValueChanged( 'scbLayer', scbLayer_ValueChanged ) call msUISetOnClick( 'btnAnimate', btnAnimate_Click ) call msUISetOnClick( 'btnStop', btnStop_Click ) call msUISetOnClick( 'rbtnTransCylinEqual', rbtnMapping_Click ) call msUISetOnClick( 'rbtnLamberAzimEqualArea', rbtnMapping_Click ) call msUISetOnClick( 'rbtnLamberConfConic', rbtnMapping_Click ) call msUISetOnClick( 'RadioButton1', rbtnMapping_Click ) call msUISetOnClick( 'rbtnPColor', rbtnDrawType_Click ) call msUISetOnClick( 'rbtnContour', rbtnDrawType_Click ) call msUISetOnClick( 'RadioButton12', rbtnDrawType_Click ) call msUISetOnClick( 'RadioButton2', rbtnDrawType_Click ) call msUISetOnClick( 'RadioButton7', rbtnData_Click ) call msUISetOnClick( 'RadioButton8', rbtnData_Click ) call msUISetOnClick( 'RadioButton9', rbtnData_Click ) call msUISetOnClick( 'RadioButton10', rbtnData_Click ) call msUISetOnClick( 'RadioButton11', rbtnData_Click ) end subroutine msSetUICallbacks !// msSetUICallbacks END !///////////////////////////////////////////////////////////////////////////////