Files
lazarus-ccr/applications/idlparser/pascaltypesettings.lfm
2012-03-19 14:10:59 +00:00

156 lines
4.2 KiB
Plaintext

object TypeSettings: TTypeSettings
Left = 901
Height = 277
Top = 640
Width = 498
Caption = 'IDL to Pascal type translation settings'
ClientHeight = 277
ClientWidth = 498
LCLVersion = '0.9.31'
object pLeft: TPanel
Left = 0
Height = 277
Top = 0
Width = 240
Align = alLeft
BevelOuter = bvNone
ClientHeight = 277
ClientWidth = 240
TabOrder = 0
object ValueListEditor1: TValueListEditor
Left = 0
Height = 225
Top = 22
Width = 240
Align = alClient
AutoFillColumns = True
FixedCols = 0
FixedRows = 0
RowCount = 4
TabOrder = 0
Strings.Strings = (
'IDL-Type=Pascal-Type'
'wstring=PWideChar'
'boolean=longbool'
''
)
TitleCaptions.Strings = (
'IDL-Type'
'Pascal-Type'
)
ColWidths = (
119
119
)
Cells = (
6
0
0
'IDL-Type'
0
1
'wstring'
0
2
'boolean'
1
0
'Pascal-Type'
1
1
'PWideChar'
1
2
'longbool'
)
end
object Label2: TLabel
Left = 0
Height = 22
Top = 0
Width = 240
Align = alTop
Caption = 'Map IDL-types to Pascal-types'
ParentColor = False
end
object pMapBottom: TPanel
Left = 0
Height = 30
Top = 247
Width = 240
Align = alBottom
BevelOuter = bvNone
ClientHeight = 30
ClientWidth = 240
TabOrder = 1
object bSaveMap: TButton
Left = 138
Height = 26
Top = 2
Width = 100
Align = alRight
BorderSpacing.Around = 2
Caption = 'Save to file'
OnClick = bSaveMapClick
TabOrder = 0
end
object bLoadMap: TButton
Left = 2
Height = 26
Top = 2
Width = 100
Align = alLeft
BorderSpacing.Around = 2
Caption = 'Load from file'
OnClick = bLoadMapClick
TabOrder = 1
end
end
end
object Splitter1: TSplitter
Left = 240
Height = 277
Top = 0
Width = 5
end
object pRight: TPanel
Left = 245
Height = 277
Top = 0
Width = 253
Align = alClient
BevelOuter = bvNone
ClientHeight = 277
ClientWidth = 253
TabOrder = 2
object pCListBottom: TPanel
Left = 0
Height = 30
Top = 247
Width = 253
Align = alBottom
BevelOuter = bvNone
TabOrder = 0
end
object Label1: TLabel
Left = 3
Height = 241
Top = 3
Width = 247
Align = alClient
BorderSpacing.Around = 3
Caption = 'Each IDL-Type is transated into it''s corresponding Pascal-Type. '#10#10'There are some special cases. It could be that an idl-type has the flag ''unsigned''. You can specify how to handle this flag by adding '',unsigned'' to the IDL-typename. For example:'#10'long,unsigned=culong'#10'translated unsigned long types to the culong type from fpc''s ctypes unit.'#10#10'It is possible to specify to add ''var'',''constref'',''out'' or ''const'' when a type is passed as a variable, by adding '',var'', '',const'' etc to the Pascal-typename. For example'#10'pchar=char,var'#10'will adapt idl-type pchar parameters to ''var paramname: char''.'#10#10'In IDL it is possible to set a function parameter to ''in'',''out'' or ''inout''. To specify how to handle these you have to add '',in'','',out'' or '',inout'' to the IDL-typename. For example:'#10'nsCIDRef,in=TGuid,constref'#10'will translate nsCIDRef parameters which are marked with the ''in'' keyword to ''constref AParamName: TGuid''.'#10#10'When the Pascal-type is left empty, A parameter is translated to ''out ParamName'' with further no additions.'#10#10'When the IDL-parses has to do something special when a given IDL-type is a function result, add the '',f'' suffix to the IDL-typename. When the Pascal-typename of such a rule contains a comma (,) the parameter will be forced to be passed as a parameter, and not as a function result.'
ParentColor = False
WordWrap = True
end
end
object OpenDialog: TOpenDialog
left = 54
top = 153
end
object SaveDialog: TSaveDialog
left = 152
top = 152
end
end