Changeset 830 for cprs/trunk/CPRS-Chart/fNotes.pas
- Timestamp:
- Jul 7, 2010, 4:51:54 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cprs/trunk/CPRS-Chart/fNotes.pas
r456 r830 8 8 fHSplit, StdCtrls, ExtCtrls, Menus, ComCtrls, ORCtrls, ORFn, uConst, ORDtTm, 9 9 uPCE, ORClasses, fDrawers, ImgList, rTIU, uTIU, uDocTree, fRptBox, fPrintList, 10 fNoteST, ORNet, fNoteSTStop; 10 fNoteST, ORNet, fNoteSTStop, fBase508Form, VA508AccessibilityManager, 11 VA508ImageListLabeler; 11 12 12 13 type … … 148 149 mnuViewRemoteData: TMenuItem; 149 150 mnuViewPostings: TMenuItem; 151 popNoteMemoViewCslt: TMenuItem; 152 mnuEncounter: TMenuItem; 153 imgLblNotes: TVA508ImageListLabeler; 154 imgLblImages: TVA508ImageListLabeler; 150 155 procedure mnuChartTabClick(Sender: TObject); 151 156 procedure lstNotesClick(Sender: TObject); … … 222 227 procedure popNoteMemoInsTemplateClick(Sender: TObject); 223 228 procedure popNoteMemoPreviewClick(Sender: TObject); 224 procedure tvNotesAddition(Sender: TObject; Node: TTreeNode);225 procedure tvNotesDeletion(Sender: TObject; Node: TTreeNode);226 229 procedure tvNotesExit(Sender: TObject); 227 230 procedure pnlReadExit(Sender: TObject); … … 229 232 procedure FormHide(Sender: TObject); 230 233 procedure FormShow(Sender: TObject); 231 procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,232 Y: Integer);233 234 procedure memNewNoteKeyPress(Sender: TObject; var Key: Char); 234 235 procedure memNewNoteKeyUp(Sender: TObject; var Key: Word; … … 239 240 procedure ViewInfo(Sender: TObject); 240 241 procedure mnuViewInformationClick(Sender: TObject); 242 procedure popNoteMemoViewCsltClick(Sender: TObject); 241 243 private 242 244 FNavigatingTab : Boolean; //Currently Using tab to navigate … … 261 263 FOldDrawerPnlEncounterButtonExit: TNotifyEvent; 262 264 FOldDrawerEdtSearchExit: TNotifyEvent; 263 FMousing: TDateTime;264 265 FStarting: boolean; 265 266 procedure frmFramePnlPatientExit(Sender: TObject); … … 311 312 property OrderID: string read FOrderID; 312 313 procedure LstNotesToPrint; 314 procedure UpdateFormForInput; 313 315 published 314 316 property Drawers: TFrmDrawers read GetDrawers; // Keep Drawers published … … 328 330 fNoteProps, fNotesBP, fTemplateFieldEditor, dShared, rTemplates, 329 331 FIconLegend, fPCEEdit, fNoteIDParents, rSurgery, uSurgery, uTemplates, 330 uAccessibleTreeView, uAccessibleTreeNode, fTemplateDialog, DateUtils; 332 fTemplateDialog, DateUtils, uInit, uVA508CPRSCompatibility, VA508AccessibilityRouter, 333 VAUtils; 331 334 332 335 const … … 589 592 begin 590 593 with AForm.lbIDParents do 591 begin 592 for i := 0 to Items.Count - 1 do 593 begin 594 if Selected[i] then 595 begin 596 NoteIEN := StrToInt64def(Piece(TStringList(Items.Objects[i])[0],U,1),0); 597 if NoteIEN > 0 then PrintNote(NoteIEN, Items[i], TRUE) else 598 begin 599 if NoteIEN = 0 then InfoBox(TX_NONOTE, TX_NONOTE_CAP, MB_OK); 600 if NoteIEN < 0 then InfoBox(TX_NOPRT_NEW, TX_NOPRT_NEW_CAP, MB_OK); 601 end; 602 end; {if selected} 603 end; {for} 604 end; {with} 594 for i := 0 to Items.Count - 1 do 595 if Selected[i] then 596 begin 597 NoteIEN := StrToInt64def(Piece(Items[i], U, 1), 0); 598 if NoteIEN > 0 then PrintNote(NoteIEN, DisplayText[i], TRUE) 599 else if NoteIEN = 0 then InfoBox(TX_NONOTE, TX_NONOTE_CAP, MB_OK) 600 else InfoBox(TX_NOPRT_NEW, TX_NOPRT_NEW_CAP, MB_OK); 601 end; 605 602 end; 606 603 … … 611 608 frmDrawers.Font.Size := NewFontSize; 612 609 SetEqualTabStops(memNewNote); 610 pnlWriteResize(Self); 613 611 end; 614 612 … … 651 649 // clear the editing controls (also clear the new labels?) 652 650 txtSubject.Text := ''; 651 //lblNotes.Caption := ''; 652 SearchTextStopFlag := false; 653 653 if memNewNote <> nil then memNewNote.Clear; //CQ7012 Added test for nil 654 654 timAutoSave.Enabled := False; … … 745 745 ShowPCEControls(FALSE); 746 746 end; {if ItemIndex} 747 mnuEncounter.Enabled := cmdPCE.Visible; 747 748 end; 748 749 … … 774 775 if (DocType = TYP_ADDENDUM) then 775 776 begin 776 if AskCosignerForDocument(Addend, Author ) and (Cosigner <= 0) then Result := True;777 if AskCosignerForDocument(Addend, Author, DateTime) and (Cosigner <= 0) then Result := True; 777 778 end else 778 779 begin … … 981 982 if PRF_IEN <> 0 then 982 983 if sCallV('TIU LINK TO FLAG', [CreatedNote.IEN,PRF_IEN,ActionIEN,Patient.DFN]) = '0' then 983 ShowM essage('TIU LINK TO FLAG: FAILED');984 ShowMsg('TIU LINK TO FLAG: FAILED'); 984 985 end; 985 986 … … 1041 1042 DocInfo := MakeXMLParamTIU(IntToStr(CreatedNote.IEN), FEditNote); 1042 1043 ExecuteTemplateOrBoilerPlate(TmpBoilerPlate, FEditNote.Title, ltTitle, Self, 'Title: ' + FEditNote.TitleName, DocInfo); 1043 memNewNote.Lines.Assign(TmpBoilerPlate);1044 QuickCopyWith508Msg(TmpBoilerPlate, memNewNote); 1044 1045 UpdateNoteAuthor(DocInfo); 1045 1046 TmpBoilerPlate.Free; … … 1276 1277 inherited; 1277 1278 PageID := CT_NOTES; 1278 memNote.Color := ReadOnlyColor;1279 memPCEShow.Color := ReadOnlyColor;1280 lblNewTitle.Color := ReadOnlyColor;1281 1279 EditingIndex := -1; 1282 1280 FEditNote.LastCosigner := 0; … … 1289 1287 frmDrawers.Splitter := splDrawers; 1290 1288 frmDrawers.DefTempPiece := 1; 1291 tvNotes.Images := dmodShared.imgNotes;1292 tvNotes.StateImages := dmodShared.imgImages;1293 lvNotes.StateImages := dmodShared.imgImages;1294 lvNotes.SmallImages := dmodShared.imgNotes;1295 1289 FImageFlag := TBitmap.Create; 1296 1290 FDocList := TStringList.Create; 1297 TAccessibleTreeView.WrapControl(tvNotes);1298 1291 end; 1299 1292 … … 1319 1312 if (Self <> nil) and (pnlLeft <> nil) and (pnlWrite <> nil) and (sptHorz <> nil) then 1320 1313 pnlLeft.Width := self.ClientWidth - pnlWrite.Width - sptHorz.Width; 1314 UpdateFormForInput; 1321 1315 end; 1322 1316 … … 1325 1319 procedure TfrmNotes.lstNotesClick(Sender: TObject); 1326 1320 { loads the text for the selected note or displays the editing panel for the selected note } 1321 var 1322 x: string; 1327 1323 begin 1328 1324 inherited; … … 1339 1335 mnuActLoadBoiler.Enabled := True; 1340 1336 UpdateReminderFinish; 1337 UpdateFormForInput; 1341 1338 end else 1342 1339 begin … … 1366 1363 memNewNote.Repaint; 1367 1364 memNote.Repaint; 1368 NotifyOtherApps(NAE_REPORT, 'TIU^' + lstNotes.ItemID); 1365 x := 'TIU^' + lstNotes.ItemID; 1366 SetPiece(x, U, 10, Piece(lstNotes.Items[lstNotes.ItemIndex], U, 11)); 1367 NotifyOtherApps(NAE_REPORT, x); 1369 1368 end; 1370 1369 … … 1374 1373 inherited; 1375 1374 mnuActNewClick(Self); 1376 end;1375 end; 1377 1376 1378 1377 procedure TfrmNotes.cmdPCEClick(Sender: TObject); … … 1449 1448 begin 1450 1449 ExecuteTemplateOrBoilerPlate(BoilerText, FEditNote.Title, ltTitle, Self, 'Title: ' + FEditNote.TitleName, DocInfo); 1451 memNewNote.Lines.Assign(BoilerText);1450 QuickCopyWith508Msg(BoilerText, memNewNote); 1452 1451 UpdateNoteAuthor(DocInfo); 1453 1452 FChanged := False; … … 1471 1470 1: begin 1472 1471 ExecuteTemplateOrBoilerPlate(BoilerText, FEditNote.Title, ltTitle, Self, 'Title: ' + FEditNote.TitleName, DocInfo); 1473 memNewNote.Lines.AddStrings(BoilerText); // append1472 QuickAddWith508Msg(BoilerText, memNewNote); // append 1474 1473 UpdateNoteAuthor(DocInfo); 1475 1474 end; … … 1563 1562 if PRF_IEN <> 0 then 1564 1563 if sCallV('TIU LINK TO FLAG', [lstNotes.ItemIEN,PRF_IEN,ActionIEN,Patient.DFN]) = '0' then 1565 ShowM essage('TIU LINK TO FLAG: FAILED');1564 ShowMsg('TIU LINK TO FLAG: FAILED'); 1566 1565 end; 1567 1566 … … 1582 1581 if lblRefDate.Left < (lblNewTitle.Left + lblNewTitle.Width + 6) 1583 1582 then lblRefDate.Left := (lblNewTitle.Left + lblNewTitle.Width); 1583 UpdateFormForInput; 1584 1584 end; 1585 1585 … … 1588 1588 ErrMsg: string; 1589 1589 begin 1590 if fFrame.frmFrame.DLLActive = true then Exit; 1590 1591 if (EditingIndex > -1) and FChanged then 1591 1592 begin … … 1739 1740 If FCurrentContext.SearchString <> '' then 1740 1741 lblNotes.Caption := lblNotes.Caption+', containing "'+FCurrentContext.SearchString+'"'; 1741 If SearchTextStopFlag =True then begin;1742 If SearchTextStopFlag = True then begin; 1742 1743 lblNotes.Caption := 'Search for "'+FCurrentContext.SearchString+'" was stopped!'; 1743 1744 end; … … 2289 2290 2290 2291 UnlockConsultRequest(IEN); 2291 if (AnIndex = lstNotes.ItemIndex) and (not frmFrame.ContextChanging) then 2292 // GE 14926; added if (AnIndex> -1) to by pass LoadNotes when creating on narking Allerg Entered In error. 2293 if (AnIndex > -1) and (AnIndex = lstNotes.ItemIndex) and (not frmFrame.ContextChanging) then 2292 2294 begin 2293 2295 LoadNotes; 2294 with tvNotes do Selected := FindPieceNode(IntToStr(IEN), U, Items.GetFirstNode);2296 with tvNotes do Selected := FindPieceNode(IntToStr(IEN), U, Items.GetFirstNode); 2295 2297 end; 2296 2298 end; … … 2325 2327 popNoteMemoPreview.Enabled := (frmDrawers.TheOpenDrawer = odTemplates) and Assigned(frmDrawers.tvTemplates.Selected); 2326 2328 popNoteMemoInsTemplate.Enabled := (frmDrawers.TheOpenDrawer = odTemplates) and Assigned(frmDrawers.tvTemplates.Selected); 2329 popNoteMemoViewCslt.Enabled := (FEditNote.PkgPtr = PKG_CONSULTS); // if editing consult title 2327 2330 end else 2328 2331 begin … … 2333 2336 popNoteMemoPreview.Enabled := False; 2334 2337 popNoteMemoInsTemplate.Enabled := False; 2338 popNoteMemoViewCslt.Enabled := FALSE; 2335 2339 end; 2336 2340 end; … … 2452 2456 DoAutoSave(0); 2453 2457 timAutoSave.Enabled := True; 2458 end; 2459 end; 2460 2461 procedure TfrmNotes.popNoteMemoViewCsltClick(Sender: TObject); 2462 var 2463 CsltIEN: integer ; 2464 ConsultDetail: TStringList; 2465 x: string; 2466 begin 2467 inherited; 2468 if (Screen.ActiveControl <> memNewNote) or (FEditNote.PkgPtr <> PKG_CONSULTS) then Exit; 2469 CsltIEN := FEditNote.PkgIEN; 2470 x := FindConsult(CsltIEN); 2471 ConsultDetail := TStringList.Create; 2472 try 2473 LoadConsultDetail(ConsultDetail, CsltIEN) ; 2474 ReportBox(ConsultDetail, 'Consult Details: #' + IntToStr(CsltIEN) + ' - ' + Piece(x, U, 4), TRUE); 2475 finally 2476 ConsultDetail.Free; 2454 2477 end; 2455 2478 end; … … 2792 2815 procedure TfrmNotes.FormDestroy(Sender: TObject); 2793 2816 begin 2794 TAccessibleTreeView.UnwrapControl(tvNotes);2795 2817 FDocList.Free; 2796 2818 FImageFlag.Free; … … 2905 2927 Continue; 2906 2928 CallV('TIU GET RECORD TEXT', [Piece(FDocList.Strings[x],'^',1)]); 2907 Dest.Assign(RPCBrokerV.Results);2929 FastAssign(RPCBrokerV.Results, Dest); 2908 2930 If Dest.Count > 0 then 2909 2931 for xx := 0 to Dest.Count-1 do … … 3001 3023 uChanging := True; 3002 3024 Items.BeginUpdate; 3003 lstNotes.Items.AddStrings(DocList);3025 FastAddStrings(DocList, lstNotes.Items); 3004 3026 BuildDocumentTree(DocList, '0', Tree, nil, FCurrentContext, CT_NOTES); 3005 3027 Items.EndUpdate; … … 3628 3650 end; 3629 3651 3630 procedure TfrmNotes.tvNotesAddition(Sender: TObject; Node: TTreeNode);3631 begin3632 inherited;3633 TAccessibleTreeNode.WrapControl(Node as TORTreeNode);3634 end;3635 3636 procedure TfrmNotes.tvNotesDeletion(Sender: TObject; Node: TTreeNode);3637 begin3638 TAccessibleTreeNode.UnwrapControl(Node as TORTreeNode);3639 inherited;3640 end;3641 3642 3652 {Tab Order tricks. Need to change 3643 3653 tvNotes … … 3665 3675 procedure TfrmNotes.tvNotesExit(Sender: TObject); 3666 3676 begin 3667 if IncSecond(FMousing,1) < Nowthen3677 if TabIsPressed or ShiftTabIsPressed then 3668 3678 begin 3669 3679 if (Screen.ActiveControl = frmDrawers.pnlTemplatesButton) or … … 3673 3683 FindNextControl( cmdPCE, True, True, False).SetFocus; 3674 3684 end; 3675 FMousing := 0;3676 3685 end; 3677 3686 … … 3679 3688 begin 3680 3689 inherited; 3681 if IncSecond(FMousing,1) < Nowthen3690 if TabIsPressed or ShiftTabIsPressed then 3682 3691 begin 3683 3692 if (Screen.ActiveControl = frmFrame.pnlPatient) then … … 3690 3699 FindNextControl( frmDrawers.pnlTemplatesButton, False, True, False).SetFocus; 3691 3700 end; 3692 FMousing := 0;3693 3701 end; 3694 3702 … … 3696 3704 begin 3697 3705 inherited; 3698 if IncSecond(FMousing,1) < Nowthen3706 if TabIsPressed or ShiftTabIsPressed then 3699 3707 begin 3700 3708 if (Screen.ActiveControl = lvNotes) or … … 3705 3713 FindNextControl( frmFrame.pnlPatient, False, True, False).SetFocus; 3706 3714 end; 3707 FMousing := 0;3708 3715 end; 3709 3716 … … 3711 3718 begin 3712 3719 FOldFramePnlPatientExit(Sender); 3713 if IncSecond(FMousing,1) < Nowthen3720 if TabIsPressed or ShiftTabIsPressed then 3714 3721 begin 3715 3722 if (Screen.ActiveControl = lvNotes) or 3716 3723 (Screen.ActiveControl = memNote) then 3717 3724 FindNextControl( lvNotes, False, True, False).SetFocus; 3718 end; 3719 FMousing := 0; 3725 if Screen.ActiveControl = memPCEShow then 3726 if cmdPCE.CanFocus then 3727 cmdPCE.SetFocus 3728 else if cmdNewNote.CanFocus then 3729 cmdNewNote.SetFocus; 3730 end; 3720 3731 end; 3721 3732 … … 3764 3775 end; 3765 3776 3766 procedure TfrmNotes.FormMouseMove(Sender: TObject; Shift: TShiftState; X,3767 Y: Integer);3768 begin3769 inherited;3770 FMousing := Now;3771 end;3772 3773 3777 procedure TfrmNotes.memNewNoteKeyPress(Sender: TObject; var Key: Char); 3774 3778 begin … … 3803 3807 inherited; 3804 3808 //Fix the Tab Order Make Drawers Buttons Accessible 3805 if Boolean(Hi(GetKeyState(VK_TAB))) then 3806 if Boolean(Hi(GetKeyState(VK_SHIFT))) then 3807 cmdPCE.SetFocus 3808 else 3809 frmFrame.pnlPatient.SetFocus; 3809 if TabIsPressed then 3810 if frmDrawers.pnlTemplatesButton.CanFocus then 3811 frmDrawers.pnlTemplatesButton.SetFocus 3810 3812 end; 3811 3813 … … 3823 3825 inherited; 3824 3826 //Fix the Tab Order Make Drawers Buttons Accessible 3825 if Boolean(Hi(GetKeyState(VK_TAB))) and 3826 Not Boolean(Hi(GetKeyState(VK_SHIFT))) then 3827 if memPCEShow.Visible then //CQ7120 3828 memPCEShow.SetFocus; //CQ7120 3827 if TabIsPressed then 3828 if frmFrame.pnlPatient.CanFocus then 3829 frmFrame.pnlPatient.SetFocus; 3829 3830 end; 3830 3831 … … 3849 3850 end; 3850 3851 3852 procedure TfrmNotes.UpdateFormForInput; 3853 var 3854 idx, offset: integer; 3855 3856 begin 3857 if (not pnlWrite.Visible) or uInit.TimedOut then exit; 3858 3859 if (frmFrame.WindowState = wsMaximized) then 3860 idx := GetSystemMetrics(SM_CXFULLSCREEN) 3861 else 3862 idx := GetSystemMetrics(SM_CXSCREEN); 3863 if idx > frmFrame.Width then 3864 idx := frmFrame.Width; 3865 3866 offset := 5; 3867 if(MainFontSize <> 8) then 3868 offset := ResizeWidth(BaseFont, Font, offset); 3869 dec(idx, offset + 10); 3870 dec(idx, pnlLeft.Width); 3871 dec(idx, sptHorz.Width); 3872 dec(idx, cmdChange.Width); 3873 3874 cmdChange.Left := idx; 3875 end; 3876 3851 3877 initialization 3878 SpecifyFormIsNotADialog(TfrmNotes); 3852 3879 uPCEEdit := TPCEData.Create; 3853 3880 uPCEShow := TPCEData.Create; … … 3856 3883 if (uPCEEdit <> nil) then uPCEEdit.Free; //CQ7012 Added test for nil 3857 3884 if (uPCEShow <> nil) then uPCEShow.Free; //CQ7012 Added test for nil 3858 3885 3859 3886 end. 3860 3887
Note:
See TracChangeset
for help on using the changeset viewer.