fixed disable at designtime and bounding TProgressBar position

git-svn-id: trunk@6038 -
This commit is contained in:
mattias 2004-09-21 10:05:26 +00:00
parent 751fa405fa
commit 4a997f7523
8 changed files with 89 additions and 43 deletions

View File

@ -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;

View File

@ -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

View File

@ -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
]);

View File

@ -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

View File

@ -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 Position<Min then FPosition:=Min;
if Position>Max 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

View File

@ -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

View File

@ -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

View File

@ -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