summaryrefslogtreecommitdiff
path: root/plugins/Actman/iac_.pas
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Actman/iac_.pas')
-rw-r--r--plugins/Actman/iac_.pas155
1 files changed, 155 insertions, 0 deletions
diff --git a/plugins/Actman/iac_.pas b/plugins/Actman/iac_.pas
new file mode 100644
index 0000000000..5a47ba96a1
--- /dev/null
+++ b/plugins/Actman/iac_.pas
@@ -0,0 +1,155 @@
+unit iac_;
+
+interface
+
+implementation
+
+uses windows, iac_global, mirutils;
+
+
+type
+ = class(tBaseAction)
+
+ constructor Create(uid:dword);
+ destructor Destroy; override;
+ function Clone:tBaseAction; override;
+ function DoAction(var WorkData:tWorkData):LRESULT; override;
+ procedure Save(node:pointer;fmt:integer); override;
+ procedure Load(node:pointer;fmt:integer); override;
+ end;
+
+//----- Support functions -----
+
+//----- Object realization -----
+
+constructor .Create(uid:dword);
+begin
+ inherited Create(uid);
+end;
+
+destructor .Destroy;
+begin
+
+ inherited Destroy;
+end;
+
+function .Clone:tBaseAction;
+begin
+ result:=.Create(0);
+ Duplicate(result);
+
+end;
+
+function .DoAction(var WorkData:tWorkData):LRESULT;
+begin
+ result:=0;
+end;
+
+procedure .Load(node:pointer;fmt:integer);
+var
+ section: array [0..127] of AnsiChar;
+ pc:pAnsiChar;
+begin
+ inherited Load(node,fmt);
+ case fmt of
+ 0: begin
+ pc:=StrCopyE(section,pAnsiChar(node));
+ end;
+{
+ 1: begin
+ end;
+}
+ end;
+end;
+
+procedure .Save(node:pointer;fmt:integer);
+var
+ section: array [0..127] of AnsiChar;
+ pc:pAnsiChar;
+begin
+ inherited Save(node,fmt);
+ case fmt of
+ 0: begin
+ pc:=StrCopyE(section,pAnsiChar(node));
+ end;
+{
+ 1: begin
+ end;
+}
+ end;
+end;
+
+//----- Dialog realization -----
+
+procedure ClearFields(Dialog:HWND);
+begin
+end;
+
+function DlgProc(Dialog:HWND;hMessage:uint;wParam:WPARAM;lParam:LPARAM):LRESULT; stdcall;
+begin
+ result:=0;
+
+ case hMessage of
+ WM_INITDIALOG: begin
+ TranslateDialogDefault(Dialog);
+ end;
+
+ WM_ACT_SETVALUE: begin
+ ClearFields(Dialog);
+ with (lParam) do
+ begin
+ end;
+ end;
+
+ WM_ACT_RESET: begin
+ ClearFields(Dialog);
+ end;
+
+ WM_ACT_SAVE: begin
+ with (lParam) do
+ begin
+ end;
+ end;
+
+ WM_COMMAND: begin
+ case wParam shr 16 of
+ end;
+ end;
+
+ WM_HELP: begin
+ result:=1;
+ end;
+
+ end;
+end;
+
+//----- Export/interface functions -----
+
+var
+ vc:tActModule;
+
+function CreateAction:tBaseAction;
+begin
+ result:=.Create(vc.Hash);
+end;
+
+function CreateDialog(parent:HWND):HWND;
+begin
+ result:=CreateDialogW(hInstance,,parent,@DlgProc);
+end;
+
+procedure Init;
+begin
+ vc.Next :=ModuleLink;
+
+ vc.Name :=;
+ vc.Dialog :=@CreateDialog;
+ vc.Create :=@CreateAction;
+ vc.Icon :=;
+
+ ModuleLink :=@vc;
+end;
+
+begin
+ Init;
+end.