121 lines
3.2 KiB
ObjectPascal
121 lines
3.2 KiB
ObjectPascal
unit uEditorDBItem;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
uEditorItem, ImgList, PngImageList, StdActns, ActnList, TBX,
|
||
TB2Item, TB2Dock, TB2Toolbar, ComCtrls, JvExControls, JvComponent,
|
||
JvNavigationPane, DB, uDADataTable, uEditorDBBase, JvFormAutoSize,
|
||
StdCtrls, uDAScriptingProvider, uDACDSDataTable, AppEvnts, uCustomView,
|
||
uViewBase, JvAppStorage, JvAppRegistryStorage, ExtCtrls, uDAInterfaces,
|
||
JvComponentBase, JvFormPlacement, JvExComCtrls, JvStatusBar, pngimage,
|
||
cxControls, cxContainer, cxEdit, cxLabel;
|
||
|
||
type
|
||
IEditorDBItem = interface(IEditorDBBase)
|
||
['{497AE4CE-D061-4F75-A29A-320F8565FF54}']
|
||
function GetComentario: Variant;
|
||
procedure SetComentario(const Value: Variant);
|
||
property Comentario: Variant read GetComentario write SetComentario;
|
||
end;
|
||
|
||
TfEditorDBItem = class(TfEditorDBBase, IEditorDBItem)
|
||
pgPaginas: TPageControl;
|
||
pagGeneral: TTabSheet;
|
||
imgStatus: TImage;
|
||
PnlComentario: TPanel;
|
||
lbComentario: TLabel;
|
||
lblDesbloquear: TcxLabel;
|
||
procedure lblDesbloquearClick(Sender: TObject);
|
||
|
||
protected
|
||
FComentario: Variant;
|
||
function GetComentario: Variant;
|
||
procedure SetComentario(const Value: Variant);
|
||
|
||
procedure EliminarInterno; override;
|
||
procedure ActualizarEstadoEditor; override;
|
||
|
||
public
|
||
property Comentario: Variant read GetComentario write SetComentario;
|
||
constructor Create(AOwner: TComponent); override;
|
||
end;
|
||
|
||
implementation
|
||
|
||
uses
|
||
uEditorBase, uDialogUtils, uDataTableUtils;
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TfEditorDBItem.ActualizarEstadoEditor;
|
||
begin
|
||
inherited;
|
||
if HayDatos then
|
||
begin
|
||
if (Self.Modified) and (dsDataTable.DataTable.State <> dsInsert) then
|
||
begin
|
||
StatusBar.Panels[0].Text := ' Se han producido cambios';
|
||
imgStatus.Visible := True;
|
||
end
|
||
else begin
|
||
imgStatus.Visible := False;
|
||
StatusBar.Panels[0].Text := '';
|
||
end
|
||
end;
|
||
end;
|
||
|
||
constructor TfEditorDBItem.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
Comentario := Null;
|
||
end;
|
||
|
||
procedure TfEditorDBItem.EliminarInterno;
|
||
begin
|
||
inherited;
|
||
actCerrar.Execute;
|
||
end;
|
||
|
||
function TfEditorDBItem.GetComentario: Variant;
|
||
begin
|
||
Result := FComentario;
|
||
end;
|
||
|
||
procedure TfEditorDBItem.lblDesbloquearClick(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
|
||
if (ShowConfirmMessage('<27>Desbloquear los datos para permitir cambios?', 'Actualmente, los datos de esta ficha no se pueden modificar.' + #13#10 +
|
||
'Temporalmente puede desbloquear la ficha para realizar cambios puntuales. <20>Desea continuar?') = IDYES) then
|
||
begin
|
||
lblDesbloquear.Visible := False;
|
||
lblDesbloquear.Enabled := False;
|
||
SetDataTableReadOnly(dsDataTable.DataTable, False);
|
||
Self.ReadOnly := False;
|
||
ActualizarEstadoEditor;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfEditorDBItem.SetComentario(const Value: Variant);
|
||
begin
|
||
FComentario := Value;
|
||
lbComentario.Caption := '';
|
||
lbComentario.Caption := VarToStr(FComentario);
|
||
|
||
if VarIsNull(FComentario) then
|
||
PnlComentario.Visible := False
|
||
else
|
||
PnlComentario.Visible := True;
|
||
end;
|
||
|
||
initialization
|
||
RegisterClass(TfEditorDBItem);
|
||
|
||
finalization
|
||
UnRegisterClass(TfEditorDBItem);
|
||
|
||
end.
|