|
- module CStringUpdateVariables
- use CIntegerEventHandlerCollection
- implicit none
- integer :: StringUpdate = 0
-
- public
-
- type(IntegerEventHandlerCollection) :: OnStringUpdateChange
-
- enum, bind(c)
- enumerator STRING_UPDATE_NEUTRAL
- enumerator STRING_UPDATE_ADD_SINGLE
- enumerator STRING_UPDATE_ADD_STAND
- enumerator STRING_UPDATE_REMOVE_SINGLE
- enumerator STRING_UPDATE_REMOVE_STAND
- end enum
-
- private :: StringUpdate
-
- contains
-
- subroutine Set_StringUpdate(v)
- implicit none
- integer , intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(StringUpdate == v) return
- #endif
- StringUpdate = v
- #ifdef deb
- !if(StringUpdate==STRING_UPDATE_NEUTRAL) then
- ! print*, 'StringUpdate=STRING_UPDATE_NEUTRAL'
- !else if(StringUpdate==STRING_UPDATE_ADD_SINGLE) then
- ! print*, 'StringUpdate=STRING_UPDATE_ADD_SINGLE'
- !else if(StringUpdate==STRING_UPDATE_ADD_STAND) then
- ! print*, 'StringUpdate=STRING_UPDATE_ADD_STAND'
- !else if(StringUpdate==STRING_UPDATE_REMOVE_SINGLE) then
- ! print*, 'StringUpdate=STRING_UPDATE_REMOVE_SINGLE'
- !else if(StringUpdate==STRING_UPDATE_REMOVE_STAND) then
- ! print*, 'StringUpdate=STRING_UPDATE_REMOVE_STAND'
- !endif
- !print*, 'StringUpdate=', StringUpdate
- #endif
- call OnStringUpdateChange%RunAll(v)
- end subroutine
-
- integer function Get_StringUpdate()
- implicit none
- Get_StringUpdate = StringUpdate
- end function
-
-
-
-
- subroutine Set_StringUpdate_WN(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: Set_StringUpdate_WN
- !DEC$ ATTRIBUTES ALIAS: 'Set_StringUpdate_WN' :: Set_StringUpdate_WN
- implicit none
- integer , intent(in) :: v
- call Set_StringUpdate(v)
- end subroutine
-
- integer function Get_StringUpdate_WN()
- !DEC$ ATTRIBUTES DLLEXPORT :: Get_StringUpdate_WN
- !DEC$ ATTRIBUTES ALIAS: 'Get_StringUpdate_WN' :: Get_StringUpdate_WN
- implicit none
- Get_StringUpdate_WN = StringUpdate
- end function
-
-
- end module CStringUpdateVariables
|