You've already forked lazarus-ccr
tvplanit: Add cancel button to FieldMapping editor
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5027 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -58,8 +58,9 @@ type
|
|||||||
TVpFieldMapping = class(TCollectionItem)
|
TVpFieldMapping = class(TCollectionItem)
|
||||||
public
|
public
|
||||||
VPField: string;
|
VPField: string;
|
||||||
DBField: string;
|
DBField: string;
|
||||||
end;
|
procedure Assign(Source: TPersistent); override;
|
||||||
|
end;
|
||||||
|
|
||||||
{ The TVpDataSources class is simply for clustering the FlexDataStore's }
|
{ The TVpDataSources class is simply for clustering the FlexDataStore's }
|
||||||
{ DataSources together in the Object Inspector }
|
{ DataSources together in the Object Inspector }
|
||||||
@ -203,6 +204,18 @@ implementation
|
|||||||
uses
|
uses
|
||||||
{$IFDEF VERSION6} Variants, {$ELSE} FileCtrl, {$ENDIF} VpConst;
|
{$IFDEF VERSION6} Variants, {$ELSE} FileCtrl, {$ENDIF} VpConst;
|
||||||
|
|
||||||
|
{*****************************************************************************}
|
||||||
|
{ TVpFieldMapping }
|
||||||
|
|
||||||
|
procedure TVpFieldMapping.Assign(Source: TPersistent);
|
||||||
|
begin
|
||||||
|
if Source is TVpFieldMapping then begin
|
||||||
|
VPField := TVpFieldMapping(Source).VPField;
|
||||||
|
DBField := TVpFieldMapping(Source).DBField;
|
||||||
|
end else
|
||||||
|
inherited Assign(Source);
|
||||||
|
end;
|
||||||
|
|
||||||
(*****************************************************************************)
|
(*****************************************************************************)
|
||||||
{ TVpFlexDataStore }
|
{ TVpFlexDataStore }
|
||||||
|
|
||||||
|
@ -22,15 +22,24 @@ object frmFieldMapper: TfrmFieldMapper
|
|||||||
ClientHeight = 45
|
ClientHeight = 45
|
||||||
ClientWidth = 409
|
ClientWidth = 409
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object BtnClose: TButton
|
object BtnOK: TButton
|
||||||
Left = 325
|
Left = 240
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 75
|
Width = 75
|
||||||
Caption = 'Close'
|
Caption = 'OK'
|
||||||
OnClick = BtnCloseClick
|
ModalResult = 1
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
|
object BtnCancel: TButton
|
||||||
|
Left = 320
|
||||||
|
Height = 25
|
||||||
|
Top = 8
|
||||||
|
Width = 75
|
||||||
|
Caption = 'Cancel'
|
||||||
|
ModalResult = 2
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
end
|
end
|
||||||
object PageControl1: TPageControl
|
object PageControl1: TPageControl
|
||||||
Left = 0
|
Left = 0
|
||||||
|
@ -52,8 +52,9 @@ type
|
|||||||
{ TfrmFieldMapper }
|
{ TfrmFieldMapper }
|
||||||
|
|
||||||
TfrmFieldMapper = class(TForm)
|
TfrmFieldMapper = class(TForm)
|
||||||
|
BtnCancel: TButton;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
BtnClose: TButton;
|
BtnOK: TButton;
|
||||||
PageControl1: TPageControl;
|
PageControl1: TPageControl;
|
||||||
TabSheet1: TTabSheet;
|
TabSheet1: TTabSheet;
|
||||||
Bevel1: TBevel;
|
Bevel1: TBevel;
|
||||||
@ -75,7 +76,6 @@ type
|
|||||||
procedure VpFieldSelected(Sender: TObject);
|
procedure VpFieldSelected(Sender: TObject);
|
||||||
procedure VPFieldLBKeyPress(Sender: TObject; var Key: Char);
|
procedure VPFieldLBKeyPress(Sender: TObject; var Key: Char);
|
||||||
procedure btnAddMappingClick(Sender: TObject);
|
procedure btnAddMappingClick(Sender: TObject);
|
||||||
procedure BtnCloseClick(Sender: TObject);
|
|
||||||
procedure Button5Click(Sender: TObject);
|
procedure Button5Click(Sender: TObject);
|
||||||
procedure btnDeleteMappingClick(Sender: TObject);
|
procedure btnDeleteMappingClick(Sender: TObject);
|
||||||
procedure btnClearMappingsClick(Sender: TObject);
|
procedure btnClearMappingsClick(Sender: TObject);
|
||||||
@ -168,25 +168,52 @@ procedure MapDatabaseFields(Designer: IFormDesigner;
|
|||||||
{$ENDIF}{$ENDIF}
|
{$ENDIF}{$ENDIF}
|
||||||
var
|
var
|
||||||
frmFieldMapper: TfrmFieldMapper;
|
frmFieldMapper: TfrmFieldMapper;
|
||||||
|
savedResourceMappings: TCollection;
|
||||||
|
savedContactMappings: TCollection;
|
||||||
|
savedEventMappings: TCollection;
|
||||||
|
savedTaskMappings: TCollection;
|
||||||
begin
|
begin
|
||||||
if FlexDS = nil then
|
if FlexDS = nil then
|
||||||
Exit;
|
Exit;
|
||||||
Application.CreateForm(TfrmFieldMapper, frmFieldMapper);
|
|
||||||
|
savedResourceMappings := TCollection.Create(TVpFieldMapping);
|
||||||
|
savedContactMappings := TCollection.Create(TVpFieldMapping);
|
||||||
|
savedEventMappings := TCollection.Create(TVpFieldMapping);
|
||||||
|
savedTaskMappings := TCollection.Create(TVpFieldMapping);
|
||||||
try
|
try
|
||||||
frmFieldMapper.FlexDS := FlexDS;
|
savedResourceMappings.Assign(FlexDS.ResourceMappings);
|
||||||
if FlexDS.ResourceDataSource <> nil then
|
savedContactMappings.Assign(FlexDS.ContactMappings);
|
||||||
frmFieldMapper.ResDS := FlexDS.ResourceDataSource.DataSet;
|
savedEventMappings.Assign(FlexDS.EventMappings);
|
||||||
if FlexDS.EventsDataSource <> nil then
|
savedTaskMappings.Assign(FlexDS.TaskMappings);
|
||||||
frmFieldMapper.EventsDS := FlexDS.EventsDataSource.DataSet;
|
|
||||||
if FlexDS.ContactsDataSource <> nil then
|
Application.CreateForm(TfrmFieldMapper, frmFieldMapper);
|
||||||
frmFieldMapper.ContactsDS := FlexDS.ContactsDataSource.DataSet;
|
try
|
||||||
if FlexDS.TasksDataSource <> nil then
|
frmFieldMapper.FlexDS := FlexDS;
|
||||||
frmFieldMapper.TasksDS := FlexDS.TasksDataSource.DataSet;
|
if FlexDS.ResourceDataSource <> nil then
|
||||||
frmFieldMapper.ShowModal;
|
frmFieldMapper.ResDS := FlexDS.ResourceDataSource.DataSet;
|
||||||
|
if FlexDS.EventsDataSource <> nil then
|
||||||
|
frmFieldMapper.EventsDS := FlexDS.EventsDataSource.DataSet;
|
||||||
|
if FlexDS.ContactsDataSource <> nil then
|
||||||
|
frmFieldMapper.ContactsDS := FlexDS.ContactsDataSource.DataSet;
|
||||||
|
if FlexDS.TasksDataSource <> nil then
|
||||||
|
frmFieldMapper.TasksDS := FlexDS.TasksDataSource.DataSet;
|
||||||
|
if frmFieldMapper.ShowModal <> mrOK then begin
|
||||||
|
FlexDS.ResourceMappings.Assign(savedResourceMappings);
|
||||||
|
FlexDS.ContactMappings.Assign(savedContactMappings);
|
||||||
|
FlexDS.EventMappings.Assign(savedEventMappings);
|
||||||
|
FlexDS.TaskMappings.Assign(savedTaskMappings);
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
frmFieldMapper.Release;
|
||||||
|
end;
|
||||||
|
Designer.Modified;
|
||||||
|
|
||||||
finally
|
finally
|
||||||
frmFieldMapper.Release;
|
savedResourceMappings.Free;
|
||||||
|
savedContactMappings.Free;
|
||||||
|
savedEventMappings.Free;
|
||||||
|
savedTaskMappings.Free;
|
||||||
end;
|
end;
|
||||||
Designer.Modified;
|
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
@ -305,7 +332,8 @@ begin
|
|||||||
Application.MessageBox(PChar('There was an error opening the following '
|
Application.MessageBox(PChar('There was an error opening the following '
|
||||||
+ 'datasets'#13#10#10 + ErrorStr + #10
|
+ 'datasets'#13#10#10 + ErrorStr + #10
|
||||||
+ 'Field mapping for these tables will not be available until the '
|
+ 'Field mapping for these tables will not be available until the '
|
||||||
+ 'errors are corrected.'), 'Error Opening Dataset(s)', 0);
|
+ 'errors are corrected. Any previously assigned mappings will be kept.'),
|
||||||
|
'Error Opening Dataset(s)', 0);
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
@ -329,7 +357,8 @@ begin
|
|||||||
lblFieldMappings.Left := FieldMappingsLB.Left;
|
lblFieldMappings.Left := FieldMappingsLB.Left;
|
||||||
btnDeleteMapping.Left := ClientWidth - DatasetFieldLB.Left - btnDeleteMapping.Width;
|
btnDeleteMapping.Left := ClientWidth - DatasetFieldLB.Left - btnDeleteMapping.Width;
|
||||||
btnClearMappings.Left := btnDeleteMapping.Left;
|
btnClearMappings.Left := btnDeleteMapping.Left;
|
||||||
btnClose.Left := w - DatasetFieldLB.Width - btnClose.Width;
|
BtnCancel.Left := w - DatasetFieldLB.Width - BtnCancel.Width;
|
||||||
|
BtnOK.Left := BtnCancel.Left - DELTA - BtnOK.Width;
|
||||||
end;
|
end;
|
||||||
lblVPFieldsAvail.Left := RightOf(VPFieldLB) - GetLabelWidth(lblVPFieldsAvail);
|
lblVPFieldsAvail.Left := RightOf(VPFieldLB) - GetLabelWidth(lblVPFieldsAvail);
|
||||||
end;
|
end;
|
||||||
@ -557,12 +586,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
procedure TfrmFieldMapper.BtnCloseClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
Close;
|
|
||||||
end;
|
|
||||||
{=====}
|
|
||||||
|
|
||||||
procedure TfrmFieldMapper.Button5Click(Sender: TObject);
|
procedure TfrmFieldMapper.Button5Click(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
// Help;
|
// Help;
|
||||||
|
Reference in New Issue
Block a user