понедельник, 3 августа 2015 г.

Briefly. I made axiomatic description partly on Delphi, partly on scripts

Original in Russian http://programmingmindstream.blogspot.com/2015/07/dephi.html

Follow-up to – Briefly. Wonder of words redefining.

Briefly. I made axiomatic description partly on Delphi, partly on scripts.

I also made binding generated from the model.

It looks as follows:

https://bitbucket.org/lulinalex/mindstream/commits/58dc1f79b8592717091c559c7cf0f8d509dbe97d

vtComboBoxWordsPack.pas:

unit vtComboBoxWordsPack;
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Library "ScriptEngine$VT"
// Unit: "vtComboBoxWordsPack.pas"
// Native Delphi interfaces (.pas)
// Generated from UML model, root element: ScriptKeywordsPack::Class Shared Delphi::ScriptEngine$VT::vtComboBoxWords::vtComboBoxWordsPack
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
{$Include ..\ScriptEngine\seDefine.inc}
 
interface
 
{$If not defined(NoScripts)}
uses
  StdCtrls,
  tfwScriptingInterfaces,
  tfwRegisterableWord,
  vtComboTree,
  tfwAxiomaticsResNameGetter
  ;
 
{$IfEnd} //not NoScripts
 
implementation
 
{$If not defined(NoScripts)}
uses
  tfwAxiomaticsResNameGetters,
  vtComboBoxQS,
  l3TreeInterfaces,
  l3Filer,
  l3Types,
  l3Interfaces,
  SysUtils,
  TypInfo,
  tfwTypeRegistrator
  ;
 
type
//#UC START# *D1FD416FEE23ci*
//#UC END# *D1FD416FEE23ci*
 TvtComboBoxWordsPackResNameGetter = {final} class(TtfwAxiomaticsResNameGetter)
  {* Registration of script axiomatic }
 public
 // realized methods
   class function ResName: AnsiString; override;
//#UC START# *D1FD416FEE23publ*
//#UC END# *D1FD416FEE23publ*
 end;//TvtComboBoxWordsPackResNameGetter
 
// start class TvtComboBoxWordsPackResNameGetter
 
class function TvtComboBoxWordsPackResNameGetter.ResName: AnsiString;
 {-}
begin
 Result := 'vtComboBoxWordsPack';
end;//TvtComboBoxWordsPackResNameGetter.ResName
 
 {$R vtComboBoxWordsPack.res vtComboBoxWordsPack.rc}
 
type
 TCustomComboBoxFriend = {abstract} class(TCustomComboBox)
  {* Friend of TCustomComboBox }
 end;//TCustomComboBoxFriend
 
 TkwPopComboBoxDropDown = {final scriptword} class(TtfwRegisterableWord)
  {* word of script pop:ComboBox:DropDown
*Example:*
[code]
 aValue aComboBox pop:ComboBox:DropDown
[code]  }
 private
 // private methods
   procedure DropDown(const aCtx: TtfwContext;
    aComboBox: TCustomComboBox;
    aValue: Boolean);
     {* Implementation of the script word pop:ComboBox:DropDown }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboBoxDropDown
 
// start class TkwPopComboBoxDropDown
 
procedure TkwPopComboBoxDropDown.DropDown(const aCtx: TtfwContext;
  aComboBox: TCustomComboBox;
  aValue: Boolean);
//#UC START# *D4660B294082_B7676CD1AAB3_var*
//#UC END# *D4660B294082_B7676CD1AAB3_var*
begin
//#UC START# *D4660B294082_B7676CD1AAB3_impl*
 aCombobox.DroppedDown := aValue;
//#UC END# *D4660B294082_B7676CD1AAB3_impl*
end;//TkwPopComboBoxDropDown.DropDown
 
procedure TkwPopComboBoxDropDown.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboBox : TCustomComboBox;
 l_aValue : Boolean;
begin
 try
  l_aComboBox := TCustomComboBox(aCtx.rEngine.PopObjAs(TCustomComboBox));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboBox: TCustomComboBox : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aValue := (aCtx.rEngine.PopBool);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aValue: Boolean : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 DropDown(aCtx, l_aComboBox, l_aValue);
end;//TkwPopComboBoxDropDown.DoDoIt
 
class function TkwPopComboBoxDropDown.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboBox:DropDown';
end;//TkwPopComboBoxDropDown.GetWordNameForRegister
 
function TkwPopComboBoxDropDown.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboBoxDropDown.GetResultTypeInfo
 
type
 TkwPopComboBoxGetItemIndex = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboBox:GetItemIndex
*Type of result:* Integer
*Example:*
[code]
INTEGER VAR l_Integer
 aComboBox pop:ComboBox:GetItemIndex >>> l_Integer
[code]  }
 private
 // private methods
   function GetItemIndex(const aCtx: TtfwContext;
    aComboBox: TCustomComboBox): Integer;
     {* Implementation of script word pop:ComboBox:GetItemIndex }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboBoxGetItemIndex
 
// start class TkwPopComboBoxGetItemIndex
 
function TkwPopComboBoxGetItemIndex.GetItemIndex(const aCtx: TtfwContext;
  aComboBox: TCustomComboBox): Integer;
//#UC START# *0DE7BD329B92_731890DC5F90_var*
//#UC END# *0DE7BD329B92_731890DC5F90_var*
begin
//#UC START# *0DE7BD329B92_731890DC5F90_impl*
 Result := aCombobox.ItemIndex;
//#UC END# *0DE7BD329B92_731890DC5F90_impl*
end;//TkwPopComboBoxGetItemIndex.GetItemIndex
 
procedure TkwPopComboBoxGetItemIndex.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboBox : TCustomComboBox;
begin
 try
  l_aComboBox := TCustomComboBox(aCtx.rEngine.PopObjAs(TCustomComboBox));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboBox: TCustomComboBox : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushInt((GetItemIndex(aCtx, l_aComboBox)));
end;//TkwPopComboBoxGetItemIndex.DoDoIt
 
class function TkwPopComboBoxGetItemIndex.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboBox:GetItemIndex';
end;//TkwPopComboBoxGetItemIndex.GetWordNameForRegister
 
function TkwPopComboBoxGetItemIndex.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := TypeInfo(Integer);
end;//TkwPopComboBoxGetItemIndex.GetResultTypeInfo
 
type
 TkwPopComboBoxIndexOf = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboBox:IndexOf
* Type of result:* Integer
*Example:*
[code]
INTEGER VAR l_Integer
 aString aComboBox pop:ComboBox:IndexOf >>> l_Integer
[code]  }
 private
 // private methods
   function IndexOf(const aCtx: TtfwContext;
    aComboBox: TCustomComboBox;
    const aString: AnsiString): Integer;
     {* Implementation of the script word pop:ComboBox:IndexOf }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboBoxIndexOf
 
// start class TkwPopComboBoxIndexOf
 
function TkwPopComboBoxIndexOf.IndexOf(const aCtx: TtfwContext;
  aComboBox: TCustomComboBox;
  const aString: AnsiString): Integer;
//#UC START# *56A99D643C95_697C86093610_var*
//#UC END# *56A99D643C95_697C86093610_var*
begin
//#UC START# *56A99D643C95_697C86093610_impl*
 Result := aCombobox.Items.IndexOf(aString);
//#UC END# *56A99D643C95_697C86093610_impl*
end;//TkwPopComboBoxIndexOf.IndexOf
 
procedure TkwPopComboBoxIndexOf.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboBox : TCustomComboBox;
 l_aString : AnsiString;
begin
 try
  l_aComboBox := TCustomComboBox(aCtx.rEngine.PopObjAs(TCustomComboBox));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboBox: TCustomComboBox : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aString := (aCtx.rEngine.PopDelphiString);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aString: AnsiString : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushInt((IndexOf(aCtx, l_aComboBox, l_aString)));
end;//TkwPopComboBoxIndexOf.DoDoIt
 
class function TkwPopComboBoxIndexOf.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboBox:IndexOf';
end;//TkwPopComboBoxIndexOf.GetWordNameForRegister
 
function TkwPopComboBoxIndexOf.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := TypeInfo(Integer);
end;//TkwPopComboBoxIndexOf.GetResultTypeInfo
 
type
 TkwPopComboBoxSelectItem = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboBox:SelectItem
*Example:*
[code]
 aString aComboBox pop:ComboBox:SelectItem
[code]  }
 private
 // private methods
   procedure SelectItem(const aCtx: TtfwContext;
    aComboBox: TCustomComboBox;
    const aString: AnsiString);
     {* Implementation of the script word pop:ComboBox:SelectItem }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboBoxSelectItem
 
// start class TkwPopComboBoxSelectItem
 
procedure TkwPopComboBoxSelectItem.SelectItem(const aCtx: TtfwContext;
  aComboBox: TCustomComboBox;
  const aString: AnsiString);
//#UC START# *BC0BF0E96B69_E94AE4FC3D32_var*
//#UC END# *BC0BF0E96B69_E94AE4FC3D32_var*
begin
//#UC START# *BC0BF0E96B69_E94AE4FC3D32_impl*
 TCustomComboBoxFriend(aCombobox).SelectItem(aString);
//#UC END# *BC0BF0E96B69_E94AE4FC3D32_impl*
end;//TkwPopComboBoxSelectItem.SelectItem
 
procedure TkwPopComboBoxSelectItem.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboBox : TCustomComboBox;
 l_aString : AnsiString;
begin
 try
  l_aComboBox := TCustomComboBox(aCtx.rEngine.PopObjAs(TCustomComboBox));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboBox: TCustomComboBox : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aString := (aCtx.rEngine.PopDelphiString);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aString: AnsiString : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 SelectItem(aCtx, l_aComboBox, l_aString);
end;//TkwPopComboBoxSelectItem.DoDoIt
 
class function TkwPopComboBoxSelectItem.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboBox:SelectItem';
end;//TkwPopComboBoxSelectItem.GetWordNameForRegister
 
function TkwPopComboBoxSelectItem.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboBoxSelectItem.GetResultTypeInfo
 
type
 TkwPopComboBoxSetItemIndex = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboBox:SetItemIndex
*Example:*
[code]
 anIndex aComboBox pop:ComboBox:SetItemIndex
[code]  }
 private
 // private methods
   procedure SetItemIndex(const aCtx: TtfwContext;
    aComboBox: TCustomComboBox;
    anIndex: Integer);
     {* Implementation of the script word pop:ComboBox:SetItemIndex }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboBoxSetItemIndex
 
// start class TkwPopComboBoxSetItemIndex
 
procedure TkwPopComboBoxSetItemIndex.SetItemIndex(const aCtx: TtfwContext;
  aComboBox: TCustomComboBox;
  anIndex: Integer);
//#UC START# *589DC0B1C0D3_DF10F6F55A61_var*
//#UC END# *589DC0B1C0D3_DF10F6F55A61_var*
begin
//#UC START# *589DC0B1C0D3_DF10F6F55A61_impl*
 aCombobox.ItemIndex := anIndex;
 TCustomComboBoxFriend(aCombobox).Select;
//#UC END# *589DC0B1C0D3_DF10F6F55A61_impl*
end;//TkwPopComboBoxSetItemIndex.SetItemIndex
 
procedure TkwPopComboBoxSetItemIndex.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboBox : TCustomComboBox;
 l_anIndex : Integer;
begin
 try
  l_aComboBox := TCustomComboBox(aCtx.rEngine.PopObjAs(TCustomComboBox));
 except
  on E: Exception do
  begin
   RunnerError(‘Error getting a parameter aComboBox: TCustomComboBox : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_anIndex := (aCtx.rEngine.PopInt);
 except
  on E: Exception do
  begin
   RunnerError(‘Error getting a parameter anIndex: Integer : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 SetItemIndex(aCtx, l_aComboBox, l_anIndex);
end;//TkwPopComboBoxSetItemIndex.DoDoIt
 
class function TkwPopComboBoxSetItemIndex.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboBox:SetItemIndex';
end;//TkwPopComboBoxSetItemIndex.GetWordNameForRegister
 
function TkwPopComboBoxSetItemIndex.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboBoxSetItemIndex.GetResultTypeInfo
 
type
 TkwPopComboBoxSaveItems = {final scriptword} class(TtfwRegisterableWord)
  {* Word of script pop:ComboBox:SaveItems
[panel]*Format:* file_name  control pop:ComboBox:SaveItems 
*Description:* Saves all items of the combobox (set by control parameter) to the file (set by parameter file_name) and compares to the template.
*Example:*
[code]
'MyList.cmbx' 'StyleComboBox' byname:control:push pop:ComboBox:SaveItems
[code] 
*Result:* Saves combobox contents 'StyleComboBox' to the file 'MyList.cmbx' and compares to the template.[panel]
*Example:*
[code]
 aFileName aComboBox pop:ComboBox:SaveItems
[code]  }
 private
 // private methods
   procedure SaveItems(const aCtx: TtfwContext;
    aComboBox: TCustomComboBox;
    const aFileName: AnsiString);
     {* Implementation of the script word pop:ComboBox:SaveItems }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboBoxSaveItems
 
// start class TkwPopComboBoxSaveItems
 
procedure TkwPopComboBoxSaveItems.SaveItems(const aCtx: TtfwContext;
  aComboBox: TCustomComboBox;
  const aFileName: AnsiString);
//#UC START# *414096239FD4_F4F78563FAA5_var*
var
 l_S: AnsiString;
 l_Filer : Tl3CustomDosFiler;
 I: Integer;
 l_Count: Integer;
//#UC END# *414096239FD4_F4F78563FAA5_var*
begin
//#UC START# *414096239FD4_F4F78563FAA5_impl*
 l_S := aCtx.rCaller.ResolveOutputFilePath(aFileName);
 l_S := ChangeFileExt(l_S, '.cmbx');
 l_Filer := Tl3CustomDosFiler.Make(l_S, l3_fmWrite, false);
 try
  l_Filer.Open;
  try
   l_Count := aCombobox.Items.Count;
   for I := 0 to l_Count - 1 do
    l_Filer.WriteLn(aCombobox.Items[I]);
  finally
   l_Filer.Close;
  end;
 finally
  FreeAndNil(l_Filer);
 end;//try..finally
//#UC END# *414096239FD4_F4F78563FAA5_impl*
end;//TkwPopComboBoxSaveItems.SaveItems
 
procedure TkwPopComboBoxSaveItems.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboBox : TCustomComboBox;
 l_aFileName : AnsiString;
begin
 try
  l_aComboBox := TCustomComboBox(aCtx.rEngine.PopObjAs(TCustomComboBox));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboBox: TCustomComboBox : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aFileName := (aCtx.rEngine.PopDelphiString);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aFileName: AnsiString : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 SaveItems(aCtx, l_aComboBox, l_aFileName);
end;//TkwPopComboBoxSaveItems.DoDoIt
 
class function TkwPopComboBoxSaveItems.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboBox:SaveItems';
end;//TkwPopComboBoxSaveItems.GetWordNameForRegister
 
function TkwPopComboBoxSaveItems.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboBoxSaveItems.GetResultTypeInfo
 
type
 TkwPopComboTreeDropDown = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboTree:DropDown
*Example:*
[code]
 aValue aComboTree pop:ComboTree:DropDown
[code]  }
 private
 // private methods
   procedure DropDown(const aCtx: TtfwContext;
    aComboTree: TvtComboTree;
    aValue: Boolean);
     {* Implementation of the script word pop:ComboTree:DropDown }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboTreeDropDown
 
// start class TkwPopComboTreeDropDown
 
procedure TkwPopComboTreeDropDown.DropDown(const aCtx: TtfwContext;
  aComboTree: TvtComboTree;
  aValue: Boolean);
//#UC START# *BB9DD9C656EE_CBB40EABEDB6_var*
//#UC END# *BB9DD9C656EE_CBB40EABEDB6_var*
begin
//#UC START# *BB9DD9C656EE_CBB40EABEDB6_impl*
 aComboTree.Dropped := aValue;
//#UC END# *BB9DD9C656EE_CBB40EABEDB6_impl*
end;//TkwPopComboTreeDropDown.DropDown
 
procedure TkwPopComboTreeDropDown.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboTree : TvtComboTree;
 l_aValue : Boolean;
begin
 try
  l_aComboTree := TvtComboTree(aCtx.rEngine.PopObjAs(TvtComboTree));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboTree: TvtComboTree : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aValue := (aCtx.rEngine.PopBool);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aValue: Boolean : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 DropDown(aCtx, l_aComboTree, l_aValue);
end;//TkwPopComboTreeDropDown.DoDoIt
 
class function TkwPopComboTreeDropDown.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboTree:DropDown';
end;//TkwPopComboTreeDropDown.GetWordNameForRegister
 
function TkwPopComboTreeDropDown.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboTreeDropDown.GetResultTypeInfo
 
type
 TkwPopComboTreeGetItemIndex = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboTree:GetItemIndex
*Type of result:* Integer
*Example:*
[code]
INTEGER VAR l_Integer
 aComboTree pop:ComboTree:GetItemIndex >>> l_Integer
[code]  }
 private
 // private methods
   function GetItemIndex(const aCtx: TtfwContext;
    aComboTree: TvtComboTree): Integer;
     {* Implementation of the script word pop:ComboTree:GetItemIndex }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboTreeGetItemIndex
 
// start class TkwPopComboTreeGetItemIndex
 
function TkwPopComboTreeGetItemIndex.GetItemIndex(const aCtx: TtfwContext;
  aComboTree: TvtComboTree): Integer;
//#UC START# *1C4FCF6402FE_FDB2008A1DAA_var*
//#UC END# *1C4FCF6402FE_FDB2008A1DAA_var*
begin
//#UC START# *1C4FCF6402FE_FDB2008A1DAA_impl*
 if Assigned(aComboTree.ChoosenValue) then
  Result := aComboTree.FindIndexOf(aComboTree.ChoosenValue)
 else
  Result := aComboTree.ItemIndex;
//#UC END# *1C4FCF6402FE_FDB2008A1DAA_impl*
end;//TkwPopComboTreeGetItemIndex.GetItemIndex
 
procedure TkwPopComboTreeGetItemIndex.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboTree : TvtComboTree;
begin
 try
  l_aComboTree := TvtComboTree(aCtx.rEngine.PopObjAs(TvtComboTree));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboTree: TvtComboTree : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushInt((GetItemIndex(aCtx, l_aComboTree)));
end;//TkwPopComboTreeGetItemIndex.DoDoIt
 
class function TkwPopComboTreeGetItemIndex.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboTree:GetItemIndex';
end;//TkwPopComboTreeGetItemIndex.GetWordNameForRegister
 
function TkwPopComboTreeGetItemIndex.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := TypeInfo(Integer);
end;//TkwPopComboTreeGetItemIndex.GetResultTypeInfo
 
type
 TkwPopComboTreeIndexOf = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboTree:IndexOf
*Type of result:* Integer
*Example:*
[code]
INTEGER VAR l_Integer
 aString aComboTree pop:ComboTree:IndexOf >>> l_Integer
[code]  }
 private
 // private methods
   function IndexOf(const aCtx: TtfwContext;
    aComboTree: TvtComboTree;
    const aString: AnsiString): Integer;
     {* Implementation of the script word pop:ComboTree:IndexOf }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboTreeIndexOf
 
// start class TkwPopComboTreeIndexOf
 
function TkwPopComboTreeIndexOf.IndexOf(const aCtx: TtfwContext;
  aComboTree: TvtComboTree;
  const aString: AnsiString): Integer;
//#UC START# *6E676C6B7B53_C0C842FB1A8C_var*
//#UC END# *6E676C6B7B53_C0C842FB1A8C_var*
begin
//#UC START# *6E676C6B7B53_C0C842FB1A8C_impl*
 Result := aComboTree.Items.IndexOf(aString);
//#UC END# *6E676C6B7B53_C0C842FB1A8C_impl*
end;//TkwPopComboTreeIndexOf.IndexOf
 
procedure TkwPopComboTreeIndexOf.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboTree : TvtComboTree;
 l_aString : AnsiString;
begin
 try
  l_aComboTree := TvtComboTree(aCtx.rEngine.PopObjAs(TvtComboTree));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboTree: TvtComboTree : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aString := (aCtx.rEngine.PopDelphiString);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aString: AnsiString : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushInt((IndexOf(aCtx, l_aComboTree, l_aString)));
end;//TkwPopComboTreeIndexOf.DoDoIt
 
class function TkwPopComboTreeIndexOf.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboTree:IndexOf';
end;//TkwPopComboTreeIndexOf.GetWordNameForRegister
 
function TkwPopComboTreeIndexOf.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := TypeInfo(Integer);
end;//TkwPopComboTreeIndexOf.GetResultTypeInfo
 
type
 TkwPopComboTreeSelectItem = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboTree:SelectItem
*Example:*
[code]
 aString aComboTree pop:ComboTree:SelectItem
[code]  }
 private
 // private methods
   procedure SelectItem(const aCtx: TtfwContext;
    aComboTree: TvtComboTree;
    const aString: AnsiString);
     {* Implementation of the script word pop:ComboTree:SelectItem }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboTreeSelectItem
 
// start class TkwPopComboTreeSelectItem
 
procedure TkwPopComboTreeSelectItem.SelectItem(const aCtx: TtfwContext;
  aComboTree: TvtComboTree;
  const aString: AnsiString);
//#UC START# *8E1C1B564723_B5A21C7BEE37_var*
//#UC END# *8E1C1B564723_B5A21C7BEE37_var*
begin
//#UC START# *8E1C1B564723_B5A21C7BEE37_impl*
 aComboTree.ItemIndex := aComboTree.Items.IndexOf(aString);
//#UC END# *8E1C1B564723_B5A21C7BEE37_impl*
end;//TkwPopComboTreeSelectItem.SelectItem
 
procedure TkwPopComboTreeSelectItem.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboTree : TvtComboTree;
 l_aString : AnsiString;
begin
 try
  l_aComboTree := TvtComboTree(aCtx.rEngine.PopObjAs(TvtComboTree));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboTree: TvtComboTree : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aString := (aCtx.rEngine.PopDelphiString);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aString: AnsiString : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 SelectItem(aCtx, l_aComboTree, l_aString);
end;//TkwPopComboTreeSelectItem.DoDoIt
 
class function TkwPopComboTreeSelectItem.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboTree:SelectItem';
end;//TkwPopComboTreeSelectItem.GetWordNameForRegister
 
function TkwPopComboTreeSelectItem.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboTreeSelectItem.GetResultTypeInfo
 
type
 TkwPopComboTreeSetItemIndex = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboTree:SetItemIndex
*Example:*
[code]
 anIndex aComboTree pop:ComboTree:SetItemIndex
[code]  }
 private
 // private methods
   procedure SetItemIndex(const aCtx: TtfwContext;
    aComboTree: TvtComboTree;
    anIndex: Integer);
     {* Implementation of the script word pop:ComboTree:SetItemIndex }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboTreeSetItemIndex
 
// start class TkwPopComboTreeSetItemIndex
 
procedure TkwPopComboTreeSetItemIndex.SetItemIndex(const aCtx: TtfwContext;
  aComboTree: TvtComboTree;
  anIndex: Integer);
//#UC START# *6A72CBA7686D_8C448529271A_var*
var
 l_Node: Il3SimpleNode;
//#UC END# *6A72CBA7686D_8C448529271A_var*
begin
//#UC START# *6A72CBA7686D_8C448529271A_impl*
 if (aComboTree is TvtComboBoxQS) then //561950536
  aComboTree.ItemIndex := anIndex
 else
 begin
  l_Node := aComboTree.Tree.GetNode(anIndex);
  aComboTree.Tree.GotoOnNode(l_Node);
  aComboTree.ShowNode(l_Node, True);
 end;//aComboTree is TvtComboBoxQS
//#UC END# *6A72CBA7686D_8C448529271A_impl*
end;//TkwPopComboTreeSetItemIndex.SetItemIndex
 
procedure TkwPopComboTreeSetItemIndex.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboTree : TvtComboTree;
 l_anIndex : Integer;
begin
 try
  l_aComboTree := TvtComboTree(aCtx.rEngine.PopObjAs(TvtComboTree));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboTree: TvtComboTree : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_anIndex := (aCtx.rEngine.PopInt);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter anIndex: Integer : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 SetItemIndex(aCtx, l_aComboTree, l_anIndex);
end;//TkwPopComboTreeSetItemIndex.DoDoIt
 
class function TkwPopComboTreeSetItemIndex.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboTree:SetItemIndex';
end;//TkwPopComboTreeSetItemIndex.GetWordNameForRegister
 
function TkwPopComboTreeSetItemIndex.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboTreeSetItemIndex.GetResultTypeInfo
 
type
 TkwPopComboTreeSaveItems = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboTree:SaveItems
[panel]*Format:* file_name  control pop:ComboBox:SaveItems 
*Description:* Saves all items of the combobox (set by control parameter) to the file (set by parameter file_name) and compares to the template.
*Example:*
[code]
'MyList.cmbx' 'StyleComboBox' byname:control:push pop:ComboBox:SaveItems
[code] 
*Result:* Saves contents of the combobox 'StyleComboBox' to the file  'MyList.cmbx' and compares to the template.[panel]
*Example:*
[code]
 aFileName aComboTree pop:ComboTree:SaveItems
[code]  }
 private
 // private methods
   procedure SaveItems(const aCtx: TtfwContext;
    aComboTree: TvtComboTree;
    const aFileName: AnsiString);
     {* Implementation of the script word pop:ComboTree:SaveItems }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboTreeSaveItems
 
// start class TkwPopComboTreeSaveItems
 
procedure TkwPopComboTreeSaveItems.SaveItems(const aCtx: TtfwContext;
  aComboTree: TvtComboTree;
  const aFileName: AnsiString);
//#UC START# *1F4D33D465E4_957FA5E0E3AB_var*
var
 l_S: AnsiString;
 l_Filer : Tl3CustomDosFiler;
//#UC END# *1F4D33D465E4_957FA5E0E3AB_var*
begin
//#UC START# *1F4D33D465E4_957FA5E0E3AB_impl*
 l_S := aCtx.rCaller.ResolveOutputFilePath(aFileName);
 l_S := ChangeFileExt(l_S, '.cmbx');
 l_Filer := Tl3CustomDosFiler.Make(l_S, l3_fmWrite, false);
 try
  l_Filer.Open;
  try
   l_Filer.WriteLn((aComboTree.Items as Il3Strings).Items.Text);
  finally
   l_Filer.Close;
  end;
 finally
  FreeAndNil(l_Filer);
 end;//try..finally
//#UC END# *1F4D33D465E4_957FA5E0E3AB_impl*
end;//TkwPopComboTreeSaveItems.SaveItems
 
procedure TkwPopComboTreeSaveItems.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboTree : TvtComboTree;
 l_aFileName : AnsiString;
begin
 try
  l_aComboTree := TvtComboTree(aCtx.rEngine.PopObjAs(TvtComboTree));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aComboTree: TvtComboTree : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 try
  l_aFileName := (aCtx.rEngine.PopDelphiString);
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter aFileName: AnsiString : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 SaveItems(aCtx, l_aComboTree, l_aFileName);
end;//TkwPopComboTreeSaveItems.DoDoIt
 
class function TkwPopComboTreeSaveItems.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboTree:SaveItems';
end;//TkwPopComboTreeSaveItems.GetWordNameForRegister
 
function TkwPopComboTreeSaveItems.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := @tfw_tiVoid;
end;//TkwPopComboTreeSaveItems.GetResultTypeInfo
{$IfEnd} //not NoScripts
 
initialization
{$If not defined(NoScripts)}
// Registration of script axiomatic
 TvtComboBoxWordsPackResNameGetter.Register;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboBox_DropDown
 TkwPopComboBoxDropDown.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboBox_GetItemIndex
 TkwPopComboBoxGetItemIndex.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboBox_IndexOf
 TkwPopComboBoxIndexOf.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboBox_SelectItem
 TkwPopComboBoxSelectItem.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboBox_SetItemIndex
 TkwPopComboBoxSetItemIndex.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboBox_SaveItems
 TkwPopComboBoxSaveItems.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboTree_DropDown
 TkwPopComboTreeDropDown.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboTree_GetItemIndex
 TkwPopComboTreeGetItemIndex.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboTree_IndexOf
 TkwPopComboTreeIndexOf.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboTree_SelectItem
 TkwPopComboTreeSelectItem.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboTree_SetItemIndex
 TkwPopComboTreeSetItemIndex.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of pop_ComboTree_SaveItems
 TkwPopComboTreeSaveItems.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of TtfwContext type
 TtfwTypeRegistrator.RegisterType(@tfw_tiStruct);
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of TCustomComboBox type
 TtfwTypeRegistrator.RegisterType(TypeInfo(TCustomComboBox));
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of Boolean type
 TtfwTypeRegistrator.RegisterType(TypeInfo(Boolean));
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of Integer type
 TtfwTypeRegistrator.RegisterType(TypeInfo(Integer));
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of String type
 TtfwTypeRegistrator.RegisterType(TypeInfo(AnsiString));
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of TvtComboTree type
 TtfwTypeRegistrator.RegisterType(TypeInfo(TvtComboTree));
{$IfEnd} //not NoScripts
 
end.

vtComboBoxWordsPack.rc: vtComboBoxWordsPack RCDATA LOADONCALL MOVEABLE DISCARDABLE vtComboBoxWordsPack.rc.script vtComboBoxWordsPack.rc.script:

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Library "ScriptEngine$VT"
// Unit: "vtComboBoxWordsPack.rc.script"
// Resource script (.rc.script)
// Generated from UML model, root element: ScriptKeywordsPack::Class Shared Delphi::ScriptEngine$VT::vtComboBoxWords::vtComboBoxWordsPack
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
//#UC START# *54EC8C7C011Eimpl*
 
// Decorators of words that work with combo
 
USES
 axiom:ComboBox
 axiom:ComboTree
;
 
REDEFINITION
 : pop:ComboBox:DropDown
  OBJECT IN aCombo
  if ( aCombo Is class::TvtComboTree ) then
   ( aCombo pop:ComboTree:DropDown )
  else
   ( aCombo inherited )
 ; // pop:ComboBox:DropDown
  
REDEFINITION
 : pop:ComboBox:GetItemIndex
  OBJECT IN aCombo
  if ( aCombo Is class::TvtComboTree ) then
   ( aCombo pop:ComboTree:GetItemIndex )
  else
   ( aCombo inherited )
 ; // pop:ComboBox:DropDown
  
REDEFINITION
 : pop:ComboBox:IndexOf
  OBJECT IN aCombo
  if ( aCombo Is class::TvtComboTree ) then
   ( aCombo pop:ComboTree:IndexOf )
  else
   ( aCombo inherited )
 ; // pop:ComboBox:DropDown
  
REDEFINITION
 : pop:ComboBox:SaveItems
  OBJECT IN aCombo
  if ( aCombo Is class::TvtComboTree ) then
   ( aCombo pop:ComboTree:SaveItems )
  else
   ( aCombo inherited )
 ; // pop:ComboBox:SelectItem
  
REDEFINITION
 : pop:ComboBox:SelectItem
  OBJECT IN aCombo
  if ( aCombo Is class::TvtComboTree ) then
   ( aCombo pop:ComboTree:SelectItem )
  else
   ( aCombo inherited )
 ; // pop:ComboBox:SelectItem
  
REDEFINITION
 : pop:ComboBox:SetItemIndex
  OBJECT IN aCombo
  if ( aCombo Is class::TvtComboTree ) then
   ( aCombo pop:ComboTree:SetItemIndex )
  else
   ( aCombo inherited )
 ; // pop:ComboBox:SetItemIndex
  
//#UC END# *54EC8C7C011Eimpl*

vtComboBoxWordsPack.res.cmd: ? 1 brcc32 vtComboBoxWordsPack.rc

vtComboTreeWordsPack.pas:

unit vtComboTreeWordsPack;
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Library "ScriptEngine$Everest"
// Unit: "vtComboTreeWordsPack.pas"
// Native Delphi interfaces (.pas)
// Generated from UML model, root element: ScriptKeywordsPack::Class Shared Delphi::ScriptEngine$Everest::EditorFromStackKeyWords::vtComboTreeWordsPack
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
{$Include ..\ScriptEngine\seDefine.inc}
 
interface
 
{$If not defined(NoScripts)}
uses
  l3TreeInterfaces,
  tfwScriptingInterfaces,
  tfwRegisterableWord,
  vtComboTree
  ;
 
{$IfEnd} //not NoScripts
 
implementation
 
{$If not defined(NoScripts)}
uses
  TypInfo,
  SysUtils,
  tfwTypeRegistrator
  ;
 
type
 TkwPopComboTreeCurrentNode = {final scriptword} class(TtfwRegisterableWord)
  {* Script word pop:ComboTree:CurrentNode
*Type of result:* Il3SimpleNode
*Example:*
[code]
INTERFACE VAR l_Il3SimpleNode
 aComboTree pop:ComboTree:CurrentNode >>> l_Il3SimpleNode
[code]  }
 private
 // private methods
   function CurrentNode(const aCtx: TtfwContext;
    aComboTree: TvtComboTree): Il3SimpleNode;
     {* Implementation of the script word pop:ComboTree:CurrentNode }
 protected
 // realized methods
   procedure DoDoIt(const aCtx: TtfwContext); override;
 protected
 // overridden protected methods
   class function GetWordNameForRegister: AnsiString; override;
 public
 // overridden public methods
   function GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo; override;
 end;//TkwPopComboTreeCurrentNode
 
// start class TkwPopComboTreeCurrentNode
 
function TkwPopComboTreeCurrentNode.CurrentNode(const aCtx: TtfwContext;
  aComboTree: TvtComboTree): Il3SimpleNode;
//#UC START# *E52B39199FD5_9F9FF0616B3E_var*
//#UC END# *E52B39199FD5_9F9FF0616B3E_var*
begin
//#UC START# *E52B39199FD5_9F9FF0616B3E_impl*
 Result := aComboTree.Tree.GetCurrentNode;
//#UC END# *E52B39199FD5_9F9FF0616B3E_impl*
end;//TkwPopComboTreeCurrentNode.CurrentNode
 
procedure TkwPopComboTreeCurrentNode.DoDoIt(const aCtx: TtfwContext);
 {-}
var
 l_aComboTree : TvtComboTree;
begin
 try
  l_aComboTree := TvtComboTree(aCtx.rEngine.PopObjAs(TvtComboTree));
 except
  on E: Exception do
  begin
   RunnerError('Error getting a parameter ComboTree: TvtComboTree : ' + E.Message, aCtx);
   Exit;
  end;//on E: Exception
 end;//try..except
 aCtx.rEngine.PushIntf((CurrentNode(aCtx, l_aComboTree)));
end;//TkwPopComboTreeCurrentNode.DoDoIt
 
class function TkwPopComboTreeCurrentNode.GetWordNameForRegister: AnsiString;
 {-}
begin
 Result := 'pop:ComboTree:CurrentNode';
end;//TkwPopComboTreeCurrentNode.GetWordNameForRegister
 
function TkwPopComboTreeCurrentNode.GetResultTypeInfo(const aCtx: TtfwContext): PTypeInfo;
 {-}
begin
 Result := TypeInfo(Il3SimpleNode);
end;//TkwPopComboTreeCurrentNode.GetResultTypeInfo
{$IfEnd} //not NoScripts
 
initialization
{$If not defined(NoScripts)}
// Registration of pop_ComboTree_CurrentNode
 TkwPopComboTreeCurrentNode.RegisterInEngine;
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of TtfwContext type
 TtfwTypeRegistrator.RegisterType(@tfw_tiStruct);
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of TvtComboTree type
 TtfwTypeRegistrator.RegisterType(TypeInfo(TvtComboTree));
{$IfEnd} //not NoScripts
{$If not defined(NoScripts)}
// Registration of Il3SimpleNode
 TtfwTypeRegistrator.RegisterType(TypeInfo(Il3SimpleNode));
{$IfEnd} //not NoScripts
 
end.

ScriptKeywordsPack.tpi:

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Unit: "w:/MDProcess/DelphiSpecific/DelphiLang/Implementation/ScriptKeywordsPack.tpi"
// Generation of metatemplates
// Generated from UML model, root element: <> MDProcess$ForDelphi::DelphiSpecific::DelphiLang::Implementation::ScriptKeywordsPack
//
// Set of script words
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
: ScriptKeywordsPack::Class
? Set of script words
> ScriptKeyword::Class
 
= UtilityPack::Class
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Parameters of stereotype
// Parameters of visualisation
$ C 147,168,174
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// User properties
 
p no_pop:tribool=undefined ? 
p no class name:tribool=undefined ? 
p needs script:tribool=undefined ? Script binding needed
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// functions of stereotype
 
%f _st_space_key
 SHD
 
%f _wiki_up_print
 %S#[inherited][{"%S{no_pop}"!="%S{!no_pop}"}%f_up_prefix(%S) *no_pop* = *%S{no_pop}*
 ][{"%S{no class name}"!="%S{!no class name}"}%f_up_prefix(%S) *no class name* = *%S{no class name}*
 ][{"%S{needs script}"!="%S{!needs script}"}%f_up_prefix(%S) *needs script* = *%S{needs script}* - Script binding needed
 ]
 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Inherited implementation
 
// overriding of base Delphi stereotype interfaces and implementation::MDAGenerator
%f _DoSpell
//#UC START# *4B2A19E3038Bfor4F2C15C90252*
// %S%f_set_implement_select_type(include)\
 
 [{%S{needs script}=true}\
 %S%f_add_class(%SU_ResNameGetter,SimpleClass,T%f_pas_UnitName(%S)ResNameGetter,Class_Inst)\
 %{Class_Inst}%f_set_documentation(Registration of script axiomatic)\
 %{Class_Inst}%f_set_abstraction_type(final)\
 %{Class_Inst}%f_set_visibility_type(PrivateAccess)\
 [{"%{TtfwAxiomaticsResNameGetter}N"=""}%f_find_element(TtfwAxiomaticsResNameGetter,TtfwAxiomaticsResNameGetter)]\
 %f_addG(%{Class_Inst},%{TtfwAxiomaticsResNameGetter})\
 %{Class_Inst}%f_set_up(need UC,true)\
 
 %{Class_Inst}%f_set_uc_content(intf.pas,impl,\
  \{$R %f_pas_UnitName(%S).res %f_pas_UnitName(%S).rc\}\
 )\
 
 %{Class_Inst}%f_add_operation(%{Class_Inst}U_Reg,ini,RegAxiom (),Reg_Instance)\
 %{Reg_Instance}%f_set_documentation(Registration of script axiomatic)\
 %{Reg_Instance}%f_set_abstraction_type(final)\
 %{Reg_Instance}%f_set_visibility_type(PrivateAccess)\
 
 %{Reg_Instance}%f_set_uc_content(intf.pas,,\
  %f_pas_TypeName(%{Class_Inst}).Register;\
 )\
 
 [{"%{TtfwAxiomaticsResNameGetter.ResName}N"=""}%f_find_element(55B7A3AF0359,TtfwAxiomaticsResNameGetter.ResName)]\
 
 %{TtfwAxiomaticsResNameGetter.ResName}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{TtfwAxiomaticsResNameGetter.ResName},%{Class_Inst})_var,\
  {-}\
 )\
 
 %{TtfwAxiomaticsResNameGetter.ResName}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{TtfwAxiomaticsResNameGetter.ResName},%{Class_Inst})_impl,\
  Result := '%f_pas_UnitName(%S)';\
 )\
 
 ]\
 
 %f_clear_list(PROPS)\
 
 <{}{%CS=property|%CS=readonly}\
 %f_add_to_list(PROPS,C)\
 >\
 
 %{PROPS}<{}{}{%C}\
 
 %1%f_add_operation(%1U_%CU_get,keyword,[{%CS!=readonly}Get]%CN (): %C%TU,Op_Instance)\
 %{Op_Instance}%f_set_up(NameForScript,%C{NameForScript})\
 
 %f_TuneGS(%{Op_Instance},%C)\
 %{Op_Instance}%f_set_up(is_setter,false)\
 
 [{%CS!=readonly}\
 %1%f_add_operation(%1U_%CU_set,keyword,Set%CN (aValue : %C%TU),Op_Instance)\
 %f_TuneGS(%{Op_Instance},%C)\
 %{Op_Instance}%f_set_up(is_setter,true)\
 ]\
 
 >\
 
 %f_clear_list(PROPS)\
 
 %f_SpellFriends(%S)\
 
 %f_clear_list(PARAMS)\
 
 <{}{%t_isAcceptableForScripts(%G)=true}\
 %f_SpellWordsForParent(%S,%G,"true")\
 >\
 
 <{}{%t_isAcceptableForScripts(%R)=true}\
 %f_SpellWordsForParent(%S,%R,"false")\
 >\
 
 %f_clear_list(KEYS)\
 
 %S<{}{%C#f_IsGlobalKeyword()=true}\
 %f_add_to_list(KEYS,C)\
 >\
 
 %f_set_var(GEN,"")\
 %{KEYS}<{}{}{%C}\
 %f_SpellWordByOp(%1,%C)\
 >\
 
 %f_clear_list(KEYS)\
 
 [{%f_is_empty(PARAMS)=false}\
 
 [{"%{TtfwTypeRegistrator}N"=""}%f_find_element(TtfwTypeRegistrator,TtfwTypeRegistrator)]\
 %f_addCDep(%S,%{TtfwTypeRegistrator})\
 
 %{PARAMS}<{}{}{%C}\
 
 %1%f_add_operation(%1U_%CU_RegType,ini,Reg_%CN (),Reg_Instance)\
 %{Reg_Instance}%f_set_documentation(Registration of %CN type)\
 %{Reg_Instance}%f_set_abstraction_type(final)\
 %{Reg_Instance}%f_set_visibility_type(PrivateAccess)\
 
// %f_warning(%CN)\
 
 %{Reg_Instance}%f_set_uc_content(intf.pas,,\
  TtfwTypeRegistrator.RegisterType(%t_TypeInfo(%C));\
 )\
 >\
 ]\
 
 %f_clear_list(PARAMS)\
 
 %S%[inherited]
 
f _TuneGS
 %S%f_set_documentation(%1D)\
 %S%f_set_up(prop_stereo,%1S)\
 %S%f_set_up(prop_name,%1N)\
 %S%f_set_up(mapped,%1{mapped})\
 %S%f_set_up(is immediate,%1{is immediate})\
 %S%f_set_up(ifdef,%1{ifdef})\
 %S%f_set_up(ifndef,%1{ifndef})
 
f _SpellWordsForParent
 [{%2N=true}\
 %f_addCDep(%S,%1,"injects")\
// - injection
// [{%t_simple_class(%1)=true&%S{noRegistrator}!=true}\
// %S%f_add_class(%SU_%1U_Reg,SimpleClass,%f_pas_TypeName(%1)RegistratorFor%f_N(%S),Reg_Inst)\
// %f_addG(%{Reg_Inst},%1)\
// %{Reg_Inst}%f_set_documentation(Registrator for %f_pas_TypeName(%1))\
// %{Reg_Inst}%f_set_abstraction_type(abstract)\
// %{Reg_Inst}%f_set_visibility_type(PrivateAccess)\
// %{Reg_Inst}%f_set_up(register in scripts,true)\
// %{Reg_Inst}%f_set_up(is_friend,true)\
// %{Reg_Inst}%f_set_implement_select_type(include)\
// ]\
// - registrator
 ]\
 
 %f_clear_list(KEYS)\
 
 %S<{}{%C#f_IsKeyword()=true}\
 %f_add_to_list(KEYS,C)\
 >\
 
 %f_set_var(GEN,1)\
 %{KEYS}<{}{}{%C}\
 %f_SpellWordByOp(%1,%C)\
 >\
 
 %f_clear_list(KEYS)
 
f _AddParamToRegister
 [{%SN!=void}\
// %f_warning(%SN)\
 [{%f_exists_in_list(PARAMS,S)!=true}\
 %f_add_to_list(PARAMS,S)\
 ]\
 ]
 
f _SpellWordByOp
 %S%f_add_class(%SU_%{GEN}U_%1U_Word,ScriptKeyword,\
 [{"%{GEN}N"!=""}\
 [{%S{no_pop}!=true&%1#f_IsCreator()!=true}pop_]\
 [{%S{no class name}!=true&%t_SelfName(%{GEN})!=SV}%t_SelfName(%{GEN})_]\
 ]\
 %1N,\
 Class_Inst)\
 
 %{Class_Inst}%f_set_up(is immediate,%1{is immediate})\
 %{Class_Inst}%f_set_up(ifdef,%1{ifdef})\
 %{Class_Inst}%f_set_up(ifndef,%1{ifndef})\
 
 [{%1#f_IsVarWorker()=true}\
 [{%1#f_IsWordWorker()=true}{\
 [{"%{TtfwVarWorker}N"=""}%f_find_element(TtfwVarWorker,TtfwVarWorker)]\
 %f_addG(%{Class_Inst},%{TtfwVarWorker})\
 }\
 [{"%{TtfwWordWorkerEx}N"=""}%f_find_element(TtfwWordWorkerEx,TtfwWordWorkerEx)]\
 %f_addG(%{Class_Inst},%{TtfwWordWorkerEx})\
 ]\
 ]\
 
 [{"%1{NameForScript}"=""}{\
 %{Class_Inst}%f_set_up(NameForScript,%1{NameForScript})\
 }\
 %{Class_Inst}%f_set_up(NameForScript,%f_str_replace(%{Class_Inst}N,_,:))\
 ]\
 
 %{Class_Inst}%f_set_documentation(Word of script %f_loc_GetNameForScript(%{Class_Inst})[\n\{panel\}%1D\{panel\}]
 
 %f_set_var(RES,"")\
 [{%1%TN!=void}%f_set_var(RES,1%T)]\
 [{%1#f_IsCreator()=true&"%{GEN}N"!=""}%f_set_var(RES,{GEN})]\
 
 [{"%{RES}N"!=""}*Type of result:* %{RES}N\n]\
 *Example:*
 \{code\}
 %1<{}{%CS=out}{%C}[%t_EngineType(%C%T) ]VAR l_%CN\n>\
 [{"%{RES}N"!=""}[%t_EngineType(%{RES}) ]VAR l_%{RES}N\n]\
 
  %1<{}{%CS!=out}{%Cr}%CN >[{%1#f_IsCreator()!=true&"%{GEN}N"!=""}a%t_SelfName(%{GEN}) ]%f_loc_GetNameForScript(%{Class_Inst})\
 
 [{%1#f_IsVarWorker()=true}\
  [{%1#f_IsWordWorker()=true}{aVar}aWord]\
 ]\
 
 %1<{}{%CS=out}{%C} \>\>\> l_%CN>\
 [{"%{RES}N"!=""} \>\>\> l_%{RES}N]\
 \n\
 \{code\} \
 )\
 %{Class_Inst}%f_set_abstraction_type(final)\
 %{Class_Inst}%f_set_visibility_type(PrivateAccess)\
 
 [{"%{TtfwContext}N"=""}%f_find_element(TtfwContext,TtfwContext)]\
 
 %{Class_Inst}%f_make_accessable(%{TtfwContext}U)\
 %f_addCDep(%{Class_Inst},%{TtfwContext})\
 
 [{%1{SupressNextImmediate}!=None&"%1{SupressNextImmediate}"!=""}\
 [{"%{TtfwCompilingWord.SupressNextImmediate}N"=""}%f_find_element(4F3AB3B101FC,TtfwCompilingWord.SupressNextImmediate)]\
 %{Class_Inst}%f_add_override(%{TtfwCompilingWord.SupressNextImmediate}U)\
 
 %{TtfwCompilingWord.SupressNextImmediate}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{TtfwCompilingWord.SupressNextImmediate},%{Class_Inst})_var,\
  {-}\
 )\
 
 %{TtfwCompilingWord.SupressNextImmediate}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{TtfwCompilingWord.SupressNextImmediate},%{Class_Inst})_impl,\
  Result := tfw_sni%1{SupressNextImmediate};\
 )\
 
 ]\
 
 [{"%{TTypeInfo}N"=""}%f_find_element(4767748503B5,TTypeInfo)]\
 %f_addCDep(%{Class_Inst},%{TTypeInfo})\
 
 [{"%{TtfwWord.GetResultTypeInfo}N"=""}%f_find_element(551544E2001A,TtfwWord.GetResultTypeInfo)]\
 %{Class_Inst}%f_add_override(%{TtfwWord.GetResultTypeInfo}U)\
 
 %{TtfwWord.GetResultTypeInfo}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{TtfwWord.GetResultTypeInfo},%{Class_Inst})_var,\
  {-}\
 )\
 
 %{TtfwWord.GetResultTypeInfo}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{TtfwWord.GetResultTypeInfo},%{Class_Inst})_impl,\
 [{%1#f_IsCreator()=true&"%{GEN}N"!=""}{\
  Result := %t_TypeInfo(%1%T);\
 }\
  Result := %t_TypeInfo(%{GEN});\
 ]\
 )\
 
 %f_set_var(Op_Instance,"")\
 
 %f_set_var(NeedOp,"false")\
 
 [{%1{mapped}=true}\
 %f_set_var(NeedOp,"true")\
 ]\
 
 [{"%{GEN}N"!=""}\
 %f_set_var(NeedOp,"true")\
 ]\
 
 [{%1#f_IsVarWorker()=true}\
 %f_set_var(NeedOp,"true")\
 ]\
 
 [{%1<{}{}{%CC}>!=0}\
 %f_set_var(NeedOp,"true")\
 ]\
 
 [{%1%TN!=void}\
 %f_set_var(NeedOp,"true")\
 ]\
 
 [{%{NeedOp}N=true}\
 %{Class_Inst}%f_add_operation(%{Class_Inst}U_%1U_op,,\
 %f_N(%1) (\
 aCtx: %{TtfwContext}U\
 [{%1#f_IsVarWorker()=true}\
 [{"%{TtfwWord}N"=""}%f_find_element(TtfwWord,TtfwWord)]\
 , [{%1#f_IsWordWorker()=true}{aVar}aWord]: %{TtfwWord}U \
 ]\
 [{%1#f_IsCreator()!=true&"%{GEN}N"!=""}, \
 a%t_SelfName(%{GEN}): %{GEN}U \
 ]\
 %1<{}{}{%C},%CS %CN:%C%TU>)\
 [{%1#f_IsCreator()=true&"%{GEN}N"!=""}{\
 [{%1%TN!=void} : %1%TU]\
 }\
  : %{GEN}U\
 ]\
 ,Op_Instance)\
 
 %{Op_Instance}%f_set_documentation(Implementation of the script word %f_loc_GetNameForScript(%{Class_Inst}))\
 %{Op_Instance}%f_set_abstraction_type(final)\
 %{Op_Instance}%f_set_visibility_type(PrivateAccess)\
 
 %{Op_Instance}<{}{}{%C}%f_AddParamToRegister(%C%T)>\
 %f_AddParamToRegister(%{Op_Instance}%T)\
 
 ]\
 
 [{%1#f_IsVarWorker()=true}{\
 [{"%{TtfwWord.DoDoIt}N"=""}%f_find_element(4DAEEDE10285,TtfwWord.DoDoIt)]\
 %f_set_var(MyDo,{TtfwWord.DoDoIt})\
 }\
 [{"%{TtfwVarWorker.DoRun}N"=""}%f_find_element(5512949D0048,TtfwVarWorker.DoRun)]\
 %f_set_var(MyDo,{TtfwVarWorker.DoRun})\
 ]\
 
 [{"%{SysUtils}N"=""}%f_find_element(47877EB202FB,SysUtils)]\
 
 %{Class_Inst}%f_make_accessable(%{SysUtils}U)\
 %f_addCDep(%{Class_Inst},%{SysUtils})\
 
 %{Class_Inst}%f_add_override(%{MyDo}U)\
 
 [{%{NeedOp}N=true}{\
 }\
 %{MyDo}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{MyDo},%{Class_Inst})_var,\
  {-}\
 [{%{Op_Instance}<{}{}{+%CC}>!=0}\
 \n\
 var\
 %{Op_Instance}<{}{}{+%C}\n l_%CN : %f_pas_TypeName(%C%T);>\
 ]\
 )\
 
 %{MyDo}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{MyDo},%{Class_Inst})_impl,\
 %{Op_Instance}<{}{}{+%C}\
 [{%CS!=out}\
  try
   l_%CN := \
 %t_CastSig(%C%T)\
 (aCtx.rEngine.%t_PopSig(%C%T));
  except
   on E: Exception do
   begin
    RunnerError('Error getting a parameter %CN: %f_pas_TypeName(%C%T) : ' + E.Message, aCtx);
    Exit;
   end;//on E: Exception
  end;//try..except
 ]\
 >\
  \
 [{%{Op_Instance}%TN!=void}\
 aCtx.rEngine.%t_PushSig(%{Op_Instance}%T)\
 (%t_UnCastSig(%{Op_Instance}%T)(\
 ]\
 %f_to_borland(%{Op_Instance}N)(aCtx%{Op_Instance}<{}{}{+%C}, l_%CN>)\
 [{%{Op_Instance}%TN!=void}\
 ))\
 ]\
 ;\
 %{Op_Instance}<{}{}{%Cr}\
// %f_warning(%CS %CN)\
 [{%CS=out}\
 \n aCtx.rEngine.%t_PushSig(%C%T)(l_%CN);\
 ]\
 >\
 )\
 
 [{%1{mapped}=true}\
 
 %{Op_Instance}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{Op_Instance},%{Class_Inst})_var,\
  {-}\
 )\
 
 %{Op_Instance}%f_set_uc_content(intf.pas,_%f_pas_MethodOwnerID(%{Op_Instance},%{Class_Inst})_impl,\
  [{%{Op_Instance}%TN!=void}Result := ]\
 a%t_SelfName(%{GEN}).\
 [{}{%{Op_Instance}N}%1{prop_name}]\
 [{%1{is_setter}=true}{\
 [{%1<{}{}{C%C}>!=0}\
 (%1<{, }{}%CN>)\
 ]\
 }\
  := aValue\
 ]\
 ;\
 )\
 ]\
 ]
 
t _TypeInfo
@ %SU
c {}
r {%SN=void}: {@tfw_tiVoid}
r {%f_pas_TypeName(%S)=Tl3PCharLen}: {@tfw_tiWString}
r {%t_isString(%S)=true}: {@tfw_tiString}
r {%t_isStruct(%S)=true}: {@tfw_tiStruct}
r {%t_isClassRef(%S)=true}: {@tfw_tiClassRef}
r {""=""}: {TypeInfo(%f_pas_TypeName(%S))}
 
t _SelfNamePrim
@ %SU
c {}
r {%t_interface(%S)=true}: {%f_cut_prefix(%f_pas_TypeName(%S),I)}
r {%S#f_IsStaticObject()=true}: {%f_cut_prefix(%f_pas_TypeName(%S),T)}
r {%t_simple_class(%S)=true}: {%f_cut_prefix(%f_pas_TypeName(%S),T)}
r {""=""}: {%f_pas_TypeName(%S)}
 
t _SelfNameEx
@ %SU
c {}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),9)=nevCustom}: {%f_cut_prefix(%t_SelfNamePrim(%S),nevCustom)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),8)=evCustom}: {%f_cut_prefix(%t_SelfNamePrim(%S),evCustom)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),3)=nsc}: {%f_cut_prefix(%t_SelfNamePrim(%S),nsc)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),3)=tfw}: {%f_cut_prefix(%t_SelfNamePrim(%S),tfw)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),2)=kw}: {%f_cut_prefix(%t_SelfNamePrim(%S),kw)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),3)=nev}: {%f_cut_prefix(%t_SelfNamePrim(%S),nev)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),2)=vg}: {%f_cut_prefix(%t_SelfNamePrim(%S),vg)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),2)=vt}: {%f_cut_prefix(%t_SelfNamePrim(%S),vt)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),2)=k2}: {%f_cut_prefix(%t_SelfNamePrim(%S),k2)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),2)=ns}: {%f_cut_prefix(%t_SelfNamePrim(%S),ns)}
r {%f_substr_from_begin(%t_SelfNamePrim(%S),2)=l3}: {%f_cut_prefix(%t_SelfNamePrim(%S),l3)}
r {""=""}: {%t_SelfNamePrim(%S)}
 
t _SelfName
@ %SU
c {}
r {%t_SelfNameEx(%S)=StackValue}: {SV}
r {%t_SelfNameEx(%S)=FontInfo}: {Font}
r {%t_SelfNameEx(%S)=ValueList}: {Array}
r {%t_SelfNameEx(%S)=FileName}: {File}
r {%t_SelfNameEx(%S)=SimpleTree}: {Tree}
r {%t_SelfNameEx(%S)=SimpleNode}: {Node}
r {%t_SelfNameEx(%S)=vcmEntityForm}: {Form}
r {%t_SelfNameEx(%S)=WinControl}: {Control}
r {%t_SelfNameEx(%S)=ElCustomPageControl}: {PageControl}
r {%t_SelfNameEx(%S)=ShockwaveFlashEx}: {Flash}
r {%t_SelfNameEx(%S)=TasksPanelView}: {TaskPanel}
r {%t_SelfNameEx(%S)=CustomToolbarButton97}: {TB97Button}
r {%t_SelfNameEx(%S)=ToolbarButton97}: {TB97Button}
r {%t_SelfNameEx(%S)=CustomOutliner}: {Tree}
r {%t_SelfNameEx(%S)=Outliner}: {Tree}
r {%t_SelfNameEx(%S)=CString}: {String}
r {%f_substr_from_begin(%t_SelfNameEx(%S),9)=Customize}: {%t_SelfNameEx(%S)}
r {""=""}: {%f_cut_prefix(%t_SelfNameEx(%S),Custom)}
 
t _isEnum
@ %SU
c {}
r {%SS=Enum}: {true}
r {%SS=Typedef}: {%t_isEnum(%G)}
r {""=""}: {false}
 
t _isClassRef
@ %SU
c {}
r {%f_pas_TypeName(%S)=TClass}: {true}
r {%SS=Typedef&%S{isClassRef}=true}: {true}
r {%SS=Typedef}: {%t_isClassRef(%G)}
r {""=""}: {false}
 
t _isString
@ %SU
c {}
r {%f_pas_TypeName(%S)=Tl3WString|%f_pas_TypeName(%S)=Tl3PCharLenPrim|%f_pas_TypeName(%S)=Tl3PCharLen}: {true}
r {%f_pas_TypeName(%S)=Il3CString}: {true}
r {%SS=Typedef}: {%t_isString(%G)}
r {""=""}: {false}
 
t _isAcceptableForScripts
@ %SU
c {}
r {%f_pas_TypeName(%S)=TClass}: {true}
r {%f_pas_TypeName(%S)=TtfwStackValue}: {true}
r {%f_pas_TypeName(%S)=ItfwValueList}: {true}
r {%f_pas_TypeName(%S)=ItfwFile}: {true}
r {%SS=Typedef&%S{isClassRef}=true}: {true}
r {%f_pas_TypeName(%S)=Tl3WString|%f_pas_TypeName(%S)=Tl3PCharLenPrim|%f_pas_TypeName(%S)=Tl3PCharLen}: {true}
r {%f_pas_TypeName(%S)=Il3CString}: {true}
r {%t_simple_class(%S)=true}: {true}
r {%t_interface(%S)=true}: {true}
r {%f_pas_TypeName(%S)=String}: {true}
r {%f_pas_TypeName(%S)=Char|%f_pas_TypeName(%S)=AnsiChar}: {true}
r {%f_pas_TypeName(%S)=TPoint}: {true}
r {%f_pas_TypeName(%S)=WideString}: {true}
r {%f_pas_TypeName(%S)=AnsiString}: {true}
r {%f_pas_TypeName(%S)=Integer}: {true}
r {%f_pas_TypeName(%S)=TColor}: {true}
r {%f_pas_TypeName(%S)=Cardinal}: {true}
r {%t_isEnum(%S)=true}: {true}
r {%f_pas_TypeName(%S)=THandle}: {true}
r {%f_pas_TypeName(%S)=Boolean}: {true}
r {%SS=Typedef}: {%t_isAcceptableForScripts(%G)}
r {""=""}: {false}
 
t _CastSig
@ %SU
c {}
r {%f_pas_TypeName(%S)=TClass}: {}
r {%f_pas_TypeName(%S)=TtfwStackValue}: {}
r {%f_pas_TypeName(%S)=ItfwValueList}: {}
r {%f_pas_TypeName(%S)=ItfwFile}: {}
r {%SS=Typedef&%S{isClassRef}=true}: {%f_pas_TypeName(%S)}
r {%f_pas_TypeName(%S)=Tl3PCharLen}: {%f_pas_TypeName(%S)}
r {%f_pas_TypeName(%S)=Tl3WString|%f_pas_TypeName(%S)=Tl3PCharLenPrim}: {}
r {%f_pas_TypeName(%S)=Il3CString}: {}
r {%t_simple_class(%S)=true}: {%f_pas_TypeName(%S)}
r {%t_interface(%S)=true}: {%f_pas_TypeName(%S)}
r {%f_pas_TypeName(%S)=String}: {}
r {%f_pas_TypeName(%S)=Char|%f_pas_TypeName(%S)=AnsiChar}: {}
r {%f_pas_TypeName(%S)=TPoint}: {}
r {%f_pas_TypeName(%S)=WideString}: {}
r {%f_pas_TypeName(%S)=AnsiString}: {}
r {%f_pas_TypeName(%S)=Integer}: {}
r {%f_pas_TypeName(%S)=TColor}: {%f_pas_TypeName(%S)}
r {%f_pas_TypeName(%S)=Cardinal}: {%f_pas_TypeName(%S)}
r {%t_isEnum(%S)=true}: {%f_pas_TypeName(%S)}
r {%f_pas_TypeName(%S)=THandle}: {%f_pas_TypeName(%S)}
r {%f_pas_TypeName(%S)=Boolean}: {}
r {%SS=Typedef}: {%f_pas_TypeName(%S)}
r {""=""}: {"We don’t know to give a value of %f_pas_TypeName(%S) type"}
 
t _EngineType
@ %SU
c {}
r {%SN=void}: {VOID}
r {%f_pas_TypeName(%S)=TClass}: {CLASS}
r {%f_pas_TypeName(%S)=TtfwStackValue}: {}
r {%f_pas_TypeName(%S)=ItfwValueList}: {ARRAY}
r {%f_pas_TypeName(%S)=ItfwFile}: {FILE}
r {%SS=Typedef&%S{isClassRef}=true}: {CLASS}
r {%f_pas_TypeName(%S)=Tl3PCharLen}: {W-STRING}
r {%f_pas_TypeName(%S)=Tl3WString|%f_pas_TypeName(%S)=Tl3PCharLenPrim}: {STRING}
r {%f_pas_TypeName(%S)=Il3CString}: {STRING}
r {%t_simple_class(%S)=true}: {OBJECT}
r {%t_interface(%S)=true}: {INTERFACE}
r {%f_pas_TypeName(%S)=String}: {STRING}
r {%f_pas_TypeName(%S)=Char|%f_pas_TypeName(%S)=AnsiChar}: {CHAR}
r {%f_pas_TypeName(%S)=TPoint}: {}
r {%f_pas_TypeName(%S)=WideString}: {STRING}
r {%f_pas_TypeName(%S)=AnsiString}: {STRING}
r {%f_pas_TypeName(%S)=Integer}: {INTEGER}
r {%f_pas_TypeName(%S)=TColor}: {INTEGER}
r {%f_pas_TypeName(%S)=Cardinal}: {CARDINAL}
r {%t_isEnum(%S)=true}: {INTEGER}
r {%f_pas_TypeName(%S)=THandle}: {CARDINAL}
r {%f_pas_TypeName(%S)=Boolean}: {BOOLEAN}
r {%SS=Typedef}: {%t_EngineType(%G)}
r {""=""}: {}
 
t _UnCastSig
@ %SU
c {}
r {%SN=void}: {}
r {%f_pas_TypeName(%S)=TClass}: {}
r {%f_pas_TypeName(%S)=TtfwStackValue}: {}
r {%f_pas_TypeName(%S)=ItfwValueList}: {}
r {%f_pas_TypeName(%S)=ItfwFile}: {}
r {%SS=Typedef&%S{isClassRef}=true}: {}
r {%f_pas_TypeName(%S)=Tl3WString|%f_pas_TypeName(%S)=Tl3PCharLenPrim|%f_pas_TypeName(%S)=Tl3PCharLen}: {}
r {%f_pas_TypeName(%S)=Il3CString}: {}
r {%t_simple_class(%S)=true}: {}
r {%t_interface(%S)=true}: {}
r {%f_pas_TypeName(%S)=String}: {}
r {%f_pas_TypeName(%S)=Char|%f_pas_TypeName(%S)=AnsiChar}: {}
r {%f_pas_TypeName(%S)=TPoint}: {}
r {%f_pas_TypeName(%S)=WideString}: {}
r {%f_pas_TypeName(%S)=AnsiString}: {}
r {%f_pas_TypeName(%S)=Integer}: {}
r {%f_pas_TypeName(%S)=TColor}: {Integer}
r {%f_pas_TypeName(%S)=Cardinal}: {Integer}
r {%t_isEnum(%S)=true}: {Ord}
r {%f_pas_TypeName(%S)=THandle}: {Integer}
r {%f_pas_TypeName(%S)=Boolean}: {}
r {%SS=Typedef}: {%t_UnCastSig(%G)}
r {""=""}: {" We don’t know to give a value of %f_pas_TypeName(%S) type"}
 
t _PopSig
@ %SU
c {}
r {%f_pas_TypeName(%S)=TClass}: {PopClass}
r {%f_pas_TypeName(%S)=TtfwStackValue}: {Pop}
r {%f_pas_TypeName(%S)=ItfwValueList}: {PopList}
r {%f_pas_TypeName(%S)=ItfwFile}: {PopFile}
r {%SS=Typedef&%S{isClassRef}=true}: {PopClassAs(%f_pas_TypeName(%S))}
r {%f_pas_TypeName(%S)=Tl3WString|%f_pas_TypeName(%S)=Tl3PCharLenPrim|%f_pas_TypeName(%S)=Tl3PCharLen}: {PopWStr}
r {%f_pas_TypeName(%S)=Il3CString}: {PopString}
r {%t_simple_class(%S)=true}: {PopObjAs(%f_pas_TypeName(%S))}
r {%t_interface(%S)=true}: {PopIntf(%f_pas_TypeName(%S))}
r {%f_pas_TypeName(%S)=String}: {PopDelphiString}
r {%f_pas_TypeName(%S)=Char|%f_pas_TypeName(%S)=AnsiChar}: {PopChar}
r {%f_pas_TypeName(%S)=TPoint}: {PopPoint}
r {%f_pas_TypeName(%S)=WideString}: {PopWideString}
r {%f_pas_TypeName(%S)=AnsiString}: {PopDelphiString}
r {%f_pas_TypeName(%S)=Integer}: {PopInt}
r {%f_pas_TypeName(%S)=TColor}: {PopInt}
r {%f_pas_TypeName(%S)=Cardinal}: {PopInt}
r {%t_isEnum(%S)=true}: {PopInt}
r {%f_pas_TypeName(%S)=THandle}: {PopInt}
r {%f_pas_TypeName(%S)=Boolean}: {PopBool}
r {%SS=Typedef}: {%t_PopSig(%G)}
r {""=""}: {"We do not know how to remove from stack : %f_pas_TypeName(%S)"}
 
t _PushSig
@ %SU
c {}
r {%f_pas_TypeName(%S)=TClass}: {PushClass}
r {%f_pas_TypeName(%S)=TtfwStackValue}: {Push}
r {%f_pas_TypeName(%S)=ItfwValueList}: {PushList}
r {%f_pas_TypeName(%S)=ItfwFile}: {PushFile}
r {%SS=Typedef&%S{isClassRef}=true}: {PushClass}
r {%f_pas_TypeName(%S)=Tl3PCharLen}: {PushWStr}
r {%f_pas_TypeName(%S)=Tl3WString|%f_pas_TypeName(%S)=Tl3PCharLenPrim}: {PushString}
r {%f_pas_TypeName(%S)=Il3CString}: {PushString}
r {%t_simple_class(%S)=true}: {PushObj}
r {%t_interface(%S)=true}: {PushIntf}
r {%f_pas_TypeName(%S)=String}: {PushString}
r {%f_pas_TypeName(%S)=Char|%f_pas_TypeName(%S)=AnsiChar}: {PushChar}
r {%f_pas_TypeName(%S)=TPoint}: {PushPoint}
r {%f_pas_TypeName(%S)=WideString}: {PushWideString}
r {%f_pas_TypeName(%S)=AnsiString}: {PushString}
r {%f_pas_TypeName(%S)=Integer}: {PushInt}
r {%f_pas_TypeName(%S)=TColor}: {PushInt}
r {%f_pas_TypeName(%S)=Cardinal}: {PushInt}
r {%t_isEnum(%S)=true}: {PushInt}
r {%f_pas_TypeName(%S)=THandle}: {PushInt}
r {%f_pas_TypeName(%S)=Boolean}: {PushBool}
r {%SS=Typedef}: {%t_PushSig(%G)}
r {""=""}: {"We do not know how to pop : %f_pas_TypeName(%S)"}
//#UC END# *4B2A19E3038Bfor4F2C15C90252*
 
// implementation of abstract Delphi stereotype interfaces and implementation ::MDAGenerator
// Generator of forms files (.dfm)
+ dfm
R  
//#UC START# *49F5795900ECfor4F2C15C90252*
//#UC END# *49F5795900ECfor4F2C15C90252*
 
// implementation of abstract Delphi stereotype interfaces and implementation::MDAGenerator
// Second interface section of stereotype. For example, implementation of classes’ properties.
+ intf2.pas
R  
//#UC START# *477398E501C0for4F2C15C90252*
//#UC END# *477398E501C0for4F2C15C90252*
 
// implementation of abstract Delphi stereotype interfaces and implementation::MDAGenerator
// Third section of interface. For example, implementation of classes’ properties.
+ intf3.pas
R  
//#UC START# *4774D2A20372for4F2C15C90252*
//#UC END# *4774D2A20372for4F2C15C90252*
 
// implementation of abstract Delphi stereotype interfaces and implementation::MDAGenerator 
// Resources (.rc)
+ rc.pas
R  
//#UC START# *55B8D28B0157for4F2C15C90252*
O [{%S{needs script}=true}%f_pas_UnitName(%S).rc]
 [{"%SO"!=""}\
 %f_pas_UnitName(%S) RCDATA LOADONCALL MOVEABLE DISCARDABLE %f_pas_UnitName(%S).rc.script\
 %f_end_new_file(%S)\
 ]
//#UC END# *55B8D28B0157for4F2C15C90252*
 
// implementation of abstract Delphi stereotype interfaces and implementation::MDAGenerator 
// Resource scripts (.rc.script)
+ rc.script.pas
R  
//#UC START# *55B8D2F80145for4F2C15C90252*
O [{%S{needs script}=true}%f_pas_UnitName(%S).rc.script]
 [{"%SO"!=""}\
 %f_header(%S)
  
 %U[{impl}\n]\n
 %f_end_new_file(%S)\
 ]
//#UC END# *55B8D2F80145for4F2C15C90252*
 
// implementation of abstract Delphi stereotype interfaces and implementation::MDAGenerator 
// Resource compiler (.res.cmd)
+ res.cmd.pas
R  
//#UC START# *55B8DD9C0301for4F2C15C90252*
O [{%S{needs script}=true}%f_pas_UnitName(%S).res.cmd]
 [{"%SO"!=""}\
 brcc32 %f_pas_UnitName(%S).rc\
 %f_end_new_file(%S)\
 ]
//#UC END# *55B8DD9C0301for4F2C15C90252*
 
// implementation of abstract Delphi stereotype interfaces and implementation::MDAGenerator 
// Scripts of TC (.sd)
+ sd
R  
//#UC START# *4DE79AFC0030for4F2C15C90252*
//#UC END# *4DE79AFC0030for4F2C15C90252*
 
// implementation of abstract stereotype Java::MDAGenerator
// generator for implementation of interface factories on java (.java)
+ fctr.java
//#UC START# *470321C1038Afor4F2C15C90252*
//#UC END# *470321C1038Afor4F2C15C90252*
 
// implementation of abstract stereotype Documentation::MDAGenerator
// Hack for [$281531116]
+ link_to_requests_hack
//#UC START# *4E65F581015Afor4F2C15C90252*
//#UC END# *4E65F581015Afor4F2C15C90252*
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Nested stereotypes
 
: ScriptKeywordsPack::Class::injects::ClassDependency
? Dependency injection
= Delphi interfaces and implementation::MDAGenerator
 
// Generators
// generator for implementation of interfaces factories on java (.java)
+ fctr.java
//#UC START# *470321C1038Afor54D4A61F00BA*
//#UC END# *470321C1038Afor54D4A61F00BA*
 
// Second interface section of stereotype. For example, implementation of classes’ properties.
+ intf2.pas
R  
//#UC START# *477398E501C0for54D4A61F00BA*
//#UC END# *477398E501C0for54D4A61F00BA*
 
// Third section of interface. For example, properties field.
+ intf3.pas
R  
//#UC START# *4774D2A20372for54D4A61F00BA*
//#UC END# *4774D2A20372for54D4A61F00BA*
 
// Generator of forms files (.dfm)
+ dfm
R  
//#UC START# *49F5795900ECfor54D4A61F00BA*
//#UC END# *49F5795900ECfor54D4A61F00BA*
 
// Scripts of TC (.sd)
+ sd
R  
//#UC START# *4DE79AFC0030for54D4A61F00BA*
//#UC END# *4DE79AFC0030for54D4A61F00BA*
 
// Hack for [$281531116]
+ link_to_requests_hack
//#UC START# *4E65F581015Afor54D4A61F00BA*
//#UC END# *4E65F581015Afor54D4A61F00BA*
 
// Resources (.rc)
+ rc.pas
R  
//#UC START# *55B8D28B0157for54D4A61F00BA*
//#UC END# *55B8D28B0157for54D4A61F00BA*
 
// Resources scripts (.rc.script)
+ rc.script.pas
R  
//#UC START# *55B8D2F80145for54D4A61F00BA*
//#UC END# *55B8D2F80145for54D4A61F00BA*
 
// Resource compiler (.res.cmd)
+ res.cmd.pas
R  
//#UC START# *55B8DD9C0301for54D4A61F00BA*
//#UC END# *55B8DD9C0301for54D4A61F00BA*
 
// Model generation in MDKnow
+ wiki
//#UC START# *46E6D4BB0339for54D4A61F00BA*
//#UC END# *46E6D4BB0339for54D4A61F00BA*
 
// Native Delphi interfaces (.pas)
+ intf.pas
R  
//#UC START# *470F1571031Cfor54D4A61F00BA*
//#UC END# *470F1571031Cfor54D4A61F00BA*
 
// Implementation on Delphi(.pas)
+ impl.pas
R  
//#UC START# *470F15B800CBfor54D4A61F00BA*
//#UC END# *470F15B800CBfor54D4A61F00BA*
 
// Stereotype function
%f _st_space_key
 SHD
 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Inherited implementation
 
// implementation of abstract stereotype Documentation::MDAGenerator
// check for restraints on the element
%t _constraint
//#UC START# *4704C0E30186for54D4A61F00BA*
c          {}
r {""=""}: {}
//#UC END# *4704C0E30186for54D4A61F00BA*
 
// implementation of abstract stereotype Documentation::MDAGenerator
// displays item description (operation, attribute) on wiki
%f _wiki_child_kind
//#UC START# *4705CBD6003Efor54D4A61F00BA*
//#UC END# *4705CBD6003Efor54D4A61F00BA*
 
// implementation of abstract stereotype Documentation::MDAGenerator
// displays the description of auto-generated methods to wiki
%f _wiki_up_add_gen
//#UC START# *470484D50138for54D4A61F00BA*
//#UC END# *470484D50138for54D4A61F00BA*
 
: ScriptKeywordsPack::Class::keyword::Operation
? Word of script
= UtilityPack::Class::Operation
 
// Parameters of stereotype
v -
/ - types of visibility
a f
/ - type of abstraction
T 
/ - can have no “purpose” (type/result)
 
// User properties
p NameForScript:s ? 
p is immediate:tribool=undefined ? 
p mapped:tribool=undefined ? 
 
// Generators
// Model generation in MDKnow
+ wiki
//#UC START# *46E6D4BB0339for54F734BC0087*
//#UC END# *46E6D4BB0339for54F734BC0087*
 
// generator of implementation of interfaces factories on java (.java)
+ fctr.java
//#UC START# *470321C1038Afor54F734BC0087*
//#UC END# *470321C1038Afor54F734BC0087*
 
// Second interface section of stereotype. For example, implementation of classes’ properties.
+ intf2.pas
R  
//#UC START# *477398E501C0for54F734BC0087*
//#UC END# *477398E501C0for54F734BC0087*
 
// Third section of interface. For example, properties field.
+ intf3.pas
R  
//#UC START# *4774D2A20372for54F734BC0087*
//#UC END# *4774D2A20372for54F734BC0087*
 
// Generator of forms files (.dfm)
+ dfm
R  
//#UC START# *49F5795900ECfor54F734BC0087*
//#UC END# *49F5795900ECfor54F734BC0087*
 
// Scripts of TC (.sd)
+ sd
R  
//#UC START# *4DE79AFC0030for54F734BC0087*
//#UC END# *4DE79AFC0030for54F734BC0087*
 
// Hack for [$281531116]
+ link_to_requests_hack
//#UC START# *4E65F581015Afor54F734BC0087*
//#UC END# *4E65F581015Afor54F734BC0087*
 
// Resources (.rc)
+ rc.pas
R  
//#UC START# *55B8D28B0157for54F734BC0087*
//#UC END# *55B8D28B0157for54F734BC0087*
 
// Resource scripts (.rc.script)
+ rc.script.pas
R  
//#UC START# *55B8D2F80145for54F734BC0087*
//#UC END# *55B8D2F80145for54F734BC0087*
 
// Resource compiler (.res.cmd)
+ res.cmd.pas
R  
//#UC START# *55B8DD9C0301for54F734BC0087*
//#UC END# *55B8DD9C0301for54F734BC0087*
 
// Native Delphi interfaces (.pas)
+ intf.pas
R  
//#UC START# *470F1571031Cfor54F734BC0087*
//#UC END# *470F1571031Cfor54F734BC0087*
 
// Implementation on Delphi(.pas)
+ impl.pas
R  
//#UC START# *470F15B800CBfor54F734BC0087*
//#UC END# *470F15B800CBfor54F734BC0087*
 
// Stereotype function
%f _st_space_key
 SHD
 
%f _wiki_up_print
 %S#[inherited][{"%S{mapped}"!="%S{!mapped}"}%f_up_prefix(%S) *mapped* = *%S{mapped}*
 ][{"%S{NameForScript}"!="%S{!NameForScript}"}%f_up_prefix(%S) *NameForScript* = *%S{NameForScript}*
 ][{"%S{is immediate}"!="%S{!is immediate}"}%f_up_prefix(%S) *is immediate* = *%S{is immediate}*
 ]
 
%f _IsKeyword
// returnable result: boolean
//#UC START# *5510356E00AEfor54F734BC0087*
 true
//#UC END# *5510356E00AEfor54F734BC0087*
 
%f _NoForward
// returnable result: boolean
//#UC START# *55115A470301for54F734BC0087*
 true
//#UC END# *55115A470301for54F734BC0087*
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Inherited implementation
 
// implementation of abstract stereotype Documentation::MDAGenerator
// displaying of description of auto-generated methods on wiki
%f _wiki_up_add_gen
//#UC START# *470484D50138for54F734BC0087*
//#UC END# *470484D50138for54F734BC0087*
 
: ScriptKeywordsPack::Class::property::Attribute
= UtilityPack::Class::Attribute
 
// Stereotype parameter
v -
/ - type of visibility
a f
/ - type of abstraction
 
// User properties
p NameForScript:s ? 
p mapped:tribool=undefined ? 
 
// Generators
// Model generation in MDKnow
+ wiki
//#UC START# *46E6D4BB0339for54F861670034*
//#UC END# *46E6D4BB0339for54F861670034*
 
// generator of inline implementation files on C++ (.i.h)
+ i.h
//#UC START# *47022CCF00EAfor54F861670034*
//#UC END# *47022CCF00EAfor54F861670034*
 
// generator for implementation of interfaces factories on java (.java)
+ fctr.java
//#UC START# *470321C1038Afor54F861670034*
//#UC END# *470321C1038Afor54F861670034*
 
// Second interface section of stereotype. For example, implementation of classes’ properties.
+ intf2.pas
R  
//#UC START# *477398E501C0for54F861670034*
//#UC END# *477398E501C0for54F861670034*
 
// Third section of interface. For example, properties field.
+ intf3.pas
R  
//#UC START# *4774D2A20372for54F861670034*
//#UC END# *4774D2A20372for54F861670034*
 
// Generator of forms files (.dfm)
+ dfm
R  
//#UC START# *49F5795900ECfor54F861670034*
//#UC END# *49F5795900ECfor54F861670034*
 
// Scripts of TC (.sd)
+ sd
R  
//#UC START# *4DE79AFC0030for54F861670034*
//#UC END# *4DE79AFC0030for54F861670034*
 
// Hack for [$281531116]
+ link_to_requests_hack
//#UC START# *4E65F581015Afor54F861670034*
//#UC END# *4E65F581015Afor54F861670034*
 
// Resources (.rc)
+ rc.pas
R  
//#UC START# *55B8D28B0157for54F861670034*
//#UC END# *55B8D28B0157for54F861670034*
 
// Resource scripts (.rc.script)
+ rc.script.pas
R  
//#UC START# *55B8D2F80145for54F861670034*
//#UC END# *55B8D2F80145for54F861670034*
 
// Resource compiler (.res.cmd)
+ res.cmd.pas
R  
//#UC START# *55B8DD9C0301for54F861670034*
//#UC END# *55B8DD9C0301for54F861670034*
 
// Native Delphi interfaces (.pas)
+ intf.pas
R  
//#UC START# *470F1571031Cfor54F861670034*
//#UC END# *470F1571031Cfor54F861670034*
 
// Implementation on Delphi(.pas)
+ impl.pas
R  
//#UC START# *470F15B800CBfor54F861670034*
//#UC END# *470F15B800CBfor54F861670034*
 
// Stereotype functions
%f _st_space_key
 SHD
 
%f _wiki_up_print
 %S#[inherited][{"%S{mapped}"!="%S{!mapped}"}%f_up_prefix(%S) *mapped* = *%S{mapped}*
 ][{"%S{NameForScript}"!="%S{!NameForScript}"}%f_up_prefix(%S) *NameForScript* = *%S{NameForScript}*
 ]
 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Inherited implementation
 
// implementation of abstract stereotype Documentation::MDAGenerator
// check for restraints on the element
%t _constraint
//#UC START# *4704C0E30186for54F861670034*
c          {}
r {""=""}: {}
//#UC END# *4704C0E30186for54F861670034*
 
// implementation of abstract stereotype Documentation::MDAGenerator
// displays the description of auto-generated methods to wiki
%f _wiki_up_add_gen
//#UC START# *470484D50138for54F861670034*
//#UC END# *470484D50138for54F861670034*
 
: ScriptKeywordsPack::Class::readonly::Attribute
= ScriptKeywordsPack::Class::property::Attribute
 
// Stereotype function
%f _st_space_key
 SHD
 
 
: ScriptKeywordsPack::Class::friend::ClassDependency
= ClassBase::Class::friend::ClassDependency
 
// Generators
// Model generation in MDKnow
+ wiki
//#UC START# *46E6D4BB0339for54FECA940175*
//#UC END# *46E6D4BB0339for54FECA940175*
 
// generator of header files on C++ (.h)
+ h
//#UC START# *47022C88029Ffor54FECA940175*
//#UC END# *47022C88029Ffor54FECA940175*
 
// generator of implementation files on C++ (.cpp)
+ cpp
//#UC START# *47022CB8034Bfor54FECA940175*
//#UC END# *47022CB8034Bfor54FECA940175*
 
// generator of inline implementation files C++ (.i.h)
+ i.h
//#UC START# *47022CCF00EAfor54FECA940175*
//#UC END# *47022CCF00EAfor54FECA940175*
 
// generator of classes, interfaces on java (.java)
+ java
//#UC START# *470321950119for54FECA940175*
//#UC END# *470321950119for54FECA940175*
 
// generator for implementation of interface factories on java (.java)
+ fctr.java
//#UC START# *470321C1038Afor54FECA940175*
//#UC END# *470321C1038Afor54FECA940175*
 
// Native Delphi interfaces (.pas)
+ intf.pas
R  
//#UC START# *470F1571031Cfor54FECA940175*
//#UC END# *470F1571031Cfor54FECA940175*
 
// Implementation on Delphi(.pas)
+ impl.pas
R  
//#UC START# *470F15B800CBfor54FECA940175*
//#UC END# *470F15B800CBfor54FECA940175*
 
// Second interface section of stereotype. For example, implementation of class properties.
+ intf2.pas
R  
//#UC START# *477398E501C0for54FECA940175*
//#UC END# *477398E501C0for54FECA940175*
 
// Third section of interface. For example, implementation of classes' properties.
+ intf3.pas
R  
//#UC START# *4774D2A20372for54FECA940175*
//#UC END# *4774D2A20372for54FECA940175*
 
// Generator of forms files (.dfm)
+ dfm
R  
//#UC START# *49F5795900ECfor54FECA940175*
//#UC END# *49F5795900ECfor54FECA940175*
 
// Scripts of TC (.sd)
+ sd
R  
//#UC START# *4DE79AFC0030for54FECA940175*
//#UC END# *4DE79AFC0030for54FECA940175*
 
// Hack for [$281531116]
+ link_to_requests_hack
//#UC START# *4E65F581015Afor54FECA940175*
//#UC END# *4E65F581015Afor54FECA940175*
 
// Resources (.rc)
+ rc.pas
R  
//#UC START# *55B8D28B0157for54FECA940175*
//#UC END# *55B8D28B0157for54FECA940175*
 
// Resource scripts (.rc.script)
+ rc.script.pas
R  
//#UC START# *55B8D2F80145for54FECA940175*
//#UC END# *55B8D2F80145for54FECA940175*
 
// Resource compiler (.res.cmd)
+ res.cmd.pas
R  
//#UC START# *55B8DD9C0301for54FECA940175*
//#UC END# *55B8DD9C0301for54FECA940175*
 
// Stereotype function
%f _st_space_key
 SHD
 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Inherited implementation
 
// implementation of abstract stereotype Documentation::MDAGenerator
// check for restraints on the element
%t _constraint
//#UC START# *4704C0E30186for54FECA940175*
c          {}
r {""=""}: {}
//#UC END# *4704C0E30186for54FECA940175*
 
// implementation of abstract stereotype Documentation::MDAGenerator
// displays the description of auto-generated methods input to wiki
%f _wiki_up_add_gen
//#UC START# *470484D50138for54FECA940175*
//#UC END# *470484D50138for54FECA940175*
 
: ScriptKeywordsPack::Class::creator::Operation
= ScriptKeywordsPack::Class::keyword::Operation
 
// Stereotype function
%f _st_space_key
 SHD
 
%f _IsCreator
// returned result: boolean
//#UC START# *5510359500FCfor5510358803BD*
 true
//#UC END# *5510359500FCfor5510358803BD*
 
: ScriptKeywordsPack::Class::globalkeyword::Operation
? Global script word
= UtilityPack::Class::Operation
 
// User properties
p NameForScript:s ? 
p is immediate:tribool=undefined ? 
 
// Generators
// Model generation in MDKnow
+ wiki
//#UC START# *46E6D4BB0339for55115A7D0330*
//#UC END# *46E6D4BB0339for55115A7D0330*
 
// generator for implementation of interface factories on java (.java)
+ fctr.java
//#UC START# *470321C1038Afor55115A7D0330*
//#UC END# *470321C1038Afor55115A7D0330*
 
// Second interface section of stereotype. For example, implementation of class properties.
+ intf2.pas
R  
//#UC START# *477398E501C0for55115A7D0330*
//#UC END# *477398E501C0for55115A7D0330*
 
// Third section of interface. For example, properties field.
+ intf3.pas
R  
//#UC START# *4774D2A20372for55115A7D0330*
//#UC END# *4774D2A20372for55115A7D0330*
 
// Generator of forms files (.dfm)
+ dfm
R  
//#UC START# *49F5795900ECfor55115A7D0330*
//#UC END# *49F5795900ECfor55115A7D0330*
 
// Scripts of TC (.sd)
+ sd
R  
//#UC START# *4DE79AFC0030for55115A7D0330*
//#UC END# *4DE79AFC0030for55115A7D0330*
 
// Hack for [$281531116]
+ link_to_requests_hack
//#UC START# *4E65F581015Afor55115A7D0330*
//#UC END# *4E65F581015Afor55115A7D0330*
 
// Resources (.rc)
+ rc.pas
R  
//#UC START# *55B8D28B0157for55115A7D0330*
//#UC END# *55B8D28B0157for55115A7D0330*
 
// Resource scripts (.rc.script)
+ rc.script.pas
R  
//#UC START# *55B8D2F80145for55115A7D0330*
//#UC END# *55B8D2F80145for55115A7D0330*
 
// Resource compiler (.res.cmd)
+ res.cmd.pas
R  
//#UC START# *55B8DD9C0301for55115A7D0330*
//#UC END# *55B8DD9C0301for55115A7D0330*
 
// Native Delphi interfaces (.pas)
+ intf.pas
R  
//#UC START# *470F1571031Cfor55115A7D0330*
//#UC END# *470F1571031Cfor55115A7D0330*
 
// Implementation on Delphi(.pas)
+ impl.pas
R  
//#UC START# *470F15B800CBfor55115A7D0330*
//#UC END# *470F15B800CBfor55115A7D0330*
 
// Stereotype function
%f _st_space_key
 SHD
 
%f _wiki_up_print
 %S#[inherited][{"%S{NameForScript}"!="%S{!NameForScript}"}%f_up_prefix(%S) *NameForScript* = *%S{NameForScript}*
 ][{"%S{is immediate}"!="%S{!is immediate}"}%f_up_prefix(%S) *is immediate* = *%S{is immediate}*
 ]
 
%f _IsGlobalKeyword
// возвращаемый результат: boolean
//#UC START# *55115AD200D8for55115A7D0330*
 true
//#UC END# *55115AD200D8for55115A7D0330*
 
%f _NoForward
// returned result: boolean
//#UC START# *55115FF8009Efor55115A7D0330*
 true
//#UC END# *55115FF8009Efor55115A7D0330*
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Inherited implementation
 
// implementation of abstract stereotype Documentation::MDAGenerator
// displays the description of auto-generated methods input to wiki
%f _wiki_up_add_gen
//#UC START# *470484D50138for55115A7D0330*
//#UC END# *470484D50138for55115A7D0330*
 
: ScriptKeywordsPack::Class::varworker::Operation
= ScriptKeywordsPack::Class::keyword::Operation
 
// Stereotype function
%f _st_space_key
 SHD
 
%f _IsVarWorker
// returned result: boolean
//#UC START# *55128EF4009Cfor55128EAF022E*
 true
//#UC END# *55128EF4009Cfor55128EAF022E*
 
: ScriptKeywordsPack::Class::globalvarworker::Operation
= ScriptKeywordsPack::Class::globalkeyword::Operation
 
// Stereotype function
%f _st_space_key
 SHD
 
%f _IsVarWorker
// returned result: boolean
//#UC START# *55128F060331for55128EDC028D*
 true
//#UC END# *55128F060331for55128EDC028D*
 
: ScriptKeywordsPack::Class::wordworker::Operation
= ScriptKeywordsPack::Class::varworker::Operation
= SupressNextImmediateHolder::Class
 
// Stereotype function
%f _st_space_key
 SHD
 
%f _wiki_up_print
 %S%[ScriptKeywordsPack::Class::varworker::Operation]f_wiki_up_print()[{"%S{SupressNextImmediate}"!="%S{!SupressNextImmediate}"}%f_up_prefix(%S) *SupressNextImmediate* = *%S{SupressNextImmediate}*
 ]
 
%f _IsWordWorker
// returned result: boolean
//#UC START# *5513DB4402E0for5513DB34012F*
 true
//#UC END# *5513DB4402E0for5513DB34012F*
 
: ScriptKeywordsPack::Class::globalwordworker::Operation
= ScriptKeywordsPack::Class::globalvarworker::Operation
= SupressNextImmediateHolder::Class
 
// Stereotype function
%f _st_space_key
 SHD
 
%f _wiki_up_print
 %S%[ScriptKeywordsPack::Class::globalvarworker::Operation]f_wiki_up_print()[{"%S{SupressNextImmediate}"!="%S{!SupressNextImmediate}"}%f_up_prefix(%S) *SupressNextImmediate* = *%S{SupressNextImmediate}*
 ]
 
%f _IsWordWorker
// returned result: boolean
//#UC START# *5513DB6C026Ffor5513DB5502C7*
 true
//#UC END# *5513DB6C026Ffor5513DB5502C7*
 
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



Комментариев нет:

Отправить комментарий