diff --git a/designer/designer.pp b/designer/designer.pp index 07edb7a785..592c533c46 100644 --- a/designer/designer.pp +++ b/designer/designer.pp @@ -235,7 +235,8 @@ type function NonVisualComponentLeftTop(AComponent: TComponent): TPoint; function NonVisualComponentAtPos(x,y: integer): TComponent; - function WinControlAtPos(x,y: integer): TWinControl; + function WinControlAtPos(x,y: integer; UseFormAsDefault: boolean): TWinControl; + function ControlAtPos(x,y: integer; UseFormAsDefault: boolean): TControl; function GetDesignedComponent(AComponent: TComponent): TComponent; function GetComponentEditorForSelection: TBaseComponentEditor; function GetShiftState: TShiftState; override; @@ -1035,7 +1036,7 @@ Begin SetCaptureControl(nil); ParentForm:=GetParentForm(Sender); if (ParentForm=nil) then exit; - + MouseDownPos:=GetFormRelativeMousePosition(Form); LastMouseMovePos:=MouseDownPos; @@ -1046,7 +1047,7 @@ Begin if NonVisualComp<>nil then MouseDownComponent:=NonVisualComp; if MouseDownComponent=nil then begin - MouseDownComponent:=GetDesignedComponent(Sender); + MouseDownComponent:=ControlAtPos(MouseDownPos.X,MouseDownPos.Y,true); if MouseDownComponent=nil then exit; end; MouseDownSender:=Sender; @@ -1210,7 +1211,7 @@ var if MouseDownComponent is TWinControl then NewParentControl:=TWinControl(MouseDownComponent) else - NewParentControl:=WinControlAtPos(MouseDownPos.X,MouseUpPos.X); + NewParentControl:=WinControlAtPos(MouseDownPos.X,MouseUpPos.X,true); while (NewParentControl<>nil) and ((not (csAcceptsControls in NewParentControl.ControlStyle)) or ((NewParentControl.Owner<>FLookupRoot) @@ -2214,7 +2215,8 @@ begin Result:=nil; end; -function TDesigner.WinControlAtPos(x, y: integer): TWinControl; +function TDesigner.WinControlAtPos(x, y: integer; UseFormAsDefault: boolean + ): TWinControl; var i: integer; WinControlBounds: TRect; begin @@ -2230,7 +2232,27 @@ begin end; end; end; - Result:=nil; + Result:=Form; +end; + +function TDesigner.ControlAtPos(x, y: integer; UseFormAsDefault: boolean + ): TControl; +var i: integer; + ControlBounds: TRect; +begin + for i:=FLookupRoot.ComponentCount-1 downto 0 do begin + Result:=TControl(FLookupRoot.Components[i]); + if (Result is TControl) then begin + with Result do begin + ControlBounds:=GetParentFormRelativeBounds(Result); + if (ControlBounds.Left<=x) and (ControlBounds.Top<=y) + and (ControlBounds.Right>x) + and (ControlBounds.Bottom>y) then + exit; + end; + end; + end; + Result:=Form; end; procedure TDesigner.BuildPopupMenu; diff --git a/ide/findrenameidentifier.lfm b/ide/findrenameidentifier.lfm index ecafa36a25..8e5a03e8ed 100644 --- a/ide/findrenameidentifier.lfm +++ b/ide/findrenameidentifier.lfm @@ -1,15 +1,15 @@ object FindRenameIdentifierDialog: TFindRenameIdentifierDialog Caption = 'FindRenameIdentifierDialog' - ClientHeight = 400 + ClientHeight = 433 ClientWidth = 450 OnClose = FindRenameIdentifierDialogClose OnCreate = FindRenameIdentifierDialogCreate PixelsPerInch = 90 Position = poScreenCenter HorzScrollBar.Page = 451 - VertScrollBar.Page = 401 + VertScrollBar.Page = 434 Left = 291 - Height = 400 + Height = 433 Top = 163 Width = 450 object CurrentGroupBox: TGroupBox @@ -70,12 +70,12 @@ object FindRenameIdentifierDialog: TFindRenameIdentifierDialog object ScopeGroupBox: TGroupBox Anchors = [akTop, akLeft, akRight] Caption = 'ScopeGroupBox' - ClientHeight = 187 + ClientHeight = 211 ClientWidth = 433 ParentColor = True TabOrder = 2 Left = 8 - Height = 204 + Height = 228 Top = 156 Width = 437 object ScopeCommentsCheckBox: TCheckBox @@ -86,7 +86,7 @@ object FindRenameIdentifierDialog: TFindRenameIdentifierDialog TabOrder = 0 Left = 6 Height = 23 - Top = 157 + Top = 181 Width = 417 end object ScopeRadioGroup: TRadioGroup @@ -101,7 +101,7 @@ object FindRenameIdentifierDialog: TFindRenameIdentifierDialog ) ParentColor = True Left = 6 - Height = 88 + Height = 112 Top = 5 Width = 417 end @@ -115,7 +115,7 @@ object FindRenameIdentifierDialog: TFindRenameIdentifierDialog TabOrder = 2 Left = 6 Height = 44 - Top = 101 + Top = 125 Width = 417 object ExtraFilesEdit: TEdit Anchors = [akTop, akLeft, akRight] @@ -135,7 +135,7 @@ object FindRenameIdentifierDialog: TFindRenameIdentifierDialog TabOrder = 3 Left = 88 Height = 25 - Top = 368 + Top = 400 Width = 233 end object CancelButton: TButton @@ -145,7 +145,7 @@ object FindRenameIdentifierDialog: TFindRenameIdentifierDialog TabOrder = 4 Left = 336 Height = 25 - Top = 368 + Top = 400 Width = 89 end end diff --git a/ide/findrenameidentifier.lrs b/ide/findrenameidentifier.lrs index 813bff589f..1948225bc8 100644 --- a/ide/findrenameidentifier.lrs +++ b/ide/findrenameidentifier.lrs @@ -2,11 +2,11 @@ LazarusResources.Add('TFindRenameIdentifierDialog','FORMDATA',[ 'TPF0'#27'TFindRenameIdentifierDialog'#26'FindRenameIdentifierDialog'#7'Capti' - +'on'#6#26'FindRenameIdentifierDialog'#12'ClientHeight'#3#144#1#11'ClientWidt' + +'on'#6#26'FindRenameIdentifierDialog'#12'ClientHeight'#3#177#1#11'ClientWidt' +'h'#3#194#1#7'OnClose'#7#31'FindRenameIdentifierDialogClose'#8'OnCreate'#7' ' +'FindRenameIdentifierDialogCreate'#13'PixelsPerInch'#2'Z'#8'Position'#7#14'p' - +'oScreenCenter'#18'HorzScrollBar.Page'#3#195#1#18'VertScrollBar.Page'#3#145#1 - +#4'Left'#3'#'#1#6'Height'#3#144#1#3'Top'#3#163#0#5'Width'#3#194#1#0#9'TGroup' + +'oScreenCenter'#18'HorzScrollBar.Page'#3#195#1#18'VertScrollBar.Page'#3#178#1 + +#4'Left'#3'#'#1#6'Height'#3#177#1#3'Top'#3#163#0#5'Width'#3#194#1#0#9'TGroup' +'Box'#15'CurrentGroupBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Ca' +'ption'#6#15'CurrentGroupBox'#12'ClientHeight'#2'7'#11'ClientWidth'#3#176#1 +#11'ParentColor'#9#8'TabOrder'#2#0#4'Left'#2#8#6'Height'#2'H'#3'Top'#2#8#5'W' @@ -22,26 +22,26 @@ LazarusResources.Add('TFindRenameIdentifierDialog','FORMDATA',[ +'e'#9#7'Caption'#6#14'RenameCheckBox'#8'OnChange'#7#20'RenameCheckBoxChange' +#8'TabOrder'#2#1#11'UseOnChange'#9#4'Left'#3#18#1#6'Height'#2#23#3'Top'#2#6#5 +'Width'#3#151#0#0#0#0#9'TGroupBox'#13'ScopeGroupBox'#7'Anchors'#11#5'akTop'#6 - +'akLeft'#7'akRight'#0#7'Caption'#6#13'ScopeGroupBox'#12'ClientHeight'#3#187#0 + +'akLeft'#7'akRight'#0#7'Caption'#6#13'ScopeGroupBox'#12'ClientHeight'#3#211#0 +#11'ClientWidth'#3#177#1#11'ParentColor'#9#8'TabOrder'#2#2#4'Left'#2#8#6'Hei' - +'ght'#3#204#0#3'Top'#3#156#0#5'Width'#3#181#1#0#9'TCheckBox'#21'ScopeComment' + +'ght'#3#228#0#3'Top'#3#156#0#5'Width'#3#181#1#0#9'TCheckBox'#21'ScopeComment' +'sCheckBox'#11'AllowGrayed'#9#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8 +'AutoSize'#9#7'Caption'#6#21'ScopeCommentsCheckBox'#8'TabOrder'#2#0#4'Left'#2 - +#6#6'Height'#2#23#3'Top'#3#157#0#5'Width'#3#161#1#0#0#11'TRadioGroup'#15'Sco' + +#6#6'Height'#2#23#3'Top'#3#181#0#5'Width'#3#161#1#0#0#11'TRadioGroup'#15'Sco' +'peRadioGroup'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#15 +'ScopeRadioGroup'#7'Enabled'#8#13'Items.Strings'#1#6#15'in current unit'#6#15 +'in main project'#6#30'in project/package owning file'#6'!in all open projec' - +'ts and packages'#0#11'ParentColor'#9#4'Left'#2#6#6'Height'#2'X'#3'Top'#2#5#5 + +'ts and packages'#0#11'ParentColor'#9#4'Left'#2#6#6'Height'#2'p'#3'Top'#2#5#5 +'Width'#3#161#1#0#0#9'TGroupBox'#18'ExtraFilesGroupBox'#7'Anchors'#11#5'akTo' +'p'#6'akLeft'#7'akRight'#0#7'Caption'#6#18'ExtraFilesGroupBox'#12'ClientHeig' +'ht'#2#27#11'ClientWidth'#3#157#1#7'Enabled'#8#11'ParentColor'#9#8'TabOrder' - +#2#2#4'Left'#2#6#6'Height'#2','#3'Top'#2'e'#5'Width'#3#161#1#0#5'TEdit'#14'E' + +#2#2#4'Left'#2#6#6'Height'#2','#3'Top'#2'}'#5'Width'#3#161#1#0#5'TEdit'#14'E' +'xtraFilesEdit'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'TabOrder'#2#0 +#4'Text'#6#14'ExtraFilesEdit'#8'TabOrder'#2#0#4'Left'#2#6#6'Height'#2#23#5'W' +'idth'#3#148#1#0#0#0#0#7'TButton'#18'FindOrRenameButton'#7'Anchors'#11#5'akT' +'op'#7'akRight'#0#7'Caption'#6#18'FindOrRenameButton'#7'OnClick'#7#23'FindOr' - +'RenameButtonClick'#8'TabOrder'#2#3#4'Left'#2'X'#6'Height'#2#25#3'Top'#3'p'#1 - +#5'Width'#3#233#0#0#0#7'TButton'#12'CancelButton'#7'Anchors'#11#5'akTop'#7'a' - +'kRight'#0#7'Caption'#6#12'CancelButton'#11'ModalResult'#2#2#8'TabOrder'#2#4 - +#4'Left'#3'P'#1#6'Height'#2#25#3'Top'#3'p'#1#5'Width'#2'Y'#0#0#0 + +'RenameButtonClick'#8'TabOrder'#2#3#4'Left'#2'X'#6'Height'#2#25#3'Top'#3#144 + +#1#5'Width'#3#233#0#0#0#7'TButton'#12'CancelButton'#7'Anchors'#11#5'akTop'#7 + +'akRight'#0#7'Caption'#6#12'CancelButton'#11'ModalResult'#2#2#8'TabOrder'#2#4 + +#4'Left'#3'P'#1#6'Height'#2#25#3'Top'#3#144#1#5'Width'#2'Y'#0#0#0 ]); diff --git a/ide/main.pp b/ide/main.pp index fc08f47996..21397a508a 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -9301,6 +9301,7 @@ begin end else begin OwnerList:=PkgBoss.GetOwnersOfUnit(TargetUnitInfo.Filename); if Options.Scope=frAllOpenProjectsAndPackages then begin + // TODO end; end; @@ -10808,6 +10809,9 @@ end. { ============================================================================= $Log$ + Revision 1.775 2004/09/21 10:05:26 mattias + fixed disable at designtime and bounding TProgressBar position + Revision 1.774 2004/09/20 20:22:11 mattias implemented Refactoring Tool: Find Identfier References diff --git a/lcl/include/progressbar.inc b/lcl/include/progressbar.inc index b57d8dc953..914a0d6d12 100644 --- a/lcl/include/progressbar.inc +++ b/lcl/include/progressbar.inc @@ -120,8 +120,8 @@ end; ------------------------------------------------------------------------------} procedure TProgressBar.SetParams(AMin, AMax: Integer); begin - SetMax (AMax); - SetMin (AMin); + SetMax(AMax); + SetMin(AMin); end; @@ -250,8 +250,14 @@ end; ------------------------------------------------------------------------------} procedure TProgressBar.ApplyChanges; begin - if HandleAllocated and (not (csLoading in ComponentState)) then - CNSendMessage(LM_SETPROPERTIES, Self, nil); + if not (csLoading in ComponentState) then begin + if FMin>Max then FMin:=Max; + if PositionMax then FPosition:=Max; + if HandleAllocated then begin + CNSendMessage(LM_SETPROPERTIES, Self, nil); + end; + end; end; @@ -296,6 +302,9 @@ end; { $Log$ + Revision 1.9 2004/09/21 10:05:26 mattias + fixed disable at designtime and bounding TProgressBar position + Revision 1.8 2004/09/19 18:50:28 micha convert LM_SETVALUE message to interface methods diff --git a/lcl/include/wincontrol.inc b/lcl/include/wincontrol.inc index 89b146b2c1..5d33f720d6 100644 --- a/lcl/include/wincontrol.inc +++ b/lcl/include/wincontrol.inc @@ -2871,9 +2871,10 @@ begin if not Enabled and (Parent <> nil) then RemoveFocus(False); - if HandleAllocated - and not (csDesigning in ComponentState) - then EnableWindow(Handle, Enabled); + if HandleAllocated and not (csDesigning in ComponentState) then begin + //if (not Enabled) then debugln('TWinControl.CMEnabledChanged disable ',Name,':',CLassName); + EnableWindow(Handle, Enabled); + end; end; {------------------------------------------------------------------------------ @@ -2888,8 +2889,6 @@ begin NotifyControls(CM_PARENTSHOWHINTCHANGED); end; - - {------------------------------------------------------------------------------ Method: TWinControl.WMSetFocus Params: Message @@ -3456,7 +3455,8 @@ begin FFlags:=FFlags-[wcfColorChanged,wcfFontChanged]; end; - EnableWindow(Handle, Enabled); + if not (csDesigning in ComponentState) then + EnableWindow(Handle, Enabled); // Delay the setting of text until it is completely loaded if not (csLoading in ComponentState) @@ -3912,6 +3912,9 @@ end; { ============================================================================= $Log$ + Revision 1.280 2004/09/21 10:05:26 mattias + fixed disable at designtime and bounding TProgressBar position + Revision 1.279 2004/09/18 12:43:15 micha convert LM_DESTROY message to interface methods diff --git a/lcl/interfaces/gtk/gtkcallback.inc b/lcl/interfaces/gtk/gtkcallback.inc index f398682543..35b2ba6f02 100644 --- a/lcl/interfaces/gtk/gtkcallback.inc +++ b/lcl/interfaces/gtk/gtkcallback.inc @@ -234,6 +234,7 @@ begin //DebugLn(' Widget=',HexStr(Cardinal(Widget),8),' Fixed=',HexStr(Cardinal(GetFixedWidget(Widget)),8),' Main=',HexStr(Cardinal(GetMainWidget(Widget)),8)); if (TheWinControl<>nil) then begin {$IFDEF DebugGDK}BeginGDKErrorTrap;{$ENDIF} + NewEventMask:=gdk_window_get_events(GetControlWindow(Widget)) or WinWidgetInfo^.EventMask; gdk_window_set_events(GetControlWindow(Widget),NewEventMask); @@ -1121,7 +1122,7 @@ begin ShiftState := GTKEventState2ShiftState(Event^.State); MappedXY:=TranslateGdkPointToClientArea(Event^.Window,EventXY, PGtkWidget(AWinControl.Handle)); - //DebugLn('DeliverMouseDownMessage ',AWinControl.Name,':',AWinControl.ClassName,' Mapped=',MappedXY.X,',',MappedXY.Y,' Event=',EventXY.X,',',EventXY.Y); + //DebugLn('DeliverMouseDownMessage ',AWinControl.Name,':',AWinControl.ClassName,' Mapped=',dbgs(MappedXY.X),',',dbgs(MappedXY.Y),' Event=',dbgs(EventXY.X),',',dbgs(EventXY.Y)); if event^.Button in [4,5] then begin // this is a mouse wheel event @@ -1187,13 +1188,13 @@ end; Called whenever the mouse is over a widget and a mouse button is pressed. -------------------------------------------------------------------------------} -function gtkMouseBtnPress(widget: PGtkWidget; event : pgdkEventButton; +function gtkMouseBtnPress(widget: PGtkWidget; event: pgdkEventButton; data: gPointer) : GBoolean; cdecl; var DesignOnlySignal: boolean; CaptureWidget: PGtkWidget; begin - Result := true; + Result := true; {$IFDEF VerboseMouseBugfix} DebugLn(''); @@ -1238,6 +1239,7 @@ begin result := false; end; end; + //debugln('[gtkMouseBtnPress] calling DeliverMouseDownMessage'); DeliverMouseDownMessage(Widget,Event,TWinControl(Data)); end; @@ -2904,6 +2906,9 @@ end; { ============================================================================= $Log$ + Revision 1.248 2004/09/21 10:05:26 mattias + fixed disable at designtime and bounding TProgressBar position + Revision 1.247 2004/09/10 16:28:50 mattias implemented very rudimentary TTabControl diff --git a/lcl/interfaces/gtk/gtkobject.inc b/lcl/interfaces/gtk/gtkobject.inc index c3202f8984..997116b194 100644 --- a/lcl/interfaces/gtk/gtkobject.inc +++ b/lcl/interfaces/gtk/gtkobject.inc @@ -3436,9 +3436,9 @@ begin end else begin ConnectSenderSignal(gFixed, 'button-press-event', @gtkMouseBtnPress, - GDK_BUTTON_PRESS_MASK); + GDK_BUTTON_PRESS_MASK); ConnectSenderSignalAfter(gFixed, 'button-press-event', - @gtkMouseBtnPressAfter, GDK_BUTTON_PRESS_MASK); + @gtkMouseBtnPressAfter, GDK_BUTTON_PRESS_MASK); end; end; @@ -7675,6 +7675,9 @@ end; { ============================================================================= $Log$ + Revision 1.589 2004/09/21 10:05:26 mattias + fixed disable at designtime and bounding TProgressBar position + Revision 1.588 2004/09/20 21:01:04 micha convert LM_SETPROPERTIES to interface methods for TCustomComboBox