| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 | 
							- //---------------------------------------------------------------------------
 
- #include <vcl.h>
 
- #pragma hdrstop
 
- #include "RightsExt.h"
 
- #include <Common.h>
 
- //---------------------------------------------------------------------------
 
- #pragma package(smart_init)
 
- #pragma link "Rights"
 
- #pragma link "GrayedCheckBox"
 
- #pragma link "PngImageList"
 
- #ifndef NO_RESOURCES
 
- #pragma resource "*.dfm"
 
- #endif
 
- //---------------------------------------------------------------------------
 
- __fastcall TRightsExtFrame::TRightsExtFrame(TComponent* Owner)
 
-   : TRightsFrame(Owner)
 
- {
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::UpdateControls()
 
- {
 
-   if (!OctalEdit->Focused())
 
-   {
 
-     UpdateOctalEdit();
 
-   }
 
-   TRightsFrame::UpdateControls();
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::UpdateByOctal()
 
- {
 
-   if (!OctalEdit->Text.IsEmpty())
 
-   {
 
-     TRights R = Rights;
 
-     R.Octal = OctalEdit->Text;
 
-     Rights = R;
 
-   }
 
-   UpdateControls();
 
-   OctalEdit->Modified = false;
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::UpdateOctalEdit()
 
- {
 
-   TRights R = Rights;
 
-   OctalEdit->Text = R.IsUndef ? UnicodeString() : R.Octal;
 
-   OctalEdit->Modified = false;
 
-   OctalEdit->SelectAll();
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::ForceUpdate()
 
- {
 
-   TRightsFrame::ForceUpdate();
 
-   UpdateOctalEdit();
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::OctalEditChange(TObject * /*Sender*/)
 
- {
 
-   if (OctalEdit->Modified && OctalEdit->Text.Length() >= 3)
 
-   {
 
-     try
 
-     {
 
-       UpdateByOctal();
 
-     }
 
-     catch(...)
 
-     {
 
-       OctalEdit->Modified = true;
 
-     }
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::OctalEditExit(TObject * /*Sender*/)
 
- {
 
-   if (!Visible)
 
-   {
 
-     // should happen only if popup is closed by esc key
 
-     DebugAssert(Popup);
 
-     // cancel changes
 
-     ForceUpdate();
 
-   }
 
-   else if (OctalEdit->Modified)
 
-   {
 
-     // Now the text in OctalEdit is almost necessarily invalid, otherwise
 
-     // OctalEditChange would have already cleared Modified flag
 
-     try
 
-     {
 
-       UpdateByOctal();
 
-     }
 
-     catch(...)
 
-     {
 
-       OctalEdit->SelectAll();
 
-       OctalEdit->SetFocus();
 
-       throw;
 
-     }
 
-   }
 
-   else
 
-   {
 
-     UpdateControls();
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::SetPopup(bool value)
 
- {
 
-   if (Popup != value)
 
-   {
 
-     TRightsFrame::SetPopup(value);
 
-     CloseButton->Visible = value;
 
-     CloseButton->Cancel = value;
 
-     CloseButton->Default = value;
 
-   }
 
- }
 
- //---------------------------------------------------------------------------
 
- void __fastcall TRightsExtFrame::CloseButtonClick(TObject * /*Sender*/)
 
- {
 
-   CloseUp();
 
- }
 
- //---------------------------------------------------------------------------
 
 
  |