diff --git a/src/ce_staticexplorer.lfm b/src/ce_staticexplorer.lfm deleted file mode 100644 index 2ce6ad5b..00000000 --- a/src/ce_staticexplorer.lfm +++ /dev/null @@ -1,400 +0,0 @@ -inherited CEStaticExplorerWidget: TCEStaticExplorerWidget - Left = 1548 - Height = 430 - Top = 457 - Width = 310 - Caption = 'Static explorer' - ClientHeight = 430 - ClientWidth = 310 - inherited Back: TPanel - Height = 430 - Width = 310 - ClientHeight = 430 - ClientWidth = 310 - inherited Content: TPanel - Height = 430 - Width = 310 - ClientHeight = 430 - ClientWidth = 310 - PopupMenu = nil - object Tree: TTreeView[0] - Left = 4 - Height = 394 - Top = 32 - Width = 302 - Align = alClient - BorderSpacing.Around = 4 - DefaultItemHeight = 18 - ExpandSignType = tvestPlusMinus - HideSelection = False - Images = imgList - ReadOnly = True - RightClickSelect = True - RowSelect = True - ScrollBars = ssAutoBoth - SelectionColor = clActiveBorder - TabOrder = 0 - OnDeletion = TreeDeletion - OnKeyPress = TreeKeyPress - Options = [tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoRowSelect, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] - Items.Data = { - F9FFFFFF02000B000000000000000000000000000000FFFFFFFF000000000000 - 00000005000000416C696173010000000100000001000000FFFFFFFF00000000 - 000000000007000000436C6173736573020000000200000002000000FFFFFFFF - 00000000000000000005000000456E756D73030000000300000003000000FFFF - FFFF0000000000000000000800000046756E6374696F6E040000000400000004 - 000000FFFFFFFF00000000000000000007000000496D706F7274730500000005 - 00000005000000FFFFFFFF00000000000000000009000000496E746572666163 - 65060000000600000006000000FFFFFFFF000000000000000000050000004D69 - 78696E070000000700000007000000FFFFFFFF00000000000000000007000000 - 53747275637473080000000800000008000000FFFFFFFF000000000000000000 - 0900000054656D706C61746573000000000000000000000000FFFFFFFF000000 - 00000000000005000000556E696F6E010000000100000001000000FFFFFFFF00 - 0000000000000000080000005661726961626C65 - } - TreeLineColor = 14671839 - TreeLinePenStyle = psSolid - end - object Panel1: TPanel[1] - Left = 2 - Height = 26 - Top = 2 - Width = 306 - Align = alTop - BorderSpacing.Around = 2 - BevelOuter = bvNone - ClientHeight = 26 - ClientWidth = 306 - PopupMenu = contextMenu - TabOrder = 1 - object TreeFilterEdit1: TTreeFilterEdit - Left = 32 - Height = 22 - Top = 2 - Width = 272 - OnAfterFilter = TreeFilterEdit1AfterFilter - ButtonWidth = 28 - NumGlyphs = 1 - Align = alClient - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Around = 2 - MaxLength = 0 - TabOrder = 0 - FilteredTreeview = Tree - end - object btnRefresh: TBitBtn - Left = 2 - Height = 22 - Hint = 'refresh the list' - Top = 2 - Width = 28 - Align = alLeft - BorderSpacing.Around = 2 - Layout = blGlyphBottom - OnClick = btnRefreshClick - Spacing = 0 - TabOrder = 1 - end - end - end - end - inherited contextMenu: TPopupMenu - left = 112 - top = 48 - end - object imgList: TImageList[2] - left = 80 - top = 48 - Bitmap = { - 4C69090000001000000010000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000000064646497626262FF616161FF626262FF6464649700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00646464976F6E6EFFA6A5A4FFA9A8A9FFA6A5A4FF6D6E6EFF64646497FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00626363FFA7A5A5FF7D7B7AFF787675FF7D7B7AFFA7A5A5FF626363FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00626363FF8E8C8BFF767371FF767371FF767371FF8E8C8BFF626363FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00636464FF858381FF878481FF868381FF878481FF858381FF636464FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00585858AC6F6E6EFF95918FFF989492FF95918FFF6F6E6EFF585858ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001E585858AC636363FF626263FF636363FF585858AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000000000B9851C97B78319FFB68217FFB78319FFB9851C9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00B9851C97C6922EFFECC482FFEFC886FFECC482FFC6912CFFB9851C97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00B78319FFEEC684FFE5AA49FFE2A641FFE5AA49FFEEC684FFB78319FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00B78219FFEBB964FFE3A641FFE3A641FFE3A641FFEBB964FFB78219FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00B7841AFFEAB45CFFE9B45CFFE8B35BFFE9B45CFFEAB45CFFB7841AFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00A37519ACC5922FFFEDC074FFF1C47AFFEDC074FFC5922FFFA37519ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001EA37519ACB78319FFB68218FFB78319FFA37519AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000000000008C4B97008A48FF008946FF008A48FF008C4B9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00008C4B97109F63FF74DAB7FF7ADEBDFF74DAB7FF109F63FF008C4B97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00008A49FF66DAB4FF1EC68EFF16C388FF1EC68EFF66DAB4FF008A49FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00008948FF25CF99FF00C07FFF00BE7EFF00C07FFF25CF99FF008948FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00008A4AFF00C789FF00C88AFF00C689FF00C88AFF00C789FF008A4AFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00007B43AC009B5CFF00CE90FF00D194FF00CE90FF009B5CFF007B43ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001E007B43AC008A4AFF008949FF008A4AFF007B43AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000002C70DC97296DDBFF286CDBFF296DDBFF2C70DC9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002D70DC974083E7FF95C2FFFF9BC7FFFF95C2FFFF4081E7FF2D70DC97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002B6EDBFF8FC3FFFF5AA4FFFF53A1FFFF5AA4FFFF8FC3FFFF2B6EDBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002B6DDBFF65B2FFFF449EFFFF449DFFFF449EFFFF65B2FFFF2B6DDBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002D6FDBFF4FA9FFFF4FA9FFFF4EA7FFFF4FA9FFFF4FA9FFFF2D6FDBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002863C1AC387FE4FF56B2FFFF58B6FFFF56B2FFFF387FE4FF2863C1ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001E2862C1AC2D6EDBFF2D6DDBFF2D6EDBFF2862C1AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000009A6BDC979968DBFF9968DBFF9968DBFF9A6BDC9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF009A6BDC97A17DE7FFC6BCFFFFC9C1FFFFC6BCFFFFA17DE7FF9A6BDC97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF009A69DBFFC5BDFFFFAA9DFFFFA798FFFFAA9DFFFFC5BDFFFF9A69DBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF009A68DBFFB3ACFFFFA396FFFFA396FFFFA396FFFFB3ACFFFF9A68DBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF009A69DBFFACA5FFFFACA5FFFFABA3FFFFACA5FFFFACA5FFFF9A69DBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00885EC1ACA17BE4FFB3B1FFFFB4B6FFFFB3B1FFFFA17BE4FF885EC1ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001E885EC1AC9A69DBFF9A68DBFF9A69DBFF885EC1AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000000000AB499C97AA459AFFA94499FFAA459AFFAB499C9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00AB499C97B462AAFFD8B8D9FFDBBEDDFFD8B8D9FFB462AAFFAB499C97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00AA469AFFDCB6DAFFCA91C9FFC78CC5FFCA91C9FFDCB6DAFFAA469AFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00A94699FFD69ED4FFCA83C7FFCA83C6FFCA83C7FFD69ED4FFA94699FFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00AA489AFFD68ED1FFD68ED2FFD58DD1FFD68ED2FFD68ED1FFAA489AFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00964189ACB85CAAFFE195DAFFE499DEFFE195DAFFB85CAAFF964189ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001E964189ACA94899FFA84799FFA94899FF964189AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000000000354CCD973249CCFF3148CBFF3249CCFF354CCD9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00354CCD97455DDBFF90A6FCFF95ACFFFF90A6FCFF445DDBFF354CCD97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00334ACCFF90A5FDFF5A79FAFF5573F9FF5A79FAFF90A5FDFF334ACCFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00334ACBFF6D88FFFF4D6DFBFF4D6DFAFF4D6DFBFF6D88FFFF334ACBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00354BCBFF5F7CFFFF607CFFFF5F7BFDFF607CFFFF5F7CFFFF354BCBFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002F44B4AC425AD9FF6F88FFFF738CFFFF6F88FFFF425AD9FF2F44B4ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001E2F44B4AC344BCBFF334ACAFF344BCBFF2F44B4AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000002CC1FF9729C0FFFF28C0FFFF29C0FFFF2CC1FF9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002DC1FF9741C6FFFF96DCFFFF9CDDFFFF96DCFFFF41C5FFFF2DC1FF97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002AC0FFFF95DDFFFF62CDFFFF5CCBFFFF62CDFFFF95DDFFFF2AC0FFFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002AC0FFFF75D7FFFF56CEFFFF56CEFFFF56CEFFFF75D7FFFF2AC0FFFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF002BC0FFFF68D8FFFF69D8FFFF68D8FFFF69D8FFFF68D8FFFF2BC0FFFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0028AAE0AC3EC9FFFF76E0FFFF7BE2FFFF76E0FFFF3EC9FFFF28AAE0ACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001E28AAE0AC2BC0FFFF2ABFFFFF2BC0FFFF28AAE0AC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0000000000DADADA97D9D9DAFFD9D9D9FFD9D9DAFFDADADA9700000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00DADADA97DADADBFFE5E5E4FFE6E6E4FFE5E5E4FFDADAD9FFDADADA97FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00D9DADAFFE6E6E5FFDBDBD9FFDADAD8FFDBDBD9FFE6E6E5FFD9DADAFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00D9DADAFFE2E1E0FFDBDAD9FFDBDAD9FFDBDAD9FFE2E1E0FFD9DADAFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00D9DADAFFE2E1E0FFE3E2E0FFE2E1E0FFE3E2E0FFE2E1E0FFD9DADAFFFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00BFBFBFACDDDDDDFFE8E7E6FFE9E8E7FFE8E7E6FFDDDDDDFFBFBFBFACFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF000000001EBFBFBFACD9D9D9FFD9D9D9FFD9D9D9FFBFBFBFAC0000001EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00000000000000001E0000003300000033000000330000001E00000000FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00 - } - end -end diff --git a/src/ce_staticexplorer.pas b/src/ce_staticexplorer.pas deleted file mode 100644 index fca1f6f3..00000000 --- a/src/ce_staticexplorer.pas +++ /dev/null @@ -1,584 +0,0 @@ -unit ce_staticexplorer; - -{$I ce_defines.inc} - -interface - -uses - Classes, SysUtils, TreeFilterEdit, Forms, Controls, Graphics, ExtCtrls, Menus, - ComCtrls, ce_widget, jsonparser, fpjson, process, actnlist, Buttons, Clipbrd, - ce_common, ce_project, ce_observer, ce_synmemo, ce_interfaces; - -type - TCEStaticExplorerWidget = class(TCEWidget, ICEProjectObserver, ICEMultiDocObserver) - btnRefresh: TBitBtn; - imgList: TImageList; - Panel1: TPanel; - Tree: TTreeView; - TreeFilterEdit1: TTreeFilterEdit; - procedure btnRefreshClick(Sender: TObject); - procedure TreeDeletion(Sender: TObject; Node: TTreeNode); - procedure TreeFilterEdit1AfterFilter(Sender: TObject); - procedure TreeKeyPress(Sender: TObject; var Key: char); - private - fMsgs: ICEMessagesDisplay; - fDmdProc: TCheckedAsyncProcess; - fActCopyIdent: TAction; - fActRefresh: TAction; - fActRefreshOnChange: TAction; - fActRefreshOnFocus: TAction; - fActAutoRefresh: TAction; - fActSelectInSource: TAction; - fDoc: TCESynMemo; - fProj: TCEProject; - fAutoRefresh: boolean; - fRefreshOnChange: boolean; - fRefreshOnFocus: boolean; - fJsonFname: string; - ndAlias, ndClass, ndEnum, ndFunc, ndUni: TTreeNode; - ndImp, ndIntf, ndMix, ndStruct, ndTmp, ndVar: TTreeNode; - procedure TreeDblClick(Sender: TObject); - procedure actRefreshExecute(Sender: TObject); - procedure actAutoRefreshExecute(Sender: TObject); - procedure actRefreshOnChangeExecute(Sender: TObject); - procedure actRefreshOnFocusExecute(Sender: TObject); - procedure actCopyIdentExecute(Sender: TObject); - procedure updateVisibleCat; - procedure clearTree; - // - procedure produceJsonInfo; - procedure jsonInfoProduced(sender: TObject); - // - procedure optget_AutoRefresh(aWriter: TWriter); - procedure optset_AutoRefresh(aReader: TReader); - procedure optget_RefreshOnChange(aWriter: TWriter); - procedure optset_RefreshOnChange(aReader: TReader); - procedure optget_RefreshOnFocus(aWriter: TWriter); - procedure optset_RefreshOnFocus(aReader: TReader); - // - procedure docNew(aDoc: TCESynMemo); - procedure docClosing(aDoc: TCESynMemo); - procedure docFocused(aDoc: TCESynMemo); - procedure docChanged(aDoc: TCESynMemo); - // - procedure projNew(aProject: TCEProject); - procedure projClosing(aProject: TCEProject); - procedure projFocused(aProject: TCEProject); - procedure projChanged(aProject: TCEProject); - procedure projCompiling(aProject: TCEProject); - protected - procedure UpdateByDelay; override; - // - procedure sesoptDeclareProperties(aFiler: TFiler); override; - // - function contextName: string; override; - function contextActionCount: integer; override; - function contextAction(index: integer): TAction; override; - // - procedure SetVisible(Value: boolean); override; - published - property autoRefresh: boolean read fAutoRefresh write fAutoRefresh; - property refreshOnChange: boolean read fRefreshOnChange write fRefreshOnChange; - property refreshOnFocus: boolean read fRefreshOnFocus write fRefreshOnFocus; - public - constructor create(aOwner: TComponent); override; - destructor destroy; override; - end; - -implementation -{$R *.lfm} - -uses LCLProc, ce_libman, ce_symstring; - -{$REGION Standard Comp/Obj------------------------------------------------------} -constructor TCEStaticExplorerWidget.create(aOwner: TComponent); -var - png: TPortableNetworkGraphic; -begin - fAutoRefresh := false; - fRefreshOnFocus := true; - fRefreshOnChange := false; - // - fActCopyIdent := TAction.Create(self); - fActCopyIdent.OnExecute:=@actCopyIdentExecute; - fActCopyIdent.Caption := 'Copy identifier'; - fActRefresh := TAction.Create(self); - fActRefresh.OnExecute := @actRefreshExecute; - fActRefresh.Caption := 'Refresh'; - fActAutoRefresh := TAction.Create(self); - fActAutoRefresh.OnExecute := @actAutoRefreshExecute; - fActAutoRefresh.Caption := 'Auto-refresh'; - fActAutoRefresh.AutoCheck := true; - fActAutoRefresh.Checked := fAutoRefresh; - fActRefreshOnChange := TAction.Create(self); - fActRefreshOnChange.OnExecute := @actRefreshOnChangeExecute; - fActRefreshOnChange.Caption := 'Refresh on change'; - fActRefreshOnChange.AutoCheck := true; - fActRefreshOnChange.Checked := fRefreshOnChange; - fActRefreshOnFocus := TAction.Create(self); - fActRefreshOnFocus.OnExecute := @actRefreshOnFocusExecute; - fActRefreshOnFocus.Caption := 'Refresh on focused'; - fActRefreshOnFocus.AutoCheck := true; - fActRefreshOnFocus.Checked := fRefreshOnFocus; - fActSelectInSource := TAction.Create(self); - fActSelectInSource.OnExecute := @TreeDblClick; - fActSelectInSource.Caption := 'Select in source'; - // - inherited; - // - ndAlias := Tree.Items[0]; - ndClass := Tree.Items[1]; - ndEnum := Tree.Items[2]; - ndFunc := Tree.Items[3]; - ndImp := Tree.Items[4]; - ndIntf := Tree.Items[5]; - ndMix := Tree.Items[6]; - ndStruct := Tree.Items[7]; - ndTmp := Tree.Items[8]; - ndUni := Tree.Items[9]; - ndVar := Tree.Items[10]; - // - png := TPortableNetworkGraphic.Create; - try - png.LoadFromLazarusResource('arrow_update'); - btnRefresh.Glyph.Assign(png); - finally - png.Free; - end; - // - Tree.OnDblClick := @TreeDblClick; - Tree.PopupMenu := contextMenu; - // - EntitiesConnector.addObserver(self); -end; - -destructor TCEStaticExplorerWidget.destroy; -begin - EntitiesConnector.removeObserver(self); - // - killProcess(fDmdProc); - inherited; -end; - -procedure TCEStaticExplorerWidget.SetVisible(Value: boolean); -begin - inherited; - getMessageDisplay(fMsgs); - if Value then - produceJsonInfo; -end; -{$ENDREGION} - -{$REGION ICESessionOptionsObserver ---------------------------------------------} -procedure TCEStaticExplorerWidget.optget_AutoRefresh(aWriter: TWriter); -begin - aWriter.WriteBoolean(fAutoRefresh); -end; - -procedure TCEStaticExplorerWidget.optset_AutoRefresh(aReader: TReader); -begin - fAutoRefresh := aReader.ReadBoolean; - fActAutoRefresh.Checked := fAutoRefresh; -end; - -procedure TCEStaticExplorerWidget.optget_RefreshOnChange(aWriter: TWriter); -begin - aWriter.WriteBoolean(fRefreshOnChange); -end; - -procedure TCEStaticExplorerWidget.optset_RefreshOnChange(aReader: TReader); -begin - fRefreshOnChange := aReader.ReadBoolean; - fActRefreshOnChange.Checked := fRefreshOnChange; -end; - -procedure TCEStaticExplorerWidget.optget_RefreshOnFocus(aWriter: TWriter); -begin - aWriter.WriteBoolean(fRefreshOnFocus); -end; - -procedure TCEStaticExplorerWidget.optset_RefreshOnFocus(aReader: TReader); -begin - fRefreshOnFocus := aReader.ReadBoolean; - fActRefreshOnFocus.Checked := fRefreshOnFocus; -end; - -procedure TCEStaticExplorerWidget.sesoptDeclareProperties(aFiler: TFiler); -begin - inherited; - aFiler.DefineProperty(Name + '_AutoRefresh', @optset_AutoRefresh, @optget_AutoRefresh, true); - aFiler.DefineProperty(Name + '_RefreshOnChange', @optset_RefreshOnChange, @optget_RefreshOnChange, true); - aFiler.DefineProperty(Name + '_RefreshOnFocus', @optset_RefreshOnFocus, @optget_RefreshOnFocus, true); -end; -{$ENDREGION} - -{$REGION ICEContextualActions---------------------------------------------------} -function TCEStaticExplorerWidget.contextName: string; -begin - result := 'Static explorer'; -end; - -function TCEStaticExplorerWidget.contextActionCount: integer; -begin - result := 6; -end; - -function TCEStaticExplorerWidget.contextAction(index: integer): TAction; -begin - case index of - 0: exit(fActSelectInSource); - 1: exit(fActCopyIdent); - 2: exit(fActRefresh); - 3: exit(fActAutoRefresh); - 4: exit(fActRefreshOnChange); - 5: exit(fActRefreshOnFocus); - else result := nil; - end; -end; - -procedure TCEStaticExplorerWidget.actRefreshExecute(Sender: TObject); -begin - if Updating then exit; - produceJsonInfo; -end; - -procedure TCEStaticExplorerWidget.actAutoRefreshExecute(Sender: TObject); -begin - autoRefresh := not autoRefresh; -end; - -procedure TCEStaticExplorerWidget.actRefreshOnChangeExecute(Sender: TObject); -begin - refreshOnChange := not refreshOnChange; -end; - -procedure TCEStaticExplorerWidget.actRefreshOnFocusExecute(Sender: TObject); -begin - refreshOnFocus := not refreshOnFocus; -end; - -procedure TCEStaticExplorerWidget.actCopyIdentExecute(Sender: TObject); -begin - if Tree.Selected = nil then exit; - Clipboard.AsText:= Tree.Selected.Text; -end; - -{$ENDREGION} - -{$REGION ICEMultiDocObserver ---------------------------------------------------} -procedure TCEStaticExplorerWidget.docNew(aDoc: TCESynMemo); -begin - fDoc := aDoc; - beginUpdateByDelay; -end; - -procedure TCEStaticExplorerWidget.docClosing(aDoc: TCESynMemo); -begin - if fDoc <> aDoc then exit; - fDoc := nil; - clearTree; - updateVisibleCat; - beginUpdateByDelay; -end; - -procedure TCEStaticExplorerWidget.docFocused(aDoc: TCESynMemo); -begin - if fDoc = aDoc then exit; - fDoc := aDoc; - if not Visible then exit; - // - if fAutoRefresh then beginUpdateByDelay - else if fRefreshOnFocus then produceJsonInfo; -end; - -procedure TCEStaticExplorerWidget.docChanged(aDoc: TCESynMemo); -begin - if fDoc <> aDoc then exit; - if not Visible then exit; - // - if fAutoRefresh then beginUpdateByDelay - else if fRefreshOnChange then produceJsonInfo; -end; -{$ENDREGION} - -{$REGION ICEProjectObserver ----------------------------------------------------} -procedure TCEStaticExplorerWidget.projNew(aProject: TCEProject); -begin - fProj := aProject; -end; - -procedure TCEStaticExplorerWidget.projClosing(aProject: TCEProject); -begin - if fProj <> aProject then - exit; - fProj := nil; -end; - -procedure TCEStaticExplorerWidget.projFocused(aProject: TCEProject); -begin - fProj := aProject; -end; - -procedure TCEStaticExplorerWidget.projChanged(aProject: TCEProject); -begin -end; - -procedure TCEStaticExplorerWidget.projCompiling(aProject: TCEProject); -begin -end; -{$ENDREGION} - -{$REGION Symbol-tree things ----------------------------------------------------} -procedure TCEStaticExplorerWidget.UpdateByDelay; -begin - if not fAutoRefresh then exit; - produceJsonInfo; -end; - -procedure TCEStaticExplorerWidget.TreeDeletion(Sender: TObject; Node: TTreeNode); -begin - if (node.Data <> nil) then - Dispose(PInt64(node.Data)); -end; - -procedure TCEStaticExplorerWidget.btnRefreshClick(Sender: TObject); -begin - fActRefresh.Execute; -end; - -procedure TCEStaticExplorerWidget.updateVisibleCat; -begin - if (fDoc <> nil) then - begin - ndAlias.Visible := ndAlias.Count > 0; - ndClass.Visible := ndClass.Count > 0; - ndEnum.Visible := ndEnum.Count > 0; - ndFunc.Visible := ndFunc.Count > 0; - ndImp.Visible := ndImp.Count > 0; - ndIntf.Visible := ndIntf.Count > 0; - ndMix.Visible := ndMix.Count > 0; - ndStruct.Visible:= ndStruct.Count > 0; - ndTmp.Visible := ndTmp.Count > 0; - ndUni.Visible := ndUni.Count > 0; - ndVar.Visible := ndVar.Count > 0; - end else - begin - ndAlias.Visible := true; - ndClass.Visible := true; - ndEnum.Visible := true; - ndFunc.Visible := true; - ndImp.Visible := true; - ndIntf.Visible := true; - ndMix.Visible := true; - ndStruct.Visible:= true; - ndTmp.Visible := true; - ndUni.Visible := true; - ndVar.Visible := true; - end; -end; - -procedure TCEStaticExplorerWidget.clearTree; -begin - ndAlias.DeleteChildren; - ndClass.DeleteChildren; - ndEnum.DeleteChildren; - ndFunc.DeleteChildren; - ndImp.DeleteChildren; - ndIntf.DeleteChildren; - ndMix.DeleteChildren; - ndStruct.DeleteChildren; - ndTmp.DeleteChildren; - ndUni.DeleteChildren; - ndVar.DeleteChildren; -end; - -procedure TCEStaticExplorerWidget.TreeFilterEdit1AfterFilter(Sender: TObject); -begin - if TreeFilterEdit1.Filter ='' then - updateVisibleCat; -end; - -procedure TCEStaticExplorerWidget.TreeKeyPress(Sender: TObject; var Key: char); -begin - if Key = #13 then TreeDblClick(nil); -end; - -procedure TCEStaticExplorerWidget.TreeDblClick(Sender: TObject); -var - line: Int64; -begin - if fDoc = nil then exit; - if Tree.Selected = nil then exit; - if Tree.Selected.Data = nil then exit; - // - line := PInt64(Tree.Selected.Data)^; - fDoc.CaretY := line; - fDoc.SelectLine; -end; - -procedure TCEStaticExplorerWidget.produceJsonInfo; -var - srcFname, itm: string; - i: Integer; -begin - if fDoc = nil then exit; - if fDoc.Lines.Count = 0 then exit; - - // standard process options - killProcess(fDmdProc); - fDmdProc := TCheckedAsyncProcess.Create(nil); - fDmdProc.ShowWindow := swoHIDE; - fDmdProc.Options := []; - fDmdProc.Executable := 'dmd'; - fDmdProc.OnTerminate := @jsonInfoProduced; - - // focused source - fJsonFname := fDoc.tempFilename + '.json'; - srcFname := fDoc.fileName; - if not fileExists(srcFname) or (srcFname = fDoc.tempFilename) then - fDoc.saveTempFile; - srcFname := fDoc.fileName; - - //else fDoc.save; refreshonChange/autorefresh don't work until existing doc is saved - fDmdProc.Parameters.Add(srcFname); - - // other project sources, -I, -J - if fProj <> nil then if fProj.isProjectSource(srcFname) then - begin - fDmdProc.CurrentDirectory := extractFilePath(fProj.fileName); - for i := 0 to fProj.Sources.Count-1 do begin - itm := fProj.getAbsoluteSourceName(i); - if dExtList.IndexOf(ExtractFileExt(itm)) = -1 then - continue; - if srcFname <> itm then fDmdProc.Parameters.Add(itm); - end; - for itm in fProj.currentConfiguration.pathsOptions.importModulePaths do - fDmdProc.Parameters.Add('-I' + symbolExpander.get(itm)); - for itm in fProj.currentConfiguration.pathsOptions.importStringPaths do - fDmdProc.Parameters.Add('-J' + symbolExpander.get(itm)); - end; - - //adds the libman entries - LibMan.getLibFiles(nil, fDmdProc.Parameters); - LibMan.getLibSources(nil, fDmdProc.Parameters); - - // option to produce the Json file. - fDmdProc.Parameters.Add('-c'); - fDmdProc.Parameters.Add('-o-'); - fDmdProc.Parameters.Add('-Xf' + fJsonFname); - - fDmdProc.Execute; -end; - -procedure TCEStaticExplorerWidget.jsonInfoProduced(sender: TObject); -var - str: TMemoryStream; - prs: TJsonParser; - dat: TJsonData; - memb: TJsonData; - ndCat: TTreeNode; - ln: PInt64; - nme, knd: string; - i: NativeInt; - - // recursively display members, without master categories. - procedure digMembers(const srcDt: TJsonData; const srcNd: TTreeNode); - var - _memb: TJsonData; - _ln: PInt64; - _nme: string; - _i: NativeInt; - _nd: TTreeNode; - begin - _memb := srcDt.FindPath('members'); - if _memb <> nil then for _i := 0 to _memb.Count-1 do - begin - _ln := new(PInt64); - _ln^ := _memb.Items[_i].GetPath('line').AsInt64; - _nme := _memb.Items[_i].GetPath('name').AsString; - _nd := Tree.Items.AddChildObject(srcNd, _nme, _ln); - digMembers(_memb.Items[_i], _nd); - end; - end; - -begin - if ndAlias = nil then exit; - - clearTree; - updateVisibleCat; - if fDoc = nil then exit; - - if not FileExists(fJsonFname) then exit; - - // load json - str := TMemoryStream.Create; - try - str.LoadFromFile(fJsonFname); - str.Position := 0; - prs := TJsonParser.Create(str); - try - dat := prs.Parse; - finally - prs.Free; - end; - finally - str.Free; - DeleteFile(fJsonFname); - end; - if dat.Count = 0 then exit; - - // update tree - try - memb := dat.items[0].FindPath('members'); - if memb <> nil then for i := 0 to memb.Count-1 do - begin - - ndcat := nil; - // categories - ln := new(PInt64); - ln^ := memb.Items[i].GetPath('line').AsInt64; - nme := memb.Items[i].GetPath('name').AsString; - - knd := memb.Items[i].GetPath('kind').AsString; - case knd of - 'alias' :ndCat := Tree.Items.AddChildObject(ndAlias, nme, ln); - 'class' :ndCat := Tree.Items.AddChildObject(ndClass, nme, ln); - 'enum', 'enum member' - :ndCat := Tree.Items.AddChildObject(ndEnum, nme, ln); - 'function' :ndCat := Tree.Items.AddChildObject(ndFunc, nme, ln); - 'import', 'static import' - :ndCat := Tree.Items.AddChildObject(ndImp, nme, ln); - 'interface' :ndCat := Tree.Items.AddChildObject(ndIntf, nme, ln); - 'mixin' :ndCat := Tree.Items.AddChildObject(ndMix, nme, ln); - 'struct' :ndCat := Tree.Items.AddChildObject(ndStruct, nme, ln); - 'template' :ndCat := Tree.Items.AddChildObject(ndTmp, nme, ln); - 'union' :ndCat := Tree.Items.AddChildObject(ndUni, nme, ln); - 'variable' :ndCat := Tree.Items.AddChildObject(ndVar, nme, ln); - else fMsgs.message('static explorer does not handle this kind: '+ knd, nil, amcApp, amkWarn); - end; - - if ndCat = nil then - begin - {$IFDEF DEBUG} - DebugLn(memb.Items[i].GetPath('kind').AsString); - {$ENDIF} - continue; - end; - - ndCat.Parent.Visible := true; - - //recursive - digMembers(memb.Items[i], ndCat); - - end; - finally - if dat <> nil then - begin - dat.Clear; - dat.Free; - end; - end; -end; -{$ENDREGION --------------------------------------------------------------------} - -end.