- Code: Select all
else if (Button = mbLeft) and not (ssDouble in Shift) and (CommandMode <> cmViewOnly) then {HPW added commandmode check}
in:
- Code: Select all
procedure TSimpleGraph.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Pt: TPoint;
NewObject: TGraphObject;
begin
if not Focused then SetFocus;
inherited MouseDown(Button, Shift, X, Y);
Pt := ClientToGraph(X, Y);
CheckObjectAtCursor(Pt);
case CommandMode of
cmInsertNode, cmInsertLink:
if Assigned(DragSource) then
DragSource.MouseDown(Button, Shift, Pt)
else if (Button = mbLeft) and not (ssDouble in Shift) then
begin
NewObject := nil;
case CommandMode of
cmInsertNode:
NewObject := InsertObjectByMouse(Pt, DefaultNodeClass, SnapToGrid xor (ssCtrl in Shift));
cmInsertLink:
NewObject := InsertObjectByMouse(Pt, DefaultLinkClass, SnapToGrid xor (ssCtrl in Shift));
end;
if Assigned(NewObject) then
begin
NewObject.Selected := True;
NewObject.MouseDown(Button, Shift, Pt);
if DragSource <> NewObject then
begin
CommandMode := cmEdit;
ObjectChanged(NewObject, [gcData]);
end
else
CursorPos := Pt;
RenewObjectAtCursor(NewObject);
end;
end;
cmPan:
if (Button = mbLeft) and not (ssDouble in SHift) then
begin
fDragSourcePt.X := X;
fDragSourcePt.Y := Y;
Screen.Cursor := crHandGrab
end;
else
if Assigned(ObjectAtCursor) and (CommandMode <> cmViewOnly) and
(goSelectable in ObjectAtCursor.Options)
then
ObjectAtCursor.MouseDown(Button, Shift, Pt)
else if (Button = mbLeft) and not (ssDouble in Shift) and (CommandMode <> cmViewOnly) then {HPW commandmode abfragen}
begin
fDragSourcePt := Pt;
fDragTargetPt := Pt;
MarkedArea := MakeRect(fDragSourcePt, fDragTargetPt);
Screen.Cursor := crCross;
end;
end;
end;
to get rid of the drag-rectangle in cmViewOnly.