Ignore:
Timestamp:
Jul 7, 2010, 4:51:54 PM (14 years ago)
Author:
Kevin Toppenberg
Message:

Upgrading to version 27

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cprs/trunk/CPRS-Chart/fNotes.pas

    r456 r830  
    88  fHSplit, StdCtrls, ExtCtrls, Menus, ComCtrls, ORCtrls, ORFn, uConst, ORDtTm,
    99  uPCE, ORClasses, fDrawers, ImgList, rTIU, uTIU, uDocTree, fRptBox, fPrintList,
    10   fNoteST, ORNet, fNoteSTStop;
     10  fNoteST, ORNet, fNoteSTStop, fBase508Form, VA508AccessibilityManager,
     11  VA508ImageListLabeler;
    1112
    1213type
     
    148149    mnuViewRemoteData: TMenuItem;
    149150    mnuViewPostings: TMenuItem;
     151    popNoteMemoViewCslt: TMenuItem;
     152    mnuEncounter: TMenuItem;
     153    imgLblNotes: TVA508ImageListLabeler;
     154    imgLblImages: TVA508ImageListLabeler;
    150155    procedure mnuChartTabClick(Sender: TObject);
    151156    procedure lstNotesClick(Sender: TObject);
     
    222227    procedure popNoteMemoInsTemplateClick(Sender: TObject);
    223228    procedure popNoteMemoPreviewClick(Sender: TObject);
    224     procedure tvNotesAddition(Sender: TObject; Node: TTreeNode);
    225     procedure tvNotesDeletion(Sender: TObject; Node: TTreeNode);
    226229    procedure tvNotesExit(Sender: TObject);
    227230    procedure pnlReadExit(Sender: TObject);
     
    229232    procedure FormHide(Sender: TObject);
    230233    procedure FormShow(Sender: TObject);
    231     procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
    232       Y: Integer);
    233234    procedure memNewNoteKeyPress(Sender: TObject; var Key: Char);
    234235    procedure memNewNoteKeyUp(Sender: TObject; var Key: Word;
     
    239240    procedure ViewInfo(Sender: TObject);
    240241    procedure mnuViewInformationClick(Sender: TObject);
     242    procedure popNoteMemoViewCsltClick(Sender: TObject);
    241243  private
    242244    FNavigatingTab : Boolean; //Currently Using tab to navigate
     
    261263    FOldDrawerPnlEncounterButtonExit: TNotifyEvent;
    262264    FOldDrawerEdtSearchExit: TNotifyEvent;
    263     FMousing: TDateTime;
    264265    FStarting: boolean;
    265266    procedure frmFramePnlPatientExit(Sender: TObject);
     
    311312    property  OrderID: string read FOrderID;
    312313    procedure LstNotesToPrint;
     314    procedure UpdateFormForInput;
    313315  published
    314316    property Drawers: TFrmDrawers read GetDrawers; // Keep Drawers published
     
    328330     fNoteProps, fNotesBP, fTemplateFieldEditor, dShared, rTemplates,
    329331     FIconLegend, fPCEEdit, fNoteIDParents, rSurgery, uSurgery, uTemplates,
    330      uAccessibleTreeView, uAccessibleTreeNode, fTemplateDialog, DateUtils;
     332     fTemplateDialog, DateUtils, uInit, uVA508CPRSCompatibility, VA508AccessibilityRouter,
     333  VAUtils;
    331334     
    332335const
     
    589592begin
    590593  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;
    605602end;
    606603
     
    611608  frmDrawers.Font.Size  := NewFontSize;
    612609  SetEqualTabStops(memNewNote);
     610  pnlWriteResize(Self);
    613611end;
    614612
     
    651649  // clear the editing controls (also clear the new labels?)
    652650  txtSubject.Text := '';
     651  //lblNotes.Caption := '';
     652  SearchTextStopFlag := false;
    653653  if memNewNote <> nil then memNewNote.Clear; //CQ7012 Added test for nil
    654654  timAutoSave.Enabled := False;
     
    745745      ShowPCEControls(FALSE);
    746746  end; {if ItemIndex}
     747  mnuEncounter.Enabled := cmdPCE.Visible;
    747748end;
    748749
     
    774775    if (DocType = TYP_ADDENDUM) then
    775776    begin
    776       if AskCosignerForDocument(Addend, Author) and (Cosigner <= 0) then Result := True;
     777      if AskCosignerForDocument(Addend, Author, DateTime) and (Cosigner <= 0) then Result := True;
    777778    end else
    778779    begin
     
    981982          if PRF_IEN <> 0 then
    982983            if sCallV('TIU LINK TO FLAG', [CreatedNote.IEN,PRF_IEN,ActionIEN,Patient.DFN]) = '0' then
    983               ShowMessage('TIU LINK TO FLAG: FAILED');
     984              ShowMsg('TIU LINK TO FLAG: FAILED');
    984985        end;
    985986
     
    10411042      DocInfo := MakeXMLParamTIU(IntToStr(CreatedNote.IEN), FEditNote);
    10421043      ExecuteTemplateOrBoilerPlate(TmpBoilerPlate, FEditNote.Title, ltTitle, Self, 'Title: ' + FEditNote.TitleName, DocInfo);
    1043       memNewNote.Lines.Assign(TmpBoilerPlate);
     1044      QuickCopyWith508Msg(TmpBoilerPlate, memNewNote);
    10441045      UpdateNoteAuthor(DocInfo);
    10451046      TmpBoilerPlate.Free;
     
    12761277  inherited;
    12771278  PageID := CT_NOTES;
    1278   memNote.Color := ReadOnlyColor;
    1279   memPCEShow.Color := ReadOnlyColor;
    1280   lblNewTitle.Color := ReadOnlyColor;
    12811279  EditingIndex := -1;
    12821280  FEditNote.LastCosigner := 0;
     
    12891287  frmDrawers.Splitter := splDrawers;
    12901288  frmDrawers.DefTempPiece := 1;
    1291   tvNotes.Images := dmodShared.imgNotes;
    1292   tvNotes.StateImages := dmodShared.imgImages;
    1293   lvNotes.StateImages := dmodShared.imgImages;
    1294   lvNotes.SmallImages := dmodShared.imgNotes;
    12951289  FImageFlag := TBitmap.Create;
    12961290  FDocList := TStringList.Create;
    1297   TAccessibleTreeView.WrapControl(tvNotes);
    12981291end;
    12991292
     
    13191312   if (Self <> nil) and (pnlLeft <> nil) and (pnlWrite <> nil) and (sptHorz <> nil) then
    13201313     pnlLeft.Width := self.ClientWidth - pnlWrite.Width - sptHorz.Width;
     1314  UpdateFormForInput;
    13211315end;
    13221316
     
    13251319procedure TfrmNotes.lstNotesClick(Sender: TObject);
    13261320{ loads the text for the selected note or displays the editing panel for the selected note }
     1321var
     1322  x: string;
    13271323begin
    13281324  inherited;
     
    13391335    mnuActLoadBoiler.Enabled := True;
    13401336    UpdateReminderFinish;
     1337    UpdateFormForInput;
    13411338  end else
    13421339  begin
     
    13661363  memNewNote.Repaint;
    13671364  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);
    13691368end;
    13701369
     
    13741373  inherited;
    13751374  mnuActNewClick(Self);
    1376 end;
     1375 end;
    13771376
    13781377procedure TfrmNotes.cmdPCEClick(Sender: TObject);
     
    14491448  begin
    14501449    ExecuteTemplateOrBoilerPlate(BoilerText, FEditNote.Title, ltTitle, Self, 'Title: ' + FEditNote.TitleName, DocInfo);
    1451     memNewNote.Lines.Assign(BoilerText);
     1450    QuickCopyWith508Msg(BoilerText, memNewNote);
    14521451    UpdateNoteAuthor(DocInfo);
    14531452    FChanged := False;
     
    14711470        1: begin
    14721471             ExecuteTemplateOrBoilerPlate(BoilerText, FEditNote.Title, ltTitle, Self, 'Title: ' + FEditNote.TitleName, DocInfo);
    1473              memNewNote.Lines.AddStrings(BoilerText);  // append
     1472             QuickAddWith508Msg(BoilerText, memNewNote);  // append
    14741473             UpdateNoteAuthor(DocInfo);
    14751474           end;
     
    15631562  if PRF_IEN <> 0 then
    15641563    if sCallV('TIU LINK TO FLAG', [lstNotes.ItemIEN,PRF_IEN,ActionIEN,Patient.DFN]) = '0' then
    1565       ShowMessage('TIU LINK TO FLAG: FAILED');
     1564      ShowMsg('TIU LINK TO FLAG: FAILED');
    15661565  end;
    15671566
     
    15821581  if lblRefDate.Left < (lblNewTitle.Left + lblNewTitle.Width + 6)
    15831582    then lblRefDate.Left := (lblNewTitle.Left + lblNewTitle.Width);
     1583  UpdateFormForInput;
    15841584end;
    15851585
     
    15881588  ErrMsg: string;
    15891589begin
     1590  if fFrame.frmFrame.DLLActive = true then Exit;
    15901591  if (EditingIndex > -1) and FChanged then
    15911592  begin
     
    17391740  If FCurrentContext.SearchString <> '' then
    17401741    lblNotes.Caption := lblNotes.Caption+', containing "'+FCurrentContext.SearchString+'"';
    1741   If SearchTextStopFlag=True then begin;
     1742  If SearchTextStopFlag = True then begin;
    17421743    lblNotes.Caption := 'Search for "'+FCurrentContext.SearchString+'" was stopped!';
    17431744  end;
     
    22892290
    22902291  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
    22922294    begin
    22932295      LoadNotes;
    2294       with tvNotes do Selected := FindPieceNode(IntToStr(IEN), U, Items.GetFirstNode);
     2296        with tvNotes do Selected := FindPieceNode(IntToStr(IEN), U, Items.GetFirstNode);
    22952297    end;
    22962298end;
     
    23252327    popNoteMemoPreview.Enabled  := (frmDrawers.TheOpenDrawer = odTemplates) and Assigned(frmDrawers.tvTemplates.Selected);
    23262328    popNoteMemoInsTemplate.Enabled  := (frmDrawers.TheOpenDrawer = odTemplates) and Assigned(frmDrawers.tvTemplates.Selected);
     2329    popNoteMemoViewCslt.Enabled := (FEditNote.PkgPtr = PKG_CONSULTS); // if editing consult title
    23272330  end else
    23282331  begin
     
    23332336    popNoteMemoPreview.Enabled  := False;
    23342337    popNoteMemoInsTemplate.Enabled  := False;
     2338    popNoteMemoViewCslt.Enabled := FALSE;
    23352339  end;
    23362340end;
     
    24522456    DoAutoSave(0);
    24532457    timAutoSave.Enabled := True;
     2458  end;
     2459end;
     2460
     2461procedure TfrmNotes.popNoteMemoViewCsltClick(Sender: TObject);
     2462var
     2463  CsltIEN: integer ;
     2464  ConsultDetail: TStringList;
     2465  x: string;
     2466begin
     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;
    24542477  end;
    24552478end;
     
    27922815procedure TfrmNotes.FormDestroy(Sender: TObject);
    27932816begin
    2794   TAccessibleTreeView.UnwrapControl(tvNotes);
    27952817  FDocList.Free;
    27962818  FImageFlag.Free;
     
    29052927                    Continue;
    29062928                  CallV('TIU GET RECORD TEXT', [Piece(FDocList.Strings[x],'^',1)]);
    2907                   Dest.Assign(RPCBrokerV.Results);
     2929                  FastAssign(RPCBrokerV.Results, Dest);
    29082930                  If Dest.Count > 0 then
    29092931                     for xx := 0 to Dest.Count-1 do
     
    30013023      uChanging := True;
    30023024      Items.BeginUpdate;
    3003       lstNotes.Items.AddStrings(DocList);
     3025      FastAddStrings(DocList, lstNotes.Items);
    30043026      BuildDocumentTree(DocList, '0', Tree, nil, FCurrentContext, CT_NOTES);
    30053027      Items.EndUpdate;
     
    36283650end;
    36293651
    3630 procedure TfrmNotes.tvNotesAddition(Sender: TObject; Node: TTreeNode);
    3631 begin
    3632   inherited;
    3633   TAccessibleTreeNode.WrapControl(Node as TORTreeNode);
    3634 end;
    3635 
    3636 procedure TfrmNotes.tvNotesDeletion(Sender: TObject; Node: TTreeNode);
    3637 begin
    3638   TAccessibleTreeNode.UnwrapControl(Node as TORTreeNode);
    3639   inherited;
    3640 end;
    3641 
    36423652{Tab Order tricks.  Need to change
    36433653  tvNotes
     
    36653675procedure TfrmNotes.tvNotesExit(Sender: TObject);
    36663676begin
    3667   if IncSecond(FMousing,1) < Now then
     3677  if TabIsPressed or ShiftTabIsPressed then
    36683678  begin
    36693679    if (Screen.ActiveControl = frmDrawers.pnlTemplatesButton) or
     
    36733683      FindNextControl( cmdPCE, True, True, False).SetFocus;
    36743684  end;
    3675   FMousing := 0;
    36763685end;
    36773686
     
    36793688begin
    36803689  inherited;
    3681   if IncSecond(FMousing,1) < Now then
     3690  if TabIsPressed or ShiftTabIsPressed then
    36823691  begin
    36833692    if (Screen.ActiveControl = frmFrame.pnlPatient) then
     
    36903699      FindNextControl( frmDrawers.pnlTemplatesButton, False, True, False).SetFocus;
    36913700  end;
    3692   FMousing := 0;
    36933701end;
    36943702
     
    36963704begin
    36973705  inherited;
    3698   if IncSecond(FMousing,1) < Now then
     3706  if TabIsPressed or ShiftTabIsPressed then
    36993707  begin
    37003708    if (Screen.ActiveControl = lvNotes) or
     
    37053713      FindNextControl( frmFrame.pnlPatient, False, True, False).SetFocus;
    37063714  end;
    3707   FMousing := 0;
    37083715end;
    37093716
     
    37113718begin
    37123719  FOldFramePnlPatientExit(Sender);
    3713   if IncSecond(FMousing,1) < Now then
     3720  if TabIsPressed or ShiftTabIsPressed then
    37143721  begin
    37153722    if (Screen.ActiveControl = lvNotes) or
    37163723        (Screen.ActiveControl = memNote) then
    37173724      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;
    37203731end;
    37213732
     
    37643775end;
    37653776
    3766 procedure TfrmNotes.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
    3767   Y: Integer);
    3768 begin
    3769   inherited;
    3770   FMousing := Now;
    3771 end;
    3772 
    37733777procedure TfrmNotes.memNewNoteKeyPress(Sender: TObject; var Key: Char);
    37743778begin
     
    38033807  inherited;
    38043808  //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
    38103812end;
    38113813
     
    38233825  inherited;
    38243826  //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;
    38293830end;
    38303831
     
    38493850end;
    38503851
     3852procedure TfrmNotes.UpdateFormForInput;
     3853var
     3854  idx, offset: integer;
     3855
     3856begin
     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;
     3875end;
     3876
    38513877initialization
     3878  SpecifyFormIsNotADialog(TfrmNotes);
    38523879  uPCEEdit := TPCEData.Create;
    38533880  uPCEShow := TPCEData.Create;
     
    38563883  if (uPCEEdit <> nil) then uPCEEdit.Free; //CQ7012 Added test for nil
    38573884  if (uPCEShow <> nil) then uPCEShow.Free; //CQ7012 Added test for nil
    3858 
     3885   
    38593886end.
    38603887
Note: See TracChangeset for help on using the changeset viewer.