mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-30 18:01:53 +01:00 
			
		
		
		
	gtk intf: reduced X queries for GetCursorPos, LCL: extended ControlAtPos to search recursive, gtk2 intf: FindControlAtPos now searches recursive and now finds sub child controls, IDE: renaming units via save-as now consider code renames by user
git-svn-id: trunk@10114 -
This commit is contained in:
		
							parent
							
								
									4082bf227f
								
							
						
					
					
						commit
						d6eb52a88b
					
				| @ -407,15 +407,13 @@ begin | ||||
|   BuildTree(false); | ||||
|   SectionNode:=Tree.Root; | ||||
|   while (SectionNode<>nil) and (SectionNode.Desc in [ctnProgram, ctnUnit, | ||||
|     ctnPackage,ctnLibrary,ctnInterface,ctnImplementation]) do begin | ||||
|     if SectionNode.Desc in [ctnProgram, ctnInterface, ctnImplementation] then | ||||
|     begin | ||||
|       UsesNode:=SectionNode.FirstChild; | ||||
|       if (UsesNode<>nil) and (UsesNode.Desc=ctnUsesSection) | ||||
|       and FindUnitInUsesSection(UsesNode,UpperUnitName,NamePos,InPos) then begin | ||||
|         Result:=true; | ||||
|         exit; | ||||
|       end; | ||||
|     ctnPackage,ctnLibrary,ctnInterface,ctnImplementation]) | ||||
|   do begin | ||||
|     UsesNode:=SectionNode.FirstChild; | ||||
|     if (UsesNode<>nil) and (UsesNode.Desc=ctnUsesSection) | ||||
|     and FindUnitInUsesSection(UsesNode,UpperUnitName,NamePos,InPos) then begin | ||||
|       Result:=true; | ||||
|       exit; | ||||
|     end; | ||||
|     SectionNode:=SectionNode.NextBrother; | ||||
|   end; | ||||
| @ -430,7 +428,10 @@ begin | ||||
|   Result:=false; | ||||
|   if (OldUpperUnitName='') or (length(OldUpperUnitName)>255) or (NewUnitName='') | ||||
|   or (length(NewUnitName)>255) then exit; | ||||
|   if not FindUnitInAllUsesSections(OldUpperUnitName,UnitPos,InPos) then exit; | ||||
|   if not FindUnitInAllUsesSections(OldUpperUnitName,UnitPos,InPos) then begin | ||||
|     //debugln('TStandardCodeTool.RenameUsedUnit not found: ',OldUpperUnitName,' '); | ||||
|     exit; | ||||
|   end; | ||||
|   SourceChangeCache.MainScanner:=Scanner; | ||||
|   if InPos.StartPos>0 then | ||||
|     UnitPos.EndPos:=InPos.EndPos; | ||||
|  | ||||
| @ -47,7 +47,7 @@ | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <ResourceFilename Value="frmmain.lrs"/> | ||||
|         <UnitName Value="frmmain"/> | ||||
|         <CursorPos X="14" Y="33"/> | ||||
|         <CursorPos X="28" Y="21"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <EditorIndex Value="0"/> | ||||
|         <UsageCount Value="32"/> | ||||
|  | ||||
| @ -1,342 +1,356 @@ | ||||
| object MainForm: TMainForm | ||||
|   Left = 279 | ||||
|   Height = 522 | ||||
|   Top = 165 | ||||
|   Width = 734 | ||||
|   HorzScrollBar.Page = 733 | ||||
|   VertScrollBar.Page = 491 | ||||
|   ActiveControl = GDBA | ||||
|   Caption = 'Addressbook' | ||||
|   ClientHeight = 496 | ||||
|   ClientHeight = 492 | ||||
|   ClientWidth = 734 | ||||
|   Font.Height = -13 | ||||
|   Font.Name = 'MS Sans Serif' | ||||
|   Menu = MMain | ||||
|   OnClose = FormClose | ||||
|   OnCloseQuery = FormCloseQuery | ||||
|   TextHeight = 16 | ||||
|   HorzScrollBar.Page = 735 | ||||
|   VertScrollBar.Page = 497 | ||||
|   Left = 319 | ||||
|   Height = 522 | ||||
|   Top = 165 | ||||
|   Width = 734 | ||||
|   object PTop: TPanel | ||||
|     Height = 33 | ||||
|     Width = 734 | ||||
|     Align = alTop | ||||
|     BevelOuter = bvLowered | ||||
|     ClientHeight = 33 | ||||
|     ClientWidth = 734 | ||||
|     FullRepaint = False | ||||
|     TabOrder = 0 | ||||
|     Height = 33 | ||||
|     Width = 734 | ||||
|     object DBNavigator1: TDBNavigator | ||||
|       Left = 456 | ||||
|       Height = 25 | ||||
|       Top = 4 | ||||
|       Width = 260 | ||||
|       Anchors = [akTop, akRight] | ||||
|       BevelOuter = bvNone | ||||
|       ClientHeight = 25 | ||||
|       ClientWidth = 260 | ||||
|       DataSource = DSAddress | ||||
|       TabOrder = 0 | ||||
|       Left = 456 | ||||
|       Height = 25 | ||||
|       Top = 4 | ||||
|       Width = 260 | ||||
|     end | ||||
|   end | ||||
|   object GDBA: TdbGrid | ||||
|     Align = alClient | ||||
|     Color = clWhite | ||||
|     DataSource = DSAddress | ||||
|     FixedColor = clBtnFace | ||||
|     ReadOnly = True | ||||
|     TabOrder = 1 | ||||
|     Height = 203 | ||||
|   object GDBA: TDBGrid | ||||
|     Height = 199 | ||||
|     Top = 33 | ||||
|     Width = 734 | ||||
|     Align = alClient | ||||
|     Color = clWhite | ||||
|     Columns = <     | ||||
|       item | ||||
|         FieldName = 'FirstName' | ||||
|         Title.Caption = 'First name' | ||||
|         Width = 117 | ||||
|         FieldName = 'FirstName' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'LastName' | ||||
|         Title.Caption = 'Last name' | ||||
|         Width = 127 | ||||
|         FieldName = 'LastName' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Street' | ||||
|         Title.Caption = 'Street ' | ||||
|         Width = 131 | ||||
|         FieldName = 'Street' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Zip' | ||||
|         Title.Caption = 'Zip ' | ||||
|         FieldName = 'Zip' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Town' | ||||
|         Title.Caption = 'Town ' | ||||
|         Width = 100 | ||||
|         FieldName = 'Town' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Country' | ||||
|         Title.Caption = 'Country ' | ||||
|         FieldName = 'Country' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Telephone' | ||||
|         Title.Caption = 'Telephone ' | ||||
|         FieldName = 'Telephone' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Fax' | ||||
|         Title.Caption = 'Fax ' | ||||
|         FieldName = 'Fax' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Mobile' | ||||
|         Title.Caption = 'Mobile ' | ||||
|         FieldName = 'Mobile' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'Email' | ||||
|         Title.Caption = 'Email ' | ||||
|         FieldName = 'Email' | ||||
|       end     | ||||
|       item | ||||
|         FieldName = 'WWW' | ||||
|         Title.Caption = 'WWW ' | ||||
|         FieldName = 'WWW' | ||||
|       end> | ||||
|     DataSource = DSAddress | ||||
|     FixedColor = clBtnFace | ||||
|     Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] | ||||
|     OptionsExtra = [dgeAutoColumns, dgeCheckboxColumn] | ||||
|     ParentColor = False | ||||
|     ReadOnly = True | ||||
|     TabOrder = 1 | ||||
|     TabStop = True | ||||
|   end | ||||
|   object PBottom: TPanel | ||||
|     Height = 260 | ||||
|     Top = 232 | ||||
|     Width = 734 | ||||
|     Align = alBottom | ||||
|     BevelOuter = bvLowered | ||||
|     ClientHeight = 260 | ||||
|     ClientWidth = 734 | ||||
|     FullRepaint = False | ||||
|     TabOrder = 2 | ||||
|     Height = 260 | ||||
|     Top = 236 | ||||
|     Width = 734 | ||||
|     object LELastName: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 8 | ||||
|       Width = 89 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&Last name' | ||||
|       Color = clNone | ||||
|       FocusControl = ELastName | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 8 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LEFirstName: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 32 | ||||
|       Width = 89 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&First name' | ||||
|       Color = clNone | ||||
|       FocusControl = EFirstName | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 32 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LEStreet: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 64 | ||||
|       Width = 56 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&Street' | ||||
|       Color = clNone | ||||
|       FocusControl = EStreet | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 64 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LEZip: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 88 | ||||
|       Width = 34 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&Zip' | ||||
|       Color = clNone | ||||
|       FocusControl = EZip | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 88 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LETown: TLabel | ||||
|       Left = 264 | ||||
|       Height = 17 | ||||
|       Top = 88 | ||||
|       Width = 52 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = 'T&own' | ||||
|       Color = clNone | ||||
|       FocusControl = ETown | ||||
|       Layout = tlCenter | ||||
|       Left = 264 | ||||
|       Height = 24 | ||||
|       Top = 88 | ||||
|       Width = 41 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LETelephone: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 144 | ||||
|       Width = 88 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&Telephone' | ||||
|       Color = clNone | ||||
|       FocusControl = ETelephone | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 144 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LECountry: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 112 | ||||
|       Width = 69 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = 'Countr&y' | ||||
|       Color = clNone | ||||
|       FocusControl = ECountry | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 112 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LEFax: TLabel | ||||
|       Left = 288 | ||||
|       Height = 17 | ||||
|       Top = 144 | ||||
|       Width = 39 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = 'Fa&x' | ||||
|       Color = clNone | ||||
|       FocusControl = EFax | ||||
|       Layout = tlCenter | ||||
|       Left = 288 | ||||
|       Height = 24 | ||||
|       Top = 144 | ||||
|       Width = 41 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LEMobile: TLabel | ||||
|       Left = 472 | ||||
|       Height = 17 | ||||
|       Top = 144 | ||||
|       Width = 58 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&Mobile' | ||||
|       Color = clNone | ||||
|       FocusControl = EMobile | ||||
|       Layout = tlCenter | ||||
|       Left = 472 | ||||
|       Height = 24 | ||||
|       Top = 144 | ||||
|       Width = 41 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LEEmail: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 176 | ||||
|       Width = 52 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&Email' | ||||
|       Color = clNone | ||||
|       FocusControl = EEmail | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 176 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object LEWWW: TLabel | ||||
|       Left = 8 | ||||
|       Height = 17 | ||||
|       Top = 200 | ||||
|       Width = 57 | ||||
|       Alignment = taRightJustify | ||||
|       Caption = '&WWW' | ||||
|       Color = clNone | ||||
|       FocusControl = EWWW | ||||
|       Layout = tlCenter | ||||
|       Left = 8 | ||||
|       Height = 24 | ||||
|       Top = 200 | ||||
|       Width = 144 | ||||
|       ParentColor = False | ||||
|     end | ||||
|     object ELastName: TDBEdit | ||||
|       DataField = 'LastName' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 0 | ||||
|       TabOrder = 0 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 8 | ||||
|       Width = 361 | ||||
|       DataField = 'LastName' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 0 | ||||
|     end | ||||
|     object EFirstName: TDBEdit | ||||
|       DataField = 'FirstName' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 1 | ||||
|       TabOrder = 1 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 32 | ||||
|       Width = 361 | ||||
|       DataField = 'FirstName' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 1 | ||||
|     end | ||||
|     object EStreet: TDBEdit | ||||
|       DataField = 'Street' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 2 | ||||
|       TabOrder = 2 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 64 | ||||
|       Width = 361 | ||||
|       DataField = 'Street' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 2 | ||||
|     end | ||||
|     object EZip: TDBEdit | ||||
|       DataField = 'Zip' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 3 | ||||
|       TabOrder = 3 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 88 | ||||
|       Width = 89 | ||||
|       DataField = 'Zip' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 3 | ||||
|     end | ||||
|     object ECountry: TDBEdit | ||||
|       DataField = 'Country' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 5 | ||||
|       TabOrder = 5 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 112 | ||||
|       Width = 361 | ||||
|       DataField = 'Country' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 5 | ||||
|     end | ||||
|     object EWWW: TDBEdit | ||||
|       DataField = 'WWW' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 10 | ||||
|       TabOrder = 10 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 200 | ||||
|       Width = 361 | ||||
|       DataField = 'WWW' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 10 | ||||
|     end | ||||
|     object ETelephone: TDBEdit | ||||
|       DataField = 'Telephone' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 6 | ||||
|       TabOrder = 6 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 144 | ||||
|       Width = 121 | ||||
|       DataField = 'Telephone' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 6 | ||||
|     end | ||||
|     object EFax: TDBEdit | ||||
|       DataField = 'Fax' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 7 | ||||
|       TabOrder = 7 | ||||
|       Left = 336 | ||||
|       Height = 24 | ||||
|       Top = 144 | ||||
|       Width = 121 | ||||
|       DataField = 'Fax' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 7 | ||||
|     end | ||||
|     object EMobile: TDBEdit | ||||
|       DataField = 'Mobile' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 8 | ||||
|       TabOrder = 8 | ||||
|       Left = 520 | ||||
|       Height = 24 | ||||
|       Top = 144 | ||||
|       Width = 121 | ||||
|       DataField = 'Mobile' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 8 | ||||
|     end | ||||
|     object EEmail: TDBEdit | ||||
|       DataField = 'Email' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 9 | ||||
|       TabOrder = 9 | ||||
|       Left = 160 | ||||
|       Height = 24 | ||||
|       Top = 176 | ||||
|       Width = 361 | ||||
|       DataField = 'Email' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 9 | ||||
|     end | ||||
|     object ETown: TDBEdit | ||||
|       DataField = 'Town' | ||||
|       DataSource = DSAddress | ||||
|       DragCursor = 65524 | ||||
|       TabOrder = 4 | ||||
|       TabOrder = 4 | ||||
|       Left = 312 | ||||
|       Left = 320 | ||||
|       Height = 24 | ||||
|       Top = 88 | ||||
|       Width = 209 | ||||
|       Width = 201 | ||||
|       DataField = 'Town' | ||||
|       DataSource = DSAddress | ||||
|       ParentColor = False | ||||
|       TabOrder = 4 | ||||
|     end | ||||
|   end | ||||
|   object MMain: TMainMenu | ||||
| @ -368,36 +382,46 @@ object MainForm: TMainForm | ||||
|       Caption = '&Record' | ||||
|       object MIFirst: TMenuItem | ||||
|         Action = AFirst | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MILAst: TMenuItem | ||||
|         Action = ALast | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MIPrior: TMenuItem | ||||
|         Action = APrior | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MINext: TMenuItem | ||||
|         Action = ANext | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object N2: TMenuItem | ||||
|         Caption = '-' | ||||
|       end | ||||
|       object MIInsert: TMenuItem | ||||
|         Action = AInsert | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MIEdit: TMenuItem | ||||
|         Action = AEdit | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MIDelete: TMenuItem | ||||
|         Action = ADelete | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MIPost: TMenuItem | ||||
|         Action = APost | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MICancel: TMenuItem | ||||
|         Action = ACancel | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|       object MIRefresh: TMenuItem | ||||
|         Action = ARefresh | ||||
|         OnClick = DoDataAction | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| @ -428,89 +452,89 @@ object MainForm: TMainForm | ||||
|       ShortCut = 16465 | ||||
|     end | ||||
|     object AFirst: TAction | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&First' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = DataOpen | ||||
|       ShortCut = 16454 | ||||
|       Category = 'Dataset' | ||||
|     end | ||||
|     object APrior: TAction | ||||
|       Tag = 1 | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Prior' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = DataOpen | ||||
|       Category = 'Dataset' | ||||
|       Tag = 1 | ||||
|     end | ||||
|     object ANext: TAction | ||||
|       Tag = 2 | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Next' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = DataOpen | ||||
|       Category = 'Dataset' | ||||
|       Tag = 2 | ||||
|     end | ||||
|     object ALast: TAction | ||||
|       Tag = 3 | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Last' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = DataOpen | ||||
|       ShortCut = 16460 | ||||
|       Category = 'Dataset' | ||||
|       Tag = 3 | ||||
|     end | ||||
|     object AInsert: TAction | ||||
|       Tag = 4 | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Insert' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = DataOpen | ||||
|       ShortCut = 16462 | ||||
|       Category = 'Dataset' | ||||
|       Tag = 4 | ||||
|     end | ||||
|     object ADelete: TAction | ||||
|       Tag = 5 | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Delete' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = HaveDataNotEmpty | ||||
|       ShortCut = 16452 | ||||
|       Category = 'Dataset' | ||||
|       Tag = 5 | ||||
|     end | ||||
|     object AEdit: TAction | ||||
|       Tag = 6 | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Edit' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = HaveDataNotEmpty | ||||
|       ShortCut = 113 | ||||
|       Category = 'Dataset' | ||||
|       Tag = 6 | ||||
|     end | ||||
|     object APost: TAction | ||||
|       Tag = 7 | ||||
|       Category = 'Dataset' | ||||
|       Caption = 'P&ost' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = InEditMode | ||||
|       ShortCut = 16467 | ||||
|       Category = 'Dataset' | ||||
|       Tag = 7 | ||||
|     end | ||||
|     object ACancel: TAction | ||||
|       Tag = 8 | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Cancel' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = InEditMode | ||||
|       Category = 'Dataset' | ||||
|       Tag = 8 | ||||
|     end | ||||
|     object ARefresh: TAction | ||||
|       Category = 'Dataset' | ||||
|       Caption = '&Refresh' | ||||
|       HelpType = htKeyword | ||||
|       OnExecute = DoDataAction | ||||
|       OnUpdate = DataOpen | ||||
|       ShortCut = 116 | ||||
|       Category = 'Dataset' | ||||
|     end | ||||
|   end | ||||
|   object DBA: TDbf | ||||
| @ -522,20 +546,20 @@ object MainForm: TMainForm | ||||
|     top = 112 | ||||
|   end | ||||
|   object SDDBA: TSaveDialog | ||||
|     Options = [ofHideReadOnly, ofPathMustExist, ofEnableSizing] | ||||
|     Title = 'Save file as' | ||||
|     DefaultExt = '.dbf' | ||||
|     Filter = 'DBF files|*.dbf|All files|*.*' | ||||
|     FilterIndex = 0 | ||||
|     Options = [ofHideReadOnly, ofPathMustExist, ofEnableSizing] | ||||
|     left = 96 | ||||
|     top = 144 | ||||
|   end | ||||
|   object ODDBA: TOpenDialog | ||||
|     Options = [ofHideReadOnly, ofFileMustExist, ofEnableSizing] | ||||
|     Title = 'Open existing file' | ||||
|     DefaultExt = '.dbf' | ||||
|     Filter = 'DBF files|*.dbf|All files|*.*' | ||||
|     FilterIndex = 0 | ||||
|     Options = [ofHideReadOnly, ofFileMustExist, ofEnableSizing] | ||||
|     left = 64 | ||||
|     top = 144 | ||||
|   end | ||||
|  | ||||
| @ -1,88 +1,95 @@ | ||||
| { Das ist eine automatisch erzeugte Lazarus-Ressourcendatei } | ||||
| 
 | ||||
| LazarusResources.Add('TMainForm','FORMDATA',[ | ||||
|   'TPF0'#9'TMainForm'#8'MainForm'#13'ActiveControl'#7#4'GDBA'#7'Caption'#6#11'A' | ||||
|   +'ddressbook'#12'ClientHeight'#3#240#1#11'ClientWidth'#3#222#2#11'Font.Height' | ||||
|   +#2#243#9'Font.Name'#6#13'MS Sans Serif'#4'Menu'#7#5'MMain'#7'OnClose'#7#9'Fo' | ||||
|   +'rmClose'#12'OnCloseQuery'#7#14'FormCloseQuery'#10'TextHeight'#2#16#18'HorzS' | ||||
|   +'crollBar.Page'#3#223#2#18'VertScrollBar.Page'#3#241#1#4'Left'#3'?'#1#6'Heig' | ||||
|   +'ht'#3#10#2#3'Top'#3#165#0#5'Width'#3#222#2#0#6'TPanel'#4'PTop'#5'Align'#7#5 | ||||
|   +'alTop'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#2'!'#11'ClientWidth'#3 | ||||
|   +#222#2#11'FullRepaint'#8#8'TabOrder'#2#0#6'Height'#2'!'#5'Width'#3#222#2#0#12 | ||||
|   +'TDBNavigator'#12'DBNavigator1'#7'Anchors'#11#5'akTop'#7'akRight'#0#10'Bevel' | ||||
|   +'Outer'#7#6'bvNone'#12'ClientHeight'#2#25#11'ClientWidth'#3#4#1#10'DataSourc' | ||||
|   +'e'#7#9'DSAddress'#8'TabOrder'#2#0#4'Left'#3#200#1#6'Height'#2#25#3'Top'#2#4 | ||||
|   +#5'Width'#3#4#1#0#0#0#7'TdbGrid'#4'GDBA'#5'Align'#7#8'alClient'#5'Color'#7#7 | ||||
|   +'clWhite'#10'DataSource'#7#9'DSAddress'#10'FixedColor'#7#9'clBtnFace'#8'Read' | ||||
|   +'Only'#9#8'TabOrder'#2#1#6'Height'#3#203#0#3'Top'#2'!'#5'Width'#3#222#2#7'Co' | ||||
|   +'lumns'#14#1#9'FieldName'#6#9'FirstName'#13'Title.Caption'#6#10'First name'#5 | ||||
|   +'Width'#2'u'#0#1#9'FieldName'#6#8'LastName'#13'Title.Caption'#6#9'Last name' | ||||
|   +#5'Width'#2''#0#1#9'FieldName'#6#6'Street'#13'Title.Caption'#6#7'Street '#5 | ||||
|   +'Width'#3#131#0#0#1#9'FieldName'#6#3'Zip'#13'Title.Caption'#6#4'Zip '#0#1#9 | ||||
|   +'FieldName'#6#4'Town'#13'Title.Caption'#6#5'Town '#5'Width'#2'd'#0#1#9'Field' | ||||
|   +'Name'#6#7'Country'#13'Title.Caption'#6#8'Country '#0#1#9'FieldName'#6#9'Tel' | ||||
|   +'ephone'#13'Title.Caption'#6#10'Telephone '#0#1#9'FieldName'#6#3'Fax'#13'Tit' | ||||
|   +'le.Caption'#6#4'Fax '#0#1#9'FieldName'#6#6'Mobile'#13'Title.Caption'#6#7'Mo' | ||||
|   +'bile '#0#1#9'FieldName'#6#5'Email'#13'Title.Caption'#6#6'Email '#0#1#9'Fiel' | ||||
|   +'dName'#6#3'WWW'#13'Title.Caption'#6#4'WWW '#0#0#0#0#6'TPanel'#7'PBottom'#5 | ||||
|   +'Align'#7#8'alBottom'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#3#4#1#11 | ||||
|   +'ClientWidth'#3#222#2#11'FullRepaint'#8#8'TabOrder'#2#2#6'Height'#3#4#1#3'To' | ||||
|   +'p'#3#236#0#5'Width'#3#222#2#0#6'TLabel'#10'LELastName'#9'Alignment'#7#14'ta' | ||||
|   +'RightJustify'#7'Caption'#6#10'&Last name'#12'FocusControl'#7#9'ELastName'#6 | ||||
|   +'Layout'#7#8'tlCenter'#4'Left'#2#8#6'Height'#2#24#3'Top'#2#8#5'Width'#3#144#0 | ||||
|   +#0#0#6'TLabel'#11'LEFirstName'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6 | ||||
|   +#11'&First name'#12'FocusControl'#7#10'EFirstName'#6'Layout'#7#8'tlCenter'#4 | ||||
|   +'Left'#2#8#6'Height'#2#24#3'Top'#2' '#5'Width'#3#144#0#0#0#6'TLabel'#8'LEStr' | ||||
|   +'eet'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#7'&Street'#12'FocusCont' | ||||
|   +'rol'#7#7'EStreet'#6'Layout'#7#8'tlCenter'#4'Left'#2#8#6'Height'#2#24#3'Top' | ||||
|   +#2'@'#5'Width'#3#144#0#0#0#6'TLabel'#5'LEZip'#9'Alignment'#7#14'taRightJusti' | ||||
|   +'fy'#7'Caption'#6#4'&Zip'#12'FocusControl'#7#4'EZip'#6'Layout'#7#8'tlCenter' | ||||
|   +#4'Left'#2#8#6'Height'#2#24#3'Top'#2'X'#5'Width'#3#144#0#0#0#6'TLabel'#6'LET' | ||||
|   +'own'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#5'T&own'#12'FocusContro' | ||||
|   +'l'#7#5'ETown'#6'Layout'#7#8'tlCenter'#4'Left'#3#8#1#6'Height'#2#24#3'Top'#2 | ||||
|   +'X'#5'Width'#2')'#0#0#6'TLabel'#11'LETelephone'#9'Alignment'#7#14'taRightJus' | ||||
|   +'tify'#7'Caption'#6#10'&Telephone'#12'FocusControl'#7#10'ETelephone'#6'Layou' | ||||
|   +'t'#7#8'tlCenter'#4'Left'#2#8#6'Height'#2#24#3'Top'#3#144#0#5'Width'#3#144#0 | ||||
|   +#0#0#6'TLabel'#9'LECountry'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#8 | ||||
|   +'Countr&y'#12'FocusControl'#7#8'ECountry'#6'Layout'#7#8'tlCenter'#4'Left'#2#8 | ||||
|   +#6'Height'#2#24#3'Top'#2'p'#5'Width'#3#144#0#0#0#6'TLabel'#5'LEFax'#9'Alignm' | ||||
|   +'ent'#7#14'taRightJustify'#7'Caption'#6#4'Fa&x'#12'FocusControl'#7#4'EFax'#6 | ||||
|   +'Layout'#7#8'tlCenter'#4'Left'#3' '#1#6'Height'#2#24#3'Top'#3#144#0#5'Width' | ||||
|   +#2')'#0#0#6'TLabel'#8'LEMobile'#9'Alignment'#7#14'taRightJustify'#7'Caption' | ||||
|   +#6#7'&Mobile'#12'FocusControl'#7#7'EMobile'#6'Layout'#7#8'tlCenter'#4'Left'#3 | ||||
|   +#216#1#6'Height'#2#24#3'Top'#3#144#0#5'Width'#2')'#0#0#6'TLabel'#7'LEEmail'#9 | ||||
|   +'Alignment'#7#14'taRightJustify'#7'Caption'#6#6'&Email'#12'FocusControl'#7#6 | ||||
|   +'EEmail'#6'Layout'#7#8'tlCenter'#4'Left'#2#8#6'Height'#2#24#3'Top'#3#176#0#5 | ||||
|   +'Width'#3#144#0#0#0#6'TLabel'#5'LEWWW'#9'Alignment'#7#14'taRightJustify'#7'C' | ||||
|   +'aption'#6#4'&WWW'#12'FocusControl'#7#4'EWWW'#6'Layout'#7#8'tlCenter'#4'Left' | ||||
|   +#2#8#6'Height'#2#24#3'Top'#3#200#0#5'Width'#3#144#0#0#0#7'TDBEdit'#9'ELastNa' | ||||
|   +'me'#9'DataField'#6#8'LastName'#10'DataSource'#7#9'DSAddress'#10'DragCursor' | ||||
|   +#4#244#255#0#0#8'TabOrder'#2#0#8'TabOrder'#2#0#4'Left'#3#160#0#6'Height'#2#24 | ||||
|   +#3'Top'#2#8#5'Width'#3'i'#1#0#0#7'TDBEdit'#10'EFirstName'#9'DataField'#6#9'F' | ||||
|   +'irstName'#10'DataSource'#7#9'DSAddress'#10'DragCursor'#4#244#255#0#0#8'TabO' | ||||
|   +'rder'#2#1#8'TabOrder'#2#1#4'Left'#3#160#0#6'Height'#2#24#3'Top'#2' '#5'Widt' | ||||
|   +'h'#3'i'#1#0#0#7'TDBEdit'#7'EStreet'#9'DataField'#6#6'Street'#10'DataSource' | ||||
|   +#7#9'DSAddress'#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2#2#8'TabOrder'#2#2 | ||||
|   +#4'Left'#3#160#0#6'Height'#2#24#3'Top'#2'@'#5'Width'#3'i'#1#0#0#7'TDBEdit'#4 | ||||
|   +'EZip'#9'DataField'#6#3'Zip'#10'DataSource'#7#9'DSAddress'#10'DragCursor'#4 | ||||
|   ,#244#255#0#0#8'TabOrder'#2#3#8'TabOrder'#2#3#4'Left'#3#160#0#6'Height'#2#24#3 | ||||
|   +'Top'#2'X'#5'Width'#2'Y'#0#0#7'TDBEdit'#8'ECountry'#9'DataField'#6#7'Country' | ||||
|   +#10'DataSource'#7#9'DSAddress'#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2#5#8 | ||||
|   +'TabOrder'#2#5#4'Left'#3#160#0#6'Height'#2#24#3'Top'#2'p'#5'Width'#3'i'#1#0#0 | ||||
|   +#7'TDBEdit'#4'EWWW'#9'DataField'#6#3'WWW'#10'DataSource'#7#9'DSAddress'#10'D' | ||||
|   +'ragCursor'#4#244#255#0#0#8'TabOrder'#2#10#8'TabOrder'#2#10#4'Left'#3#160#0#6 | ||||
|   +'Height'#2#24#3'Top'#3#200#0#5'Width'#3'i'#1#0#0#7'TDBEdit'#10'ETelephone'#9 | ||||
|   +'DataField'#6#9'Telephone'#10'DataSource'#7#9'DSAddress'#10'DragCursor'#4#244 | ||||
|   +#255#0#0#8'TabOrder'#2#6#8'TabOrder'#2#6#4'Left'#3#160#0#6'Height'#2#24#3'To' | ||||
|   +'p'#3#144#0#5'Width'#2'y'#0#0#7'TDBEdit'#4'EFax'#9'DataField'#6#3'Fax'#10'Da' | ||||
|   +'taSource'#7#9'DSAddress'#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2#7#8'Tab' | ||||
|   +'Order'#2#7#4'Left'#3'P'#1#6'Height'#2#24#3'Top'#3#144#0#5'Width'#2'y'#0#0#7 | ||||
|   +'TDBEdit'#7'EMobile'#9'DataField'#6#6'Mobile'#10'DataSource'#7#9'DSAddress' | ||||
|   +#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2#8#8'TabOrder'#2#8#4'Left'#3#8#2#6 | ||||
|   +'Height'#2#24#3'Top'#3#144#0#5'Width'#2'y'#0#0#7'TDBEdit'#6'EEmail'#9'DataFi' | ||||
|   +'eld'#6#5'Email'#10'DataSource'#7#9'DSAddress'#10'DragCursor'#4#244#255#0#0#8 | ||||
|   +'TabOrder'#2#9#8'TabOrder'#2#9#4'Left'#3#160#0#6'Height'#2#24#3'Top'#3#176#0 | ||||
|   +#5'Width'#3'i'#1#0#0#7'TDBEdit'#5'ETown'#9'DataField'#6#4'Town'#10'DataSourc' | ||||
|   +'e'#7#9'DSAddress'#10'DragCursor'#4#244#255#0#0#8'TabOrder'#2#4#8'TabOrder'#2 | ||||
|   +#4#4'Left'#3'8'#1#6'Height'#2#24#3'Top'#2'X'#5'Width'#3#209#0#0#0#0#9'TMainM' | ||||
|   'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3#23#1#6'Height'#3#10#2#3'Top'#3#165#0 | ||||
|   +#5'Width'#3#222#2#18'HorzScrollBar.Page'#3#221#2#18'VertScrollBar.Page'#3#235 | ||||
|   +#1#13'ActiveControl'#7#4'GDBA'#7'Caption'#6#11'Addressbook'#12'ClientHeight' | ||||
|   +#3#236#1#11'ClientWidth'#3#222#2#11'Font.Height'#2#243#9'Font.Name'#6#13'MS ' | ||||
|   +'Sans Serif'#4'Menu'#7#5'MMain'#7'OnClose'#7#9'FormClose'#12'OnCloseQuery'#7 | ||||
|   +#14'FormCloseQuery'#0#6'TPanel'#4'PTop'#6'Height'#2'!'#5'Width'#3#222#2#5'Al' | ||||
|   +'ign'#7#5'alTop'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight'#2'!'#11'Clie' | ||||
|   +'ntWidth'#3#222#2#11'FullRepaint'#8#8'TabOrder'#2#0#0#12'TDBNavigator'#12'DB' | ||||
|   +'Navigator1'#4'Left'#3#200#1#6'Height'#2#25#3'Top'#2#4#5'Width'#3#4#1#7'Anch' | ||||
|   +'ors'#11#5'akTop'#7'akRight'#0#10'BevelOuter'#7#6'bvNone'#12'ClientHeight'#2 | ||||
|   +#25#11'ClientWidth'#3#4#1#10'DataSource'#7#9'DSAddress'#8'TabOrder'#2#0#0#0#0 | ||||
|   +#7'TDBGrid'#4'GDBA'#6'Height'#3#199#0#3'Top'#2'!'#5'Width'#3#222#2#5'Align'#7 | ||||
|   +#8'alClient'#5'Color'#7#7'clWhite'#7'Columns'#14#1#13'Title.Caption'#6#10'Fi' | ||||
|   +'rst name'#5'Width'#2'u'#9'FieldName'#6#9'FirstName'#0#1#13'Title.Caption'#6 | ||||
|   +#9'Last name'#5'Width'#2''#9'FieldName'#6#8'LastName'#0#1#13'Title.Caption' | ||||
|   +#6#7'Street '#5'Width'#3#131#0#9'FieldName'#6#6'Street'#0#1#13'Title.Caption' | ||||
|   +#6#4'Zip '#9'FieldName'#6#3'Zip'#0#1#13'Title.Caption'#6#5'Town '#5'Width'#2 | ||||
|   +'d'#9'FieldName'#6#4'Town'#0#1#13'Title.Caption'#6#8'Country '#9'FieldName'#6 | ||||
|   +#7'Country'#0#1#13'Title.Caption'#6#10'Telephone '#9'FieldName'#6#9'Telephon' | ||||
|   +'e'#0#1#13'Title.Caption'#6#4'Fax '#9'FieldName'#6#3'Fax'#0#1#13'Title.Capti' | ||||
|   +'on'#6#7'Mobile '#9'FieldName'#6#6'Mobile'#0#1#13'Title.Caption'#6#6'Email ' | ||||
|   +#9'FieldName'#6#5'Email'#0#1#13'Title.Caption'#6#4'WWW '#9'FieldName'#6#3'WW' | ||||
|   +'W'#0#0#10'DataSource'#7#9'DSAddress'#10'FixedColor'#7#9'clBtnFace'#7'Option' | ||||
|   +'s'#11#9'dgEditing'#8'dgTitles'#11'dgIndicator'#14'dgColumnResize'#12'dgColu' | ||||
|   +'mnMove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'#21'dgAlwaysShowSelection'#15 | ||||
|   +'dgConfirmDelete'#14'dgCancelOnExit'#0#12'OptionsExtra'#11#14'dgeAutoColumns' | ||||
|   +#17'dgeCheckboxColumn'#0#11'ParentColor'#8#8'ReadOnly'#9#8'TabOrder'#2#1#7'T' | ||||
|   +'abStop'#9#0#0#6'TPanel'#7'PBottom'#6'Height'#3#4#1#3'Top'#3#232#0#5'Width'#3 | ||||
|   +#222#2#5'Align'#7#8'alBottom'#10'BevelOuter'#7#9'bvLowered'#12'ClientHeight' | ||||
|   +#3#4#1#11'ClientWidth'#3#222#2#11'FullRepaint'#8#8'TabOrder'#2#2#0#6'TLabel' | ||||
|   +#10'LELastName'#4'Left'#2#8#6'Height'#2#17#3'Top'#2#8#5'Width'#2'Y'#9'Alignm' | ||||
|   +'ent'#7#14'taRightJustify'#7'Caption'#6#10'&Last name'#5'Color'#7#6'clNone' | ||||
|   +#12'FocusControl'#7#9'ELastName'#6'Layout'#7#8'tlCenter'#11'ParentColor'#8#0 | ||||
|   +#0#6'TLabel'#11'LEFirstName'#4'Left'#2#8#6'Height'#2#17#3'Top'#2' '#5'Width' | ||||
|   +#2'Y'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#11'&First name'#5'Color' | ||||
|   +#7#6'clNone'#12'FocusControl'#7#10'EFirstName'#6'Layout'#7#8'tlCenter'#11'Pa' | ||||
|   +'rentColor'#8#0#0#6'TLabel'#8'LEStreet'#4'Left'#2#8#6'Height'#2#17#3'Top'#2 | ||||
|   +'@'#5'Width'#2'8'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#7'&Street'#5 | ||||
|   +'Color'#7#6'clNone'#12'FocusControl'#7#7'EStreet'#6'Layout'#7#8'tlCenter'#11 | ||||
|   +'ParentColor'#8#0#0#6'TLabel'#5'LEZip'#4'Left'#2#8#6'Height'#2#17#3'Top'#2'X' | ||||
|   +#5'Width'#2'"'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#4'&Zip'#5'Colo' | ||||
|   +'r'#7#6'clNone'#12'FocusControl'#7#4'EZip'#6'Layout'#7#8'tlCenter'#11'Parent' | ||||
|   +'Color'#8#0#0#6'TLabel'#6'LETown'#4'Left'#3#8#1#6'Height'#2#17#3'Top'#2'X'#5 | ||||
|   +'Width'#2'4'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#5'T&own'#5'Color' | ||||
|   +#7#6'clNone'#12'FocusControl'#7#5'ETown'#6'Layout'#7#8'tlCenter'#11'ParentCo' | ||||
|   +'lor'#8#0#0#6'TLabel'#11'LETelephone'#4'Left'#2#8#6'Height'#2#17#3'Top'#3#144 | ||||
|   +#0#5'Width'#2'X'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6#10'&Telephon' | ||||
|   +'e'#5'Color'#7#6'clNone'#12'FocusControl'#7#10'ETelephone'#6'Layout'#7#8'tlC' | ||||
|   +'enter'#11'ParentColor'#8#0#0#6'TLabel'#9'LECountry'#4'Left'#2#8#6'Height'#2 | ||||
|   +#17#3'Top'#2'p'#5'Width'#2'E'#9'Alignment'#7#14'taRightJustify'#7'Caption'#6 | ||||
|   +#8'Countr&y'#5'Color'#7#6'clNone'#12'FocusControl'#7#8'ECountry'#6'Layout'#7 | ||||
|   +#8'tlCenter'#11'ParentColor'#8#0#0#6'TLabel'#5'LEFax'#4'Left'#3' '#1#6'Heigh' | ||||
|   +'t'#2#17#3'Top'#3#144#0#5'Width'#2''''#9'Alignment'#7#14'taRightJustify'#7'C' | ||||
|   +'aption'#6#4'Fa&x'#5'Color'#7#6'clNone'#12'FocusControl'#7#4'EFax'#6'Layout' | ||||
|   +#7#8'tlCenter'#11'ParentColor'#8#0#0#6'TLabel'#8'LEMobile'#4'Left'#3#216#1#6 | ||||
|   +'Height'#2#17#3'Top'#3#144#0#5'Width'#2':'#9'Alignment'#7#14'taRightJustify' | ||||
|   +#7'Caption'#6#7'&Mobile'#5'Color'#7#6'clNone'#12'FocusControl'#7#7'EMobile'#6 | ||||
|   +'Layout'#7#8'tlCenter'#11'ParentColor'#8#0#0#6'TLabel'#7'LEEmail'#4'Left'#2#8 | ||||
|   +#6'Height'#2#17#3'Top'#3#176#0#5'Width'#2'4'#9'Alignment'#7#14'taRightJustif' | ||||
|   +'y'#7'Caption'#6#6'&Email'#5'Color'#7#6'clNone'#12'FocusControl'#7#6'EEmail' | ||||
|   +#6'Layout'#7#8'tlCenter'#11'ParentColor'#8#0#0#6'TLabel'#5'LEWWW'#4'Left'#2#8 | ||||
|   +#6'Height'#2#17#3'Top'#3#200#0#5'Width'#2'9'#9'Alignment'#7#14'taRightJustif' | ||||
|   +'y'#7'Caption'#6#4'&WWW'#5'Color'#7#6'clNone'#12'FocusControl'#7#4'EWWW'#6'L' | ||||
|   +'ayout'#7#8'tlCenter'#11'ParentColor'#8#0#0#7'TDBEdit'#9'ELastName'#4'Left'#3 | ||||
|   ,#160#0#6'Height'#2#24#3'Top'#2#8#5'Width'#3'i'#1#9'DataField'#6#8'LastName' | ||||
|   +#10'DataSource'#7#9'DSAddress'#11'ParentColor'#8#8'TabOrder'#2#0#0#0#7'TDBEd' | ||||
|   +'it'#10'EFirstName'#4'Left'#3#160#0#6'Height'#2#24#3'Top'#2' '#5'Width'#3'i' | ||||
|   +#1#9'DataField'#6#9'FirstName'#10'DataSource'#7#9'DSAddress'#11'ParentColor' | ||||
|   +#8#8'TabOrder'#2#1#0#0#7'TDBEdit'#7'EStreet'#4'Left'#3#160#0#6'Height'#2#24#3 | ||||
|   +'Top'#2'@'#5'Width'#3'i'#1#9'DataField'#6#6'Street'#10'DataSource'#7#9'DSAdd' | ||||
|   +'ress'#11'ParentColor'#8#8'TabOrder'#2#2#0#0#7'TDBEdit'#4'EZip'#4'Left'#3#160 | ||||
|   +#0#6'Height'#2#24#3'Top'#2'X'#5'Width'#2'Y'#9'DataField'#6#3'Zip'#10'DataSou' | ||||
|   +'rce'#7#9'DSAddress'#11'ParentColor'#8#8'TabOrder'#2#3#0#0#7'TDBEdit'#8'ECou' | ||||
|   +'ntry'#4'Left'#3#160#0#6'Height'#2#24#3'Top'#2'p'#5'Width'#3'i'#1#9'DataFiel' | ||||
|   +'d'#6#7'Country'#10'DataSource'#7#9'DSAddress'#11'ParentColor'#8#8'TabOrder' | ||||
|   +#2#5#0#0#7'TDBEdit'#4'EWWW'#4'Left'#3#160#0#6'Height'#2#24#3'Top'#3#200#0#5 | ||||
|   +'Width'#3'i'#1#9'DataField'#6#3'WWW'#10'DataSource'#7#9'DSAddress'#11'Parent' | ||||
|   +'Color'#8#8'TabOrder'#2#10#0#0#7'TDBEdit'#10'ETelephone'#4'Left'#3#160#0#6'H' | ||||
|   +'eight'#2#24#3'Top'#3#144#0#5'Width'#2'y'#9'DataField'#6#9'Telephone'#10'Dat' | ||||
|   +'aSource'#7#9'DSAddress'#11'ParentColor'#8#8'TabOrder'#2#6#0#0#7'TDBEdit'#4 | ||||
|   +'EFax'#4'Left'#3'P'#1#6'Height'#2#24#3'Top'#3#144#0#5'Width'#2'y'#9'DataFiel' | ||||
|   +'d'#6#3'Fax'#10'DataSource'#7#9'DSAddress'#11'ParentColor'#8#8'TabOrder'#2#7 | ||||
|   +#0#0#7'TDBEdit'#7'EMobile'#4'Left'#3#8#2#6'Height'#2#24#3'Top'#3#144#0#5'Wid' | ||||
|   +'th'#2'y'#9'DataField'#6#6'Mobile'#10'DataSource'#7#9'DSAddress'#11'ParentCo' | ||||
|   +'lor'#8#8'TabOrder'#2#8#0#0#7'TDBEdit'#6'EEmail'#4'Left'#3#160#0#6'Height'#2 | ||||
|   +#24#3'Top'#3#176#0#5'Width'#3'i'#1#9'DataField'#6#5'Email'#10'DataSource'#7#9 | ||||
|   +'DSAddress'#11'ParentColor'#8#8'TabOrder'#2#9#0#0#7'TDBEdit'#5'ETown'#4'Left' | ||||
|   +#3'@'#1#6'Height'#2#24#3'Top'#2'X'#5'Width'#3#201#0#9'DataField'#6#4'Town'#10 | ||||
|   +'DataSource'#7#9'DSAddress'#11'ParentColor'#8#8'TabOrder'#2#4#0#0#0#9'TMainM' | ||||
|   +'enu'#5'MMain'#4'left'#2'@'#3'top'#2'H'#0#9'TMenuItem'#5'MFile'#7'Caption'#6 | ||||
|   +#5'&File'#0#9'TMenuItem'#5'MINew'#6'Action'#7#4'ANew'#7'OnClick'#7#11'ANewEx' | ||||
|   +'ecute'#0#0#9'TMenuItem'#6'MIOpen'#6'Action'#7#5'AOpen'#7'OnClick'#7#12'AOpe' | ||||
| @ -90,13 +97,17 @@ LazarusResources.Add('TMainForm','FORMDATA',[ | ||||
|   +'ACloseExecute'#0#0#9'TMenuItem'#2'N1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6 | ||||
|   +'MIQuit'#6'Action'#7#5'AQuit'#7'OnClick'#7#12'AQuitExecute'#0#0#0#9'TMenuIte' | ||||
|   +'m'#7'Record1'#7'Caption'#6#7'&Record'#0#9'TMenuItem'#7'MIFirst'#6'Action'#7 | ||||
|   +#6'AFirst'#0#0#9'TMenuItem'#6'MILAst'#6'Action'#7#5'ALast'#0#0#9'TMenuItem'#7 | ||||
|   +'MIPrior'#6'Action'#7#6'APrior'#0#0#9'TMenuItem'#6'MINext'#6'Action'#7#5'ANe' | ||||
|   +'xt'#0#0#9'TMenuItem'#2'N2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#8'MIInsert'#6 | ||||
|   +'Action'#7#7'AInsert'#0#0#9'TMenuItem'#6'MIEdit'#6'Action'#7#5'AEdit'#0#0#9 | ||||
|   +'TMenuItem'#8'MIDelete'#6'Action'#7#7'ADelete'#0#0#9'TMenuItem'#6'MIPost'#6 | ||||
|   +'Action'#7#5'APost'#0#0#9'TMenuItem'#8'MICancel'#6'Action'#7#7'ACancel'#0#0#9 | ||||
|   +'TMenuItem'#9'MIRefresh'#6'Action'#7#8'ARefresh'#0#0#0#0#11'TActionList'#6'A' | ||||
|   +#6'AFirst'#7'OnClick'#7#12'DoDataAction'#0#0#9'TMenuItem'#6'MILAst'#6'Action' | ||||
|   +#7#5'ALast'#7'OnClick'#7#12'DoDataAction'#0#0#9'TMenuItem'#7'MIPrior'#6'Acti' | ||||
|   +'on'#7#6'APrior'#7'OnClick'#7#12'DoDataAction'#0#0#9'TMenuItem'#6'MINext'#6 | ||||
|   +'Action'#7#5'ANext'#7'OnClick'#7#12'DoDataAction'#0#0#9'TMenuItem'#2'N2'#7'C' | ||||
|   +'aption'#6#1'-'#0#0#9'TMenuItem'#8'MIInsert'#6'Action'#7#7'AInsert'#7'OnClic' | ||||
|   +'k'#7#12'DoDataAction'#0#0#9'TMenuItem'#6'MIEdit'#6'Action'#7#5'AEdit'#7'OnC' | ||||
|   +'lick'#7#12'DoDataAction'#0#0#9'TMenuItem'#8'MIDelete'#6'Action'#7#7'ADelete' | ||||
|   +#7'OnClick'#7#12'DoDataAction'#0#0#9'TMenuItem'#6'MIPost'#6'Action'#7#5'APos' | ||||
|   +'t'#7'OnClick'#7#12'DoDataAction'#0#0#9'TMenuItem'#8'MICancel'#6'Action'#7#7 | ||||
|   +'ACancel'#7'OnClick'#7#12'DoDataAction'#0#0#9'TMenuItem'#9'MIRefresh'#6'Acti' | ||||
|   +'on'#7#8'ARefresh'#7'OnClick'#7#12'DoDataAction'#0#0#0#0#11'TActionList'#6'A' | ||||
|   +'LMain'#4'left'#2'@'#3'top'#2'p'#0#7'TAction'#4'ANew'#7'Caption'#6#4'&New'#8 | ||||
|   +'HelpType'#7#9'htKeyword'#9'OnExecute'#7#11'ANewExecute'#0#0#7'TAction'#5'AO' | ||||
|   +'pen'#7'Caption'#6#5'&Open'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'AOp' | ||||
| @ -104,38 +115,38 @@ LazarusResources.Add('TMainForm','FORMDATA',[ | ||||
|   +#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#13'ACloseExecute'#8'OnUpdate'#7#12 | ||||
|   +'ACloseUpdate'#0#0#7'TAction'#5'AQuit'#7'Caption'#6#5'&Quit'#8'HelpType'#7#9 | ||||
|   +'htKeyword'#9'OnExecute'#7#12'AQuitExecute'#8'ShortCut'#3'Q@'#0#0#7'TAction' | ||||
|   +#6'AFirst'#7'Caption'#6#6'&First'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7 | ||||
|   +#12'DoDataAction'#8'OnUpdate'#7#8'DataOpen'#8'ShortCut'#3'F@'#8'Category'#6#7 | ||||
|   +'Dataset'#0#0#7'TAction'#6'APrior'#7'Caption'#6#6'&Prior'#8'HelpType'#7#9'ht' | ||||
|   +'Keyword'#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#8'DataOpen'#8'Catego' | ||||
|   +'ry'#6#7'Dataset'#3'Tag'#2#1#0#0#7'TAction'#5'ANext'#7'Caption'#6#5'&Next'#8 | ||||
|   +'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#8'Da' | ||||
|   +'taOpen'#8'Category'#6#7'Dataset'#3'Tag'#2#2#0#0#7'TAction'#5'ALast'#7'Capti' | ||||
|   +'on'#6#5'&Last'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataAction'#8 | ||||
|   +'OnUpdate'#7#8'DataOpen'#8'ShortCut'#3'L@'#8'Category'#6#7'Dataset'#3'Tag'#2 | ||||
|   +#3#0#0#7'TAction'#7'AInsert'#7'Caption'#6#7'&Insert'#8'HelpType'#7#9'htKeywo' | ||||
|   +'rd'#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#8'DataOpen'#8'ShortCut'#3 | ||||
|   +'N@'#8'Category'#6#7'Dataset'#3'Tag'#2#4#0#0#7'TAction'#7'ADelete'#7'Caption' | ||||
|   +#6#7'&Delete'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataAction'#8'O' | ||||
|   +'nUpdate'#7#16'HaveDataNotEmpty'#8'ShortCut'#3'D@'#8'Category'#6#7'Dataset'#3 | ||||
|   +'Tag'#2#5#0#0#7'TAction'#5'AEdit'#7'Caption'#6#5'&Edit'#8'HelpType'#7#9'htKe' | ||||
|   +'yword'#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#16'HaveDataNotEmpty'#8 | ||||
|   +'ShortCut'#2'q'#8'Category'#6#7'Dataset'#3'Tag'#2#6#0#0#7'TAction'#5'APost'#7 | ||||
|   +'Caption'#6#5'P&ost'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataActi' | ||||
|   +'on'#8'OnUpdate'#7#10'InEditMode'#8'ShortCut'#3'S@'#8'Category'#6#7'Dataset' | ||||
|   +#3'Tag'#2#7#0#0#7'TAction'#7'ACancel'#7'Caption'#6#7'&Cancel'#8'HelpType'#7#9 | ||||
|   +'htKeyword'#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#10'InEditMode'#8'C' | ||||
|   +'ategory'#6#7'Dataset'#3'Tag'#2#8#0#0#7'TAction'#8'ARefresh'#7'Caption'#6#8 | ||||
|   +'&Refresh'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataAction'#8'OnUp' | ||||
|   ,'date'#7#8'DataOpen'#8'ShortCut'#2't'#8'Category'#6#7'Dataset'#0#0#0#4'TDbf' | ||||
|   +#3'DBA'#9'IndexDefs'#14#0#9'StoreDefs'#9#10'TableLevel'#2#4#11'AfterInsert'#7 | ||||
|   +#14'DBAAfterInsert'#4'left'#2'`'#3'top'#2'p'#0#0#11'TSaveDialog'#5'SDDBA'#7 | ||||
|   +'Options'#11#14'ofHideReadOnly'#15'ofPathMustExist'#14'ofEnableSizing'#0#5'T' | ||||
|   +'itle'#6#12'Save file as'#10'DefaultExt'#6#4'.dbf'#6'Filter'#6#29'DBF files|' | ||||
|   +'*.dbf|All files|*.*'#11'FilterIndex'#2#0#4'left'#2'`'#3'top'#3#144#0#0#0#11 | ||||
|   +'TOpenDialog'#5'ODDBA'#7'Options'#11#14'ofHideReadOnly'#15'ofFileMustExist' | ||||
|   +#14'ofEnableSizing'#0#5'Title'#6#18'Open existing file'#10'DefaultExt'#6#4'.' | ||||
|   +'dbf'#6'Filter'#6#29'DBF files|*.dbf|All files|*.*'#11'FilterIndex'#2#0#4'le' | ||||
|   +#6'AFirst'#8'Category'#6#7'Dataset'#7'Caption'#6#6'&First'#8'HelpType'#7#9'h' | ||||
|   +'tKeyword'#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#8'DataOpen'#8'Short' | ||||
|   +'Cut'#3'F@'#0#0#7'TAction'#6'APrior'#3'Tag'#2#1#8'Category'#6#7'Dataset'#7'C' | ||||
|   +'aption'#6#6'&Prior'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataActi' | ||||
|   +'on'#8'OnUpdate'#7#8'DataOpen'#0#0#7'TAction'#5'ANext'#3'Tag'#2#2#8'Category' | ||||
|   +#6#7'Dataset'#7'Caption'#6#5'&Next'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7 | ||||
|   +#12'DoDataAction'#8'OnUpdate'#7#8'DataOpen'#0#0#7'TAction'#5'ALast'#3'Tag'#2 | ||||
|   +#3#8'Category'#6#7'Dataset'#7'Caption'#6#5'&Last'#8'HelpType'#7#9'htKeyword' | ||||
|   +#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#8'DataOpen'#8'ShortCut'#3'L@' | ||||
|   +#0#0#7'TAction'#7'AInsert'#3'Tag'#2#4#8'Category'#6#7'Dataset'#7'Caption'#6#7 | ||||
|   +'&Insert'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataAction'#8'OnUpd' | ||||
|   +'ate'#7#8'DataOpen'#8'ShortCut'#3'N@'#0#0#7'TAction'#7'ADelete'#3'Tag'#2#5#8 | ||||
|   +'Category'#6#7'Dataset'#7'Caption'#6#7'&Delete'#8'HelpType'#7#9'htKeyword'#9 | ||||
|   +'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#16'HaveDataNotEmpty'#8'ShortCut' | ||||
|   ,#3'D@'#0#0#7'TAction'#5'AEdit'#3'Tag'#2#6#8'Category'#6#7'Dataset'#7'Caption' | ||||
|   +#6#5'&Edit'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataAction'#8'OnU' | ||||
|   +'pdate'#7#16'HaveDataNotEmpty'#8'ShortCut'#2'q'#0#0#7'TAction'#5'APost'#3'Ta' | ||||
|   +'g'#2#7#8'Category'#6#7'Dataset'#7'Caption'#6#5'P&ost'#8'HelpType'#7#9'htKey' | ||||
|   +'word'#9'OnExecute'#7#12'DoDataAction'#8'OnUpdate'#7#10'InEditMode'#8'ShortC' | ||||
|   +'ut'#3'S@'#0#0#7'TAction'#7'ACancel'#3'Tag'#2#8#8'Category'#6#7'Dataset'#7'C' | ||||
|   +'aption'#6#7'&Cancel'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7#12'DoDataAct' | ||||
|   +'ion'#8'OnUpdate'#7#10'InEditMode'#0#0#7'TAction'#8'ARefresh'#8'Category'#6#7 | ||||
|   +'Dataset'#7'Caption'#6#8'&Refresh'#8'HelpType'#7#9'htKeyword'#9'OnExecute'#7 | ||||
|   +#12'DoDataAction'#8'OnUpdate'#7#8'DataOpen'#8'ShortCut'#2't'#0#0#0#4'TDbf'#3 | ||||
|   +'DBA'#9'IndexDefs'#14#0#9'StoreDefs'#9#10'TableLevel'#2#4#11'AfterInsert'#7 | ||||
|   +#14'DBAAfterInsert'#4'left'#2'`'#3'top'#2'p'#0#0#11'TSaveDialog'#5'SDDBA'#5 | ||||
|   +'Title'#6#12'Save file as'#10'DefaultExt'#6#4'.dbf'#6'Filter'#6#29'DBF files' | ||||
|   +'|*.dbf|All files|*.*'#11'FilterIndex'#2#0#7'Options'#11#14'ofHideReadOnly' | ||||
|   +#15'ofPathMustExist'#14'ofEnableSizing'#0#4'left'#2'`'#3'top'#3#144#0#0#0#11 | ||||
|   +'TOpenDialog'#5'ODDBA'#5'Title'#6#18'Open existing file'#10'DefaultExt'#6#4 | ||||
|   +'.dbf'#6'Filter'#6#29'DBF files|*.dbf|All files|*.*'#11'FilterIndex'#2#0#7'O' | ||||
|   +'ptions'#11#14'ofHideReadOnly'#15'ofFileMustExist'#14'ofEnableSizing'#0#4'le' | ||||
|   +'ft'#2'@'#3'top'#3#144#0#0#0#11'TDatasource'#9'DSAddress'#7'DataSet'#7#3'DBA' | ||||
|   +#4'left'#3#128#0#3'top'#2'p'#0#0#0 | ||||
| ]); | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -13,28 +13,6 @@ | ||||
|       <Title Value="project1"/> | ||||
|       <ActiveEditorIndexAtStart Value="0"/> | ||||
|     </General> | ||||
|     <Units Count="2"> | ||||
|       <Unit0> | ||||
|         <CursorPos X="44" Y="15"/> | ||||
|         <Filename Value="fontenumeration.lpr"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <UnitName Value="fontenumeration"/> | ||||
|         <UsageCount Value="158"/> | ||||
|       </Unit0> | ||||
|       <Unit1> | ||||
|         <CursorPos X="55" Y="554"/> | ||||
|         <EditorIndex Value="0"/> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <ComponentName Value="frmMain"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <Loaded Value="True"/> | ||||
|         <ResourceFilename Value="mainunit.lrs"/> | ||||
|         <TopLine Value="118"/> | ||||
|         <UnitName Value="mainunit"/> | ||||
|         <UsageCount Value="158"/> | ||||
|       </Unit1> | ||||
|     </Units> | ||||
|     <PublishOptions> | ||||
|       <Version Value="2"/> | ||||
|       <DestinationDirectory Value="$(ProjPath)/published"/> | ||||
| @ -53,6 +31,28 @@ | ||||
|         <PackageName Value="LCL"/> | ||||
|       </Item1> | ||||
|     </RequiredPackages> | ||||
|     <Units Count="2"> | ||||
|       <Unit0> | ||||
|         <Filename Value="fontenumeration.lpr"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <UnitName Value="fontenumeration"/> | ||||
|         <CursorPos X="44" Y="15"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <UsageCount Value="158"/> | ||||
|       </Unit0> | ||||
|       <Unit1> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <ComponentName Value="frmMain"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <ResourceFilename Value="mainunit.lrs"/> | ||||
|         <UnitName Value="mainunit"/> | ||||
|         <CursorPos X="55" Y="554"/> | ||||
|         <TopLine Value="118"/> | ||||
|         <EditorIndex Value="0"/> | ||||
|         <UsageCount Value="158"/> | ||||
|         <Loaded Value="True"/> | ||||
|       </Unit1> | ||||
|     </Units> | ||||
|     <JumpHistory Count="0" HistoryIndex="-1"/> | ||||
|   </ProjectOptions> | ||||
|   <CompilerOptions> | ||||
|  | ||||
| @ -1,174 +1,186 @@ | ||||
| object frmMain: TfrmMain | ||||
|   Left = 563 | ||||
|   Height = 440 | ||||
|   Top = 356 | ||||
|   Width = 714 | ||||
|   HorzScrollBar.Page = 713 | ||||
|   VertScrollBar.Page = 439 | ||||
|   ActiveControl = lbFamily | ||||
|   Caption = 'frmMain' | ||||
|   ClientHeight = 440 | ||||
|   ClientWidth = 714 | ||||
|   OnCloseQuery = FormCloseQuery | ||||
|   OnCreate = FormCreate | ||||
|   OnShow = FormShow | ||||
|   PixelsPerInch = 75 | ||||
|   ShowHint = True | ||||
|   HorzScrollBar.Page = 713 | ||||
|   VertScrollBar.Page = 439 | ||||
|   Left = 33 | ||||
|   Height = 440 | ||||
|   Top = 28 | ||||
|   Width = 714 | ||||
|   object Label3: TLabel | ||||
|     Left = 548 | ||||
|     Height = 17 | ||||
|     Top = 257 | ||||
|     Width = 36 | ||||
|     Caption = 'Filtro' | ||||
|     Color = clNone | ||||
|     Left = 548 | ||||
|     Height = 12 | ||||
|     Top = 257 | ||||
|     Width = 28 | ||||
|     ParentColor = False | ||||
|   end | ||||
|   object Label4: TLabel | ||||
|     Left = 216 | ||||
|     Height = 17 | ||||
|     Top = 16 | ||||
|     Width = 94 | ||||
|     Caption = 'Face font list' | ||||
|     Color = clNone | ||||
|     Left = 216 | ||||
|     Height = 12 | ||||
|     Top = 16 | ||||
|     Width = 72 | ||||
|     ParentColor = False | ||||
|   end | ||||
|   object Label5: TLabel | ||||
|     Left = 424 | ||||
|     Height = 17 | ||||
|     Top = 11 | ||||
|     Width = 45 | ||||
|     Caption = 'Styles' | ||||
|     Color = clNone | ||||
|     Left = 424 | ||||
|     Height = 12 | ||||
|     Top = 11 | ||||
|     Width = 34 | ||||
|     ParentColor = False | ||||
|   end | ||||
|   object Sizes: TLabel | ||||
|     Left = 648 | ||||
|     Height = 17 | ||||
|     Top = 11 | ||||
|     Width = 40 | ||||
|     Caption = 'Sizes' | ||||
|     Color = clNone | ||||
|     Left = 648 | ||||
|     Height = 12 | ||||
|     Top = 11 | ||||
|     Width = 30 | ||||
|     ParentColor = False | ||||
|   end | ||||
|   object lblCharset: TLabel | ||||
|     Left = 424 | ||||
|     Height = 17 | ||||
|     Top = 176 | ||||
|     Width = 73 | ||||
|     Caption = 'lblCharset' | ||||
|     Color = clNone | ||||
|     Left = 424 | ||||
|     Height = 12 | ||||
|     Top = 176 | ||||
|     Width = 43 | ||||
|     ParentColor = False | ||||
|   end | ||||
|   object Label6: TLabel | ||||
|     Left = 11 | ||||
|     Height = 17 | ||||
|     Top = 16 | ||||
|     Width = 36 | ||||
|     Caption = 'Filter' | ||||
|     Color = clNone | ||||
|     Left = 11 | ||||
|     Height = 12 | ||||
|     Top = 16 | ||||
|     Width = 28 | ||||
|     ParentColor = False | ||||
|   end | ||||
|   object lbFamily: TListBox | ||||
|     OnClick = lbFamilyClick | ||||
|     TabOrder = 0 | ||||
|     TopIndex = -1 | ||||
|     Left = 216 | ||||
|     Height = 272 | ||||
|     Top = 32 | ||||
|     Width = 200 | ||||
|     OnClick = lbFamilyClick | ||||
|     TabOrder = 0 | ||||
|     TopIndex = -1 | ||||
|   end | ||||
|   object cbCharset: TComboBox | ||||
|     MaxLength = 0 | ||||
|     TabOrder = 1 | ||||
|     Text = 'ANSI_CHARSET' | ||||
|     Left = 8 | ||||
|     Height = 21 | ||||
|     Top = 37 | ||||
|     Width = 194 | ||||
|     AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] | ||||
|     MaxLength = 0 | ||||
|     TabOrder = 1 | ||||
|     Text = 'ANSI_CHARSET' | ||||
|   end | ||||
|   object Button2: TButton | ||||
|      | ||||
|     Caption = 'apply filter' | ||||
|     OnClick = Button2Click | ||||
|     TabOrder = 2 | ||||
|     Left = 8 | ||||
|     Height = 25 | ||||
|     Top = 96 | ||||
|     Width = 75 | ||||
|     BorderSpacing.InnerBorder = 4 | ||||
|     Caption = 'apply filter' | ||||
|     OnClick = Button2Click | ||||
|     TabOrder = 2 | ||||
|   end | ||||
|   object lbStyles: TListBox | ||||
|     OnClick = lbStylesClick | ||||
|     TabOrder = 3 | ||||
|     TopIndex = -1 | ||||
|     Left = 424 | ||||
|     Height = 128 | ||||
|     Top = 32 | ||||
|     Width = 208 | ||||
|     OnClick = lbStylesClick | ||||
|     TabOrder = 3 | ||||
|     TopIndex = -1 | ||||
|   end | ||||
|   object lbSizes: TListBox | ||||
|     OnClick = lbSizesClick | ||||
|     TabOrder = 4 | ||||
|     TopIndex = -1 | ||||
|     Left = 640 | ||||
|     Height = 272 | ||||
|     Top = 32 | ||||
|     Width = 56 | ||||
|     OnClick = lbSizesClick | ||||
|     TabOrder = 4 | ||||
|     TopIndex = -1 | ||||
|   end | ||||
|   object lbCharset: TListBox | ||||
|     OnClick = lbCharsetClick | ||||
|     TabOrder = 5 | ||||
|     TopIndex = -1 | ||||
|     Left = 424 | ||||
|     Height = 112 | ||||
|     Top = 192 | ||||
|     Width = 208 | ||||
|     OnClick = lbCharsetClick | ||||
|     TabOrder = 5 | ||||
|     TopIndex = -1 | ||||
|   end | ||||
|   object cbPitch: TComboBox | ||||
|     Left = 8 | ||||
|     Height = 21 | ||||
|     Top = 61 | ||||
|     Width = 194 | ||||
|     AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] | ||||
|     ItemIndex = 0 | ||||
|     Items.Strings = ( | ||||
|       'DEFAULT_PITCH' | ||||
|       'FIXED_PITCH' | ||||
|       'VARIABLE_PITCH' | ||||
|       'MONO_FONT' | ||||
|     ) | ||||
|     ItemIndex = 0 | ||||
|     MaxLength = 0 | ||||
|     TabOrder = 6 | ||||
|     Text = 'DEFAULT_PITCH' | ||||
|     Left = 8 | ||||
|     Height = 21 | ||||
|     Top = 61 | ||||
|     Width = 194 | ||||
|   end | ||||
|   object BtnFontDlg: TButton | ||||
|      | ||||
|     Caption = 'Font Dlg' | ||||
|     OnClick = BtnFontDlgClick | ||||
|     TabOrder = 7 | ||||
|     Left = 56 | ||||
|     Height = 40 | ||||
|     Top = 368 | ||||
|     Width = 152 | ||||
|     BorderSpacing.InnerBorder = 4 | ||||
|     Caption = 'Font Dlg' | ||||
|     OnClick = BtnFontDlgClick | ||||
|     TabOrder = 7 | ||||
|   end | ||||
|   object chkStrike: TCheckBox | ||||
|     Left = 591 | ||||
|     Height = 24 | ||||
|     Top = 312 | ||||
|     Width = 88 | ||||
|     Caption = 'Strikeout' | ||||
|     TabOrder = 8 | ||||
|     Left = 591 | ||||
|     Height = 21 | ||||
|     Top = 312 | ||||
|     Width = 73 | ||||
|   end | ||||
|   object chkUnderLine: TCheckBox | ||||
|     Left = 592 | ||||
|     Height = 24 | ||||
|     Top = 336 | ||||
|     Width = 98 | ||||
|     Caption = 'UnderLine' | ||||
|     TabOrder = 9 | ||||
|     Left = 592 | ||||
|     Height = 21 | ||||
|     Top = 336 | ||||
|     Width = 82 | ||||
|   end | ||||
|   object Button1: TButton | ||||
|      | ||||
|     Caption = 'Reset Sample Text' | ||||
|     OnClick = Button1Click | ||||
|     TabOrder = 10 | ||||
|     Left = 56 | ||||
|     Height = 41 | ||||
|     Top = 312 | ||||
|     Width = 153 | ||||
|     BorderSpacing.InnerBorder = 4 | ||||
|     Caption = 'Reset Sample Text' | ||||
|     OnClick = Button1Click | ||||
|     TabOrder = 10 | ||||
|   end | ||||
|   object grid: TStringGrid | ||||
|     Left = 216 | ||||
|     Height = 120 | ||||
|     Top = 312 | ||||
|     Width = 368 | ||||
|     AutoFillColumns = True | ||||
|     ColCount = 1 | ||||
|     DefaultRowHeight = 17 | ||||
| @ -179,15 +191,10 @@ object frmMain: TfrmMain | ||||
|     Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goSmoothScroll] | ||||
|     RowCount = 5 | ||||
|     ScrollBars = ssAutoBoth | ||||
|     VisibleColCount = 1 | ||||
|     VisibleRowCount = 5 | ||||
|     Left = 216 | ||||
|     Height = 120 | ||||
|     Top = 312 | ||||
|     Width = 368 | ||||
|     TabOrder = 11 | ||||
|     TabStop = True | ||||
|   end | ||||
|   object FontDialog1: TFontDialog | ||||
|     Title = 'Select a font' | ||||
|     Title = 'Select a font' | ||||
|     left = 312 | ||||
|     top = 384 | ||||
|  | ||||
| @ -1,49 +1,55 @@ | ||||
| { Das ist eine automatisch erzeugte Lazarus-Ressourcendatei } | ||||
| 
 | ||||
| LazarusResources.Add('TfrmMain','FORMDATA',[ | ||||
|   'TPF0'#8'TfrmMain'#7'frmMain'#7'Caption'#6#7'frmMain'#12'ClientHeight'#3#184#1 | ||||
|   +#11'ClientWidth'#3#202#2#12'OnCloseQuery'#7#14'FormCloseQuery'#8'OnCreate'#7 | ||||
|   +#10'FormCreate'#6'OnShow'#7#8'FormShow'#13'PixelsPerInch'#2'K'#8'ShowHint'#9 | ||||
|   +#18'HorzScrollBar.Page'#3#201#2#18'VertScrollBar.Page'#3#183#1#4'Left'#2'!'#6 | ||||
|   +'Height'#3#184#1#3'Top'#2#28#5'Width'#3#202#2#0#6'TLabel'#6'Label3'#7'Captio' | ||||
|   +'n'#6#6'Filtro'#5'Color'#7#6'clNone'#4'Left'#3'$'#2#6'Height'#2#12#3'Top'#3#1 | ||||
|   +#1#5'Width'#2#28#0#0#6'TLabel'#6'Label4'#7'Caption'#6#14'Face font list'#5'C' | ||||
|   +'olor'#7#6'clNone'#4'Left'#3#216#0#6'Height'#2#12#3'Top'#2#16#5'Width'#2'H'#0 | ||||
|   +#0#6'TLabel'#6'Label5'#7'Caption'#6#6'Styles'#5'Color'#7#6'clNone'#4'Left'#3 | ||||
|   +#168#1#6'Height'#2#12#3'Top'#2#11#5'Width'#2'"'#0#0#6'TLabel'#5'Sizes'#7'Cap' | ||||
|   +'tion'#6#5'Sizes'#5'Color'#7#6'clNone'#4'Left'#3#136#2#6'Height'#2#12#3'Top' | ||||
|   +#2#11#5'Width'#2#30#0#0#6'TLabel'#10'lblCharset'#7'Caption'#6#10'lblCharset' | ||||
|   +#5'Color'#7#6'clNone'#4'Left'#3#168#1#6'Height'#2#12#3'Top'#3#176#0#5'Width' | ||||
|   +#2'+'#0#0#6'TLabel'#6'Label6'#7'Caption'#6#6'Filter'#5'Color'#7#6'clNone'#4 | ||||
|   +'Left'#2#11#6'Height'#2#12#3'Top'#2#16#5'Width'#2#28#0#0#8'TListBox'#8'lbFam' | ||||
|   +'ily'#7'OnClick'#7#13'lbFamilyClick'#8'TabOrder'#2#0#8'TopIndex'#2#255#4'Lef' | ||||
|   +'t'#3#216#0#6'Height'#3#16#1#3'Top'#2' '#5'Width'#3#200#0#0#0#9'TComboBox'#9 | ||||
|   +'cbCharset'#9'MaxLength'#2#0#8'TabOrder'#2#1#4'Text'#6#12'ANSI_CHARSET'#4'Le' | ||||
|   +'ft'#2#8#6'Height'#2#21#3'Top'#2'%'#5'Width'#3#194#0#0#0#7'TButton'#7'Button' | ||||
|   +'2'#7'Caption'#6#12'apply filter'#7'OnClick'#7#12'Button2Click'#8'TabOrder'#2 | ||||
|   +#2#4'Left'#2#8#6'Height'#2#25#3'Top'#2'`'#5'Width'#2'K'#0#0#8'TListBox'#8'lb' | ||||
|   +'Styles'#7'OnClick'#7#13'lbStylesClick'#8'TabOrder'#2#3#8'TopIndex'#2#255#4 | ||||
|   +'Left'#3#168#1#6'Height'#3#128#0#3'Top'#2' '#5'Width'#3#208#0#0#0#8'TListBox' | ||||
|   +#7'lbSizes'#7'OnClick'#7#12'lbSizesClick'#8'TabOrder'#2#4#8'TopIndex'#2#255#4 | ||||
|   +'Left'#3#128#2#6'Height'#3#16#1#3'Top'#2' '#5'Width'#2'8'#0#0#8'TListBox'#9 | ||||
|   +'lbCharset'#7'OnClick'#7#14'lbCharsetClick'#8'TabOrder'#2#5#8'TopIndex'#2#255 | ||||
|   +#4'Left'#3#168#1#6'Height'#2'p'#3'Top'#3#192#0#5'Width'#3#208#0#0#0#9'TCombo' | ||||
|   +'Box'#7'cbPitch'#13'Items.Strings'#1#6#13'DEFAULT_PITCH'#6#11'FIXED_PITCH'#6 | ||||
|   +#14'VARIABLE_PITCH'#6#9'MONO_FONT'#0#9'ItemIndex'#2#0#9'MaxLength'#2#0#8'Tab' | ||||
|   +'Order'#2#6#4'Text'#6#13'DEFAULT_PITCH'#4'Left'#2#8#6'Height'#2#21#3'Top'#2 | ||||
|   +'='#5'Width'#3#194#0#0#0#7'TButton'#10'BtnFontDlg'#7'Caption'#6#8'Font Dlg'#7 | ||||
|   +'OnClick'#7#15'BtnFontDlgClick'#8'TabOrder'#2#7#4'Left'#2'8'#6'Height'#2'('#3 | ||||
|   +'Top'#3'p'#1#5'Width'#3#152#0#0#0#9'TCheckBox'#9'chkStrike'#7'Caption'#6#9'S' | ||||
|   +'trikeout'#8'TabOrder'#2#8#4'Left'#3'O'#2#6'Height'#2#21#3'Top'#3'8'#1#5'Wid' | ||||
|   +'th'#2'I'#0#0#9'TCheckBox'#12'chkUnderLine'#7'Caption'#6#9'UnderLine'#8'TabO' | ||||
|   +'rder'#2#9#4'Left'#3'P'#2#6'Height'#2#21#3'Top'#3'P'#1#5'Width'#2'R'#0#0#7'T' | ||||
|   +'Button'#7'Button1'#7'Caption'#6#17'Reset Sample Text'#7'OnClick'#7#12'Butto' | ||||
|   +'n1Click'#8'TabOrder'#2#10#4'Left'#2'8'#6'Height'#2')'#3'Top'#3'8'#1#5'Width' | ||||
|   +#3#153#0#0#0#11'TStringGrid'#4'grid'#15'AutoFillColumns'#9#8'ColCount'#2#1#16 | ||||
|   +'DefaultRowHeight'#2#17#10'FixedColor'#7#9'clBtnFace'#9'FixedCols'#2#0#9'Fix' | ||||
|   +'edRows'#2#0#13'GridLineWidth'#2#0#7'Options'#11#15'goFixedVertLine'#15'goFi' | ||||
|   +'xedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRangeSelect'#9'goEditing'#14 | ||||
|   +'goSmoothScroll'#0#8'RowCount'#2#5#10'ScrollBars'#7#10'ssAutoBoth'#15'Visibl' | ||||
|   +'eColCount'#2#1#15'VisibleRowCount'#2#5#4'Left'#3#216#0#6'Height'#2'x'#3'Top' | ||||
|   +#3'8'#1#5'Width'#3'p'#1#0#0#11'TFontDialog'#11'FontDialog1'#5'Title'#6#13'Se' | ||||
|   +'lect a font'#5'Title'#6#13'Select a font'#4'left'#3'8'#1#3'top'#3#128#1#0#0 | ||||
|   +#0 | ||||
|   'TPF0'#8'TfrmMain'#7'frmMain'#4'Left'#3'3'#2#6'Height'#3#184#1#3'Top'#3'd'#1#5 | ||||
|   +'Width'#3#202#2#18'HorzScrollBar.Page'#3#201#2#18'VertScrollBar.Page'#3#183#1 | ||||
|   +#13'ActiveControl'#7#8'lbFamily'#7'Caption'#6#7'frmMain'#12'ClientHeight'#3 | ||||
|   +#184#1#11'ClientWidth'#3#202#2#12'OnCloseQuery'#7#14'FormCloseQuery'#8'OnCre' | ||||
|   +'ate'#7#10'FormCreate'#6'OnShow'#7#8'FormShow'#8'ShowHint'#9#0#6'TLabel'#6'L' | ||||
|   +'abel3'#4'Left'#3'$'#2#6'Height'#2#17#3'Top'#3#1#1#5'Width'#2'$'#7'Caption'#6 | ||||
|   +#6'Filtro'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#6'Label4'#4 | ||||
|   +'Left'#3#216#0#6'Height'#2#17#3'Top'#2#16#5'Width'#2'^'#7'Caption'#6#14'Face' | ||||
|   +' font list'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4 | ||||
|   +'Left'#3#168#1#6'Height'#2#17#3'Top'#2#11#5'Width'#2'-'#7'Caption'#6#6'Style' | ||||
|   +'s'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#5'Sizes'#4'Left'#3 | ||||
|   +#136#2#6'Height'#2#17#3'Top'#2#11#5'Width'#2'('#7'Caption'#6#5'Sizes'#5'Colo' | ||||
|   +'r'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#10'lblCharset'#4'Left'#3#168 | ||||
|   +#1#6'Height'#2#17#3'Top'#3#176#0#5'Width'#2'I'#7'Caption'#6#10'lblCharset'#5 | ||||
|   +'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#6'Label6'#4'Left'#2#11#6 | ||||
|   +'Height'#2#17#3'Top'#2#16#5'Width'#2'$'#7'Caption'#6#6'Filter'#5'Color'#7#6 | ||||
|   +'clNone'#11'ParentColor'#8#0#0#8'TListBox'#8'lbFamily'#4'Left'#3#216#0#6'Hei' | ||||
|   +'ght'#3#16#1#3'Top'#2' '#5'Width'#3#200#0#7'OnClick'#7#13'lbFamilyClick'#8'T' | ||||
|   +'abOrder'#2#0#8'TopIndex'#2#255#0#0#9'TComboBox'#9'cbCharset'#4'Left'#2#8#6 | ||||
|   +'Height'#2#21#3'Top'#2'%'#5'Width'#3#194#0#16'AutoCompleteText'#11#22'cbactE' | ||||
|   +'ndOfLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#8'TabOrder'#2 | ||||
|   +#1#4'Text'#6#12'ANSI_CHARSET'#0#0#7'TButton'#7'Button2'#4'Left'#2#8#6'Height' | ||||
|   +#2#25#3'Top'#2'`'#5'Width'#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption' | ||||
|   +#6#12'apply filter'#7'OnClick'#7#12'Button2Click'#8'TabOrder'#2#2#0#0#8'TLis' | ||||
|   +'tBox'#8'lbStyles'#4'Left'#3#168#1#6'Height'#3#128#0#3'Top'#2' '#5'Width'#3 | ||||
|   +#208#0#7'OnClick'#7#13'lbStylesClick'#8'TabOrder'#2#3#8'TopIndex'#2#255#0#0#8 | ||||
|   +'TListBox'#7'lbSizes'#4'Left'#3#128#2#6'Height'#3#16#1#3'Top'#2' '#5'Width'#2 | ||||
|   +'8'#7'OnClick'#7#12'lbSizesClick'#8'TabOrder'#2#4#8'TopIndex'#2#255#0#0#8'TL' | ||||
|   +'istBox'#9'lbCharset'#4'Left'#3#168#1#6'Height'#2'p'#3'Top'#3#192#0#5'Width' | ||||
|   +#3#208#0#7'OnClick'#7#14'lbCharsetClick'#8'TabOrder'#2#5#8'TopIndex'#2#255#0 | ||||
|   +#0#9'TComboBox'#7'cbPitch'#4'Left'#2#8#6'Height'#2#21#3'Top'#2'='#5'Width'#3 | ||||
|   +#194#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAsce' | ||||
|   +'nding'#0#9'ItemIndex'#2#0#13'Items.Strings'#1#6#13'DEFAULT_PITCH'#6#11'FIXE' | ||||
|   +'D_PITCH'#6#14'VARIABLE_PITCH'#6#9'MONO_FONT'#0#9'MaxLength'#2#0#8'TabOrder' | ||||
|   +#2#6#4'Text'#6#13'DEFAULT_PITCH'#0#0#7'TButton'#10'BtnFontDlg'#4'Left'#2'8'#6 | ||||
|   +'Height'#2'('#3'Top'#3'p'#1#5'Width'#3#152#0#25'BorderSpacing.InnerBorder'#2 | ||||
|   +#4#7'Caption'#6#8'Font Dlg'#7'OnClick'#7#15'BtnFontDlgClick'#8'TabOrder'#2#7 | ||||
|   +#0#0#9'TCheckBox'#9'chkStrike'#4'Left'#3'O'#2#6'Height'#2#24#3'Top'#3'8'#1#5 | ||||
|   +'Width'#2'X'#7'Caption'#6#9'Strikeout'#8'TabOrder'#2#8#0#0#9'TCheckBox'#12'c' | ||||
|   +'hkUnderLine'#4'Left'#3'P'#2#6'Height'#2#24#3'Top'#3'P'#1#5'Width'#2'b'#7'Ca' | ||||
|   +'ption'#6#9'UnderLine'#8'TabOrder'#2#9#0#0#7'TButton'#7'Button1'#4'Left'#2'8' | ||||
|   +#6'Height'#2')'#3'Top'#3'8'#1#5'Width'#3#153#0#25'BorderSpacing.InnerBorder' | ||||
|   +#2#4#7'Caption'#6#17'Reset Sample Text'#7'OnClick'#7#12'Button1Click'#8'TabO' | ||||
|   +'rder'#2#10#0#0#11'TStringGrid'#4'grid'#4'Left'#3#216#0#6'Height'#2'x'#3'Top' | ||||
|   +#3'8'#1#5'Width'#3'p'#1#15'AutoFillColumns'#9#8'ColCount'#2#1#16'DefaultRowH' | ||||
|   +'eight'#2#17#10'FixedColor'#7#9'clBtnFace'#9'FixedCols'#2#0#9'FixedRows'#2#0 | ||||
|   +#13'GridLineWidth'#2#0#7'Options'#11#15'goFixedVertLine'#15'goFixedHorzLine' | ||||
|   +#10'goVertLine'#10'goHorzLine'#13'goRangeSelect'#9'goEditing'#14'goSmoothScr' | ||||
|   +'oll'#0#8'RowCount'#2#5#10'ScrollBars'#7#10'ssAutoBoth'#8'TabOrder'#2#11#7'T' | ||||
|   +'abStop'#9#0#0#11'TFontDialog'#11'FontDialog1'#5'Title'#6#13'Select a font'#4 | ||||
|   +'left'#3'8'#1#3'top'#3#128#1#0#0#0 | ||||
| ]); | ||||
|  | ||||
| @ -1,43 +1,44 @@ | ||||
| object Form1: TForm1 | ||||
|   Caption = 'Form1' | ||||
|   ClientHeight = 300 | ||||
|   ClientWidth = 400 | ||||
|   PixelsPerInch = 112 | ||||
|   HorzScrollBar.Page = 399 | ||||
|   VertScrollBar.Page = 299 | ||||
|   Left = 290 | ||||
|   Height = 300 | ||||
|   Top = 163 | ||||
|   Width = 400 | ||||
|   HorzScrollBar.Page = 399 | ||||
|   VertScrollBar.Page = 299 | ||||
|   ActiveControl = Edit1 | ||||
|   Caption = 'Form1' | ||||
|   ClientHeight = 300 | ||||
|   ClientWidth = 400 | ||||
|   OnCreate = FormCreate | ||||
|   object Edit1: TEdit | ||||
|     TabOrder = 0 | ||||
|     Text = 'Edit1 - Press F1 for help' | ||||
|     Left = 60 | ||||
|     Height = 23 | ||||
|     Top = 40 | ||||
|     Width = 207 | ||||
|     HelpType = htKeyword | ||||
|     HelpKeyword = 'HTML/edit1.html' | ||||
|     TabOrder = 0 | ||||
|     Text = 'Edit1 - Press F1 for help' | ||||
|   end | ||||
|   object Edit2: TEdit | ||||
|     TabOrder = 1 | ||||
|     Text = 'Edit2 - Press F1 for help' | ||||
|     Left = 60 | ||||
|     Height = 23 | ||||
|     Top = 95 | ||||
|     Width = 207 | ||||
|     HelpType = htKeyword | ||||
|     HelpKeyword = 'HTML/edit2.html' | ||||
|     TabOrder = 1 | ||||
|     Text = 'Edit2 - Press F1 for help' | ||||
|   end | ||||
|   object HelpButton: TButton | ||||
|      | ||||
|     Caption = 'Help' | ||||
|     OnClick = HelpButtonClick | ||||
|     TabOrder = 2 | ||||
|     Left = 60 | ||||
|     Height = 25 | ||||
|     Top = 155 | ||||
|     Width = 98 | ||||
|     BorderSpacing.InnerBorder = 4 | ||||
|     Caption = 'Help' | ||||
|     OnClick = HelpButtonClick | ||||
|     TabOrder = 2 | ||||
|   end | ||||
|   object HTMLHelpDatabase1: THTMLHelpDatabase | ||||
|     BaseURL = 'file://html/' | ||||
|  | ||||
| @ -1,17 +1,20 @@ | ||||
| { Das ist eine automatisch erzeugte Lazarus-Ressourcendatei } | ||||
| 
 | ||||
| LazarusResources.Add('TForm1','FORMDATA',[ | ||||
|   'TPF0'#6'TForm1'#5'Form1'#7'Caption'#6#5'Form1'#12'ClientHeight'#3','#1#11'Cl' | ||||
|   +'ientWidth'#3#144#1#13'PixelsPerInch'#2'p'#18'HorzScrollBar.Page'#3#143#1#18 | ||||
|   +'VertScrollBar.Page'#3'+'#1#4'Left'#3'"'#1#6'Height'#3','#1#3'Top'#3#163#0#5 | ||||
|   +'Width'#3#144#1#0#5'TEdit'#5'Edit1'#8'TabOrder'#2#0#4'Text'#6#25'Edit1 - Pre' | ||||
|   +'ss F1 for help'#4'Left'#2'<'#6'Height'#2#23#3'Top'#2'('#5'Width'#3#207#0#8 | ||||
|   +'HelpType'#7#9'htKeyword'#11'HelpKeyword'#6#15'HTML/edit1.html'#0#0#5'TEdit' | ||||
|   +#5'Edit2'#8'TabOrder'#2#1#4'Text'#6#25'Edit2 - Press F1 for help'#4'Left'#2 | ||||
|   +'<'#6'Height'#2#23#3'Top'#2'_'#5'Width'#3#207#0#8'HelpType'#7#9'htKeyword'#11 | ||||
|   +'HelpKeyword'#6#15'HTML/edit2.html'#0#0#7'TButton'#10'HelpButton'#7'Caption' | ||||
|   +#6#4'Help'#7'OnClick'#7#15'HelpButtonClick'#8'TabOrder'#2#2#4'Left'#2'<'#6'H' | ||||
|   +'eight'#2#25#3'Top'#3#155#0#5'Width'#2'b'#0#0#17'THTMLHelpDatabase'#17'HTMLH' | ||||
|   +'elpDatabase1'#7'BaseURL'#6#12'file://html/'#12'AutoRegister'#9#13'KeywordPr' | ||||
|   +'efix'#6#5'HTML/'#4'left'#3#200#0#3'top'#2'n'#0#0#22'THTMLBrowserHelpViewer' | ||||
|   +#22'HTMLBrowserHelpViewer1'#13'BrowserParams'#6#2'%s'#12'AutoRegister'#9#4'l' | ||||
|   +'eft'#3#200#0#3'top'#3#175#0#0#0#0 | ||||
|   'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'"'#1#6'Height'#3','#1#3'Top'#3#163#0#5'Wi' | ||||
|   +'dth'#3#144#1#18'HorzScrollBar.Page'#3#143#1#18'VertScrollBar.Page'#3'+'#1#13 | ||||
|   +'ActiveControl'#7#5'Edit1'#7'Caption'#6#5'Form1'#12'ClientHeight'#3','#1#11 | ||||
|   +'ClientWidth'#3#144#1#8'OnCreate'#7#10'FormCreate'#0#5'TEdit'#5'Edit1'#4'Lef' | ||||
|   +'t'#2'<'#6'Height'#2#23#3'Top'#2'('#5'Width'#3#207#0#8'HelpType'#7#9'htKeywo' | ||||
|   +'rd'#11'HelpKeyword'#6#15'HTML/edit1.html'#8'TabOrder'#2#0#4'Text'#6#25'Edit' | ||||
|   +'1 - Press F1 for help'#0#0#5'TEdit'#5'Edit2'#4'Left'#2'<'#6'Height'#2#23#3 | ||||
|   +'Top'#2'_'#5'Width'#3#207#0#8'HelpType'#7#9'htKeyword'#11'HelpKeyword'#6#15 | ||||
|   +'HTML/edit2.html'#8'TabOrder'#2#1#4'Text'#6#25'Edit2 - Press F1 for help'#0#0 | ||||
|   +#7'TButton'#10'HelpButton'#4'Left'#2'<'#6'Height'#2#25#3'Top'#3#155#0#5'Widt' | ||||
|   +'h'#2'b'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#4'Help'#7'OnClick'#7 | ||||
|   +#15'HelpButtonClick'#8'TabOrder'#2#2#0#0#17'THTMLHelpDatabase'#17'HTMLHelpDa' | ||||
|   +'tabase1'#7'BaseURL'#6#12'file://html/'#12'AutoRegister'#9#13'KeywordPrefix' | ||||
|   +#6#5'HTML/'#4'left'#3#200#0#3'top'#2'n'#0#0#22'THTMLBrowserHelpViewer'#22'HT' | ||||
|   +'MLBrowserHelpViewer1'#13'BrowserParams'#6#2'%s'#12'AutoRegister'#9#4'left'#3 | ||||
|   +#200#0#3'top'#3#175#0#0#0#0 | ||||
| ]); | ||||
|  | ||||
| @ -30,7 +30,7 @@ | ||||
|   How was the example created: | ||||
|       Put a THTMLHelpDatabase on a form. | ||||
|       Set AutoRegister to true. | ||||
|       Set KeywordPrefix to 'HTML/' | ||||
|       Set KeywordPrefix to 'HTML/'                                an | ||||
|       Set BaseURL to 'file://html/' | ||||
| 
 | ||||
|       Put a THTMLBrowserHelpViewer on the form. | ||||
| @ -65,6 +65,7 @@ type | ||||
|     Edit2: TEdit; | ||||
|     HTMLBrowserHelpViewer1: THTMLBrowserHelpViewer; | ||||
|     HTMLHelpDatabase1: THTMLHelpDatabase; | ||||
|     procedure FormCreate(Sender: TObject); | ||||
|     procedure HelpButtonClick(Sender: TObject); | ||||
|   private | ||||
|     { private declarations } | ||||
| @ -85,6 +86,11 @@ begin | ||||
|   ShowHelpOrErrorForKeyword('','HTML/index.html'); | ||||
| end; | ||||
| 
 | ||||
| procedure TForm1.FormCreate(Sender: TObject); | ||||
| begin | ||||
|   HTMLHelpDatabase1.BaseURL:='/usr'; | ||||
| end; | ||||
| 
 | ||||
| initialization | ||||
|   {$I unit1.lrs} | ||||
| 
 | ||||
|  | ||||
| @ -1,17 +1,19 @@ | ||||
| object MainForm: TMainForm | ||||
|   Left = 315 | ||||
|   Height = 327 | ||||
|   Top = 177 | ||||
|   Width = 569 | ||||
|   HorzScrollBar.Page = 568 | ||||
|   VertScrollBar.Page = 326 | ||||
|   ActiveControl = OpenHTMLFileButton1 | ||||
|   Caption = 'Example for turbopower internet pro HTML control' | ||||
|   ClientHeight = 327 | ||||
|   ClientWidth = 569 | ||||
|   OnCreate = MainFormCreate | ||||
|   PixelsPerInch = 96 | ||||
|   HorzScrollBar.Page = 568 | ||||
|   VertScrollBar.Page = 326 | ||||
|   Left = 105 | ||||
|   Height = 327 | ||||
|   Top = 109 | ||||
|   Width = 569 | ||||
|   object IpHtmlPanel1: TIpHtmlPanel | ||||
|     Height = 285 | ||||
|     Top = 42 | ||||
|     Width = 569 | ||||
|     Align = alClient | ||||
|     FixedTypeface = 'Courier New' | ||||
|     DefaultTypeFace = 'default' | ||||
| @ -20,43 +22,39 @@ object MainForm: TMainForm | ||||
|     PrintSettings.MarginRight = 0.5 | ||||
|     PrintSettings.MarginBottom = 0.5 | ||||
|     OnHotClick = IpHtmlPanel1HotClick | ||||
|     Height = 285 | ||||
|     Top = 42 | ||||
|     Width = 569 | ||||
|   end | ||||
|   object Panel1: TPanel | ||||
|     Height = 42 | ||||
|     Width = 569 | ||||
|     Align = alTop | ||||
|     ClientHeight = 42 | ||||
|     ClientWidth = 569 | ||||
|     TabOrder = 0 | ||||
|     Height = 42 | ||||
|     Width = 569 | ||||
|     object OpenHTMLFileButton1: TButton | ||||
|        | ||||
|       Caption = 'Open HTML File' | ||||
|       OnClick = OpenHTMLFileButtonClick | ||||
|       TabOrder = 0 | ||||
|       Left = 16 | ||||
|       Height = 26 | ||||
|       Top = 8 | ||||
|       Width = 152 | ||||
|       BorderSpacing.InnerBorder = 4 | ||||
|       Caption = 'Open HTML File' | ||||
|       OnClick = OpenHTMLFileButtonClick | ||||
|       TabOrder = 0 | ||||
|     end | ||||
|     object Button1: TButton | ||||
|        | ||||
|       Caption = 'Preview' | ||||
|       OnClick = Button1Click | ||||
|       TabOrder = 1 | ||||
|       Left = 183 | ||||
|       Height = 25 | ||||
|       Top = 8 | ||||
|       Width = 75 | ||||
|       BorderSpacing.InnerBorder = 4 | ||||
|       Caption = 'Preview' | ||||
|       OnClick = Button1Click | ||||
|       TabOrder = 1 | ||||
|     end | ||||
|   end | ||||
|   object OpenDialog1: TOpenDialog | ||||
|     Title = 'Open existing file' | ||||
|     Filter = 'Web Pages|*.html;*.htm' | ||||
|     FilterIndex = 0 | ||||
|     Title = 'Open existing file' | ||||
|     left = 26 | ||||
|     top = 93 | ||||
|   end | ||||
|  | ||||
| @ -1,22 +1,24 @@ | ||||
| { Das ist eine automatisch erzeugte Lazarus-Ressourcendatei } | ||||
| 
 | ||||
| LazarusResources.Add('TMainForm','FORMDATA',[ | ||||
|   'TPF0'#9'TMainForm'#8'MainForm'#13'ActiveControl'#7#19'OpenHTMLFileButton1'#7 | ||||
|   +'Caption'#6'0Example for turbopower internet pro HTML control'#12'ClientHeig' | ||||
|   +'ht'#3'G'#1#11'ClientWidth'#3'9'#2#8'OnCreate'#7#14'MainFormCreate'#13'Pixel' | ||||
|   +'sPerInch'#2'`'#18'HorzScrollBar.Page'#3'8'#2#18'VertScrollBar.Page'#3'F'#1#4 | ||||
|   +'Left'#2'i'#6'Height'#3'G'#1#3'Top'#2'm'#5'Width'#3'9'#2#0#12'TIpHtmlPanel' | ||||
|   +#12'IpHtmlPanel1'#5'Align'#7#8'alClient'#13'FixedTypeface'#6#11'Courier New' | ||||
|   +#15'DefaultTypeFace'#6#7'default'#24'PrintSettings.MarginLeft'#5#0#0#0#0#0#0 | ||||
|   +#0#128#254'?'#23'PrintSettings.MarginTop'#5#0#0#0#0#0#0#0#128#254'?'#25'Prin' | ||||
|   +'tSettings.MarginRight'#5#0#0#0#0#0#0#0#128#254'?'#26'PrintSettings.MarginBo' | ||||
|   +'ttom'#5#0#0#0#0#0#0#0#128#254'?'#10'OnHotClick'#7#20'IpHtmlPanel1HotClick'#6 | ||||
|   +'Height'#3#29#1#3'Top'#2'*'#5'Width'#3'9'#2#0#0#6'TPanel'#6'Panel1'#5'Align' | ||||
|   +#7#5'alTop'#12'ClientHeight'#2'*'#11'ClientWidth'#3'9'#2#8'TabOrder'#2#0#6'H' | ||||
|   +'eight'#2'*'#5'Width'#3'9'#2#0#7'TButton'#19'OpenHTMLFileButton1'#7'Caption' | ||||
|   +#6#14'Open HTML File'#7'OnClick'#7#23'OpenHTMLFileButtonClick'#8'TabOrder'#2 | ||||
|   +#0#4'Left'#2#16#6'Height'#2#26#3'Top'#2#8#5'Width'#3#152#0#0#0#7'TButton'#7 | ||||
|   +'Button1'#7'Caption'#6#7'Preview'#7'OnClick'#7#12'Button1Click'#8'TabOrder'#2 | ||||
|   +#1#4'Left'#3#183#0#6'Height'#2#25#3'Top'#2#8#5'Width'#2'K'#0#0#0#11'TOpenDia' | ||||
|   +'log'#11'OpenDialog1'#5'Title'#6#18'Open existing file'#6'Filter'#6#22'Web P' | ||||
|   +'ages|*.html;*.htm'#11'FilterIndex'#2#0#5'Title'#6#18'Open existing file'#4 | ||||
|   +'left'#2#26#3'top'#2']'#0#0#0 | ||||
|   'TPF0'#9'TMainForm'#8'MainForm'#4'Left'#3';'#1#6'Height'#3'G'#1#3'Top'#3#177#0 | ||||
|   +#5'Width'#3'9'#2#18'HorzScrollBar.Page'#3'8'#2#18'VertScrollBar.Page'#3'F'#1 | ||||
|   +#13'ActiveControl'#7#19'OpenHTMLFileButton1'#7'Caption'#6'0Example for turbo' | ||||
|   +'power internet pro HTML control'#12'ClientHeight'#3'G'#1#11'ClientWidth'#3 | ||||
|   +'9'#2#8'OnCreate'#7#14'MainFormCreate'#0#12'TIpHtmlPanel'#12'IpHtmlPanel1'#6 | ||||
|   +'Height'#3#29#1#3'Top'#2'*'#5'Width'#3'9'#2#5'Align'#7#8'alClient'#13'FixedT' | ||||
|   +'ypeface'#6#11'Courier New'#15'DefaultTypeFace'#6#7'default'#24'PrintSetting' | ||||
|   +'s.MarginLeft'#5#0#0#0#0#0#0#0#128#254'?'#23'PrintSettings.MarginTop'#5#0#0#0 | ||||
|   +#0#0#0#0#128#254'?'#25'PrintSettings.MarginRight'#5#0#0#0#0#0#0#0#128#254'?' | ||||
|   +#26'PrintSettings.MarginBottom'#5#0#0#0#0#0#0#0#128#254'?'#10'OnHotClick'#7 | ||||
|   +#20'IpHtmlPanel1HotClick'#0#0#6'TPanel'#6'Panel1'#6'Height'#2'*'#5'Width'#3 | ||||
|   +'9'#2#5'Align'#7#5'alTop'#12'ClientHeight'#2'*'#11'ClientWidth'#3'9'#2#8'Tab' | ||||
|   +'Order'#2#0#0#7'TButton'#19'OpenHTMLFileButton1'#4'Left'#2#16#6'Height'#2#26 | ||||
|   +#3'Top'#2#8#5'Width'#3#152#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6 | ||||
|   +#14'Open HTML File'#7'OnClick'#7#23'OpenHTMLFileButtonClick'#8'TabOrder'#2#0 | ||||
|   +#0#0#7'TButton'#7'Button1'#4'Left'#3#183#0#6'Height'#2#25#3'Top'#2#8#5'Width' | ||||
|   +#2'K'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#7'Preview'#7'OnClick'#7 | ||||
|   +#12'Button1Click'#8'TabOrder'#2#1#0#0#0#11'TOpenDialog'#11'OpenDialog1'#5'Ti' | ||||
|   +'tle'#6#18'Open existing file'#6'Filter'#6#22'Web Pages|*.html;*.htm'#11'Fil' | ||||
|   +'terIndex'#2#0#4'left'#2#26#3'top'#2']'#0#0#0 | ||||
| ]); | ||||
|  | ||||
| @ -3,7 +3,7 @@ unit MainUnit; | ||||
| {$mode objfpc}{$H+} | ||||
| 
 | ||||
| {.$define UsePreview} | ||||
| {.$define UseJPEG} | ||||
| {$define UseJPEG} | ||||
| 
 | ||||
| interface | ||||
| 
 | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <?xml version="1.0"?> | ||||
| <CONFIG> | ||||
|   <ProjectOptions> | ||||
|     <PathDelim Value="\"/> | ||||
|     <PathDelim Value="/"/> | ||||
|     <Version Value="5"/> | ||||
|     <General> | ||||
|       <Flags> | ||||
| @ -13,40 +13,8 @@ | ||||
|       <Title Value="tpiproexample"/> | ||||
|       <ActiveEditorIndexAtStart Value="0"/> | ||||
|     </General> | ||||
|     <LazDoc Paths=""/> | ||||
|     <Units Count="3"> | ||||
|       <Unit0> | ||||
|         <CursorPos X="13" Y="6"/> | ||||
|         <Filename Value="tpiproexample.lpr"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <UnitName Value="TPIProExample"/> | ||||
|         <UsageCount Value="72"/> | ||||
|       </Unit0> | ||||
|       <Unit1> | ||||
|         <CursorPos X="22" Y="11"/> | ||||
|         <EditorIndex Value="0"/> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <ComponentName Value="MainForm"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <Loaded Value="True"/> | ||||
|         <ResourceFilename Value="mainunit.lrs"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <UnitName Value="MainUnit"/> | ||||
|         <UsageCount Value="72"/> | ||||
|       </Unit1> | ||||
|       <Unit2> | ||||
|         <CursorPos X="1" Y="1"/> | ||||
|         <Filename Value="index.html"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <SyntaxHighlighter Value="HTML"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <UsageCount Value="72"/> | ||||
|       </Unit2> | ||||
|     </Units> | ||||
|     <PublishOptions> | ||||
|       <Version Value="2"/> | ||||
|       <DestinationDirectory Value="$(TestDir)\publishedproject\"/> | ||||
|       <IgnoreBinaries Value="False"/> | ||||
|       <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> | ||||
|       <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> | ||||
| @ -54,7 +22,7 @@ | ||||
|     <RunParams> | ||||
|       <local> | ||||
|         <FormatVersion Value="1"/> | ||||
|         <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/> | ||||
|         <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> | ||||
|       </local> | ||||
|     </RunParams> | ||||
|     <RequiredPackages Count="2"> | ||||
| @ -67,35 +35,43 @@ | ||||
|         <MinVersion Major="1" Valid="True"/> | ||||
|       </Item2> | ||||
|     </RequiredPackages> | ||||
|     <JumpHistory Count="5" HistoryIndex="4"> | ||||
|       <Position1> | ||||
|     <Units Count="3"> | ||||
|       <Unit0> | ||||
|         <Filename Value="tpiproexample.lpr"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <UnitName Value="TPIProExample"/> | ||||
|         <CursorPos X="13" Y="6"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <UsageCount Value="72"/> | ||||
|       </Unit0> | ||||
|       <Unit1> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <Caret Line="84" Column="30" TopLine="80"/> | ||||
|       </Position1> | ||||
|       <Position2> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <Caret Line="92" Column="1" TopLine="90"/> | ||||
|       </Position2> | ||||
|       <Position3> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <Caret Line="9" Column="16" TopLine="1"/> | ||||
|       </Position3> | ||||
|       <Position4> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <Caret Line="1" Column="11" TopLine="1"/> | ||||
|       </Position4> | ||||
|       <Position5> | ||||
|         <Filename Value="mainunit.pas"/> | ||||
|         <Caret Line="101" Column="20" TopLine="91"/> | ||||
|       </Position5> | ||||
|     </JumpHistory> | ||||
|         <ComponentName Value="MainForm"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <ResourceFilename Value="mainunit.lrs"/> | ||||
|         <UnitName Value="MainUnit"/> | ||||
|         <CursorPos X="22" Y="11"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <EditorIndex Value="0"/> | ||||
|         <UsageCount Value="72"/> | ||||
|         <Loaded Value="True"/> | ||||
|       </Unit1> | ||||
|       <Unit2> | ||||
|         <Filename Value="index.html"/> | ||||
|         <IsPartOfProject Value="True"/> | ||||
|         <CursorPos X="1" Y="1"/> | ||||
|         <TopLine Value="1"/> | ||||
|         <UsageCount Value="72"/> | ||||
|         <SyntaxHighlighter Value="HTML"/> | ||||
|       </Unit2> | ||||
|     </Units> | ||||
|     <JumpHistory Count="0" HistoryIndex="-1"/> | ||||
|   </ProjectOptions> | ||||
|   <CompilerOptions> | ||||
|     <Version Value="5"/> | ||||
|     <PathDelim Value="\"/> | ||||
|     <SearchPaths> | ||||
|       <OtherUnitFiles Value="$(LazarusDir)\components\units\$(TargetCPU)\$(TargetOS)\"/> | ||||
|       <SrcPath Value="$(LazarusDir)\lcl\;$(LazarusDir)\lcl\interfaces\$(LCLWidgetType)\"/> | ||||
|       <OtherUnitFiles Value="$(LazarusDir)/components/units/$(TargetCPU)/$(TargetOS)/"/> | ||||
|       <SrcPath Value="$(LazarusDir)/lcl/;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)/"/> | ||||
|     </SearchPaths> | ||||
|     <CodeGeneration> | ||||
|       <Generate Value="Faster"/> | ||||
|  | ||||
| @ -5,7 +5,7 @@ program TPIProExample; | ||||
| uses | ||||
|   //MemCheck, | ||||
|   Interfaces, | ||||
|   Forms, MainUnit; | ||||
|   Forms, MainUnit, JPEGForLazarus; | ||||
| 
 | ||||
| begin | ||||
|   Application.Initialize; | ||||
|  | ||||
							
								
								
									
										11
									
								
								ide/main.pp
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								ide/main.pp
									
									
									
									
									
								
							| @ -562,8 +562,7 @@ type | ||||
|         var BinCompStream: TExtMemoryStream): TModalResult; | ||||
|     function DoRemoveDanglingEvents(AnUnitInfo: TUnitInfo; | ||||
|         OkOnCodeErrors: boolean): TModalResult; | ||||
|     function DoRenameUnit(AnUnitInfo: TUnitInfo; | ||||
|         NewFilename, NewUnitName: string; | ||||
|     function DoRenameUnit(AnUnitInfo: TUnitInfo; NewFilename, NewUnitName: string; | ||||
|         var ResourceCode: TCodeBuffer): TModalresult; | ||||
| 
 | ||||
|     // methods for 'open unit' and 'open main unit' | ||||
| @ -3857,8 +3856,10 @@ var | ||||
|   SrcEdit: TSourceEditor; | ||||
|   FileWithoutPath: String; | ||||
|   PkgDefaultDirectory: String; | ||||
|   OldUnitName: String; | ||||
| begin | ||||
|   SrcEdit:=GetSourceEditorForUnitInfo(AnUnitInfo); | ||||
|   //debugln('TMainIDE.DoShowSaveFileAsDialog ',AnUnitInfo.Filename); | ||||
| 
 | ||||
|   // try to keep the old filename and extension | ||||
|   SaveAsFileExt:=ExtractFileExt(AnUnitInfo.FileName); | ||||
| @ -3870,8 +3871,9 @@ begin | ||||
|       SaveAsFileExt:=EditorOpts.HighlighterList.GetDefaultFilextension( | ||||
|                          SrcEdit.SyntaxHighlighterType); | ||||
|   end; | ||||
|   AnUnitInfo.ReadUnitNameFromSource(true); | ||||
|   SaveAsFilename:=AnUnitInfo.UnitName; | ||||
|   OldUnitName:=AnUnitInfo.ParseUnitNameFromSource(false); | ||||
|   //debugln('TMainIDE.DoShowSaveFileAsDialog sourceunitname=',OldUnitName); | ||||
|   SaveAsFilename:=OldUnitName; | ||||
|   if SaveAsFilename='' then | ||||
|     SaveAsFilename:=ExtractFileNameOnly(AnUnitInfo.Filename); | ||||
|   if SaveAsFilename='' then | ||||
| @ -4410,6 +4412,7 @@ begin | ||||
|   SrcEdit:=GetSourceEditorForUnitInfo(AnUnitInfo); | ||||
|   if NewUnitName='' then | ||||
|     NewUnitName:=AnUnitInfo.UnitName; | ||||
|   //debugln('TMainIDE.DoRenameUnit ',AnUnitInfo.Filename,' NewUnitName=',NewUnitName,' OldUnitName=',AnUnitInfo.UnitName); | ||||
| 
 | ||||
|   // check new resource file | ||||
|   if AnUnitInfo.ComponentName='' then begin | ||||
|  | ||||
| @ -216,6 +216,7 @@ type | ||||
|     procedure IncreaseAutoRevertLock; | ||||
|     procedure LoadFromXMLConfig(XMLConfig: TXMLConfig; const Path: string; | ||||
|                                 Merge: boolean); | ||||
|     function ParseUnitNameFromSource(TryCache: boolean): string; | ||||
|     procedure ReadUnitNameFromSource(TryCache: boolean); | ||||
|     function CreateUnitName: string; | ||||
|     procedure ImproveUnitNameCache(const NewUnitName: string); | ||||
| @ -898,25 +899,9 @@ procedure TUnitInfo.ReadUnitNameFromSource(TryCache: boolean); | ||||
| var | ||||
|   NewUnitName: String; | ||||
| begin | ||||
|   NewUnitName:=''; | ||||
|   if TryCache then | ||||
|     NewUnitName:=CodeToolBoss.GetCachedSourceName(Source); | ||||
|   if NewUnitName='' then | ||||
|     NewUnitName:=CodeToolBoss.GetSourceName(fSource,false); | ||||
|   if NewUnitName='' then begin | ||||
|     // unable to parse the source | ||||
|     if FilenameIsPascalSource(Filename) then begin | ||||
|       // use default: the filename | ||||
|       NewUnitName:=ExtractFileNameOnly(Filename); | ||||
|       if CompareText(NewUnitName,fUnitName)=0 then begin | ||||
|         // the last stored unitname has the better case | ||||
|         exit; | ||||
|       end; | ||||
|     end; | ||||
|   end; | ||||
|   if NewUnitName<>'' then begin | ||||
|   NewUnitName:=ParseUnitNameFromSource(TryCache); | ||||
|   if NewUnitName<>'' then | ||||
|     fUnitName:=NewUnitName; | ||||
|   end; | ||||
| end; | ||||
| 
 | ||||
| function TUnitInfo.CreateUnitName: string; | ||||
| @ -1079,13 +1064,37 @@ begin | ||||
|   FBookmarks.LoadFromXMLConfig(XMLConfig,Path+'Bookmarks/'); | ||||
| end; | ||||
| 
 | ||||
| function TUnitInfo.ParseUnitNameFromSource(TryCache: boolean): string; | ||||
| begin | ||||
|   Result:=''; | ||||
|   if TryCache then | ||||
|     Result:=CodeToolBoss.GetCachedSourceName(Source); | ||||
|   if Result='' then | ||||
|     Result:=CodeToolBoss.GetSourceName(fSource,false); | ||||
|   if Result='' then begin | ||||
|     // unable to parse the source | ||||
|     if FilenameIsPascalSource(Filename) then begin | ||||
|       // use default: the filename | ||||
|       Result:=ExtractFileNameOnly(Filename); | ||||
|       if CompareText(Result,fUnitName)=0 then begin | ||||
|         // the last stored unitname has the better case | ||||
|         Result:=fUnitName; | ||||
|       end; | ||||
|     end; | ||||
|   end; | ||||
| end; | ||||
| 
 | ||||
| procedure TUnitInfo.SetUnitName(const NewUnitName:string); | ||||
| var Allowed:boolean; | ||||
|   OldUnitName: String; | ||||
| begin | ||||
|   if (fUnitName<>NewUnitName) and (NewUnitName<>'') then begin | ||||
|     Allowed:=true; | ||||
|     OldUnitName:=fUnitName; | ||||
|     if OldUnitName='' then | ||||
|       OldUnitName:=ExtractFileNameOnly(Filename); | ||||
|     if Assigned(FOnUnitNameChange) then | ||||
|       FOnUnitNameChange(Self,fUnitName,NewUnitName,false,Allowed); | ||||
|       FOnUnitNameChange(Self,OldUnitName,NewUnitName,false,Allowed); | ||||
|     // (ignore Allowed) | ||||
|     if (fSource<>nil) then begin | ||||
|       CodeToolBoss.RenameSource(fSource,NewUnitName); | ||||
| @ -3366,7 +3375,7 @@ begin | ||||
|       for i:=0 to UnitCount-1 do begin | ||||
|         if (Units[i].IsPartOfProject) | ||||
|         and (Units[i]<>AnUnitInfo) and (Units[i].UnitName<>'') | ||||
|         and (lowercase(Units[i].UnitName)=lowercase(NewUnitName)) then begin | ||||
|         and (CompareText(Units[i].UnitName,NewUnitName)=0) then begin | ||||
|           Allowed:=false; | ||||
|           exit; | ||||
|         end; | ||||
|  | ||||
| @ -1,2 +1,2 @@ | ||||
| // Created by Svn2RevisionInc
 | ||||
| const RevisionStr = '10034M'; | ||||
| const RevisionStr = ''; | ||||
|  | ||||
| @ -1491,6 +1491,8 @@ type | ||||
|     function GetTabOrder: TTabOrder; | ||||
|     function GetVisibleDockClientCount: Integer; | ||||
|     procedure SetChildSizing(const AValue: TControlChildSizing); | ||||
|     procedure SetClientHeight(const AValue: Integer); | ||||
|     procedure SetClientWidth(const AValue: Integer); | ||||
|     procedure SetDockSite(const NewDockSite: Boolean); | ||||
|     procedure SetHandle(NewHandle: HWND); | ||||
|     procedure SetBorderWidth(Value: TBorderWidth); | ||||
| @ -1654,8 +1656,6 @@ type | ||||
|     property Brush: TBrush read GetBrush; | ||||
|     property CachedClientHeight: integer read FClientHeight; | ||||
|     property CachedClientWidth: integer read FClientWidth; | ||||
|     property ClientWidth: Integer read GetClientWidth write SetClientWidth stored True; | ||||
|     property ClientHeight: Integer read GetClientHeight write SetClientHeight stored True; | ||||
|     property ChildSizing: TControlChildSizing read FChildSizing write SetChildSizing; | ||||
|     property ControlCount: Integer read GetControlCount; | ||||
|     property Controls[Index: Integer]: TControl read GetControl; | ||||
| @ -1693,11 +1693,13 @@ type | ||||
|     procedure EndUpdateBounds; | ||||
|     procedure LockRealizeBounds; | ||||
|     procedure UnlockRealizeBounds; | ||||
|     Function ControlAtPos(const Pos: TPoint; AllowDisabled: Boolean): TControl; | ||||
|     Function ControlAtPos(const Pos: TPoint; | ||||
|       AllowDisabled, AllowWinControls: Boolean): TControl; | ||||
|     Function ControlAtPos(const Pos: TPoint; | ||||
|       AllowDisabled, AllowWinControls, OnlyClientAreas: Boolean): TControl; virtual; | ||||
|     function ControlAtPos(const Pos: TPoint; AllowDisabled: Boolean): TControl; | ||||
|     function ControlAtPos(const Pos: TPoint; | ||||
|                           AllowDisabled, AllowWinControls: Boolean): TControl; | ||||
|     function ControlAtPos(const Pos: TPoint; | ||||
|                           AllowDisabled, AllowWinControls, OnlyClientAreas: Boolean): TControl; | ||||
|     function ControlAtPos(const Pos: TPoint; | ||||
|                           AllowDisabled, AllowWinControls, OnlyClientAreas, Recursive: Boolean): TControl; virtual; | ||||
|     function  ContainsControl(Control: TControl): Boolean; | ||||
|     procedure DoAdjustClientRectChange; | ||||
|     procedure InvalidateClientRectCache(WithChildControls: boolean); | ||||
| @ -2402,7 +2404,8 @@ begin | ||||
|   then begin | ||||
|     Result := WinControl; | ||||
|     Control := WinControl.ControlAtPos(WinControl.ScreenToClient(Position), | ||||
|                                        AllowDisabled,true); | ||||
|                                        AllowDisabled,true,false,true); | ||||
|     //debugln(['FindControlAtPosition ',dbgs(Position),' ',DbgSName(WinControl),' ',dbgs(WinControl.ScreenToClient(Position)),' ',DbgSName(Control)]); | ||||
|     if Control <> nil then Result := Control; | ||||
|   end; | ||||
| end; | ||||
|  | ||||
| @ -409,6 +409,7 @@ var | ||||
|   P: TPoint; | ||||
| begin | ||||
|   GetCursorPos(P); | ||||
|   //debugln(['TApplication.GetControlAtMouse p=',dbgs(p),' FLastMousePos=',dbgs(FLastMousePos)]);
 | ||||
|   if FLastMouseControlValid and (P.X=FLastMousePos.x) and (P.Y=FLastMousePos.Y) | ||||
|   then | ||||
|     Result := FLastMouseControl | ||||
| @ -443,16 +444,8 @@ end; | ||||
|  ------------------------------------------------------------------------------} | ||||
| procedure TApplication.UpdateMouseControl(NewMouseControl: TControl); | ||||
| begin | ||||
|   //debugln(['TApplication.UpdateMouseControl Old=',DbgSName(FMouseControl),' New=',DbgSName(NewMouseControl)]);
 | ||||
|   if FMouseControl=NewMouseControl then exit; | ||||
|   {write('TApplication.UpdateMouseControl A '); | ||||
|   if FMouseControl<>nil then | ||||
|     write(' Old=',FMouseControl.Name,':',FMouseControl.ClassName) | ||||
|   else | ||||
|     write(' Old=nil'); | ||||
|   if NewMouseControl<>nil then | ||||
|     DebugLn' New=',NewMouseControl.Name,':',NewMouseControl.ClassName) | ||||
|   else | ||||
|     DebugLn' New=nil');} | ||||
|   if (FMouseControl<>nil) then begin | ||||
|     //DebugLn' MOUSELEAVE=',FMouseControl.Name,':',FMouseControl.ClassName);
 | ||||
|     FMouseControl.Perform(CM_MOUSELEAVE, 0, 0); | ||||
| @ -1404,6 +1397,7 @@ end; | ||||
| ------------------------------------------------------------------------------} | ||||
| procedure TApplication.DoBeforeMouseMessage(CurMouseControl: TControl); | ||||
| begin | ||||
|   //debugln(['TApplication.DoBeforeMouseMessage ',DbgSName(CurMouseControl)]);
 | ||||
|   UpdateMouseControl(GetControlAtMouse); | ||||
| end; | ||||
| 
 | ||||
|  | ||||
| @ -492,22 +492,6 @@ begin | ||||
|   end; | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------} | ||||
| {       TControl.GetClientHeight                                               } | ||||
| {------------------------------------------------------------------------------} | ||||
| function TControl.GetClientHeight: Integer; | ||||
| begin | ||||
|   Result := ClientRect.Bottom; | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------} | ||||
| {       TControl.GetClientWidth                                                } | ||||
| {------------------------------------------------------------------------------} | ||||
| function TControl.GetClientWidth: Integer; | ||||
| begin | ||||
|   Result := ClientRect.Right; | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------ | ||||
|   procedure TControl.CalculateDockSizes; | ||||
| 
 | ||||
| @ -1230,6 +1214,16 @@ Begin | ||||
|   Result.Bottom := FTop+FHeight; | ||||
| end; | ||||
| 
 | ||||
| function TControl.GetClientHeight: Integer; | ||||
| begin | ||||
|   Result:=ClientRect.Bottom; | ||||
| end; | ||||
| 
 | ||||
| function TControl.GetClientWidth: Integer; | ||||
| begin | ||||
|   Result:=ClientRect.Right; | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------} | ||||
| {       TControl GetEnabled                                 } | ||||
| {------------------------------------------------------------------------------} | ||||
| @ -2919,14 +2913,13 @@ Begin | ||||
| end; | ||||
| 
 | ||||
| 
 | ||||
| {------------------------------------------------------------------------------} | ||||
| {  TControl WMMouseMove | ||||
| } | ||||
| {------------------------------------------------------------------------------} | ||||
| {------------------------------------------------------------------------------ | ||||
|   TControl WMMouseMove | ||||
| ------------------------------------------------------------------------------} | ||||
| Procedure TControl.WMMouseMove(Var Message: TLMMouseMove); | ||||
| Begin | ||||
|   {$IFDEF VerboseMouseBugfix} | ||||
|   DebugLn('[TControl.WMMouseMove] ',Name,':',ClassName,' ',Message.XPos,',',Message.YPos); | ||||
|   DebugLn(['[TControl.WMMouseMove] ',Name,':',ClassName,' ',Message.XPos,',',Message.YPos]); | ||||
|   {$ENDIF} | ||||
|   DoBeforeMouseMessage; | ||||
|   if not (csNoStdEvents in ControlStyle) | ||||
|  | ||||
| @ -648,6 +648,7 @@ begin | ||||
| 
 | ||||
|     if NewState <> FState | ||||
|     then begin | ||||
|       //debugln(['TCustomSpeedButton.MouseMove ',DbgSName(Self),' fState=',ord(fstate),' NewState=',ord(NewState)]);
 | ||||
|       FState := NewState; | ||||
|       Invalidate; | ||||
|     end; | ||||
|  | ||||
| @ -3171,10 +3171,16 @@ begin | ||||
|   Result := ControlAtPos(Pos,AllowDisabled,AllowWinControls,true); | ||||
| end; | ||||
| 
 | ||||
| function TWinControl.ControlAtPos(const Pos: TPoint; AllowDisabled, | ||||
|   AllowWinControls, OnlyClientAreas: Boolean): TControl; | ||||
| begin | ||||
|   Result := ControlAtPos(Pos,AllowDisabled,AllowWinControls,true,false); | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------ | ||||
|   TWinControl ControlAtPos | ||||
|   Params: const Pos : TPoint | ||||
|           AllowDisabled, AllowWinControls: Boolean | ||||
|           AllowDisabled, AllowWinControls, OnlyClientAreas, Recursive: Boolean | ||||
|   Results: TControl | ||||
| 
 | ||||
|   Searches a child (not grand child) control, which contains Pos. | ||||
| @ -3182,9 +3188,10 @@ end; | ||||
|   If AllowDisabled is true it will also search in disabled controls. | ||||
|   If AllowWinControls is true it will also search in the child wincontrols. | ||||
|   If OnlyClientAreas is true then only the client areas are compared. | ||||
|   If Recursive is true then continue in the child controls. | ||||
| ------------------------------------------------------------------------------} | ||||
| function TWinControl.ControlAtPos(const Pos: TPoint; AllowDisabled, | ||||
|   AllowWinControls, OnlyClientAreas: Boolean): TControl; | ||||
|   AllowWinControls, OnlyClientAreas, Recursive: Boolean): TControl; | ||||
| var | ||||
|   I: Integer; | ||||
|   P: TPoint; | ||||
| @ -3230,12 +3237,14 @@ var | ||||
|              ) | ||||
|             ); | ||||
|       {$IFDEF VerboseMouseBugfix} | ||||
|       DebugLn('GetControlAtPos ',Name,':',ClassName, | ||||
|       //if Result then
 | ||||
|       DebugLn(['GetControlAtPos ',Name,':',ClassName, | ||||
|       ' Pos=',Pos.X,',',Pos.Y, | ||||
|       ' P=',P.X,',',P.Y, | ||||
|       ' ControlPos=',dbgs(ControlPos), | ||||
|       ' ClientBounds=',ClientBounds.Left,',',ClientBounds.Top,',',ClientBounds.Right,',',ClientBounds.Bottom, | ||||
|       ' OnlyCl=',OnlyClientAreas, | ||||
|       ' Result=',Result); | ||||
|       ' Result=',Result]); | ||||
|       {$ENDIF} | ||||
|       if Result then | ||||
|         LControl := AControl; | ||||
| @ -3244,10 +3253,17 @@ var | ||||
| 
 | ||||
| var | ||||
|   ScrolledOffset: TPoint; | ||||
|   OldClientOrigin: TPoint; | ||||
|   NewClientOrigin: TPoint; | ||||
|   NewPos: TPoint; | ||||
| begin | ||||
|   //debugln(['TWinControl.ControlAtPos START ',DbgSName(Self),' P=',dbgs(Pos)]);
 | ||||
| 
 | ||||
|   // check if Pos in visible client area
 | ||||
|   ClientBounds:=GetClientRect; | ||||
|   if not PtInRect(ClientBounds,Pos) then begin | ||||
|     //debugln(['TWinControl.ControlAtPos OUT OF CLIENTBOUNDS ',DbgSName(Self),' P=',dbgs(Pos),' ClientBounds=',dbgs(ClientBounds)]);
 | ||||
|     //DumpStack;
 | ||||
|     Result:=nil; | ||||
|     exit; | ||||
|   end; | ||||
| @ -3268,6 +3284,22 @@ begin | ||||
|       if GetControlAtPos(TControl(FControls[I])) then | ||||
|         Break; | ||||
|   Result := LControl; | ||||
|    | ||||
|   // check recursive sub childs
 | ||||
|   if Recursive and (Result is TWinControl) | ||||
|   and (TWinControl(Result).ControlCount>0) then begin | ||||
|     OldClientOrigin:=ClientOrigin; | ||||
|     NewClientOrigin:=TWinControl(Result).ClientOrigin; | ||||
|     NewPos:=Pos; | ||||
|     NewPos.X:=NewPos.X-NewClientOrigin.X+OldClientOrigin.X; | ||||
|     NewPos.Y:=NewPos.Y-NewClientOrigin.Y+OldClientOrigin.Y; | ||||
|     LControl:=TWinControl(Result).ControlAtPos(NewPos, | ||||
|                            AllowDisabled,AllowWinControls,OnlyClientAreas,true); | ||||
|     //debugln(['TWinControl.RECURSED ControlAtPos Result=',DbgSName(Result),' LControl=',DbgSName(LControl),' ',dbgs(NewPos),' AllowDisabled=',AllowDisabled,' OnlyClientAreas=',OnlyClientAreas]);
 | ||||
|     if LControl<>nil then | ||||
|       Result:=LControl; | ||||
|   end; | ||||
|   //debugln(['TWinControl.ControlAtPos END ',DbgSName(Self),' P=',dbgs(Pos),' Result=',DbgSName(Result)]);
 | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------- | ||||
| @ -4373,9 +4405,9 @@ begin | ||||
|   Result:=FBrush; | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------} | ||||
| {  TWinControl GetControl                                                      } | ||||
| {------------------------------------------------------------------------------} | ||||
| {------------------------------------------------------------------------------ | ||||
|   TWinControl GetControl | ||||
| ------------------------------------------------------------------------------} | ||||
| function TWinControl.GetControl(const Index: Integer): TControl; | ||||
| var | ||||
|   N: Integer; | ||||
| @ -4390,9 +4422,9 @@ begin | ||||
|     Result := TControl(FWinControls[Index - N]); | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------} | ||||
| {  TWinControl GetControlCount                                                 } | ||||
| {------------------------------------------------------------------------------} | ||||
| {------------------------------------------------------------------------------ | ||||
|   TWinControl GetControlCount | ||||
| ------------------------------------------------------------------------------} | ||||
| function TWinControl.GetControlCount: Integer; | ||||
| begin | ||||
|   Result := 0; | ||||
| @ -5582,6 +5614,16 @@ begin | ||||
|   FChildSizing.Assign(AValue); | ||||
| end; | ||||
| 
 | ||||
| procedure TWinControl.SetClientHeight(const AValue: Integer); | ||||
| begin | ||||
| 
 | ||||
| end; | ||||
| 
 | ||||
| procedure TWinControl.SetClientWidth(const AValue: Integer); | ||||
| begin | ||||
| 
 | ||||
| end; | ||||
| 
 | ||||
| {------------------------------------------------------------------------------ | ||||
|   procedure TWinControl.SetDockSite(const NewDockSite: Boolean); | ||||
|  ------------------------------------------------------------------------------} | ||||
|  | ||||
| @ -967,6 +967,7 @@ var | ||||
|   DesignOnlySignal: boolean; | ||||
| begin | ||||
|   Result := CallBackDefaultReturn; | ||||
|   MousePositionValid:=false; | ||||
| 
 | ||||
|   {$IFDEF VerboseMouseBugfix} | ||||
|   DesignOnlySignal:=GetDesignOnlySignalFlag(Widget,dstMouseMotion); | ||||
| @ -1003,6 +1004,7 @@ function GTKMotionNotifyAfter(widget:PGTKWidget; event: PGDKEventMotion; | ||||
|   data: gPointer): GBoolean; cdecl; | ||||
| begin | ||||
|   Result := CallBackDefaultReturn; | ||||
|   MousePositionValid:=false; | ||||
| 
 | ||||
|   {$IFDEF VerboseMouseBugfix} | ||||
|   DebugLn('[GTKMotionNotifyAfter] ', | ||||
| @ -1220,6 +1222,8 @@ var | ||||
| 
 | ||||
| begin | ||||
|   if (Widget=nil) then ; | ||||
|   MousePositionValid:=false; | ||||
| 
 | ||||
|   EventXY:=Point(TruncToInt(Event^.X),TruncToInt(Event^.Y)); | ||||
|   ShiftState := GTKEventState2ShiftState(Event^.State); | ||||
|   MappedXY:=TranslateGdkPointToClientArea(Event^.Window,EventXY, | ||||
| @ -1292,6 +1296,7 @@ end; | ||||
| -------------------------------------------------------------------------------} | ||||
| function gtkMouseBtnPress(widget: PGtkWidget; event: pgdkEventButton; | ||||
|   data: gPointer) : GBoolean; cdecl; | ||||
|    | ||||
|   procedure CheckListSelection; | ||||
|   var | ||||
|     List: PGlist; | ||||
| @ -1336,6 +1341,7 @@ var | ||||
|   MappedXY: TPoint; | ||||
| begin | ||||
|   Result := CallBackDefaultReturn; | ||||
|   MousePositionValid:=false; | ||||
| 
 | ||||
|   {$IFDEF VerboseMouseBugfix} | ||||
|   DebugLn(''); | ||||
| @ -1404,6 +1410,7 @@ function gtkMouseBtnPressAfter(widget: PGtkWidget; event : pgdkEventButton; | ||||
|   data: gPointer) : GBoolean; cdecl; | ||||
| begin | ||||
|   Result := CallBackDefaultReturn; | ||||
|   MousePositionValid:=false; | ||||
| 
 | ||||
|   {$IFDEF VerboseMouseBugfix} | ||||
|   debugln('[gtkMouseBtnPressAfter] ', | ||||
| @ -1523,6 +1530,7 @@ var | ||||
|   DesignOnlySignal: boolean; | ||||
| begin | ||||
|   Result := CallBackDefaultReturn; | ||||
|   MousePositionValid:=false; | ||||
| 
 | ||||
|   {$IFDEF VerboseMouseBugfix} | ||||
|   DesignOnlySignal:=GetDesignOnlySignalFlag(Widget,dstMouseRelease); | ||||
| @ -1570,6 +1578,7 @@ function gtkMouseBtnReleaseAfter(widget: PGtkWidget; event : pgdkEventButton; | ||||
|   data: gPointer) : GBoolean; cdecl; | ||||
| begin | ||||
|   Result := CallBackDefaultReturn; | ||||
|   MousePositionValid:=false; | ||||
| 
 | ||||
|   {$IFDEF VerboseMouseBugfix} | ||||
|   DebugLn('[gtkMouseBtnReleaseAfter] ',DbgSName(TObject(Data)),' ', | ||||
| @ -2071,7 +2080,9 @@ var | ||||
| 
 | ||||
| var | ||||
|   AHistoryEntry: PFileSelHistoryEntry; | ||||
|   {$IFDEF Gtk1} | ||||
|   FilterMenu, ActiveFilterMenuItem: PGtkWidget; | ||||
|   {$ENDIF} | ||||
| begin | ||||
|   Result:=false; | ||||
|   if (Data=nil) then ; | ||||
|  | ||||
| @ -56,6 +56,9 @@ var | ||||
|   MouseCaptureWidget: PGtkWidget; | ||||
|   MouseCaptureType: TMouseCaptureType; | ||||
|   MouseCaptureIndex: cardinal; | ||||
|   MousePositionValid: boolean = false; | ||||
|   MousePosition: TPoint; | ||||
|   MousePositionTime: TDateTime; | ||||
| 
 | ||||
| const | ||||
|   DblClickTime = 250;// 250 miliseconds or less between clicks is a double click | ||||
|  | ||||
| @ -3417,12 +3417,15 @@ procedure DestroyCommonDialogAddOns(ADialog: TCommonDialog); | ||||
| var | ||||
|   DlgWindow: PGtkWidget; | ||||
|   HistoryList: TFPList; // list of TFileSelHistoryListEntry
 | ||||
|   FilterList: TFPList; // list of TFileSelFilterListEntry
 | ||||
|   AHistoryEntry: PFileSelHistoryEntry; | ||||
|   AFilterEntry: PFileSelFilterEntry; | ||||
|   i: integer; | ||||
|   FileSelWidget: PGtkFileSelection; | ||||
|   LCLFilterMenu, LCLHistoryMenu: PGTKWidget; | ||||
|   LCLHistoryMenu: PGTKWidget; | ||||
|   {$IFDEF Gtk} | ||||
|   AFilterEntry: PFileSelFilterEntry; | ||||
|   FilterList: TFPList; // list of TFileSelFilterListEntry
 | ||||
|   LCLFilterMenu: PGTKWidget; | ||||
|   {$ENDIF} | ||||
| begin | ||||
| 
 | ||||
|   if (ADialog=nil) or (not ADialog.HandleAllocated) then exit; | ||||
|  | ||||
| @ -4706,27 +4706,36 @@ end; | ||||
|   Returns: True if succesful | ||||
| 
 | ||||
|  ------------------------------------------------------------------------------} | ||||
| function TGtkWidgetSet.GetCursorPos(var lpPoint: TPoint ): Boolean; | ||||
| function TGtkWidgetSet.GetCursorPos(var lpPoint: TPoint): Boolean; | ||||
| {$IFDEF unix} | ||||
| var | ||||
|   dpy: PDisplay; | ||||
|   root, child: twindow; | ||||
|   winx, winy: Integer; | ||||
|   xmask: Cardinal; | ||||
| 
 | ||||
| begin | ||||
|   Result := False; | ||||
|   {$IFDEF DebugGDKTraps} | ||||
|   BeginGDKErrorTrap; | ||||
|   {$ENDIF} | ||||
|   try | ||||
|     dpy := gdk_display; | ||||
|     XQueryPointer(dpy, RootWindow(dpy, DefaultScreen(dpy)), @root, @child, | ||||
|                                       @lpPoint.X,@lpPoint.Y,@winx,@winy,@xmask); | ||||
|     Result := True; | ||||
|   finally | ||||
|     {$IFDEF DebugGDKTraps}EndGDKErrorTrap;{$ENDIF} | ||||
|   if (not MousePositionValid) or (Abs(MousePositionTime-Now)>1/864000) then | ||||
|   begin | ||||
|     // querying the X cursor is expensive (especially on network connections)
 | ||||
|     // => use a lazy query
 | ||||
|     {$IFDEF DebugGDKTraps} | ||||
|     BeginGDKErrorTrap; | ||||
|     try | ||||
|     {$ENDIF} | ||||
|       dpy := gdk_display; | ||||
|       XQueryPointer(dpy, RootWindow(dpy, DefaultScreen(dpy)), @root, @child, | ||||
|                           @MousePosition.X,@MousePosition.Y,@winx,@winy,@xmask); | ||||
|       Result := True; | ||||
|     {$IFDEF DebugGDKTraps} | ||||
|     finally | ||||
|       EndGDKErrorTrap; | ||||
|     end; | ||||
|     {$ENDIF} | ||||
|     MousePositionTime:=Now; | ||||
|     MousePositionValid:=true; | ||||
|   end; | ||||
|   lpPoint:=MousePosition; | ||||
| end; | ||||
| {$ELSE} | ||||
| begin | ||||
|  | ||||
| @ -86,18 +86,18 @@ function Frame(DC: HDC; const ARect: TRect): Integer; override; | ||||
| function Frame3d(DC: HDC; var ARect: TRect; const FrameWidth : integer; const Style : TBevelCut): Boolean; override; | ||||
| function FrameRect(DC: HDC; const ARect: TRect; hBr: HBRUSH): Integer; override; | ||||
| 
 | ||||
| Function GetActiveWindow : HWND; override; | ||||
| function GetActiveWindow : HWND; override; | ||||
| function GetBitmapBits(Bitmap: HBITMAP; Count: Longint;  Bits: Pointer): Longint; override; | ||||
| function GetBitmapRawImageDescription(Bitmap: HBITMAP; Desc: PRawImageDescription): boolean; override; | ||||
| function GetCapture: HWND; override; | ||||
| function GetCaretPos(var lpPoint: TPoint): Boolean; override; | ||||
| function GetCaretRespondToFocus(handle: HWND; var ShowHideOnFocus: boolean): Boolean; override; | ||||
| function GetCharABCWidths(DC: HDC; p2, p3: UINT; const ABCStructs): Boolean; override; | ||||
| Function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override; | ||||
| Function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override; | ||||
| Function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override; | ||||
| Function GetClipRGN(DC : hDC; RGN : hRGN) : Longint; override; | ||||
| Function GetCmdLineParamDescForInterface: string; override; | ||||
| function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override; | ||||
| function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override; | ||||
| function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override; | ||||
| function GetClipRGN(DC : hDC; RGN : hRGN) : Longint; override; | ||||
| function GetCmdLineParamDescForInterface: string; override; | ||||
| function GetCursorPos(var lpPoint: TPoint): Boolean; override; | ||||
| function GetDC(hWnd: HWND): HDC;  override; | ||||
| function GetDCOriginRelativeToWindow(PaintDC: HDC; WindowHandle: HWND; var OriginDiff: TPoint): boolean; override; | ||||
| @ -110,11 +110,11 @@ function GetFocus: HWND; override; | ||||
| function GetFontLanguageInfo(DC: HDC): DWord; override; | ||||
| function GetKeyState(nVirtKey: Integer): Smallint; override; | ||||
| function GetObject(GDIObj: HGDIOBJ; BufSize: Integer; Buf: Pointer): Integer; override; | ||||
| Function GetParent(Handle : HWND): HWND; override; | ||||
| Function GetProp(Handle : hwnd; Str : PChar): Pointer; override; | ||||
| function GetParent(Handle : HWND): HWND; override; | ||||
| function GetProp(Handle : hwnd; Str : PChar): Pointer; override; | ||||
| function GetRawImageFromDevice(SrcDC: HDC; const SrcRect: TRect; var NewRawImage: TRawImage): boolean; override; | ||||
| function GetRawImageFromBitmap(SrcBitmap, SrcMaskBitmap: HBITMAP; const SrcRect: TRect; var NewRawImage: TRawImage): boolean; override; | ||||
| Function GetRgnBox(RGN : HRGN; lpRect : PRect) : Longint; override; | ||||
| function GetRgnBox(RGN : HRGN; lpRect : PRect) : Longint; override; | ||||
| function GetROP2(DC: HDC): Integer; override; | ||||
| function GetScrollBarSize(Handle: HWND; BarKind: Integer): integer; override; | ||||
| function GetScrollbarVisible(Handle: HWND; SBStyle: Integer): boolean; override; | ||||
|  | ||||
| @ -843,9 +843,9 @@ procedure TGtk2WidgetSet.InitializeOpenDialog(OpenDialog: TOpenDialog; | ||||
| var | ||||
|   FileSelWidget: PGtkFileChooser; | ||||
|   HelpButton: PGtkWidget; | ||||
|   FrameWidget: PGtkWidget; | ||||
|   HBox: PGtkWidget; | ||||
|   FileDetailLabel: PGtkWidget; | ||||
|   //FrameWidget: PGtkWidget;
 | ||||
|   //HBox: PGtkWidget;
 | ||||
|   //FileDetailLabel: PGtkWidget;
 | ||||
| begin | ||||
|   FileSelWidget := GTK_FILE_CHOOSER(SelWidget); | ||||
| 
 | ||||
| @ -866,7 +866,7 @@ begin | ||||
|   // Filter
 | ||||
|   CreateOpenDialogFilter(OpenDialog,SelWidget); | ||||
| 
 | ||||
|   (* | ||||
|   (*  TODO | ||||
|   // Details - a frame with a label
 | ||||
|   if (ofViewDetail in OpenDialog.Options) then begin | ||||
| 
 | ||||
| @ -950,7 +950,6 @@ function TGtk2WidgetSet.CreateOpenDialogFilter(OpenDialog: TOpenDialog; | ||||
| var | ||||
|   FilterList: TFPList; | ||||
|   i, j, k: integer; | ||||
|   s: String; | ||||
|   GtkFilter: PGtkFileFilter; | ||||
|   MaskList: TStringList; | ||||
| begin | ||||
|  | ||||
| @ -94,6 +94,9 @@ fi | ||||
| # build fpc_crosswin32 deb | ||||
| if [ $BuildCrossWin32DEB = "yes" ]; then | ||||
| 
 | ||||
|   # check if bison is there | ||||
|   fakeroot -v | ||||
| 
 | ||||
|   #---------------------------------------------------------------------------- | ||||
|   # retrieve the version information | ||||
|   #---------------------------------------------------------------------------- | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 mattias
						mattias