diff --git a/components/codetools/definetemplates.pas b/components/codetools/definetemplates.pas index ed994995ad..29075bd1f4 100644 --- a/components/codetools/definetemplates.pas +++ b/components/codetools/definetemplates.pas @@ -3488,6 +3488,7 @@ function TDefinePool.CreateDelphiCompilerDefinesTemplate( DelphiVersion: integer; Owner: TObject): TDefineTemplate; var DefTempl: TDefineTemplate; + VerMacro: String; begin DefTempl:=TDefineTemplate.Create('Delphi'+IntToStr(DelphiVersion) +' Compiler Defines', @@ -3508,28 +3509,17 @@ begin // version case DelphiVersion of - 3: - DefTempl.AddChild(TDefineTemplate.Create('Define macro VER_110', - Format(ctsDefineMacroName,['VER_110']), - 'VER_110','',da_DefineRecurse)); - 4: - DefTempl.AddChild(TDefineTemplate.Create('Define macro VER_125', - Format(ctsDefineMacroName,['VER_125']), - 'VER_125','',da_DefineRecurse)); - 5: - DefTempl.AddChild(TDefineTemplate.Create('Define macro VER_130', - Format(ctsDefineMacroName,['VER_130']), - 'VER_130','',da_DefineRecurse)); - 6: - DefTempl.AddChild(TDefineTemplate.Create('Define macro VER_140', - Format(ctsDefineMacroName,['VER_140']), - 'VER_140','',da_DefineRecurse)); + 3: VerMacro:='VER_110'; + 4: VerMacro:='VER_125'; + 5: VerMacro:='VER_130'; + 6: VerMacro:='VER_140'; else // else define Delphi 7 - DefTempl.AddChild(TDefineTemplate.Create('Define macro VER_150', - Format(ctsDefineMacroName,['VER_150']), - 'VER_150','',da_DefineRecurse)); + VerMacro:='VER_150'; end; + DefTempl.AddChild(TDefineTemplate.Create('Define macro '+VerMacro, + Format(ctsDefineMacroName,[VerMacro]), + VerMacro,'',da_DefineRecurse)); DefTempl.AddChild(TDefineTemplate.Create( Format(ctsDefineMacroName,[ExternalMacroStart+'Compiler']), diff --git a/components/codetools/keywordfunclists.pas b/components/codetools/keywordfunclists.pas index dbaf0ea813..5397e41cd7 100644 --- a/components/codetools/keywordfunclists.pas +++ b/components/codetools/keywordfunclists.pas @@ -617,6 +617,7 @@ begin Add('ABSTRACT' ,{$ifdef FPC}@{$endif}AllwaysTrue); Add('CDECL' ,{$ifdef FPC}@{$endif}AllwaysTrue); Add('DEPRECATED' ,{$ifdef FPC}@{$endif}AllwaysTrue); + Add('DISPID' ,{$ifdef FPC}@{$endif}AllwaysTrue); Add('DYNAMIC' ,{$ifdef FPC}@{$endif}AllwaysTrue); Add('INLINE' ,{$ifdef FPC}@{$endif}AllwaysTrue); Add('MESSAGE' ,{$ifdef FPC}@{$endif}AllwaysTrue); diff --git a/components/codetools/pascalparsertool.pas b/components/codetools/pascalparsertool.pas index 92a0918572..20315466b7 100644 --- a/components/codetools/pascalparsertool.pas +++ b/components/codetools/pascalparsertool.pas @@ -889,6 +889,7 @@ function TPascalParserTool.KeyWordFuncClassMethod: boolean; proc specifiers with parameters: message + dispid } var IsFunction, HasForwardModifier: boolean; ParseAttr: TParseProcHeadAttributes; @@ -1185,6 +1186,7 @@ function TPascalParserTool.ReadTilProcedureHeadEnd( external index ; [alias: ] [external name ] + dispid ; } procedure RaiseKeyWordExampleExpected; @@ -1270,7 +1272,7 @@ begin CurPos.StartPos,CurPos.EndPos-CurPos.StartPos); if IsSpecifier then begin // read specifier - if UpAtomIs('MESSAGE') then begin + if UpAtomIs('MESSAGE') or UpAtomIs('DISPID') then begin ReadNextAtom; ReadConstant(true,false,[]); end else if UpAtomIs('EXTERNAL') then begin diff --git a/images/components/tdbgrid.xpm b/images/components/tdbgrid.xpm index 72f0344f8b..9608770115 100644 --- a/images/components/tdbgrid.xpm +++ b/images/components/tdbgrid.xpm @@ -2,31 +2,31 @@ static char * tdbgrid_xpm[] = { "23 23 6 1", " c None", -". c #828282", -"+ c #FFFFFF", +". c #A0978F", +"+ c #7F7F7F", "@ c #BFBFBF", -"# c #000000", -"$ c #969696", -"................ ", -".++.++@++@++@++. ", -".@@............. ", -".++.++@++@++@++. ", -".@@.@@@@@@@@@@@. ", -".++.++@++@++@++. ", -".@@.@@@@@@@@@@@. ", -".++.++#################", -".@@.@@#$$$#$$$#$$$#$$$#", -".++.++#$$$#$$$#$$$#$$$#", -"......#################", -" #$$$#+++$+++$+++#", -" #$$$#+++$+++$+++#", -" #####$$$$$$$$$$$#", -" #$$$#+++$+++$+++#", -" #$$$#+++$+++$+++#", -" #####$$$$$$$$$$$#", -" #$$$#+++$+++$+++#", -" #$$$#+++$+++$+++#", -" #####$$$$$$$$$$$#", -" #$$$#+++$+++$+++#", -" #$$$#+++$+++$+++#", -" #################"}; +"# c #FFFFFF", +"$ c #000000", +".......................", +".+++++++++++++++.......", +".+@+#@@@@#@@@@@+.......", +".+++++++++++++++.......", +".+@+####@######+.......", +".+#+#@@#@#@@@@#+.......", +".+@+####@######+.......", +".+#+#@@#@#@@@##+.......", +".+@+####@######+.......", +".+#+$$$$$$$$$$$$$$$$$$.", +".+@+$@$#@@@@@#@@@@@@@$.", +".+++$$$$$$$$$$$$$$$$$$.", +"....$@$#####@########$.", +"....$#$@@@@@@@@@@@@@@$.", +"....$@$#####@########$.", +"....$#$@@@@@@@@@@@@@@$.", +"....$@$#####@########$.", +"....$#$@@@@@@@@@@@@@@$.", +"....$@$#####@########$.", +"....$#$@@@@@@@@@@@@@@$.", +"....$@$#####@########$.", +"....$$$$$$$$$$$$$$$$$$.", +"......................."}; diff --git a/images/components/tdrawgrid.xpm b/images/components/tdrawgrid.xpm index ccd9f24fd1..e072eb525f 100644 --- a/images/components/tdrawgrid.xpm +++ b/images/components/tdrawgrid.xpm @@ -1,31 +1,32 @@ /* XPM */ static char * tdrawgrid_xpm[] = { -"22 19 9 1", +"23 23 6 1", " c None", -". c #A4A1A4", +". c #C0C0C0", "+ c #000000", -"@ c #FFFFC5", -"# c #838183", -"$ c #00BF86", -"% c #FE0A19", -"& c #FFFFFF", -"* c #2200FF", -"....+.....+.....+.....", -"....+.....+.....+.....", -"....+.....+.....+.....", -"++++++++++++++++++++++", -"....+@@@@@#@@@@@#@@@@@", -"....+@@@@@#@@@@@$@@@@@", -"....+@@%%%%%@@@$$$@@@@", -"+++++##%%%%%###$$$####", -"....+&&%%%%%&&$$$$$&&&", -"....+&&%%%%***$$$$$&&&", -"....+&&%%%*****$$$$$&&", -"+++++#####*****#######", -"....+@@@@@*****@#@@@@@", -"....+@@@@@#***@@#@@@@@", -"....+@@@@@#@@@@@#@@@@@", -"+++++#################", -"....+&&&&&#&&&&&#&&&&&", -"....+&&&&&#&&&&&#&&&&&", -"....+&&&&&#&&&&&#&&&&&"}; +"@ c #FFFFFF", +"# c #909090", +"$ c #000080", +".......................", +".++++++++++++++++++....", +".+.+@.....@.......+#...", +".++++++++++++++++++#...", +".+.+@@@@@.@@@@@@@@+#...", +".+@+@$$$@.@$$$$$$@+#...", +".+.+@@@@@.@@@@@@@@+#...", +".+@+@$$$@.@$$$$$@@+#...", +".+.+@@@@@.@@@@@@@@+#...", +".+@+@$$$@.@$$$$$$@+#...", +".+.+@@@@@.@@@@@@@@+#...", +".++++++++++++++++++#...", +"..############+#####...", +".............#+#.......", +".............+@+.......", +"............#+@+#......", +"............+@@@+#++++.", +"..........++++@@+@.@.+.", +".........+$$$$+@@+@.@+.", +".........+$$$$++++.@.+.", +".........+$$$$+.+.@.@+.", +".........+$$$$+.++++++.", +"..........++++........."}; diff --git a/images/components/tstringgrid.xpm b/images/components/tstringgrid.xpm index 13bacecd22..232dad4389 100644 --- a/images/components/tstringgrid.xpm +++ b/images/components/tstringgrid.xpm @@ -1,28 +1,31 @@ /* XPM */ static char * tstringgrid_xpm[] = { -"22 19 6 1", +"23 23 5 1", " c None", -". c #A4A1A4", +". c #C0C0C0", "+ c #000000", -"@ c #FFFFC5", -"# c #838183", -"$ c #FFFFFF", -"....+.....+.....+.....", -"....+.....+.....+.....", -"....+.....+.....+.....", -"++++++++++++++++++++++", -"....+@@@@@#@@@@@#@@@@@", -"....+@@@@@#@@@@@#@@@@@", -"....+@@@@@#@@@@@#@@@@@", -"+++++#################", -"....+$$$$$#$$$$$#$$$$$", -"....+$$$$$#$$$$$#$$$$$", -"....+$$$$$#$$$$$#$$$$$", -"+++++#################", -"....+@@@@@#@@@@@#@@@@@", -"....+@@@@@#@@@@@#@@@@@", -"....+@@@@@#@@@@@#@@@@@", -"+++++#################", -"....+$$$$$#$$$$$#$$$$$", -"....+$$$$$#$$$$$#$$$$$", -"....+$$$$$#$$$$$#$$$$$"}; +"@ c #FFFFFF", +"# c #000080", +".......................", +".++++++++++++++++++....", +".+.+@.....@.......+....", +".++++++++++++++++++....", +".+.+@@@@@.@@@@@@@@+....", +".+@+@###@.@######@+....", +".+.+@@@@@.@@@@@@@@+....", +".+@+@###@.@#####@@+....", +".+.+@@@@@.@@@@@@@@+....", +".+@+@###@.@######@+....", +".+.+@@@@@.@@@@@@@@+....", +".+@+@###@.@#####@@+....", +".+.+@@@@@.@@@@@@@@+....", +".++++++++++++++++++....", +".............#.........", +".............#.........", +".........##..###...##..", +"...........#.#..#.#..#.", +".........###.#..#.#....", +"........#..#.#..#.#....", +"........#..#.#..#.#..#.", +".........###.###...##..", +"......................."}; diff --git a/images/components_images.lrs b/images/components_images.lrs index 9930ea4d6e..d87166e815 100644 --- a/images/components_images.lrs +++ b/images/components_images.lrs @@ -641,17 +641,17 @@ LazarusResources.Add('tdbedit','XPM',[ ]); LazarusResources.Add('tdbgrid','XPM',[ '/* XPM */'#10'static char * tdbgrid_xpm[] = {'#10'"23 23 6 1",'#10'" '#9'c N' - +'one",'#10'".'#9'c #828282",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #BFBFBF",'#10 - +'"#'#9'c #000000",'#10'"$'#9'c #969696",'#10'"................ ",'#10 - +'".++.++@++@++@++. ",'#10'".@@............. ",'#10'".++.++@++@++' - +'@++. ",'#10'".@@.@@@@@@@@@@@. ",'#10'".++.++@++@++@++. ",' - +#10'".@@.@@@@@@@@@@@. ",'#10'".++.++#################",'#10'".@@.@@#$$' - +'$#$$$#$$$#$$$#",'#10'".++.++#$$$#$$$#$$$#$$$#",'#10'"......################' - +'#",'#10'" #$$$#+++$+++$+++#",'#10'" #$$$#+++$+++$+++#",'#10'" ' - +' #####$$$$$$$$$$$#",'#10'" #$$$#+++$+++$+++#",'#10'" #$$$#+++$++' - +'+$+++#",'#10'" #####$$$$$$$$$$$#",'#10'" #$$$#+++$+++$+++#",'#10 - +'" #$$$#+++$+++$+++#",'#10'" #####$$$$$$$$$$$#",'#10'" #$$$#+' - +'++$+++$+++#",'#10'" #$$$#+++$+++$+++#",'#10'" #################"}' + +'one",'#10'".'#9'c #A0978F",'#10'"+'#9'c #7F7F7F",'#10'"@'#9'c #BFBFBF",'#10 + +'"#'#9'c #FFFFFF",'#10'"$'#9'c #000000",'#10'".......................",'#10 + +'".+++++++++++++++.......",'#10'".+@+#@@@@#@@@@@+.......",'#10'".+++++++++++' + +'++++.......",'#10'".+@+####@######+.......",'#10'".+#+#@@#@#@@@@#+.......",' + +#10'".+@+####@######+.......",'#10'".+#+#@@#@#@@@##+.......",'#10'".+@+####@' + +'######+.......",'#10'".+#+$$$$$$$$$$$$$$$$$$.",'#10'".+@+$@$#@@@@@#@@@@@@@$' + +'.",'#10'".+++$$$$$$$$$$$$$$$$$$.",'#10'"....$@$#####@########$.",'#10'"....' + +'$#$@@@@@@@@@@@@@@$.",'#10'"....$@$#####@########$.",'#10'"....$#$@@@@@@@@@@' + +'@@@@$.",'#10'"....$@$#####@########$.",'#10'"....$#$@@@@@@@@@@@@@@$.",'#10 + +'"....$@$#####@########$.",'#10'"....$#$@@@@@@@@@@@@@@$.",'#10'"....$@$#####' + +'@########$.",'#10'"....$$$$$$$$$$$$$$$$$$.",'#10'"......................."}' +';'#10 ]); LazarusResources.Add('tdbgroupbox','XPM',[ @@ -895,18 +895,19 @@ LazarusResources.Add('tdbtext','XPM',[ +' $$## #(##_"};'#10 ]); LazarusResources.Add('tdrawgrid','XPM',[ - '/* XPM */'#10'static char * tdrawgrid_xpm[] = {'#10'"22 19 9 1",'#10'" '#9'c' - +' None",'#10'".'#9'c #A4A1A4",'#10'"+'#9'c #000000",'#10'"@'#9'c #FFFFC5",' - +#10'"#'#9'c #838183",'#10'"$'#9'c #00BF86",'#10'"%'#9'c #FE0A19",'#10'"&'#9 - +'c #FFFFFF",'#10'"*'#9'c #2200FF",'#10'"....+.....+.....+.....",'#10'"....+.' - +'....+.....+.....",'#10'"....+.....+.....+.....",'#10'"+++++++++++++++++++++' - +'+",'#10'"....+@@@@@#@@@@@#@@@@@",'#10'"....+@@@@@#@@@@@$@@@@@",'#10'"....+@' - +'@%%%%%@@@$$$@@@@",'#10'"+++++##%%%%%###$$$####",'#10'"....+&&%%%%%&&$$$$$&&' - +'&",'#10'"....+&&%%%%***$$$$$&&&",'#10'"....+&&%%%*****$$$$$&&",'#10'"+++++#' - +'####*****#######",'#10'"....+@@@@@*****@#@@@@@",'#10'"....+@@@@@#***@@#@@@@' - +'@",'#10'"....+@@@@@#@@@@@#@@@@@",'#10'"+++++#################",'#10'"....+&' - +'&&&&#&&&&&#&&&&&",'#10'"....+&&&&&#&&&&&#&&&&&",'#10'"....+&&&&&#&&&&&#&&&&' - +'&"};'#10 + '/* XPM */'#10'static char * tdrawgrid_xpm[] = {'#10'"23 23 6 1",'#10'" '#9'c' + +' None",'#10'".'#9'c #C0C0C0",'#10'"+'#9'c #000000",'#10'"@'#9'c #FFFFFF",' + +#10'"#'#9'c #909090",'#10'"$'#9'c #000080",'#10'".......................",' + +#10'".++++++++++++++++++....",'#10'".+.+@.....@.......+#...",'#10'".++++++++' + +'++++++++++#...",'#10'".+.+@@@@@.@@@@@@@@+#...",'#10'".+@+@$$$@.@$$$$$$@+#..' + +'.",'#10'".+.+@@@@@.@@@@@@@@+#...",'#10'".+@+@$$$@.@$$$$$@@+#...",'#10'".+.+' + +'@@@@@.@@@@@@@@+#...",'#10'".+@+@$$$@.@$$$$$$@+#...",'#10'".+.+@@@@@.@@@@@@@' + +'@+#...",'#10'".++++++++++++++++++#...",'#10'"..############+#####...",'#10 + +'".............#+#.......",'#10'".............+@+.......",'#10'"............' + +'#+@+#......",'#10'"............+@@@+#++++.",'#10'"..........++++@@+@.@.+.",' + +#10'".........+$$$$+@@+@.@+.",'#10'".........+$$$$++++.@.+.",'#10'".........' + +'+$$$$+.+.@.@+.",'#10'".........+$$$$+.++++++.",'#10'"..........++++........' + +'."};'#10 ]); LazarusResources.Add('tedit','XPM',[ '/* XPM */'#10'static char * tedit_xpm[] = {'#10'"23 16 157 2",'#10'" '#9'c ' @@ -2111,17 +2112,18 @@ LazarusResources.Add('tstatusbar','XPM',[ +'...................."};'#10 ]); LazarusResources.Add('tstringgrid','XPM',[ - '/* XPM */'#10'static char * tstringgrid_xpm[] = {'#10'"22 19 6 1",'#10'" '#9 - +'c None",'#10'".'#9'c #A4A1A4",'#10'"+'#9'c #000000",'#10'"@'#9'c #FFFFC5",' - +#10'"#'#9'c #838183",'#10'"$'#9'c #FFFFFF",'#10'"....+.....+.....+.....",'#10 - +'"....+.....+.....+.....",'#10'"....+.....+.....+.....",'#10'"++++++++++++++' - +'++++++++",'#10'"....+@@@@@#@@@@@#@@@@@",'#10'"....+@@@@@#@@@@@#@@@@@",'#10 - +'"....+@@@@@#@@@@@#@@@@@",'#10'"+++++#################",'#10'"....+$$$$$#$$$' - +'$$#$$$$$",'#10'"....+$$$$$#$$$$$#$$$$$",'#10'"....+$$$$$#$$$$$#$$$$$",'#10 - +'"+++++#################",'#10'"....+@@@@@#@@@@@#@@@@@",'#10'"....+@@@@@#@@@' - +'@@#@@@@@",'#10'"....+@@@@@#@@@@@#@@@@@",'#10'"+++++#################",'#10 - +'"....+$$$$$#$$$$$#$$$$$",'#10'"....+$$$$$#$$$$$#$$$$$",'#10'"....+$$$$$#$$$' - +'$$#$$$$$"};'#10 + '/* XPM */'#10'static char * tstringgrid_xpm[] = {'#10'"23 23 5 1",'#10'" '#9 + +'c None",'#10'".'#9'c #C0C0C0",'#10'"+'#9'c #000000",'#10'"@'#9'c #FFFFFF",' + +#10'"#'#9'c #000080",'#10'".......................",'#10'".+++++++++++++++++' + +'+....",'#10'".+.+@.....@.......+....",'#10'".++++++++++++++++++....",'#10'"' + +'.+.+@@@@@.@@@@@@@@+....",'#10'".+@+@###@.@######@+....",'#10'".+.+@@@@@.@@@' + +'@@@@@+....",'#10'".+@+@###@.@#####@@+....",'#10'".+.+@@@@@.@@@@@@@@+....",' + +#10'".+@+@###@.@######@+....",'#10'".+.+@@@@@.@@@@@@@@+....",'#10'".+@+@###@' + +'.@#####@@+....",'#10'".+.+@@@@@.@@@@@@@@+....",'#10'".++++++++++++++++++...' + +'.",'#10'".............#.........",'#10'".............#.........",'#10'"....' + +'.....##..###...##..",'#10'"...........#.#..#.#..#.",'#10'".........###.#..#' + +'.#....",'#10'"........#..#.#..#.#....",'#10'"........#..#.#..#.#..#.",'#10 + +'".........###.###...##..",'#10'"......................."};'#10 ]); LazarusResources.Add('ttimer','XPM',[ '/* XPM */'#10'static char * ttimer_xpm[] = {'#10'"17 17 5 1",'#10'" '#9'c No'