mirror of
http://gitlab.expertsoft.com.ua/git/expertcad
synced 2026-01-11 22:45:39 +02:00
147 lines
6.8 KiB
ObjectPascal
147 lines
6.8 KiB
ObjectPascal
unit U_DMCommon;
|
||
|
||
interface
|
||
|
||
uses
|
||
U_BaseCommon, U_BaseConstants, SysUtils, Classes, DB, FIBDataSet, pFIBDataSet, FIBDatabase, pFIBDatabase, pFIBProps,
|
||
kbmMemTable, cxEditRepositoryItems, cxExtEditRepositoryItems,
|
||
cxDBEditRepository, cxEdit, ImgList, Controls, cxClasses;
|
||
|
||
type
|
||
TDMCommon = class(TDataModule)
|
||
mtConnectionRelType: TkbmMemTable;
|
||
dsrcConnectionRelType: TDataSource;
|
||
erPropValue: TcxEditRepository;
|
||
EditRepositoryCheckBoxItem: TcxEditRepositoryCheckBoxItem;
|
||
EditRepositorySpinItem: TcxEditRepositorySpinItem;
|
||
EditRepositoryDateItem: TcxEditRepositoryDateItem;
|
||
EditRepositoryLookupCompSateType: TcxEditRepositoryLookupComboBoxItem;
|
||
EditRepositoryButtonItem: TcxEditRepositoryButtonItem;
|
||
EditRepositoryComboBoxItem: TcxEditRepositoryComboBoxItem;
|
||
EditRepositoryMRUItem: TcxEditRepositoryMRUItem;
|
||
EditRepositoryColorComboBox: TcxEditRepositoryColorComboBox;
|
||
EditRepositoryLookupCableCanalElementType: TcxEditRepositoryLookupComboBoxItem;
|
||
EditRepositoryCurrencyItemForFloat: TcxEditRepositoryCurrencyItem;
|
||
EditRepositoryMaskItemSectionSide: TcxEditRepositoryMaskItem;
|
||
EditRepositorySpinItemInt: TcxEditRepositorySpinItem;
|
||
EditRepositoryImageComboBoxTubeConnectKind: TcxEditRepositoryImageComboBoxItem;
|
||
mtCompStateType: TkbmMemTable;
|
||
dsrcCompStateType: TDataSource;
|
||
dsrcCableCanalElementType: TDataSource;
|
||
mtCableCanalElementType: TkbmMemTable;
|
||
mtPlaneMaterialType: TkbmMemTable;
|
||
dsrcPlaneMaterialType: TDataSource;
|
||
erLookupPlaneMaterialType: TcxEditRepositoryLookupComboBoxItem;
|
||
mtRoofHipType: TkbmMemTable;
|
||
dsrcRoofHipType: TDataSource;
|
||
mtRoofHipApexType: TkbmMemTable;
|
||
dsrcRoofHipApexType: TDataSource;
|
||
erLookupRoofHipType: TcxEditRepositoryLookupComboBoxItem;
|
||
mtRoofHipValleyType: TkbmMemTable;
|
||
dsrcRoofHipValleyType: TDataSource;
|
||
erLookupRoofHipApexType: TcxEditRepositoryLookupComboBoxItem;
|
||
erLookupRoofHipValleyType: TcxEditRepositoryLookupComboBoxItem;
|
||
ImageList_Tree: TImageList;
|
||
procedure DataModuleCreate(Sender: TObject);
|
||
private
|
||
{ Private declarations }
|
||
public
|
||
procedure DefineMTLookupFields(AMT: TkbmMemTable);
|
||
procedure RelateLookupRepository(ALookup: TcxEditRepositoryLookupComboBoxItem; ADataSource: TDataSource);
|
||
end;
|
||
|
||
var
|
||
DMCommon: TDMCommon;
|
||
|
||
implementation
|
||
|
||
{$R *.dfm}
|
||
|
||
procedure TDMCommon.DataModuleCreate(Sender: TObject);
|
||
begin
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
DefineMTLookupFields(mtConnectionRelType);
|
||
AppendIDNameToMemTable(crtDirect, crtnDirect, mtConnectionRelType);
|
||
AppendIDNameToMemTable(crtReverse, crtnReverse, mtConnectionRelType);
|
||
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
DefineMTLookupFields(mtCompStateType);
|
||
AppendIDNameToMemTable(oitProjectible, cDM_Msg1, mtCompStateType);
|
||
AppendIDNameToMemTable(oitActive, cDM_Msg2, mtCompStateType);
|
||
RelateLookupRepository(EditRepositoryLookupCompSateType, dsrcCompStateType);
|
||
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
DefineMTLookupFields(mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contCork, ctnCork, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contAnglePlane, ctnAnglePlane, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contTjoin, ctnTjoin, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contAngleIn, ctnAngleIn, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contAngleOut, ctnAngleOut, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contADapter, ctnADapter, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contConnector, ctnConnector, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contWallCork, ctnWallCork, mtCableCanalElementType);
|
||
AppendIDNameToMemTable(contCross, ctnCross, mtCableCanalElementType);
|
||
RelateLookupRepository(EditRepositoryLookupCableCanalElementType, dsrcCableCanalElementType);
|
||
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
DefineMTLookupFields(mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtNone, '', mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtSheetSlate, pmtnSheetSlate, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtSheetSteel, pmtnSheetSteel, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtRoller, pmtnRoller, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtTileMetal, pmtnTileMetal, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtTileCeramic, pmtnTileCeramic, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtTileBitumen, pmtnTileBitumen, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtTileInterlocking, pmtnTileInterlocking, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtOndura, pmtnOndura, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtOnduline, pmtnOnduline, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtFronton, pmtnFronton, mtPlaneMaterialType);
|
||
AppendIDNameToMemTable(pmtRoofBase, pmtnRoofBase, mtPlaneMaterialType);
|
||
RelateLookupRepository(erLookupPlaneMaterialType, dsrcPlaneMaterialType);
|
||
|
||
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
DefineMTLookupFields(mtRoofHipType);
|
||
AppendIDNameToMemTable(rhtNone, '', mtRoofHipType);
|
||
AppendIDNameToMemTable(rhtApex, rhtnApex, mtRoofHipType);
|
||
AppendIDNameToMemTable(rhtValley, rhtnValley, mtRoofHipType);
|
||
AppendIDNameToMemTable(rhtEaves, rhtnEaves, mtRoofHipType);
|
||
AppendIDNameToMemTable(rhtEnd, rhtnEnd, mtRoofHipType);
|
||
AppendIDNameToMemTable(rhtJunction, rhtnJunction, mtRoofHipType);
|
||
AppendIDNameToMemTable(rhtRoofHip, rhtnRoofHip, mtRoofHipType);
|
||
RelateLookupRepository(erLookupRoofHipType, dsrcRoofHipType);
|
||
|
||
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
DefineMTLookupFields(mtRoofHipApexType);
|
||
AppendIDNameToMemTable(rhatNone, '', mtRoofHipApexType);
|
||
AppendIDNameToMemTable(rhatLargeRound, rhatnLargeRound, mtRoofHipApexType);
|
||
AppendIDNameToMemTable(rhatSmallRound, rhatnSmallRound, mtRoofHipApexType);
|
||
AppendIDNameToMemTable(rhatTrapezoidal, rhatnTrapezoidal, mtRoofHipApexType);
|
||
AppendIDNameToMemTable(rhatTriangularStraight, rhatnTriangularStraight, mtRoofHipApexType);
|
||
AppendIDNameToMemTable(rhatStraight, rhatnStraight, mtRoofHipApexType);
|
||
RelateLookupRepository(erLookupRoofHipApexType, dsrcRoofHipApexType);
|
||
|
||
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
DefineMTLookupFields(mtRoofHipValleyType);
|
||
AppendIDNameToMemTable(rhvtNone, '', mtRoofHipValleyType);
|
||
AppendIDNameToMemTable(rhvtDeep, rhvtnDeep, mtRoofHipValleyType);
|
||
AppendIDNameToMemTable(rhvtDecorative, rhvtnDecorative, mtRoofHipValleyType);
|
||
AppendIDNameToMemTable(rhvtLarge, rhvtnLarge, mtRoofHipValleyType);
|
||
RelateLookupRepository(erLookupRoofHipValleyType, dsrcRoofHipValleyType);
|
||
end;
|
||
|
||
procedure TDMCommon.DefineMTLookupFields(AMT: TkbmMemTable);
|
||
begin
|
||
AMT.FieldDefs.Add(fnID, ftInteger);
|
||
AMT.FieldDefs.Add(fnName, ftString, 255);
|
||
AMT.Active := true;
|
||
end;
|
||
|
||
procedure TDMCommon.RelateLookupRepository(ALookup: TcxEditRepositoryLookupComboBoxItem; ADataSource: TDataSource);
|
||
begin
|
||
ALookup.Properties.KeyFieldNames := fnID;
|
||
ALookup.Properties.ListFieldNames := fnName;
|
||
ALookup.Properties.ListSource := ADataSource;
|
||
end;
|
||
|
||
end.
|