You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
4.4 KiB
Fortran

Subroutine NodeDisp(nin)
USE WINTERACTER
USE BLK1MOD
!
include 'd.inc'
! INCLUDE 'BLK1.COM'
INCLUDE 'TXFRM.COM'
!IPK MAY02 COMMON /TXFRM/ XS, YS, TXSCAL
!
!
! Declare window-type and message variables
!
TYPE(WIN_STYLE) :: WINDOW
TYPE(WIN_MESSAGE) :: MESSAGE
INTEGER :: N,IBOX,NN
INTEGER :: IERR
CHARACTER*1 :: IFLAG
if(nin .eq. 0) then
n=1
else
n=nin
endif
ims=0
100 continue
call wdialogload(IDD_NODEDATA)
ierr=infoerror(1)
CALL WDialogPutInteger(IDF_INTEGER1,N)
NN=N
XTEMP=XUSR(N)
YTEMP=YUSR(N)
WDTEMP=WIDTH(N)
CALL WDialogPutReal(IDF_REAL1,XTEMP,'(F10.2)')
CALL WDialogPutReal(IDF_REAL2,YTEMP,'(F10.2)')
CALL WDialogPutReal(IDF_REAL3,WD(N),'(F10.2)')
CALL WDialogPutReal(IDF_REAL4,WDTEMP,'(F10.2)')
CALL WDialogPutReal(IDF_REAL5,SS1(N),'(F10.2)')
CALL WDialogPutReal(IDF_REAL6,SS2(N),'(F10.2)')
CALL WDialogPutReal(IDF_REAL7,WIDS(N),'(F10.2)')
CALL WDialogPutReal(IDF_REAL8,WIDBS(N),'(F10.2)')
CALL WDialogPutReal(IDF_REAL9,SSO(N),'(F10.2)')
CALL WDialogPutReal(IDF_REAL10,BS1(N),'(F10.4)')
IF(LOCK(N) .NE. 0) then
CALL WDialogPutCheckBox(IDF_CHECK1,1)
ELSE
CALL WDialogPutCheckBox(IDF_CHECK1,0)
ENDIF
CALL WDialogSelect(IDD_NODEDATA)
ierr=infoerror(1)
CALL WDialogShow(-1,-1,0,Modeless)
ierr=infoerror(1)
if(ims .eq. 1 .or. nin .gt. 0) go to 200
150 CONTINUE
call wdialogload(IDD_SELNODE)
ierr=infoerror(1)
CALL WDialogPutInteger(IDF_INTEGER1,N)
CALL WDialogSelect(IDD_SELNODE)
ierr=infoerror(1)
CALL WDialogShow(-1,-1,0,ModaL)
ierr=infoerror(1)
do
IF (WInfoDialog(ExitButton) .EQ. IDOK) THEN
CALL WDialogGetInteger(IDF_INTEGER1,N)
ims=1
go to 100
endif
!ipk sep02
ims=1
go to 100
enddo
200 continue
! CALL WDialogSelect(IDD_NODEDATA)
! ierr=infoerror(1)
! Branch depending on type of message.
!
! CALL WDialogGetInteger(IDF_INTEGER1,N)
! WRITE(90,*) 'IN NODEDISP N,NN', N,NN
! IF(N .NE. NN) go to 100
DO
!WHILE(.NOT.QUIT)
CALL WMessage(ITYPE,MESSAGE)
SELECT CASE (ITYPE)
CASE (PushButton)
IF(MESSAGE%VALUE1.EQ.IDOK) THEN
CALL WDialogGetInteger(IDF_INTEGER1,N)
CALL WDialogGetReal(IDF_REAL1,XTEMP)
CALL WDialogGetReal(IDF_REAL2,YTEMP)
XUSR(N)=XTEMP
YUSR(N)=YTEMP
CALL WDialogGetReal(IDF_REAL3,WD(N))
CALL WDialogGetReal(IDF_REAL4,WDTEMP)
CALL WDialogGetReal(IDF_REAL5,SS1(N))
CALL WDialogGetReal(IDF_REAL6,SS2(N))
CALL WDialogGetReal(IDF_REAL7,WIDS(N))
CALL WDialogGetReal(IDF_REAL8,WIDBS(N))
CALL WDialogGetReal(IDF_REAL9,SSO(N))
CALL WDialogGetReal(IDF_REAL10,BS1(N))
CORD(N,1)=(XUSR(N)+XS)/TXSCAL
CORD(N,2)=(YUSR(N)+YS)/TXSCAL
call WDialogHide()
call wdialogUNload()
WIDTH(N)=WDTEMP
RETURN
ELSEIF(MESSAGE%VALUE1.EQ.IDNEXT) THEN
CALL WDialogGetInteger(IDF_INTEGER1,N)
CALL WDialogGetReal(IDF_REAL1,XTEMP)
CALL WDialogGetReal(IDF_REAL2,YTEMP)
XUSR(N)=XTEMP
YUSR(N)=YTEMP
CALL WDialogGetReal(IDF_REAL3,WD(N))
CALL WDialogGetReal(IDF_REAL4,WDTEMP)
CALL WDialogGetReal(IDF_REAL5,SS1(N))
CALL WDialogGetReal(IDF_REAL6,SS2(N))
CALL WDialogGetReal(IDF_REAL7,WIDS(N))
CALL WDialogGetReal(IDF_REAL8,WIDBS(N))
CALL WDialogGetReal(IDF_REAL9,SSO(N))
CALL WDialogGetReal(IDF_REAL10,BS1(N))
CORD(N,1)=(XUSR(N)+XS)/TXSCAL
CORD(N,2)=(YUSR(N)+YS)/TXSCAL
WIDTH(N)=WDTEMP
GO TO 150
ELSEIF(MESSAGE%VALUE1.EQ.IDCANCEL) THEN
call WDialogHide()
call wdialogUNload()
RETURN
ENDIF
END SELECT
END DO
RETURN
END