From d5177800f00d6ec2c87bb49b1f8ea46b66e323d5 Mon Sep 17 00:00:00 2001 From: mattias Date: Fri, 15 Oct 2004 13:28:22 +0000 Subject: [PATCH] codeexplorer: using lower recursive depth git-svn-id: trunk@6139 - --- ide/codeexplorer.pas | 91 ++++++++++++++++---------------- lcl/buttons.pp | 60 ++++++++++----------- lcl/include/treeview.inc | 6 +-- lcl/interfaces/gtk/gtkwinapi.inc | 5 +- 4 files changed, 81 insertions(+), 81 deletions(-) diff --git a/ide/codeexplorer.pas b/ide/codeexplorer.pas index 9cf4149363..44e2edb468 100644 --- a/ide/codeexplorer.pas +++ b/ide/codeexplorer.pas @@ -316,57 +316,56 @@ var ShowNode: Boolean; ShowChilds: Boolean; begin - if CodeNode=nil then exit; - - ShowNode:=true; - ShowChilds:=true; + while CodeNode<>nil do begin + ShowNode:=true; + ShowChilds:=true; - // don't show statements - if (CodeNode.Desc in AllPascalStatements+[ctnParameterList]) then exit; - // don't show parameter lists - if (CodeNode.Desc in [ctnProcedureHead]) then begin - ShowNode:=false; - ShowChilds:=false; - end; - // don't show forward class definitions - if (CodeNode.Desc=ctnTypeDefinition) - and (CodeNode.FirstChild<>nil) and (CodeNode.FirstChild.Desc=ctnClass) - and ((CodeNode.FirstChild.SubDesc and ctnsForwardDeclaration)>0) then begin - ShowNode:=false; - ShowChilds:=false; - end; + // don't show statements + if (CodeNode.Desc in AllPascalStatements+[ctnParameterList]) then begin + ShowNode:=false; + ShowChilds:=false; + end; + // don't show parameter lists + if (CodeNode.Desc in [ctnProcedureHead]) then begin + ShowNode:=false; + ShowChilds:=false; + end; + // don't show forward class definitions + if (CodeNode.Desc=ctnTypeDefinition) + and (CodeNode.FirstChild<>nil) and (CodeNode.FirstChild.Desc=ctnClass) + and ((CodeNode.FirstChild.SubDesc and ctnsForwardDeclaration)>0) then begin + ShowNode:=false; + ShowChilds:=false; + end; - // don't show keyword nodes - if CodeNode.Desc in [ctnIdentifier,ctnRangedArrayType, - ctnOpenArrayType,ctnOfConstType,ctnRangeType,ctnTypeType,ctnFileType, - ctnVariantType] - then - ShowNode:=false; + // don't show keyword nodes + if CodeNode.Desc in [ctnIdentifier,ctnRangedArrayType, + ctnOpenArrayType,ctnOfConstType,ctnRangeType,ctnTypeType,ctnFileType, + ctnVariantType] + then + ShowNode:=false; - if ShowNode then begin - NodeData:=TViewNodeData.Create(CodeNode); - NodeText:=GetNodeDescription(ACodeTool,CodeNode); - NodeImageIndex:=GetNodeImage(CodeNode); - if InFrontViewNode<>nil then - ViewNode:=CodeTreeview.Items.InsertObjectBehind( - InFrontViewNode,NodeText,NodeData) - else if ParentViewNode<>nil then - ViewNode:=CodeTreeview.Items.AddChildObject( - ParentViewNode,NodeText,NodeData) - else - ViewNode:=CodeTreeview.Items.AddObject(nil,NodeText,NodeData); - ViewNode.ImageIndex:=NodeImageIndex; - ViewNode.SelectedIndex:=NodeImageIndex; + ViewNode:=ParentViewNode; + if ShowNode then begin + NodeData:=TViewNodeData.Create(CodeNode); + NodeText:=GetNodeDescription(ACodeTool,CodeNode); + NodeImageIndex:=GetNodeImage(CodeNode); + if InFrontViewNode<>nil then + ViewNode:=CodeTreeview.Items.InsertObjectBehind( + InFrontViewNode,NodeText,NodeData) + else if ParentViewNode<>nil then + ViewNode:=CodeTreeview.Items.AddChildObject( + ParentViewNode,NodeText,NodeData) + else + ViewNode:=CodeTreeview.Items.AddObject(nil,NodeText,NodeData); + ViewNode.ImageIndex:=NodeImageIndex; + ViewNode.SelectedIndex:=NodeImageIndex; + InFrontViewNode:=ViewNode; + end; if ShowChilds then CreateNodes(ACodeTool,CodeNode.FirstChild,ViewNode,nil,true); - if CreateSiblings then - CreateNodes(ACodeTool,CodeNode.NextBrother,ParentViewNode,ViewNode,true); - end else begin - if ShowChilds then - CreateNodes(ACodeTool,CodeNode.FirstChild,ParentViewNode,nil,true); - if CreateSiblings then - CreateNodes(ACodeTool,CodeNode.NextBrother,ParentViewNode,InFrontViewNode, - true); + if not CreateSiblings then break; + CodeNode:=CodeNode.NextBrother; end; end; diff --git a/lcl/buttons.pp b/lcl/buttons.pp index 1e1cfc540f..f43f6e1e07 100644 --- a/lcl/buttons.pp +++ b/lcl/buttons.pp @@ -7,8 +7,8 @@ Component Library Code - Initial Revision : Sun Mar 28 23:15:32 CST 1999 - Revised : Sat Jul 3 1999 + Initial Revision : Sun Mar 28 23:15:32 CST 1999 + Revised: Sat Jul 3 1999 ***************************************************************************/ @@ -66,7 +66,7 @@ type FModalResult: TModalResult; FShortCut: TShortcut; procedure SetCancel(NewCancel: boolean); - procedure SetDefault(Value : Boolean); + procedure SetDefault(Value: Boolean); procedure WMDefaultClicked(var Message: TLMessage); message LM_CLICKED; protected procedure Click; override; @@ -171,11 +171,11 @@ type procedure RealizeKind; //Return the caption associated with the aKind value. - function GetCaptionOfKind(aKind: TBitBtnKind) : String; + function GetCaptionOfKind(aKind: TBitBtnKind): String; protected procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override; procedure Click; override; - procedure GlyphChanged(Sender : TObject); + procedure GlyphChanged(Sender: TObject); procedure InitializeWnd; override; public constructor Create(TheOwner: TComponent); override; @@ -244,22 +244,20 @@ type TCustomSpeedButton = class(TGraphicControl) private - FAllowAllUp : Boolean; - FDown : Boolean; - FDragging : Boolean; - FFlat : Boolean; + FAllowAllUp: Boolean; + FDown: Boolean; + FDragging: Boolean; + FFlat: Boolean; FGlyph: TButtonGlyph; - FGroupIndex : Integer; + FGroupIndex: Integer; FLastDrawFlags: integer; FLayout: TButtonLayout; - FMargin : integer; - FMouseInControl : Boolean; - FShortcut : Longint; - FSpacing : integer; - FTransparent : Boolean; - FDCNowAvailable : Boolean; //this is for gtk1, DeviceContext not available during creation process???? - FDownWaiting : Boolean; //when this one is true, need to down button when DC is available - function GetGlyph : TBitmap; + FMargin: integer; + FMouseInControl: Boolean; + FShortcut: Longint; + FSpacing: integer; + FTransparent: Boolean; + function GetGlyph: TBitmap; procedure UpdateExclusive; procedure SetAllowAllUp(Value: Boolean); procedure SetGlyph(Value: TBitmap); @@ -271,20 +269,20 @@ type procedure CMEnabledChanged(var Message: TLMessage); message CM_ENABLEDCHANGED; protected FState: TButtonState; - function GetNumGlyphs : Integer; - procedure GlyphChanged(Sender : TObject); + function GetNumGlyphs: Integer; + procedure GlyphChanged(Sender: TObject); procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure MouseMove(Shift: TShiftState; X, Y: Integer); override; procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override; procedure Paint; override; - procedure SetDown(Value : Boolean); - procedure SetGroupIndex(const Value : Integer); - procedure SetFlat(const Value : Boolean); - procedure SetMargin(const Value : integer); - procedure SetNumGlyphs(Value : integer); - procedure SetSpacing(const Value : integer); + procedure SetDown(Value: Boolean); + procedure SetGroupIndex(const Value: Integer); + procedure SetFlat(const Value: Boolean); + procedure SetMargin(const Value: integer); + procedure SetNumGlyphs(Value: integer); + procedure SetSpacing(const Value: integer); procedure RealSetText(const Value: TCaption); override; procedure UpdateState(InvalidateOnChange: boolean); virtual; function GetDrawFlags: integer; virtual; @@ -352,12 +350,12 @@ uses WSButtons; const - BitBtnModalResults : array[TBitBtnKind] of TModalResult = ( + BitBtnModalResults: array[TBitBtnKind] of TModalResult = ( 0, mrOK, mrCancel, 0, mrYes, mrNo, 0, mrAbort, mrRetry, mrIgnore, mrAll, mrNoToAll, mrYesToAll); - BitBtnImages : array[TBitBtnKind] of Longint = ( + BitBtnImages: array[TBitBtnKind] of Longint = ( idButtonOk, idButtonOk, idButtonCancel, idButtonHelp, idButtonYes, idButtonNo, idButtonClose, idButtonAbort, idButtonRetry, idButtonIgnore, idButtonAll, idButtonNoToAll, idButtonYesToAll); @@ -373,9 +371,6 @@ end; {$I buttonglyph.inc} {$I speedbutton.inc} -initialization -finalization - end. @@ -383,6 +378,9 @@ end. { ============================================================================= $Log$ + Revision 1.81 2004/10/15 13:28:22 mattias + codeexplorer: using lower recursive depth + Revision 1.80 2004/10/15 12:04:09 mattias calling updating notebook tab after realize, needed for close btns diff --git a/lcl/include/treeview.inc b/lcl/include/treeview.inc index 6d77486969..3102f94d8a 100644 --- a/lcl/include/treeview.inc +++ b/lcl/include/treeview.inc @@ -3524,9 +3524,9 @@ begin SetScrollInfo(Handle, SB_VERT, ScrollInfo, true); end; end; - //DebugLn('>>>>>>>>>> [TCustomTreeView.UpdateScrollbars] Vert On nMin=',ScrollInfo.nMin, - //' nMax=',ScrollInfo.nMax,' nPage=',ScrollInfo.nPage, - //' nPos=',ScrollInfo.nPos,' GetMaxScrollTop=',GetMaxScrollTop); + //DebugLn('>>>>>>>>>> [TCustomTreeView.UpdateScrollbars] Vert On nMin=',dbgs(ScrollInfo.nMin), + //' nMax=',dbgs(ScrollInfo.nMax),' nPage=',dbgs(ScrollInfo.nPage), + //' nPos=',dbgs(ScrollInfo.nPos),' GetMaxScrollTop=',dbgs(GetMaxScrollTop)); end else begin //DebugLn('>>>>>>>>>> [TCustomTreeView.UpdateScrollbars] Vert Off '); FLastVertScrollInfo.cbSize:=0; diff --git a/lcl/interfaces/gtk/gtkwinapi.inc b/lcl/interfaces/gtk/gtkwinapi.inc index 525d326901..995a99a495 100644 --- a/lcl/interfaces/gtk/gtkwinapi.inc +++ b/lcl/interfaces/gtk/gtkwinapi.inc @@ -7922,7 +7922,7 @@ begin ' bRedraw=',bRedraw, ' Handle=',HexStr(Cardinal(Handle),8));} - // do we have to set this allways ? + // do we have to set this always ? if bRedraw then begin if GtkWidgetIsA(PGtkWidget(Scroll),gtk_scrolled_window_get_type) then @@ -8695,6 +8695,9 @@ end; { ============================================================================= $Log$ + Revision 1.370 2004/10/15 13:28:22 mattias + codeexplorer: using lower recursive depth + Revision 1.369 2004/10/01 13:16:44 mattias fixed unselecting TCanvas objects