36. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 4/16/2019 12:20:46 PM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

36.1 Files compared

# Location File Last Modified
1 C:\AraxisMergeCompare\Pri_un\CPRS_32_P2_PCE\OR_30_405V60_SRC\Cover Sheet mGridPanelFrame.pas Wed Dec 12 14:04:36 2018 UTC
2 C:\AraxisMergeCompare\Pri_re\CPRS v32 P2 PCE Standardization-redacted\CPRS_32_P2_PCE\OR_30_405V60_SRC\Cover Sheet mGridPanelFrame.pas Fri Apr 12 13:42:18 2019 UTC

36.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 976
Changed 1 2
Inserted 0 0
Removed 0 0

36.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

36.4 Active regular expressions

No regular expressions were active.

36.5 Comparison detail

  1   unit mGrid PanelFrame ;
  2   {
  3     ======== ========== ========== ========== ========== ========== ========== ========== ==
  4     *
  5     *        Applicatio n:  CPRS -  CoverShee t
  6              Developer:       PII                   
  7     *        Site:          Salt L ake City I SC
  8     *        Date:          2015-1 2-04
  9     *
  10     *        Descriptio n:  Inheri ted from T Frame. Thi s display  panel is t he bare
  11     *                       minimu m for a gr id panel f or use wit hin the CP RS
  12     *                       applic ation.
  13     *
  14     *        Notes:         This f rame is a  base objec t and heav ily inheri ted from.
  15     *                       ABSOLU TELY NO CH ANGES SHOU LD BE MADE  WITHOUT F IRST
  16     *                       CONFER RING WITH  THE CPRS D EVELOPMENT  TEAM ABOU T POSSIBLE
  17     *                       RAMIFI CATIONS WI TH DESCEND ANT FRAMES .
  18     *
  19     ======== ========== ========== ========== ========== ========== ========== ========== ==
  20   }
  21  
  22   interface
  23  
  24   uses
  25     Winapi.W indows,
  26     Winapi.M essages,
  27     System.S ysUtils,
  28     System.V ariants,
  29     System.C lasses,
  30     System.U ITypes,
  31     System.I mageList,
  32     Vcl.Grap hics,
  33     Vcl.Cont rols,
  34     Vcl.Form s,
  35     Vcl.Dial ogs,
  36     Vcl.Menu s,
  37     Vcl.StdC trls,
  38     Vcl.ExtC trls,
  39     Vcl.Butt ons,
  40     Vcl.ImgL ist,
  41     iCoverSh eetIntf,
  42     iGridPan elIntf;
  43  
  44   type
  45     TfraGrid PanelFrame  = class(T Frame, IGr idPanelCon trol, IGri dPanelFram e, ICPRS50 8)
  46       pnlMai n: TPanel;
  47       pnlHea der: TPane l;
  48       lblTit le: TLabel ;
  49       pnlWor kspace: TP anel;
  50       pmn: T PopupMenu;
  51       pmnExp andCollaps e: TMenuIt em;
  52       pmnRef resh: TMen uItem;
  53       pmnCus tomize: TM enuItem;
  54       pmnSho wError: TM enuItem;
  55       sbtnEx pandCollap se: TSpeed Button;
  56       sbtnRe fresh: TSp eedButton;
  57       img: T Image;
  58     private
  59       fGridP anelDispla y: IGridPa nelDisplay ;
  60       fColla psed: bool ean;
  61  
  62       fAllow Collapse:  TGridPanel Collapse;
  63       fAllow Refresh: b oolean;
  64       fAllow Customize:  boolean;
  65  
  66       fLoadE rror: bool ean;
  67       fLoadE rrorMessag e: string;
  68  
  69       { Prev ents auto  free when  RefCount =  0 }
  70       functi on _AddRef : integer;  stdcall;
  71       functi on _Releas e: integer ; stdcall;
  72     protecte d
  73       { Gett ers and Se tters }
  74       functi on getAllo wCollapse:  TGridPane lCollapse;  virtual;
  75       functi on getAllo wCustomize : boolean;  virtual;
  76       functi on getAllo wRefresh:  boolean; v irtual;
  77       functi on getBack groundColo r: TColor;  virtual;  final;
  78       functi on getColl apsed: boo lean; virt ual;
  79       functi on getGrid PanelDispl ay: IGridP anelDispla y; virtual ; final;
  80       functi on getTitl eFontColor : TColor;  virtual; f inal;
  81       functi on getTitl eFontBold:  boolean;  virtual; f inal;
  82       functi on getTitl e: string;  virtual;
  83       functi on getLoad Error: boo lean;
  84       functi on getLoad ErrorMessa ge: string ;
  85  
  86       proced ure setAll owCollapse (const aVa lue: TGrid PanelColla pse); virt ual;
  87       proced ure setAll owCustomiz e(const aV alue: bool ean); virt ual;
  88       proced ure setAll owRefresh( const aVal ue: boolea n); virtua l;
  89       proced ure setBac kgroundCol or(const a Value: TCo lor); virt ual; final ;
  90       proced ure setGri dPanelDisp lay(const  aValue: IG ridPanelDi splay); vi rtual; fin al;
  91       proced ure setTit leFontColo r(const aV alue: TCol or); virtu al; final;
  92       proced ure setTit leFontBold (const aVa lue: boole an); virtu al; final;
  93       proced ure setTit le(const a Value: str ing); virt ual;
  94  
  95       { ICPR S508 imple mentation  events }
  96       proced ure OnFocu sFirstCont rol(Sender : TObject) ; virtual;
  97       proced ure OnSetF ontSize(Se nder: TObj ect; aNewS ize: integ er); virtu al;
  98       proced ure OnSetS creenReade rStatus(Se nder: TObj ect; aActi ve: boolea n); virtua l;
  99  
  100       { Comp onent even ts }
  101       proced ure OnExpa ndCollapse (Sender: T Object); v irtual;
  102       proced ure OnCust omizeDispl ay(Sender:  TObject);  virtual;
  103       proced ure OnLoad Error(Send er: TObjec t; E: Exce ption); vi rtual;
  104       proced ure OnPopu pMenu(Send er: TObjec t); virtua l;
  105       proced ure OnPopu pMenuInit( Sender: TO bject); vi rtual;
  106       proced ure OnPopu pMenuFree( Sender: TO bject); vi rtual;
  107       proced ure OnRefr eshDisplay (Sender: T Object); v irtual;
  108       proced ure OnRefr eshVertica lTitle(Sen der: TObje ct); virtu al;
  109       proced ure OnShow Error(Send er: TObjec t); virtua l;
  110  
  111       { Comp onent meth ods }
  112       proced ure ClearL oadError;
  113     public
  114       { Publ ic declara tions }
  115       constr uctor Crea te(aOwner:  TComponen t); overri de;
  116       destru ctor Destr oy; overri de;
  117     end;
  118  
  119   implementa tion
  120  
  121   {$R *.dfm}
  122  
  123   { TfraGrid PanelFrame  }
  124  
  125   const
  126     IMG_COLL APSE = 'MG RIDPANELFR AME_COLLAP SE';
  127     IMG_EXPA ND   = 'MG RIDPANELFR AME_EXPAND ';
  128     IMG_REFR ESH  = 'MG RIDPANELFR AME_REFRES H';
  129     IMG_DELE TE   = 'MG RIDPANELFR AME_DELETE ';
  130  
  131   constructo r TfraGrid PanelFrame .Create(aO wner: TCom ponent);
  132   begin
  133     inherite d Create(a Owner);
  134     name :=  'fra' + Ne wGUID;
  135     fCollaps ed := Fals e;
  136     fAllowCo llapse :=  gpcNone;
  137     fAllowRe fresh := F alse;
  138     fAllowCu stomize :=  False;
  139  
  140     sbtnExpa ndCollapse .OnClick : = OnExpand Collapse;
  141     sbtnExpa ndCollapse .Visible : = fAllowCo llapse in  [gpcRow, g pcColumn];
  142     sbtnExpa ndCollapse .Glyph.Loa dFromResou rceName(HI nstance, I MG_COLLAPS E);
  143  
  144     sbtnRefr esh.OnClic k := OnRef reshDispla y;
  145     sbtnRefr esh.Visibl e := fAllo wRefresh;
  146     sbtnRefr esh.Glyph. LoadFromRe sourceName (HInstance , IMG_REFR ESH);
  147  
  148     { Defaul t settings  according  to the cu rrent Wind ows Pallet  - SHOULD  NOT BE CHA NGED HERE,  EVER!!!!  }
  149     pnlMain. Color := c lActiveCap tion;
  150     lblTitle .Font.Colo r := clCap tionText;
  151     lblTitle .Font.Styl e := [fsBo ld];
  152  
  153     { Call t his so tha t descenda nt panels  can custom ize the me nu if need ed }
  154     OnPopupM enuInit(Se lf);
  155   end;
  156  
  157   destructor  TfraGridP anelFrame. Destroy;
  158   begin
  159     OnPopupM enuFree(Se lf);
  160     inherite d;
  161   end;
  162  
  163   function T fraGridPan elFrame._A ddRef: int eger;
  164   begin
  165     Result : = -1;
  166   end;
  167  
  168   function T fraGridPan elFrame._R elease: in teger;
  169   begin
  170     Result : = -1;
  171   end;
  172  
  173   procedure  TfraGridPa nelFrame.C learLoadEr ror;
  174   begin
  175     pmnShowE rror.Visib le := Fals e;
  176     fLoadErr or := Fals e;
  177     fLoadErr orMessage  := '';
  178   end;
  179  
  180   procedure  TfraGridPa nelFrame.O nLoadError (Sender: T Object; E:  Exception );
  181   begin
  182     pmnShowE rror.Visib le := True ;
  183     fLoadErr or := True ;
  184     fLoadErr orMessage  := Format( 'LoadError : [%s] - % s', [Sende r.ClassNam e, E.Messa ge]);
  185   end;
  186  
  187   procedure  TfraGridPa nelFrame.O nCustomize Display(Se nder: TObj ect);
  188   begin
  189     { Virtua l method f or the des cendants t o implemen t if neede d }
  190   end;
  191  
  192   procedure  TfraGridPa nelFrame.O nExpandCol lapse(Send er: TObjec t);
  193   var
  194     aRow: in teger;
  195     aCol: in teger;
  196   begin
  197     try
  198       fColla psed := no t fCollaps ed;
  199  
  200       { Find  out where  we are on  the grid  }
  201       fGridP anelDispla y.FindCont rol(Self,  aCol, aRow );
  202  
  203       case f AllowColla pse of
  204         gpcR ow:
  205           if  fCollapse d then
  206              begin
  207                pnlWorks pace.Hide;
  208                sbtnRefr esh.Hide;
  209                sbtnExpa ndCollapse .Glyph.Loa dFromResou rceName(HI nstance, I MG_EXPAND) ;
  210                fGridPan elDisplay. CollapseRo w(aRow)
  211              end
  212           el se
  213              begin
  214                fGridPan elDisplay. ExpandRow( aRow);
  215                sbtnExpa ndCollapse .Glyph.Loa dFromResou rceName(HI nstance, I MG_COLLAPS E);
  216                if fAllo wRefresh t hen
  217                  sbtnRe fresh.Show ;
  218                pnlWorks pace.Show;
  219              end;
  220         gpcC olumn:
  221           if  fCollapse d then
  222              begin
  223                pnlWorks pace.Hide;
  224                sbtnRefr esh.Hide;
  225                img.Visi ble := Tru e;
  226                OnRefres hVerticalT itle(Sende r);
  227                sbtnExpa ndCollapse .Glyph.Loa dFromResou rceName(HI nstance, I MG_EXPAND) ;
  228                fGridPan elDisplay. CollapseCo lumn(aCol) ;
  229              end
  230           el se
  231              begin
  232                fGridPan elDisplay. ExpandColu mn(aCol);
  233                sbtnExpa ndCollapse .Glyph.Loa dFromResou rceName(HI nstance, I MG_COLLAPS E);
  234                if fAllo wRefresh t hen
  235                  sbtnRe fresh.Show ;
  236                pnlWorks pace.Show;
  237                img.Visi ble := Fal se;
  238              end;
  239       end;
  240     except
  241       ShowMe ssage('Err or in Expa ndCollapse Click meth od.');
  242     end;
  243   end;
  244  
  245   procedure  TfraGridPa nelFrame.O nPopupMenu (Sender: T Object);
  246   begin
  247     if fColl apsed then
  248       pmnExp andCollaps e.Caption  := 'Expand '
  249     else
  250       pmnExp andCollaps e.Caption  := 'Collap se';
  251  
  252     pmnExpan dCollapse. Visible :=  fAllowCol lapse in [ gpcRow, gp cColumn];
  253     pmnRefre sh.Visible  := fAllow Refresh;
  254     pmnCusto mize.Visib le := fAll owCustomiz e;
  255     pmnShowE rror.Visib le := fLoa dError;
  256   end;
  257  
  258   procedure  TfraGridPa nelFrame.O nPopupMenu Free(Sende r: TObject );
  259   begin
  260     // Nothi ng needed  here, the  menu items  are all o wned prope rly by the  frame.
  261   end;
  262  
  263   procedure  TfraGridPa nelFrame.O nPopupMenu Init(Sende r: TObject );
  264   begin
  265     pmnExpan dCollapse. OnClick :=  OnExpandC ollapse;
  266     pmnExpan dCollapse. Visible :=  fAllowCol lapse in [ gpcRow, gp cColumn];
  267  
  268     pmnRefre sh.OnClick  := OnRefr eshDisplay ;
  269     pmnRefre sh.Visible  := fAllow Refresh;
  270  
  271     pmnCusto mize.OnCli ck := OnCu stomizeDis play;
  272     pmnCusto mize.Visib le := fAll owCustomiz e;
  273  
  274     pmnShowE rror.OnCli ck := OnSh owError;
  275     pmnShowE rror.Visib le := Fals e;
  276  
  277     pmn.OnPo pup := OnP opupMenu;
  278   end;
  279  
  280   procedure  TfraGridPa nelFrame.O nRefreshDi splay(Send er: TObjec t);
  281   begin
  282     { Virtua l method f or the des cendants t o implemen t if neede d }
  283   end;
  284  
  285   procedure  TfraGridPa nelFrame.O nRefreshVe rticalTitl e(Sender:  TObject);
  286   var
  287     aStr: st ring;
  288     X: integ er;
  289     Y: integ er;
  290     H: integ er;
  291     i: integ er;
  292   begin
  293     if fColl apsed then
  294       begin
  295         img. Picture :=  nil;
  296         img. Canvas.Bru sh.Color : = pnlMain. Color;
  297         img. Canvas.Fil lRect(Rect (0, 0, img .Width, im g.Height)) ;
  298         img. Canvas.Fon t.Color :=  lblTitle. Font.Color ;
  299         img. Canvas.Fon t.Style :=  lblTitle. Font.Style ;
  300         Y :=  0;
  301         H :=  img.Canva s.TextHeig ht('|');
  302         for  i := 1 to  Length(lbl Title.Capt ion) do
  303           be gin
  304              aStr := Co py(lblTitl e.Caption,  i, 1);
  305              X := (img. Width - im g.Canvas.T extWidth(a Str)) div  2;
  306              img.Canvas .TextOut(X , Y, aStr) ;
  307              inc(Y, H);
  308              if Y > (im g.Height -  H) then
  309                Break;
  310           en d;
  311         img. Repaint;
  312       end;
  313   end;
  314  
  315   procedure  TfraGridPa nelFrame.O nFocusFirs tControl(S ender: TOb ject);
  316   begin
  317     pnlWorks pace.SetFo cus;
  318   end;
  319  
  320   procedure  TfraGridPa nelFrame.O nSetFontSi ze(Sender:  TObject;  aNewSize:  integer);
  321   var
  322     aCompone nt: TCompo nent;
  323     aCPRS508 : ICPRS508 ;
  324   begin
  325     Self.Fon t.Size :=  aNewSize;
  326     lblTitle .Font.Size  := aNewSi ze; { Bold ed so Pare ntFont = F alse :( }
  327     if lblTi tle.Canvas .TextHeigh t('|') > 2 5 then
  328       pnlHea der.Height  := lblTit le.Canvas. TextHeight ('|') + 10  { So the  big ole ti tle displa ys properl y }
  329     else
  330       pnlHea der.Height  := 25; {  As designe d! }
  331  
  332     { Now wa lk any oth er items t hat may be  ICPRS_508  implement ors }
  333     for aCom ponent in  Self do
  334       if Sup ports(aCom ponent, IC PRS508, aC PRS508) th en
  335         aCPR S508.OnSet FontSize(S elf, aNewS ize);
  336   end;
  337  
  338   procedure  TfraGridPa nelFrame.O nSetScreen ReaderStat us(Sender:  TObject;  aActive: b oolean);
  339   begin
  340     pnlWorks pace.TabSt op := aAct ive; { Let s the Scre enReader s top here a nd read th e caption  }
  341   end;
  342  
  343   procedure  TfraGridPa nelFrame.O nShowError (Sender: T Object);
  344   begin
  345     if fLoad Error then
  346       ShowMe ssage(fLoa dErrorMess age)
  347     else
  348       ShowMe ssage('No  load error  message.' );
  349   end;
  350  
  351   function T fraGridPan elFrame.ge tLoadError : boolean;
  352   begin
  353     Result : = fLoadErr or;
  354   end;
  355  
  356   function T fraGridPan elFrame.ge tLoadError Message: s tring;
  357   begin
  358     Result : = fLoadErr orMessage;
  359   end;
  360  
  361   function T fraGridPan elFrame.ge tAllowColl apse: TGri dPanelColl apse;
  362   begin
  363     Result : = fAllowCo llapse;
  364   end;
  365  
  366   function T fraGridPan elFrame.ge tAllowCust omize: boo lean;
  367   begin
  368     Result : = fAllowCu stomize;
  369   end;
  370  
  371   function T fraGridPan elFrame.ge tAllowRefr esh: boole an;
  372   begin
  373     Result : = fAllowRe fresh;
  374   end;
  375  
  376   function T fraGridPan elFrame.ge tBackgroun dColor: TC olor;
  377   begin
  378     Result : = pnlMain. Color;
  379   end;
  380  
  381   function T fraGridPan elFrame.ge tCollapsed : boolean;
  382   begin
  383     Result : = fCollaps ed;
  384   end;
  385  
  386   function T fraGridPan elFrame.ge tGridPanel Display: I GridPanelD isplay;
  387   begin
  388     {
  389       When a  control i s added th rough the  AddControl  Method of  the ICPRS GridPanel
  390       if it  supports I CPRSGridPa nelFrame f CPRSGridPa nel will b r set to t he
  391       ICPRSG ridPanel t hat it is  added to.
  392     }
  393     if fGrid PanelDispl ay <> nil  then
  394       fGridP anelDispla y.QueryInt erface(IGr idPanelDis play, Resu lt)
  395     else
  396       Result  := nil;
  397   end;
  398  
  399   function T fraGridPan elFrame.ge tTitle: st ring;
  400   begin
  401     Result : = lblTitle .Caption;
  402   end;
  403  
  404   function T fraGridPan elFrame.ge tTitleFont Bold: bool ean;
  405   begin
  406     Result : = (fsBold  in lblTitl e.Font.Sty le);
  407   end;
  408  
  409   function T fraGridPan elFrame.ge tTitleFont Color: TCo lor;
  410   begin
  411     Result : = lblTitle .Font.Colo r;
  412   end;
  413  
  414   procedure  TfraGridPa nelFrame.s etAllowCol lapse(cons t aValue:  TGridPanel Collapse);
  415   begin
  416     fAllowCo llapse :=  aValue;
  417     case fAl lowCollaps e of
  418       gpcNon e:
  419         begi n
  420           sb tnExpandCo llapse.Vis ible := Fa lse;
  421           sb tnExpandCo llapse.Gly ph := nil;
  422         end;
  423       gpcRow :
  424         begi n
  425           if  fCollapse d then
  426              sbtnExpand Collapse.G lyph.LoadF romResourc eName(HIns tance, IMG _EXPAND)
  427           el se
  428              sbtnExpand Collapse.G lyph.LoadF romResourc eName(HIns tance, IMG _COLLAPSE) ;
  429           sb tnExpandCo llapse.Vis ible := Tr ue;
  430         end;
  431       gpcCol umn:
  432         begi n
  433           if  fCollapse d then
  434              sbtnExpand Collapse.G lyph.LoadF romResourc eName(HIns tance, IMG _EXPAND)
  435           el se
  436              sbtnExpand Collapse.G lyph.LoadF romResourc eName(HIns tance, IMG _COLLAPSE) ;
  437           sb tnExpandCo llapse.Vis ible := Tr ue;
  438         end;
  439     end;
  440   end;
  441  
  442   procedure  TfraGridPa nelFrame.s etAllowCus tomize(con st aValue:  boolean);
  443   begin
  444     fAllowCu stomize :=  aValue;
  445   end;
  446  
  447   procedure  TfraGridPa nelFrame.s etAllowRef resh(const  aValue: b oolean);
  448   begin
  449     fAllowRe fresh := a Value;
  450     sbtnRefr esh.Visibl e := fAllo wRefresh;
  451   end;
  452  
  453   procedure  TfraGridPa nelFrame.s etBackgrou ndColor(co nst aValue : TColor);
  454   begin
  455     pnlMain. Color := a Value;
  456   end;
  457  
  458   procedure  TfraGridPa nelFrame.s etGridPane lDisplay(c onst aValu e: IGridPa nelDisplay );
  459   begin
  460     if aValu e <> nil t hen
  461       aValue .QueryInte rface(IGri dPanelDisp lay, fGrid PanelDispl ay)
  462     else
  463       fGridP anelDispla y := nil;
  464   end;
  465  
  466   procedure  TfraGridPa nelFrame.s etTitle(co nst aValue : string);
  467   begin
  468     lblTitle .Caption : = aValue;
  469     {
  470       Set pn lWorkspace .Caption a s the lblT itle.Capti on so when
  471       Screen Reader tap s in it wi ll have so mething to  say.
  472     }
  473     pnlWorks pace.Capti on := aVal ue;
  474   end;
  475  
  476   procedure  TfraGridPa nelFrame.s etTitleFon tBold(cons t aValue:  boolean);
  477   begin
  478     if aValu e and not( fsBold in  lblTitle.F ont.Style)  then
  479       lblTit le.Font.St yle := lbl Title.Font .Style + [ fsBold]
  480     else
  481       lblTit le.Font.St yle := lbl Title.Font .Style - [ fsBold];
  482   end;
  483  
  484   procedure  TfraGridPa nelFrame.s etTitleFon tColor(con st aValue:  TColor);
  485   begin
  486     lblTitle .Font.Colo r := aValu e;
  487   end;
  488  
  489   end.