expertcad/SRC/SCSNormBase/U_ComponentIcons.pas
2025-05-12 10:07:51 +03:00

152 lines
4.5 KiB
ObjectPascal

unit U_ComponentIcons;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxEdit,
DB, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
StdCtrls, U_BaseCommon, XPMenu, ComCtrls, ToolWin, ActnList, ActnMan,
cxLookAndFeelPainters, cxButtons, cxEditRepositoryItems, ExtCtrls,
cxDataStorage, cxImage, cxSpinEdit, cxCheckBox, cxCurrencyEdit,
cxColorComboBox, cxDBLookupComboBox, cxTextEdit;
type
TF_ComponentIcons = class(TForm)
GroupBox1: TGroupBox;
GT_ComponentIcons: TcxGridDBTableView;
GL_ComponentIcons: TcxGridLevel;
Grid_ComponentIcons: TcxGrid;
ToolBar1: TToolBar;
ToolButton2: TToolButton;
XPMenu1: TXPMenu;
ActionManager1: TActionManager;
GT_ComponentIconsName: TcxGridDBColumn;
GT_ComponentIconsIcon: TcxGridDBColumn;
Act_AddIcon: TAction;
Act_EditIcon: TAction;
Act_DelIcon: TAction;
ToolButton4: TToolButton;
Button_Close: TcxButton;
ToolButton1: TToolButton;
Panel_OKCancel: TPanel;
Button_OK: TcxButton;
Button_Cancel: TcxButton;
procedure FormShow(Sender: TObject);
procedure Act_AddIconExecute(Sender: TObject);
procedure Act_EditIconExecute(Sender: TObject);
procedure Act_DelIconExecute(Sender: TObject);
private
{ Private declarations }
public
GForm: TForm;
//GDelIDsList: TStringList;
procedure AddEdit(AAddEdit: TMakeEdit);
procedure EnableEditDel;
constructor Create(AOwner: TComponent; AForm: TForm);
destructor Destroy; override;
end;
//var
//F_ComponentIcons: TF_ComponentIcons;
implementation
Uses Unit_DM_SCS, U_Main, U_CaseForm;
{$R *.dfm}
{ TF_ComponentIcons }
// ##### Ðàçðåøèòü/Çàïðåòèòü ðåäàêòèðîâàíèå/óäàëåíèå #####
procedure TF_ComponentIcons.EnableEditDel;
begin
if (GForm as TF_Main).DM.MemTable_ComponentIcons.RecordCount = 0 then
begin
//Act_EditIcon.Enabled := false;
Act_DelIcon.Enabled := false;
end
else
begin
//Act_EditIcon.Enabled := true;
Act_DelIcon.Enabled := true;
end
end;
// ##### Äîáàâèòü / èçìåíèòü óñëîâíîå îáîçíà÷åíèå #####
procedure TF_ComponentIcons.AddEdit(AAddEdit: TMakeEdit);
var NPP_IDObjIcon: Integer;
begin
with (GForm as TF_Main) do
begin
F_NormBase.F_CaseForm.GFormMode := fmEdit;
F_NormBase.F_CaseForm.GViewKind := vkObjectIcons;
F_NormBase.F_CaseForm.GUseMemTable := DM.MemTable_ComponentIcons;
if F_NormBase.F_CaseForm.ShowModal = mrOk then
begin
NPP_IDObjIcon := F_NormBase.DM.DataSet_OBJECT_ICONS.FN('NPP_ID').AsInteger;
DM.SelectCompIconsByNPP(NPP_IDObjIcon);
DM.MemTable_ComponentIcons.First;
end;
end;
EnableEditDel;
end;
// #############################################################################
// #############################################################################
constructor TF_ComponentIcons.Create(AOwner: TComponent; AForm: TForm);
begin
GForm := AForm;
inherited Create(AOwner);
end;
destructor TF_ComponentIcons.Destroy;
begin
inherited; //
end;
procedure TF_ComponentIcons.FormShow(Sender: TObject);
begin
Caption := 'Óñëîâíûå îáîçíà÷åíèÿ êîìïîíåíòû';
end;
// ##### Äîáàâèòü óñëîâíîå îáîçíà÷åíèå #####
procedure TF_ComponentIcons.Act_AddIconExecute(Sender: TObject);
begin
AddEdit(meAdd);
end;
// ##### Èçìåíèòü óñëîâíîå îáîçíà÷åíèå #####
procedure TF_ComponentIcons.Act_EditIconExecute(Sender: TObject);
begin
AddEdit(meEdit);
end;
// ##### Óáðàòü óñëîâíîå îáîçíà÷åíèå #####
procedure TF_ComponentIcons.Act_DelIconExecute(Sender: TObject);
begin
(*if MessageBox(Application.Handle, 'Óáðàòü óñëîâíîå îáîçíà÷åíèå?',
'Óäàëåíèå óñëîâíîãî îáîçíà÷åíèÿ', MB_ICONQUESTION or MB_YESNO ) = IDYES then
with (GForm as TF_Main).DM do
begin
{if GDelIDsList <> nil then
GDelIDsList.Add(IntToStr(MemTable_ComponentIcons.FieldByName('ID').AsInteger) );}
MemTable_ComponentIcons.Delete;
EnableEditDel;
end; *)
//*** Óäàëèòü ïðåäâåäóùèå èêîíêè
(GForm as TF_Main).DM.MemTable_ComponentIcons.Active := false;
(GForm as TF_Main).DM.MemTable_ComponentIcons.Active := true;
EnableEditDel;
end;
end.