open-insight/LSL2/STPROC/NOTE_PTRS_EVENTS.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

142 lines
3.7 KiB
Plaintext

Compile function NOTE_PTRS_EVENTS(CtrlEntId, Event, @PARAMS)
#pragma precomp SRP_PreCompiler
#window NOTE_PTRS
DECLARE SUBROUTINE Set_Property, Set_Property, obj_Notes, obj_Appwindow, Notes_Services
DECLARE SUBROUTINE obj_Note_Ptrs, ErrMsg, Send_Event, obj_Tables, Start_Window, Database_Services
DECLARE FUNCTION Get_Property, Get_Status, Popup, Dialog_Box, obj_Tables, NextKey, Notes_Services
$INSERT POPUP_EQUATES
$INSERT LOGICAL
$INSERT APPCOLORS
$INSERT NOTES_EQU
$INSERT NOTE_PTRS_EQU
GoToEvent Event for CtrlEntId else
// Event not implemented
end
Return EventFlow or 1
//-----------------------------------------------------------------------------
// EVENT HANDLERS
//-----------------------------------------------------------------------------
Event WINDOW.CREATE(CreateParam)
EventFlow = 1
End Event
Event PUB_MARK_ALL_READ.CLICK()
Notes_Services('MarkAllAsRead', @User4)
GoSub Refresh
end event
Event PUB_ARCHIVE.CLICK()
If Get_Property( @WINDOW: '.NOTE_DATA', 'SELPOS')<2> NE 0 then
//debug
CurrRow = ''
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA','LIST')
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA','SELPOS')<2>
CONVERT @VM TO @SVM IN NoteDataList
CONVERT @FM TO @VM IN NoteDataList
npParms = 'NOTE_PTRS':@RM:@USER4
UserRec = obj_Tables('ReadRec',npParms)
NoteID = NoteDataList<1, CurrRow, 7>
IF Get_Status(errCode) THEN
ErrMsg(errCode)
RETURN
END
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
NewUserRec = UserRec
NewUserRec<NOTE_PTRS_ARCHIVED$, FPos> = True$
Database_Services('WriteDataRow', 'NOTE_PTRS', @USER4, NewUserRec, True$, '', '')
END
end
GOSUB Refresh
end event
Event PUB_UNARCHIVE.CLICK()
If Get_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS')<2> NE 0 then
//debug
CurrRow = ''
NoteDataList = Get_Property(@WINDOW:'.NOTE_DATA2','LIST')
CurrRow = Get_Property(@WINDOW:'.NOTE_DATA2','SELPOS')<2>
CONVERT @VM TO @SVM IN NoteDataList
CONVERT @FM TO @VM IN NoteDataList
npParms = 'NOTE_PTRS':@RM:@USER4
UserRec = obj_Tables('ReadRec',npParms)
NoteID = NoteDataList<1, CurrRow, 7>
IF Get_Status(errCode) THEN
ErrMsg(errCode)
RETURN
END
LOCATE NoteID IN UserRec<NOTE_PTRS_NOTE_IDS$> USING @VM SETTING Fpos THEN
NewUserRec = UserRec
NewUserRec<NOTE_PTRS_ARCHIVED$, FPos> = False$
Database_Services('WriteDataRow', 'NOTE_PTRS', @USER4, NewUserRec, True$, '', '')
END
end
GOSUB Refresh
end event
Event PUB_GOTO_ARCHIVE.CLICK()
Send_Event(@WINDOW,'PAGE',2)
Gosub Refresh
end event
Event PUB_GOTO_INBOX.CLICK()
Send_Event(@WINDOW,'PAGE',1)
Gosub Refresh
end event
//-----------------------------------------------------------------------------
// INTERNAL GO-SUBS
//-----------------------------------------------------------------------------
* * * * * * *
Refresh:
* * * * * * *
PrevInbox = Get_Property( @WINDOW: '.NOTE_DATA', 'SELPOS')<2>
PrevArchive = Get_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS')<2>
InboxList = Notes_Services('GetInboxMessages', @USER4)
CurrInbox = Get_Property( @WINDOW:'.NOTE_DATA', 'ARRAY')
If InboxList NE CurrInbox then
Set_Property( @WINDOW:'.NOTE_DATA', 'ARRAY', InboxList)
If PrevInbox NE 0 then Set_Property( @WINDOW: '.NOTE_DATA', 'SELPOS', PrevInbox)
end
ArchiveList = Notes_Services('GetArchivedMessages', @USER4)
CurrArchive = Get_Property( @WINDOW:'.NOTE_DATA2', 'ARRAY')
If ArchiveList NE CurrArchive then
Set_Property( @WINDOW:'.NOTE_DATA2', 'ARRAY', ArchiveList)
If PrevArchive NE 0 then Set_Property( @WINDOW: '.NOTE_DATA2', 'SELPOS', PrevArchive)
end
RETURN