git-svn-id: https://192.168.0.254/svn/Proyectos.EstudioCarnicero_ProGestion/trunk@4 1b8572a8-2d6b-b84e-8c90-20ed86fa4eca
228 lines
6.9 KiB
ObjectPascal
228 lines
6.9 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2006. Rodax Software.
|
|
===============================================================================
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
|
bajo el que se suministra.
|
|
-----------------------------------------------------------------------------
|
|
Web: www.rodax-software.com
|
|
===============================================================================
|
|
Fecha primera versión: 22-05-2006
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 22-05-2006
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit uEditorObras;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uEditorBase, uEditorGrid, ToolWin, ComCtrls, JvExControls, JvComponent,
|
|
JvNavigationPane, uViewObras, uBizObra, ActnList, DBActns, uViewGrid,
|
|
Menus, uDataModuleBase, ImgList, PngImageList, TB2Dock, TB2Toolbar, TBX,
|
|
TB2Item, StdActns, TB2ExtItems, TBXExtItems, TB2MRU, DB, uDADataTable,
|
|
uCustomView, uViewBase, uViewBarraSeleccion, StdCtrls,
|
|
dxLayoutLookAndFeels, JvAppStorage, JvAppRegistryStorage, JvFormPlacement,
|
|
ExtCtrls, JvComponentBase, dxLayoutControl, cxControls,
|
|
uViewProyectosObra, cxSplitter;
|
|
|
|
type
|
|
IEditorObras = interface(IEditorGrid)
|
|
['{B011F957-6251-4425-A950-15DC49DEB563}']
|
|
function GetObras: IBizObra;
|
|
procedure SetObras(const Value: IBizObra);
|
|
property Obras: IBizObra read GetObras write SetObras;
|
|
end;
|
|
|
|
TfEditorObras = class(TfEditorGrid, IEditorObras)
|
|
N3: TMenuItem;
|
|
PopupMenu1: TPopupMenu;
|
|
frViewProyectosObra: TfrViewProyectosObra;
|
|
paginas: TPageControl;
|
|
pagProyectos: TTabSheet;
|
|
frViewObras: TfrViewObras;
|
|
Splitter1: TSplitter;
|
|
procedure actEliminarExecute(Sender: TObject);
|
|
procedure actModificarExecute(Sender: TObject);
|
|
procedure actNuevoExecute(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
|
|
procedure frViewProyectosObraactAnadirExecute(Sender: TObject);
|
|
procedure frViewProyectosObraactAnadirUpdate(Sender: TObject);
|
|
procedure frViewProyectosObraactModificarExecute(Sender: TObject);
|
|
procedure frViewProyectosObraactEliminarExecute(Sender: TObject);
|
|
procedure frViewProyectosObracxGridViewDataControllerDataChanged(Sender: TObject);
|
|
procedure frViewProyectosObraactEliminarTodoExecute(Sender: TObject);
|
|
|
|
private
|
|
FObras: IBizObra;
|
|
protected
|
|
function GetObras: IBizObra; virtual;
|
|
procedure SetObras(const Value: IBizObra); virtual;
|
|
procedure SetViewGrid(const Value: IViewGrid); override;
|
|
procedure DblClickAction(Sender: TObject);
|
|
public
|
|
property Obras: IBizObra read GetObras write SetObras;
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
uCustomEditor, uDataModuleObras, LiteralesObras;
|
|
|
|
{$R *.dfm}
|
|
|
|
{
|
|
****************************** TfEditorObras *******************************
|
|
}
|
|
|
|
procedure TfEditorObras.actEliminarExecute(Sender: TObject);
|
|
begin
|
|
if (MessageDlg(msgLitBorrar, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
|
begin
|
|
inherited;
|
|
ViewGrid.RefreshGrid;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorObras.actModificarExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
Obras.Show;
|
|
ViewGrid.RefreshGrid;
|
|
ViewGrid.SyncFocusedRecordsFromDataSet;
|
|
end;
|
|
|
|
procedure TfEditorObras.actNuevoExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
Obras.Insert;
|
|
Obras.Show;
|
|
ViewGrid.RefreshGrid;
|
|
ViewGrid.SyncFocusedRecordsFromDataSet;
|
|
end;
|
|
|
|
procedure TfEditorObras.FormShow(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
if not Assigned(ViewGrid) then
|
|
raise Exception.Create('No hay ninguna vista asignada');
|
|
|
|
if not Assigned(Obras) then
|
|
raise Exception.Create('No hay ningún obra asignado');
|
|
|
|
if not Obras.DataTable.Active then
|
|
Obras.DataTable.Active := True;
|
|
end;
|
|
|
|
function TfEditorObras.GetObras: IBizObra;
|
|
begin
|
|
Result := FObras;
|
|
end;
|
|
|
|
procedure TfEditorObras.SetObras(const Value: IBizObra);
|
|
begin
|
|
FObras := Value;
|
|
dsDataTable.DataTable := FObras.DataTable;
|
|
|
|
if Assigned(ViewGrid) then
|
|
begin
|
|
(ViewGrid as IViewObras).Obras := Obras;
|
|
frViewProyectosObra.DADataSource.DataTable := FObras.Proyectos.DataTable;
|
|
end
|
|
end;
|
|
|
|
destructor TfEditorObras.Destroy;
|
|
begin
|
|
FObras := NIL;
|
|
inherited;
|
|
end;
|
|
|
|
constructor TfEditorObras.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
ViewGrid := frViewObras;
|
|
end;
|
|
|
|
procedure TfEditorObras.SetViewGrid(const Value: IViewGrid);
|
|
begin
|
|
inherited;
|
|
if Assigned(ViewGrid) and Assigned(Obras) then
|
|
begin
|
|
(ViewGrid as IViewObras).Obras := Obras;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorObras.DblClickAction(Sender: TObject);
|
|
begin
|
|
actModificar.Execute;
|
|
end;
|
|
|
|
procedure TfEditorObras.frViewProyectosObraactAnadirExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
FObras.Proyectos.Insert;
|
|
FObras.Proyectos.Show;
|
|
ViewGrid.RefreshGrid;
|
|
ViewGrid.SyncFocusedRecordsFromDataSet;
|
|
end;
|
|
|
|
procedure TfEditorObras.frViewProyectosObraactModificarExecute(Sender: TObject);
|
|
begin
|
|
ViewGrid.SyncFocusedRecordsFromGrid;
|
|
FObras.Proyectos.Show;
|
|
ViewGrid.RefreshGrid;
|
|
ViewGrid.SyncFocusedRecordsFromDataSet;
|
|
end;
|
|
|
|
procedure TfEditorObras.frViewProyectosObraactEliminarExecute(Sender: TObject);
|
|
begin
|
|
if (MessageDlg(msgLitBorrarProyecto, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
|
begin
|
|
FObras.Proyectos.Delete;
|
|
FObras.Proyectos.DataTable.ApplyUpdates;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorObras.frViewProyectosObraactAnadirUpdate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
if Assigned(dsDataTable.DataTable) then
|
|
(Sender as TAction).Enabled := not dsDataTable.DataTable.IsEmpty
|
|
else
|
|
(Sender as TAction).Enabled := False;
|
|
end;
|
|
|
|
procedure TfEditorObras.frViewProyectosObracxGridViewDataControllerDataChanged(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
if Assigned(FObras) and (not (FObras.DataTable.Fetching) or
|
|
not (FObras.DataTable.Opening) or not (FObras.DataTable.Closing)) then
|
|
frViewProyectosObra.JvNavPanelHeader.Caption := msgLitListaProyectos + Obras.NOMBRE;
|
|
end;
|
|
|
|
procedure TfEditorObras.frViewProyectosObraactEliminarTodoExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
if (MessageDlg(msgLitBorrarTProyecto, mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
|
|
begin
|
|
Obras.Proyectos.DataTable.ClearRows;
|
|
Obras.Proyectos.DataTable.ApplyUpdates;
|
|
end;
|
|
end;
|
|
|
|
end.
|
|
|