mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-11-04 07:59:43 +01:00 
			
		
		
		
	cody: unit deps: gui
git-svn-id: trunk@41727 -
This commit is contained in:
		
							parent
							
								
									98aef1c568
								
							
						
					
					
						commit
						1527945fdb
					
				@ -1,12 +1,11 @@
 | 
			
		||||
object UnitDependenciesWindow: TUnitDependenciesWindow
 | 
			
		||||
  Left = 949
 | 
			
		||||
  Height = 477
 | 
			
		||||
  Height = 440
 | 
			
		||||
  Top = 246
 | 
			
		||||
  Width = 669
 | 
			
		||||
  Width = 620
 | 
			
		||||
  Caption = 'UnitDependenciesWindow'
 | 
			
		||||
  ClientHeight = 477
 | 
			
		||||
  ClientWidth = 669
 | 
			
		||||
  OnClose = FormClose
 | 
			
		||||
  ClientHeight = 440
 | 
			
		||||
  ClientWidth = 620
 | 
			
		||||
  OnCreate = FormCreate
 | 
			
		||||
  OnDestroy = FormDestroy
 | 
			
		||||
  Position = poScreenCenter
 | 
			
		||||
@ -14,8 +13,8 @@ object UnitDependenciesWindow: TUnitDependenciesWindow
 | 
			
		||||
  object BtnPanel: TPanel
 | 
			
		||||
    Left = 0
 | 
			
		||||
    Height = 2
 | 
			
		||||
    Top = 475
 | 
			
		||||
    Width = 669
 | 
			
		||||
    Top = 438
 | 
			
		||||
    Width = 620
 | 
			
		||||
    Align = alBottom
 | 
			
		||||
    AutoSize = True
 | 
			
		||||
    TabOrder = 0
 | 
			
		||||
@ -24,79 +23,483 @@ object UnitDependenciesWindow: TUnitDependenciesWindow
 | 
			
		||||
    AnchorSideBottom.Side = asrBottom
 | 
			
		||||
    Left = 0
 | 
			
		||||
    Height = 20
 | 
			
		||||
    Top = 455
 | 
			
		||||
    Width = 669
 | 
			
		||||
    Top = 418
 | 
			
		||||
    Width = 620
 | 
			
		||||
    Align = alBottom
 | 
			
		||||
    TabOrder = 1
 | 
			
		||||
  end
 | 
			
		||||
  object MainPageControl: TPageControl
 | 
			
		||||
    Left = 0
 | 
			
		||||
    Height = 455
 | 
			
		||||
    Height = 418
 | 
			
		||||
    Top = 0
 | 
			
		||||
    Width = 669
 | 
			
		||||
    Width = 620
 | 
			
		||||
    ActivePage = UnitsTabSheet
 | 
			
		||||
    Align = alClient
 | 
			
		||||
    TabIndex = 0
 | 
			
		||||
    TabOrder = 2
 | 
			
		||||
    object UnitsTabSheet: TTabSheet
 | 
			
		||||
      Caption = 'UnitsTabSheet'
 | 
			
		||||
      ClientHeight = 426
 | 
			
		||||
      ClientWidth = 665
 | 
			
		||||
      object CurUnitPanel: TPanel
 | 
			
		||||
      ClientHeight = 389
 | 
			
		||||
      ClientWidth = 616
 | 
			
		||||
      object ScopePanel: TPanel
 | 
			
		||||
        Left = 0
 | 
			
		||||
        Height = 426
 | 
			
		||||
        Height = 280
 | 
			
		||||
        Top = 0
 | 
			
		||||
        Width = 155
 | 
			
		||||
        Align = alLeft
 | 
			
		||||
        Caption = 'CurUnitPanel'
 | 
			
		||||
        ClientHeight = 426
 | 
			
		||||
        ClientWidth = 155
 | 
			
		||||
        Width = 616
 | 
			
		||||
        Align = alTop
 | 
			
		||||
        AutoSize = True
 | 
			
		||||
        ClientHeight = 280
 | 
			
		||||
        ClientWidth = 616
 | 
			
		||||
        TabOrder = 0
 | 
			
		||||
        object CurUnitTreeFilterEdit: TTreeFilterEdit
 | 
			
		||||
          AnchorSideLeft.Control = CurUnitPanel
 | 
			
		||||
          AnchorSideTop.Control = CurUnitPanel
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          Left = 1
 | 
			
		||||
          Height = 25
 | 
			
		||||
        object ShowScopeCheckBox: TCheckBox
 | 
			
		||||
          AnchorSideLeft.Control = ScopePanel
 | 
			
		||||
          AnchorSideTop.Control = ScopePanel
 | 
			
		||||
          Left = 3
 | 
			
		||||
          Height = 24
 | 
			
		||||
          Top = 1
 | 
			
		||||
          Width = 109
 | 
			
		||||
          ButtonWidth = 23
 | 
			
		||||
          NumGlyphs = 1
 | 
			
		||||
          MaxLength = 0
 | 
			
		||||
          Width = 91
 | 
			
		||||
          BorderSpacing.Left = 2
 | 
			
		||||
          BorderSpacing.Right = 2
 | 
			
		||||
          Caption = 'Show Scope'
 | 
			
		||||
          TabOrder = 0
 | 
			
		||||
          FilteredTreeview = CurUnitTreeView
 | 
			
		||||
        end
 | 
			
		||||
        object CurUnitTreeView: TTreeView
 | 
			
		||||
          AnchorSideLeft.Control = CurUnitTreeFilterEdit
 | 
			
		||||
          AnchorSideTop.Control = CurUnitTreeFilterEdit
 | 
			
		||||
        object StartSearchingInGroupBox: TGroupBox
 | 
			
		||||
          AnchorSideLeft.Control = ScopePanel
 | 
			
		||||
          AnchorSideTop.Control = ShowScopeCheckBox
 | 
			
		||||
          AnchorSideTop.Side = asrBottom
 | 
			
		||||
          AnchorSideRight.Control = CurUnitPanel
 | 
			
		||||
          AnchorSideRight.Control = ScopePanel
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          AnchorSideBottom.Control = CurUnitPanel
 | 
			
		||||
          AnchorSideBottom.Side = asrBottom
 | 
			
		||||
          Left = 1
 | 
			
		||||
          Height = 399
 | 
			
		||||
          Top = 26
 | 
			
		||||
          Width = 153
 | 
			
		||||
          Anchors = [akTop, akLeft, akRight, akBottom]
 | 
			
		||||
          DefaultItemHeight = 18
 | 
			
		||||
          ReadOnly = True
 | 
			
		||||
          Height = 155
 | 
			
		||||
          Top = 25
 | 
			
		||||
          Width = 614
 | 
			
		||||
          Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
          AutoSize = True
 | 
			
		||||
          Caption = 'StartSearchingInGroupBox'
 | 
			
		||||
          ClientHeight = 138
 | 
			
		||||
          ClientWidth = 610
 | 
			
		||||
          TabOrder = 1
 | 
			
		||||
          OnSelectionChanged = CurUnitTreeViewSelectionChanged
 | 
			
		||||
          Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
 | 
			
		||||
          object ScopeStartIncludeUnitsInGrpsSrcDirsCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideLeft.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = ScopeStartGroupsButton
 | 
			
		||||
            AnchorSideTop.Side = asrBottom
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 31
 | 
			
		||||
            Width = 282
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'ScopeStartIncludeUnitsInGrpsSrcDirsCheckBox'
 | 
			
		||||
            TabOrder = 0
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeAddFilesCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideLeft.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeAddFilesEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 57
 | 
			
		||||
            Width = 111
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Additional files:'
 | 
			
		||||
            TabOrder = 1
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeAddFilesEdit: TEdit
 | 
			
		||||
            AnchorSideLeft.Control = UnitScopeAddFilesCheckBox
 | 
			
		||||
            AnchorSideLeft.Side = asrBottom
 | 
			
		||||
            AnchorSideTop.Control = ScopeStartIncludeUnitsInGrpsSrcDirsCheckBox
 | 
			
		||||
            AnchorSideTop.Side = asrBottom
 | 
			
		||||
            AnchorSideRight.Control = UnitScopeAddFilesButton
 | 
			
		||||
            Left = 115
 | 
			
		||||
            Height = 25
 | 
			
		||||
            Top = 57
 | 
			
		||||
            Width = 440
 | 
			
		||||
            Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            TabOrder = 2
 | 
			
		||||
            Text = 'UnitScopeAddFilesEdit'
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeNameOnlyFilterCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideLeft.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeNameOnlyFilterEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 84
 | 
			
		||||
            Width = 149
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Only units with names:'
 | 
			
		||||
            TabOrder = 3
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeNameOnlyFilterEdit: TEdit
 | 
			
		||||
            AnchorSideLeft.Control = UnitScopeNameOnlyFilterCheckBox
 | 
			
		||||
            AnchorSideLeft.Side = asrBottom
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeAddFilesEdit
 | 
			
		||||
            AnchorSideTop.Side = asrBottom
 | 
			
		||||
            AnchorSideRight.Control = UnitScopeNameOnlyFilterRegExCheckBox
 | 
			
		||||
            Left = 153
 | 
			
		||||
            Height = 25
 | 
			
		||||
            Top = 84
 | 
			
		||||
            Width = 322
 | 
			
		||||
            Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            TabOrder = 4
 | 
			
		||||
            Text = 'UnitScopeNameOnlyFilterEdit'
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeNameOnlyFilterRegExCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeNameOnlyFilterEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            AnchorSideRight.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideRight.Side = asrBottom
 | 
			
		||||
            Left = 477
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 84
 | 
			
		||||
            Width = 131
 | 
			
		||||
            Anchors = [akTop, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Regular Expression'
 | 
			
		||||
            TabOrder = 5
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeNameExcludeFilterCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideLeft.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeNameExcludeFilterEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 111
 | 
			
		||||
            Width = 167
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Exclude units with names:'
 | 
			
		||||
            TabOrder = 6
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeNameExcludeFilterEdit: TEdit
 | 
			
		||||
            AnchorSideLeft.Control = UnitScopeNameExcludeFilterCheckBox
 | 
			
		||||
            AnchorSideLeft.Side = asrBottom
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeNameOnlyFilterEdit
 | 
			
		||||
            AnchorSideTop.Side = asrBottom
 | 
			
		||||
            AnchorSideRight.Control = UnitScopeNameExcludeFilterRegExCheckBox
 | 
			
		||||
            Left = 171
 | 
			
		||||
            Height = 25
 | 
			
		||||
            Top = 111
 | 
			
		||||
            Width = 304
 | 
			
		||||
            Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            TabOrder = 7
 | 
			
		||||
            Text = 'UnitScopeNameExcludeFilterEdit'
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeNameExcludeFilterRegExCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeNameExcludeFilterEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            AnchorSideRight.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideRight.Side = asrBottom
 | 
			
		||||
            Left = 477
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 111
 | 
			
		||||
            Width = 131
 | 
			
		||||
            Anchors = [akTop, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Regular Expression'
 | 
			
		||||
            TabOrder = 8
 | 
			
		||||
          end
 | 
			
		||||
          object ScopeStartGroupsButton: TButton
 | 
			
		||||
            AnchorSideLeft.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = StartSearchingInGroupBox
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 27
 | 
			
		||||
            Top = 2
 | 
			
		||||
            Width = 150
 | 
			
		||||
            AutoSize = True
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'ScopeStartGroupsButton'
 | 
			
		||||
            TabOrder = 9
 | 
			
		||||
          end
 | 
			
		||||
          object UnitScopeAddFilesButton: TButton
 | 
			
		||||
            AnchorSideLeft.Side = asrBottom
 | 
			
		||||
            AnchorSideTop.Control = UnitScopeAddFilesEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            AnchorSideRight.Control = StartSearchingInGroupBox
 | 
			
		||||
            AnchorSideRight.Side = asrBottom
 | 
			
		||||
            Left = 557
 | 
			
		||||
            Height = 27
 | 
			
		||||
            Top = 56
 | 
			
		||||
            Width = 53
 | 
			
		||||
            Anchors = [akTop, akRight]
 | 
			
		||||
            AutoSize = True
 | 
			
		||||
            Caption = 'Browse'
 | 
			
		||||
            TabOrder = 10
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
        object ContinueSearchingInGroupBox: TGroupBox
 | 
			
		||||
          AnchorSideLeft.Control = ScopePanel
 | 
			
		||||
          AnchorSideTop.Control = StartSearchingInGroupBox
 | 
			
		||||
          AnchorSideTop.Side = asrBottom
 | 
			
		||||
          AnchorSideRight.Control = ScopePanel
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          Left = 1
 | 
			
		||||
          Height = 99
 | 
			
		||||
          Top = 180
 | 
			
		||||
          Width = 614
 | 
			
		||||
          Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
          AutoSize = True
 | 
			
		||||
          Caption = 'ContinueSearchingInGroupBox'
 | 
			
		||||
          ClientHeight = 82
 | 
			
		||||
          ClientWidth = 610
 | 
			
		||||
          TabOrder = 2
 | 
			
		||||
          object ContinueInUsedPackagesCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideLeft.Control = ContinueSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = ContinueSearchingInGroupBox
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 2
 | 
			
		||||
            Width = 216
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'ContinueInUsedPackagesCheckBox'
 | 
			
		||||
            TabOrder = 0
 | 
			
		||||
          end
 | 
			
		||||
          object ContinueOnlyPkgWithNameCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideLeft.Control = ContinueSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = ContinueOnlyPkgEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 28
 | 
			
		||||
            Width = 172
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Only packages with names:'
 | 
			
		||||
            TabOrder = 1
 | 
			
		||||
          end
 | 
			
		||||
          object ContinueOnlyPkgEdit: TEdit
 | 
			
		||||
            AnchorSideLeft.Control = ContinueOnlyPkgWithNameCheckBox
 | 
			
		||||
            AnchorSideLeft.Side = asrBottom
 | 
			
		||||
            AnchorSideTop.Control = ContinueInUsedPackagesCheckBox
 | 
			
		||||
            AnchorSideTop.Side = asrBottom
 | 
			
		||||
            AnchorSideRight.Control = ContinueOnlyPkgWithNameRegExCheckBox
 | 
			
		||||
            Left = 176
 | 
			
		||||
            Height = 25
 | 
			
		||||
            Top = 28
 | 
			
		||||
            Width = 299
 | 
			
		||||
            Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            TabOrder = 2
 | 
			
		||||
            Text = 'ContinueOnlyPkgEdit'
 | 
			
		||||
          end
 | 
			
		||||
          object ContinueOnlyPkgWithNameRegExCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideTop.Control = ContinueOnlyPkgEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            AnchorSideRight.Control = ContinueSearchingInGroupBox
 | 
			
		||||
            AnchorSideRight.Side = asrBottom
 | 
			
		||||
            Left = 477
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 28
 | 
			
		||||
            Width = 131
 | 
			
		||||
            Anchors = [akTop, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Regular Expression'
 | 
			
		||||
            TabOrder = 3
 | 
			
		||||
          end
 | 
			
		||||
          object ContinueExcludePkgCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideLeft.Control = ContinueSearchingInGroupBox
 | 
			
		||||
            AnchorSideTop.Control = ContinueExcludePkgEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            Left = 2
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 55
 | 
			
		||||
            Width = 190
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Exclude packages with names:'
 | 
			
		||||
            TabOrder = 4
 | 
			
		||||
          end
 | 
			
		||||
          object ContinueExcludePkgEdit: TEdit
 | 
			
		||||
            AnchorSideLeft.Control = ContinueExcludePkgCheckBox
 | 
			
		||||
            AnchorSideLeft.Side = asrBottom
 | 
			
		||||
            AnchorSideTop.Control = ContinueOnlyPkgEdit
 | 
			
		||||
            AnchorSideTop.Side = asrBottom
 | 
			
		||||
            AnchorSideRight.Control = ContinueExcludePkgRegExCheckBox
 | 
			
		||||
            Left = 194
 | 
			
		||||
            Height = 25
 | 
			
		||||
            Top = 55
 | 
			
		||||
            Width = 281
 | 
			
		||||
            Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            TabOrder = 5
 | 
			
		||||
            Text = 'ContinueExcludePkgEdit'
 | 
			
		||||
          end
 | 
			
		||||
          object ContinueExcludePkgRegExCheckBox: TCheckBox
 | 
			
		||||
            AnchorSideTop.Control = ContinueExcludePkgEdit
 | 
			
		||||
            AnchorSideTop.Side = asrCenter
 | 
			
		||||
            AnchorSideRight.Control = ContinueSearchingInGroupBox
 | 
			
		||||
            AnchorSideRight.Side = asrBottom
 | 
			
		||||
            Left = 477
 | 
			
		||||
            Height = 24
 | 
			
		||||
            Top = 55
 | 
			
		||||
            Width = 131
 | 
			
		||||
            Anchors = [akTop, akRight]
 | 
			
		||||
            BorderSpacing.Around = 2
 | 
			
		||||
            Caption = 'Regular Expression'
 | 
			
		||||
            TabOrder = 6
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
      object CurUnitSplitter: TSplitter
 | 
			
		||||
        Left = 155
 | 
			
		||||
        Height = 426
 | 
			
		||||
        Top = 0
 | 
			
		||||
      object AllUnitsGroupBox: TGroupBox
 | 
			
		||||
        Left = 0
 | 
			
		||||
        Height = 109
 | 
			
		||||
        Top = 280
 | 
			
		||||
        Width = 248
 | 
			
		||||
        Align = alLeft
 | 
			
		||||
        Caption = 'AllUnitsGroupBox'
 | 
			
		||||
        ClientHeight = 92
 | 
			
		||||
        ClientWidth = 244
 | 
			
		||||
        TabOrder = 1
 | 
			
		||||
        object AllUnitsShowGroupNodesSpeedButton: TSpeedButton
 | 
			
		||||
          AnchorSideLeft.Side = asrBottom
 | 
			
		||||
          AnchorSideTop.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Control = AllUnitsShowDirsSpeedButton
 | 
			
		||||
          Left = 198
 | 
			
		||||
          Height = 22
 | 
			
		||||
          Top = 0
 | 
			
		||||
          Width = 23
 | 
			
		||||
          Anchors = [akTop, akRight]
 | 
			
		||||
        end
 | 
			
		||||
        object AllUnitsShowDirsSpeedButton: TSpeedButton
 | 
			
		||||
          AnchorSideLeft.Side = asrBottom
 | 
			
		||||
          AnchorSideTop.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          Left = 221
 | 
			
		||||
          Height = 22
 | 
			
		||||
          Top = 0
 | 
			
		||||
          Width = 23
 | 
			
		||||
          Anchors = [akTop, akRight]
 | 
			
		||||
        end
 | 
			
		||||
        object AllUnitsFilterEdit: TEdit
 | 
			
		||||
          AnchorSideLeft.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideTop.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Control = AllUnitsShowGroupNodesSpeedButton
 | 
			
		||||
          Left = 0
 | 
			
		||||
          Height = 25
 | 
			
		||||
          Top = 0
 | 
			
		||||
          Width = 198
 | 
			
		||||
          Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
          TabOrder = 0
 | 
			
		||||
          Text = 'AllUnitsFilterEdit'
 | 
			
		||||
        end
 | 
			
		||||
        object AllUnitsSearchNextSpeedButton: TSpeedButton
 | 
			
		||||
          AnchorSideTop.Control = AllUnitsSearchEdit
 | 
			
		||||
          AnchorSideTop.Side = asrCenter
 | 
			
		||||
          AnchorSideRight.Control = AllUnitsSearchPrevSpeedButton
 | 
			
		||||
          Left = 198
 | 
			
		||||
          Height = 22
 | 
			
		||||
          Top = 68
 | 
			
		||||
          Width = 23
 | 
			
		||||
          Anchors = [akTop, akRight]
 | 
			
		||||
        end
 | 
			
		||||
        object AllUnitsSearchPrevSpeedButton: TSpeedButton
 | 
			
		||||
          AnchorSideTop.Control = AllUnitsSearchEdit
 | 
			
		||||
          AnchorSideTop.Side = asrCenter
 | 
			
		||||
          AnchorSideRight.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          Left = 221
 | 
			
		||||
          Height = 22
 | 
			
		||||
          Top = 68
 | 
			
		||||
          Width = 23
 | 
			
		||||
          Anchors = [akTop, akRight]
 | 
			
		||||
        end
 | 
			
		||||
        object AllUnitsTreeView: TTreeView
 | 
			
		||||
          AnchorSideLeft.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideTop.Control = AllUnitsFilterEdit
 | 
			
		||||
          AnchorSideTop.Side = asrBottom
 | 
			
		||||
          AnchorSideRight.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          AnchorSideBottom.Control = AllUnitsSearchEdit
 | 
			
		||||
          Left = 0
 | 
			
		||||
          Height = 42
 | 
			
		||||
          Top = 25
 | 
			
		||||
          Width = 244
 | 
			
		||||
          Anchors = [akTop, akLeft, akRight, akBottom]
 | 
			
		||||
          DefaultItemHeight = 18
 | 
			
		||||
          TabOrder = 1
 | 
			
		||||
        end
 | 
			
		||||
        object AllUnitsSearchEdit: TEdit
 | 
			
		||||
          AnchorSideLeft.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Control = AllUnitsSearchNextSpeedButton
 | 
			
		||||
          AnchorSideBottom.Control = AllUnitsGroupBox
 | 
			
		||||
          AnchorSideBottom.Side = asrBottom
 | 
			
		||||
          Left = 0
 | 
			
		||||
          Height = 25
 | 
			
		||||
          Top = 67
 | 
			
		||||
          Width = 198
 | 
			
		||||
          Anchors = [akLeft, akRight, akBottom]
 | 
			
		||||
          TabOrder = 2
 | 
			
		||||
          Text = 'AllUnitsSearchEdit'
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
      object UnitsSplitter: TSplitter
 | 
			
		||||
        Left = 248
 | 
			
		||||
        Height = 109
 | 
			
		||||
        Top = 280
 | 
			
		||||
        Width = 5
 | 
			
		||||
      end
 | 
			
		||||
      object SelectedUnitsGroupBox: TGroupBox
 | 
			
		||||
        Left = 253
 | 
			
		||||
        Height = 109
 | 
			
		||||
        Top = 280
 | 
			
		||||
        Width = 363
 | 
			
		||||
        Align = alClient
 | 
			
		||||
        Caption = 'SelectedUnitsGroupBox'
 | 
			
		||||
        ClientHeight = 92
 | 
			
		||||
        ClientWidth = 359
 | 
			
		||||
        TabOrder = 3
 | 
			
		||||
        object SelUnitsSearchNextSpeedButton: TSpeedButton
 | 
			
		||||
          AnchorSideTop.Control = SelUnitsSearchEdit
 | 
			
		||||
          AnchorSideTop.Side = asrCenter
 | 
			
		||||
          AnchorSideRight.Control = SelUnitsSearchPrevSpeedButton
 | 
			
		||||
          Left = 313
 | 
			
		||||
          Height = 22
 | 
			
		||||
          Top = 69
 | 
			
		||||
          Width = 23
 | 
			
		||||
          Anchors = [akTop, akRight]
 | 
			
		||||
        end
 | 
			
		||||
        object SelUnitsSearchPrevSpeedButton: TSpeedButton
 | 
			
		||||
          AnchorSideTop.Control = SelUnitsSearchEdit
 | 
			
		||||
          AnchorSideTop.Side = asrCenter
 | 
			
		||||
          AnchorSideRight.Control = SelectedUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          Left = 336
 | 
			
		||||
          Height = 22
 | 
			
		||||
          Top = 69
 | 
			
		||||
          Width = 23
 | 
			
		||||
          Anchors = [akTop, akRight]
 | 
			
		||||
        end
 | 
			
		||||
        object SelUnitsSearchEdit: TEdit
 | 
			
		||||
          AnchorSideLeft.Control = SelectedUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Control = SelUnitsSearchNextSpeedButton
 | 
			
		||||
          Left = 0
 | 
			
		||||
          Height = 25
 | 
			
		||||
          Top = 68
 | 
			
		||||
          Width = 313
 | 
			
		||||
          Anchors = [akTop, akLeft, akRight]
 | 
			
		||||
          TabOrder = 0
 | 
			
		||||
          Text = 'SelUnitsSearchEdit'
 | 
			
		||||
        end
 | 
			
		||||
        object SelUnitsTreeView: TTreeView
 | 
			
		||||
          AnchorSideLeft.Control = SelectedUnitsGroupBox
 | 
			
		||||
          AnchorSideTop.Control = SelectedUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Control = SelectedUnitsGroupBox
 | 
			
		||||
          AnchorSideRight.Side = asrBottom
 | 
			
		||||
          AnchorSideBottom.Control = SelUnitsSearchEdit
 | 
			
		||||
          Left = 0
 | 
			
		||||
          Height = 68
 | 
			
		||||
          Top = 0
 | 
			
		||||
          Width = 359
 | 
			
		||||
          Anchors = [akTop, akLeft, akRight, akBottom]
 | 
			
		||||
          DefaultItemHeight = 18
 | 
			
		||||
          TabOrder = 1
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
    object GroupsTabSheet: TTabSheet
 | 
			
		||||
      Caption = 'GroupsTabSheet'
 | 
			
		||||
      ClientHeight = 426
 | 
			
		||||
      ClientWidth = 665
 | 
			
		||||
      ClientHeight = 389
 | 
			
		||||
      ClientWidth = 616
 | 
			
		||||
      object GroupsSplitter: TSplitter
 | 
			
		||||
        Cursor = crVSplit
 | 
			
		||||
        Left = 0
 | 
			
		||||
@ -110,7 +513,7 @@ object UnitDependenciesWindow: TUnitDependenciesWindow
 | 
			
		||||
  end
 | 
			
		||||
  object Timer1: TTimer
 | 
			
		||||
    OnTimer = Timer1Timer
 | 
			
		||||
    left = 230
 | 
			
		||||
    top = 187
 | 
			
		||||
    left = 345
 | 
			
		||||
    top = 20
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -38,26 +38,23 @@
 | 
			
		||||
        - button to use active unit as start
 | 
			
		||||
      - used units:
 | 
			
		||||
        - flag add units in packages used by owners
 | 
			
		||||
        - flag add units in packages' source directories, even those not used by start units (excluding FPC soures)
 | 
			
		||||
        - only those packages with name fitting regular expression
 | 
			
		||||
        - not packages with name fitting regular expression
 | 
			
		||||
        - only those units with name fitting simple or regular expression
 | 
			
		||||
        - exclude units with name fitting simple or regular expression
 | 
			
		||||
    - view:
 | 
			
		||||
      - flag show project/package as tree structure
 | 
			
		||||
      - flag show directories as tree structure
 | 
			
		||||
      - flag show nodes for project/package
 | 
			
		||||
      - flag show nodes for directories
 | 
			
		||||
      - text search with highlight, next, previous
 | 
			
		||||
      - only those with node text fitting filter, simple or regular expression
 | 
			
		||||
      - exclude those with node text fitting filter, simple or regular expression
 | 
			
		||||
      - filter units simple or reg ex
 | 
			
		||||
      - flag allow multiselect
 | 
			
		||||
      - double click: open one unit
 | 
			
		||||
    - selected units
 | 
			
		||||
      - show owner units as tree structure
 | 
			
		||||
      - show connected units: used via interface, via implementation, used by interface, used by implementation
 | 
			
		||||
      - expand node: show connected units
 | 
			
		||||
      - collapse node: free child nodes
 | 
			
		||||
      - text search with highlight, next, previous
 | 
			
		||||
      - only those with node text fitting filter, simple or regular expression
 | 
			
		||||
      - exclude those with node text fitting filter, simple or regular expression
 | 
			
		||||
      - double click: open one unit
 | 
			
		||||
    - resourcestrings
 | 
			
		||||
}
 | 
			
		||||
@ -68,11 +65,11 @@ unit CodyUnitDepWnd;
 | 
			
		||||
interface
 | 
			
		||||
 | 
			
		||||
uses
 | 
			
		||||
  Classes, SysUtils, typinfo, AVL_Tree, FPCanvas, FileUtil, lazutf8classes,
 | 
			
		||||
  LazLogger, TreeFilterEdit, Forms, Controls, Graphics, Dialogs, ExtCtrls,
 | 
			
		||||
  Buttons, ComCtrls, LCLType, LazIDEIntf, ProjectIntf, IDEWindowIntf,
 | 
			
		||||
  PackageIntf, CTUnitGraph, CodeToolManager, DefineTemplates, CTUnitGroupGraph,
 | 
			
		||||
  CodeToolsStructs, LvlGraphCtrl;
 | 
			
		||||
  Classes, SysUtils, AVL_Tree, LazLogger, LazFileUtils,
 | 
			
		||||
  Forms, Controls, ExtCtrls, ComCtrls, StdCtrls, Buttons, LvlGraphCtrl,
 | 
			
		||||
  LazIDEIntf, ProjectIntf, IDEWindowIntf, PackageIntf,
 | 
			
		||||
  CodeToolManager, DefineTemplates, CodeToolsStructs,
 | 
			
		||||
  CTUnitGraph, CTUnitGroupGraph;
 | 
			
		||||
 | 
			
		||||
const
 | 
			
		||||
  GroupPrefixProject = '-Project-';
 | 
			
		||||
@ -83,20 +80,49 @@ type
 | 
			
		||||
  { TUnitDependenciesWindow }
 | 
			
		||||
 | 
			
		||||
  TUnitDependenciesWindow = class(TForm)
 | 
			
		||||
    AllUnitsFilterEdit: TEdit;
 | 
			
		||||
    AllUnitsSearchEdit: TEdit;
 | 
			
		||||
    AllUnitsSearchNextSpeedButton: TSpeedButton;
 | 
			
		||||
    AllUnitsSearchPrevSpeedButton: TSpeedButton;
 | 
			
		||||
    AllUnitsGroupBox: TGroupBox;
 | 
			
		||||
    AllUnitsShowDirsSpeedButton: TSpeedButton;
 | 
			
		||||
    AllUnitsShowGroupNodesSpeedButton: TSpeedButton;
 | 
			
		||||
    AllUnitsTreeView: TTreeView;
 | 
			
		||||
    BtnPanel: TPanel;
 | 
			
		||||
    CurUnitPanel: TPanel;
 | 
			
		||||
    CurUnitSplitter: TSplitter;
 | 
			
		||||
    CurUnitTreeView: TTreeView;
 | 
			
		||||
    ContinueExcludePkgCheckBox: TCheckBox;
 | 
			
		||||
    ContinueExcludePkgEdit: TEdit;
 | 
			
		||||
    ContinueExcludePkgRegExCheckBox: TCheckBox;
 | 
			
		||||
    ContinueInUsedPackagesCheckBox: TCheckBox;
 | 
			
		||||
    ContinueOnlyPkgWithNameCheckBox: TCheckBox;
 | 
			
		||||
    ContinueOnlyPkgEdit: TEdit;
 | 
			
		||||
    ContinueOnlyPkgWithNameRegExCheckBox: TCheckBox;
 | 
			
		||||
    ContinueSearchingInGroupBox: TGroupBox;
 | 
			
		||||
    MainPageControl: TPageControl;
 | 
			
		||||
    ProgressBar1: TProgressBar;
 | 
			
		||||
    GroupsTabSheet: TTabSheet;
 | 
			
		||||
    GroupsSplitter: TSplitter;
 | 
			
		||||
    ScopeStartGroupsButton: TButton;
 | 
			
		||||
    SelectedUnitsGroupBox: TGroupBox;
 | 
			
		||||
    SelUnitsSearchEdit: TEdit;
 | 
			
		||||
    SelUnitsSearchNextSpeedButton: TSpeedButton;
 | 
			
		||||
    SelUnitsSearchPrevSpeedButton: TSpeedButton;
 | 
			
		||||
    SelUnitsTreeView: TTreeView;
 | 
			
		||||
    StartSearchingInGroupBox: TGroupBox;
 | 
			
		||||
    UnitScopeAddFilesButton: TButton;
 | 
			
		||||
    UnitScopeAddFilesCheckBox: TCheckBox;
 | 
			
		||||
    UnitScopeAddFilesEdit: TEdit;
 | 
			
		||||
    ScopeStartIncludeUnitsInGrpsSrcDirsCheckBox: TCheckBox;
 | 
			
		||||
    ScopePanel: TPanel;
 | 
			
		||||
    ShowScopeCheckBox: TCheckBox;
 | 
			
		||||
    UnitScopeNameExcludeFilterCheckBox: TCheckBox;
 | 
			
		||||
    UnitScopeNameExcludeFilterEdit: TEdit;
 | 
			
		||||
    UnitScopeNameExcludeFilterRegExCheckBox: TCheckBox;
 | 
			
		||||
    UnitScopeNameOnlyFilterCheckBox: TCheckBox;
 | 
			
		||||
    UnitScopeNameOnlyFilterEdit: TEdit;
 | 
			
		||||
    UnitScopeNameOnlyFilterRegExCheckBox: TCheckBox;
 | 
			
		||||
    UnitsSplitter: TSplitter;
 | 
			
		||||
    UnitsTabSheet: TTabSheet;
 | 
			
		||||
    Timer1: TTimer;
 | 
			
		||||
    CurUnitTreeFilterEdit: TTreeFilterEdit;
 | 
			
		||||
    procedure CloseBitBtnClick(Sender: TObject);
 | 
			
		||||
    procedure CurUnitTreeViewSelectionChanged(Sender: TObject);
 | 
			
		||||
    procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
 | 
			
		||||
    procedure FormCreate(Sender: TObject);
 | 
			
		||||
    procedure FormDestroy(Sender: TObject);
 | 
			
		||||
    procedure GroupsLvlGraphSelectionChanged(Sender: TObject);
 | 
			
		||||
@ -116,7 +142,6 @@ type
 | 
			
		||||
    procedure GuessGroupOfUnits;
 | 
			
		||||
    procedure AddStartAndTargetUnits;
 | 
			
		||||
    procedure UpdateAll;
 | 
			
		||||
    procedure UpdateCurUnitTreeView;
 | 
			
		||||
    procedure UpdateGroupsLvlGraph;
 | 
			
		||||
    procedure UpdateUnitsLvlGraph;
 | 
			
		||||
    function NodeTextToUnit(NodeText: string): TUGUnit;
 | 
			
		||||
@ -158,28 +183,6 @@ end;
 | 
			
		||||
 | 
			
		||||
{ TUnitDependenciesWindow }
 | 
			
		||||
 | 
			
		||||
procedure TUnitDependenciesWindow.CloseBitBtnClick(Sender: TObject);
 | 
			
		||||
begin
 | 
			
		||||
  ModalResult:=mrCancel;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TUnitDependenciesWindow.CurUnitTreeViewSelectionChanged(
 | 
			
		||||
  Sender: TObject);
 | 
			
		||||
var
 | 
			
		||||
  CurUnit: TUGUnit;
 | 
			
		||||
begin
 | 
			
		||||
  if CurUnitTreeView.Selected=nil then exit;
 | 
			
		||||
  CurUnit:=NodeTextToUnit(CurUnitTreeView.Selected.Text);
 | 
			
		||||
  if CurUnit=nil then exit;
 | 
			
		||||
  CurrentUnit:=CurUnit;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TUnitDependenciesWindow.FormClose(Sender: TObject;
 | 
			
		||||
  var CloseAction: TCloseAction);
 | 
			
		||||
begin
 | 
			
		||||
  IDEDialogLayoutList.SaveLayout(Self);
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TUnitDependenciesWindow.FormCreate(Sender: TObject);
 | 
			
		||||
begin
 | 
			
		||||
  FUsesGraph:=CodeToolBoss.CreateUsesGraph;
 | 
			
		||||
@ -451,40 +454,10 @@ end;
 | 
			
		||||
 | 
			
		||||
procedure TUnitDependenciesWindow.UpdateAll;
 | 
			
		||||
begin
 | 
			
		||||
  UpdateCurUnitTreeView;
 | 
			
		||||
  UpdateGroupsLvlGraph;
 | 
			
		||||
  UpdateUnitsLvlGraph;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TUnitDependenciesWindow.UpdateCurUnitTreeView;
 | 
			
		||||
var
 | 
			
		||||
  AVLNode: TAVLTreeNode;
 | 
			
		||||
  CurUnit: TUGUnit;
 | 
			
		||||
  sl: TStringListUTF8;
 | 
			
		||||
  i: Integer;
 | 
			
		||||
begin
 | 
			
		||||
  CurUnitTreeView.BeginUpdate;
 | 
			
		||||
  sl:=TStringListUTF8.Create;
 | 
			
		||||
  try
 | 
			
		||||
    CurUnitTreeView.Items.Clear;
 | 
			
		||||
 | 
			
		||||
    AVLNode:=UsesGraph.FilesTree.FindLowest;
 | 
			
		||||
    while AVLNode<>nil do begin
 | 
			
		||||
      CurUnit:=TUGUnit(AVLNode.Data);
 | 
			
		||||
      sl.Add(UGUnitToNodeText(CurUnit));
 | 
			
		||||
      AVLNode:=UsesGraph.FilesTree.FindSuccessor(AVLNode);
 | 
			
		||||
    end;
 | 
			
		||||
 | 
			
		||||
    sl.CustomSort(@CompareStringListItemsUTF8LowerCase);
 | 
			
		||||
    for i:=0 to sl.Count-1 do begin
 | 
			
		||||
      CurUnitTreeView.Items.Add(nil,sl[i]);
 | 
			
		||||
    end;
 | 
			
		||||
  finally
 | 
			
		||||
    sl.Free;
 | 
			
		||||
    CurUnitTreeView.EndUpdate;
 | 
			
		||||
  end;
 | 
			
		||||
end;
 | 
			
		||||
 | 
			
		||||
procedure TUnitDependenciesWindow.UpdateGroupsLvlGraph;
 | 
			
		||||
var
 | 
			
		||||
  AVLNode: TAVLTreeNode;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user