This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Source/Modulos/Informes base/Views/uEditorInformeBase.pas
2007-07-10 17:33:08 +00:00

163 lines
4.4 KiB
ObjectPascal

unit uEditorInformeBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorDBItem, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane,
uBizInformes, schInformesClient_Intf, uViewInformeBase, JvExComCtrls,
JvStatusBar, pngimage;
type
IEditorInformeBase = interface(IEditorDBItem)
['{E8DB0818-75F8-4575-A30E-25B6599A757F}']
function GetInforme: IBizInforme;
procedure SetInforme(const Value: IBizInforme);
property Informe: IBizInforme read GetInforme write SetInforme;
end;
TfEditorInformeBase = class(TfEditorDBItem, IEditorInformeBase)
actPropiedades: TAction;
TBXSeparatorItem14: TTBXSeparatorItem;
tbxiPropiedades: TTBXItem;
tbxiPropiedades2: TTBXItem;
procedure actPropiedadesExecute(Sender: TObject);
procedure actGuardarCerrarUpdate(Sender: TObject);
procedure actGuardarUpdate(Sender: TObject);
procedure actPrevisualizarExecute(Sender: TObject);
procedure actImprimirExecute(Sender: TObject);
procedure actEliminarExecute(Sender: TObject);
protected
FInforme : IBizInforme;
FViewInforme : IViewInformeBase;
function GetInforme: IBizInforme; virtual;
procedure SetInforme(const Value: IBizInforme); virtual;
// function GetModified: Boolean; override;
procedure RellenarCabeceraInforme; virtual;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Informe: IBizInforme read GetInforme write SetInforme;
end;
implementation
uses uEditorDBBase, uEditorBase, uDataModuleUsuarios, uFormPropiedadesInforme;
{$R *.dfm}
{ TfEditorControlBase }
function TfEditorInformeBase.GetInforme: IBizInforme;
begin
Result := FInforme;
end;
procedure TfEditorInformeBase.SetInforme(const Value: IBizInforme);
begin
FInforme := Value;
dsDataTable.DataTable := FInforme.DataTable;
// if Assigned(FViewInforme) then
// FViewInforme.Informe := FInforme;
end;
procedure TfEditorInformeBase.actPropiedadesExecute(Sender: TObject);
begin
inherited;
with TfrPropiedadesInforme.Create(NIL) do
try
Nombre := FInforme.NOMBRE;
Descripcion := FInforme.DESCRIPCION;
Modificable := True; //FInforme.EsModificable;
Icono := FInforme.ICONO;
if (ShowModal = mrOK) then
begin
FInforme.DataTable.Edit;
FInforme.NOMBRE := Nombre;
FInforme.DESCRIPCION := Descripcion;
FInforme.ICONO := Icono;
if Modificable then
FInforme.MODIFICABLE := 'S'
else
FInforme.MODIFICABLE := 'N';
end;
finally
Free;
ActualizarEstadoEditor;
// FViewInforme.Modificable := FInforme.EsModificable;
end;
end;
{
function TfEditorInformeBase.GetModified: Boolean;
begin
Result := inherited GetModified and
(Assigned(FInforme) and FInforme.EsModificable);
end;
}
procedure TfEditorInformeBase.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := ATitulo;
if (FTitulo = '') and Assigned(FInforme) then
begin
if FInforme.EsNuevo then
FTitulo := 'Nuevo informe' + ' - ' + FInforme.NOMBRE
else
FTitulo := 'Informe ' + ' - ' + FInforme.NOMBRE;
end;
inherited PonerTitulos(FTitulo);
Self.Caption := FTitulo + ' (' + dmUsuarios.EmpresaActual.NOMBRE + ')';
end;
procedure TfEditorInformeBase.actGuardarCerrarUpdate(Sender: TObject);
begin
inherited;
// (Sender as TAction).Enabled := Assigned(FInforme) and (FInforme.EsModificable);
end;
procedure TfEditorInformeBase.actGuardarUpdate(Sender: TObject);
begin
inherited;
// (Sender as TAction).Enabled := Assigned(FInforme) and (FInforme.EsModificable);
end;
procedure TfEditorInformeBase.actPrevisualizarExecute(Sender: TObject);
begin
RellenarCabeceraInforme;
inherited;
end;
procedure TfEditorInformeBase.RellenarCabeceraInforme;
begin
inherited;
//
end;
procedure TfEditorInformeBase.actImprimirExecute(Sender: TObject);
begin
RellenarCabeceraInforme;
inherited;
end;
procedure TfEditorInformeBase.actEliminarExecute(Sender: TObject);
begin
{
if not FInforme.EsModificable then
ShowMessage('Este control no se puede eliminar')
else
inherited
}
end;
end.