Completed
Last Updated: 02 Feb 2018 11:40 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
3
To reproduce: add a RadDiagram and use the following code snippet:

this.radDiagram1.PanToPosition(new Telerik.Windows.Diagrams.Core.Point(10,10));

Workaround: subscribe to the Pan event: 

this.radDiagram1.Pan += radDiagram1_Pan;

        void radDiagram1_Pan(object sender, Telerik.WinControls.UI.Diagrams.PositionChangedRoutedEventArgs e)
        {
        }
Completed
Last Updated: 13 Dec 2017 09:40 by ADMIN
Completed
Last Updated: 22 Dec 2017 13:47 by ADMIN
ADMIN
Created by: Hristo
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Feature Request
1

			
Unplanned
Last Updated: 20 Nov 2017 15:36 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
0
To reproduce: 
Bind using a binding source:
DataSet ds = new DataSet();
ds.Tables.Add(shapesTable);
ds.Tables.Add(connectionsTable);

BindingSource bindingSource1 = new BindingSource { DataSource = ds };

radDiagram1.DiagramElement.DataLayer.DataSource = bindingSource1;


Workaround: 
Bind directly:
DataSet ds = new DataSet();
ds.Tables.Add(shapesTable);
ds.Tables.Add(connectionsTable);

radDiagram1.DiagramElement.DataLayer.DataSource = ds;
Declined
Last Updated: 21 Sep 2017 13:16 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 1
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
1
Please refer to the attached sample project. If you drag a new shape or copy/paste an existing one it is not added to the DataSource collection as it is added in RadGanttView for example.

Workaround: handle the ItemsChanged event and add a new record to the DataSource manually.
Completed
Last Updated: 22 Dec 2017 09:47 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 1
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Feature Request
4

			
Completed
Last Updated: 21 Sep 2017 11:40 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
1

			
Unplanned
Last Updated: 20 Nov 2017 15:24 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Feature Request
1
By using these events the user will be able to easily cancel moving of a shape in certain conditions.
Completed
Last Updated: 13 Sep 2017 06:03 by ADMIN
To reproduce
- Click between the thumb and the button.

Workaround:
public class MyDiagramInputBehavior : DiagramInputBehavior
{
    public MyDiagramInputBehavior(RadDiagramElement element) : base(element)
    {


    }
    protected override bool IsScrollBar(RadElement element)
    {
        if (element != null && element is RadScrollBarElement)
        {
            return true;
        }
        return base.IsScrollBar(element);
    }
}
Completed
Last Updated: 15 Aug 2017 11:03 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
1

			
Unplanned
Last Updated: 21 Nov 2016 12:33 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
1

			
Completed
Last Updated: 09 Nov 2016 13:50 by ADMIN
How to reproduce: 

 public partial class Form1 : Form
 {
     public Form1()
     {
         InitializeComponent();

         RadDiagramShape shape1 = new RadDiagramShape()
         {
             Text = "Second Level Domain",
             ElementShape = new RoundRectShape(4),
             BackColor = Color.LimeGreen
         };
         shape1.Position = new Telerik.Windows.Diagrams.Core.Point(100, 100);
         radDiagram1.Items.Add(shape1);

         var res = radDiagram1.Items[0];
         ((Telerik.WinControls.UI.Diagrams.RadDiagramItem)shape1).EndEdit += item_EndEdit;

         RadDiagramShape shape2 = new RadDiagramShape()
         {
             Text = "Top Level Domain",
             ElementShape = new RoundRectShape(50),
             BackColor = Color.Cyan
         };
         shape2.Position = new Telerik.Windows.Diagrams.Core.Point(1600, 100);

         radDiagram1.Items.Add(shape2);

         RadDiagramShape shape3 = new RadDiagramShape()
         {
             Text = "Organization Domain",
             ElementShape = new RoundRectShape(20),
             BackColor = Color.Yellow
         };
         shape3.Position = new Telerik.Windows.Diagrams.Core.Point(2400, 100);
         radDiagram1.Items.Add(shape3);

         RadDiagramConnection connection1 = new RadDiagramConnection() { Name = "connection1" };
         connection1.Source = shape1;
         connection1.Target = shape2;
         radDiagram1.Items.Add(connection1);

         RadDiagramConnection connection2 = new RadDiagramConnection()
         {
             Name = "connection2"
         };
         connection2.Source = shape2;
         connection2.Target = shape3;
         radDiagram1.Items.Add(connection2);
     }

     private void item_EndEdit(object sender, Telerik.WinControls.UI.Diagrams.RadRoutedEditEventArgs e)
     {
         RadDiagramShape shape = ((RadDiagramShape)sender);
         string txt = shape.Text;
         Size size = TextRenderer.MeasureText(txt, shape.Font, new System.Drawing.Size( (int)shape.Width, int.MaxValue ), ~TextFormatFlags.SingleLine);

         shape.Height = size.Height;
     }

     private void radButton1_Click(object sender, EventArgs e)
     {
         this.radDiagram1.DiagramElement.BringIntoView(radDiagram1.Items[0], this.radDiagram1.Zoom, false);
     }

     private void radButton2_Click(object sender, EventArgs e)
     {
         this.radDiagram1.DiagramElement.BringIntoView(radDiagram1.Items[1], this.radDiagram1.Zoom, false);
     }

     private void radButton3_Click(object sender, EventArgs e)
     {
         this.radDiagram1.DiagramElement.BringIntoView(radDiagram1.Items[2], this.radDiagram1.Zoom, false);
     }
 }

Workaround:  manually update the view
private void radButton1_Click(object sender, EventArgs e)
{
    this.radDiagram1.DiagramElement.BringIntoView(radDiagram1.Items[0], this.radDiagram1.Zoom, false);
    this.radDiagram1.DiagramElement.Controller.OnViewportChanged();
}

private void radButton2_Click(object sender, EventArgs e)
{
    this.radDiagram1.DiagramElement.BringIntoView(radDiagram1.Items[1], this.radDiagram1.Zoom, false);
    this.radDiagram1.DiagramElement.Controller.OnViewportChanged();
}

private void radButton3_Click(object sender, EventArgs e)
{
    this.radDiagram1.DiagramElement.BringIntoView(radDiagram1.Items[2], this.radDiagram1.Zoom, false);
    this.radDiagram1.DiagramElement.Controller.OnViewportChanged();
}

Completed
Last Updated: 10 Oct 2016 06:21 by ADMIN
To reproduce:
- Add shape and zoom the view.
- Call the method:
radDiagram1.DiagramElement.BringIntoView(radDiagram1.Shapes[0]);

Workaround:
radDiagram1.DiagramElement.BringIntoView(radDiagram1.Shapes[0],radDiagram1.Zoom, false);          
Completed
Last Updated: 06 Oct 2016 13:40 by ADMIN
To reproduce:
- Zoom the diagram and drop an item from the toolbox. 

Workaround:
Friend Class MyToolbox
    Inherits RadDiagramToolbox
  
    Protected Overrides Sub DragDropService_PreviewDragDrop(ByVal sender As Object, ByVal e As RadDropEventArgs)
        'base.DragDropService_PreviewDragDrop(sender, e);
        Dim shape = TryCast(GetType(RadDiagramToolbox).GetField("shape", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance).GetValue(Me), RadDiagramShape)
  
        Dim diagramElement As RadDiagramElement = TryCast(e.HitTarget, RadDiagramElement)
        Dim containerShape As RadDiagramContainerShape = TryCast(e.HitTarget, RadDiagramContainerShape)
        If containerShape IsNot Nothing Then
            diagramElement = containerShape.FindAncestor(Of RadDiagramElement)()
        End If
  
        If diagramElement Is Nothing OrElse diagramElement.Shape IsNot Nothing OrElse shape Is Nothing Then
            Return
        End If
  
        e.Handled = True
        Dim zoom As Double = diagramElement.Zoom
        Dim m As Telerik.WinControls.Layouts.RadMatrix = diagramElement.MainPanel.Transform
        m.Invert()
  
        Dim position = New Telerik.Windows.Diagrams.Core.Point(m.DX + (e.DropLocation.X - shape.Width \ 2) * 1 / zoom, m.DY + (e.DropLocation.Y - shape.Height \ 2) * 1 / zoom)
        If containerShape IsNot Nothing Then
            position.X += containerShape.Position.X
            position.Y += containerShape.Position.Y
        End If
  
        shape.Position = position
        diagramElement.AddShape(shape, Nothing, True)
        If containerShape IsNot Nothing Then
            DirectCast(containerShape, IContainerShape).AddItem(shape)
        End If
  
        shape = Nothing
    End Sub
End Class
Completed
Last Updated: 09 Nov 2016 07:33 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
1
The user is not allowed to add a shape or edit an existing one by using the TextTool: http://docs.telerik.com/devtools/winforms/diagram/diagram-tools/text-tool

Workaround:

 Me.RadDiagramRibbonBar1.buttonTextTool.Visibility = Telerik.WinControls.ElementVisibility.Collapsed
Unplanned
Last Updated: 04 Oct 2016 08:20 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Feature Request
1

			
Unplanned
Last Updated: 04 Oct 2016 06:27 by ADMIN
Completed
Last Updated: 27 Sep 2016 07:15 by ADMIN
To reproduce:
- Add some shapes and call the BringToView method
Private Sub RadButton4_Click(sender As Object, e As EventArgs) Handles RadButton4.Click
    Dim ds As RadDiagramShape
    For i As Integer = 0 To Me.RadDiagram1.Shapes.Count - 1
        If i = 2 Then
            ds = DirectCast(RadDiagram1.Shapes(i), RadDiagramShape)
            Me.RadDiagram1.DiagramElement.BringIntoView(ds, 1.0, True)
            Exit For
        End If
    Next
End Sub

Workaround:
Me.RadDiagram1.DiagramElement.BringIntoView(ds, 1.0, False)
Completed
Last Updated: 03 Aug 2017 07:41 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
1
To reproduce:
- Add some connections and zoom.
- Click a connection
- The event is not fired.

Workaround:
Friend Class MyInputBehaviour
    Inherits DiagramInputBehavior

    Public Sub New(ByVal element As RadDiagramElement)
        MyBase.New(element)
    End Sub
    Public Overrides Function HandleMouseUp(ByVal e As MouseEventArgs) As Boolean
        '  return base.HandleMouseUp(e);
        If Me.DiagramElement.ElementTree.Control.Site IsNot Nothing Then
            Return False
        End If
        Dim elementUnderMouse As RadElement = Me.DiagramElement.ElementTree.GetElementAtPoint(e.Location)
        If Me.IsScrollBar(elementUnderMouse) Then
            Return False
        End If

        If TypeOf elementUnderMouse Is RadButtonElement Then
            Return False
        End If

        Dim position = e.Location

        Dim transform As Telerik.WinControls.Layouts.RadMatrix = Me.DiagramElement.MainPanel.TotalTransform
        transform.Invert()

        Dim transformedPosition = transform.TransformPoint(position)

        Dim service = Me.DiagramElement.Controller.ServiceLocator.GetService(Of IHitTestService)()
        Dim conectionUnderPoint = TryCast(service.GetItemsNearPoint(transformedPosition, DiagramConstants.SelectionHitTestRadius).Where(Function(i) TypeOf i Is IConnection).OrderByDescending(Function(x) x.ZIndex).FirstOrDefault(), IConnection)


        If conectionUnderPoint IsNot Nothing Then
            DirectCast(Me.DiagramElement, IGraphInternal).PublishDiagramEvent(DiagramEvent.ConnectionClicked, New GenericEventArgs(Of IConnection)(conectionUnderPoint, e))
        End If


        Dim mi = Me.DiagramElement.GetType().GetMethod("UpdateFocusedElement", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
        mi.Invoke(Me.DiagramElement, Nothing)

        Return False
    End Function
End Class

Change like this:
RadDiagram1.DiagramElement.InputBehavior = New MyInputBehaviour(RadDiagram1.DiagramElement)
Completed
Last Updated: 13 Feb 2017 09:26 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: Diagram, DiagramRibbonBar, DiagramToolBox
Type: Bug Report
1
To reproduce:
- Add some shapes and zoom so only one is visible.
- Export to image.
- The image size is not correct.

Workaround:
private const int InflateValue = 7;
public System.Drawing.Image ExportToImage()
{
    RadDiagramElement diagram = radDiagram1.DiagramElement;
    var enclosingBounds = diagram.CalculateEnclosingBounds();

    using (Bitmap image = new Bitmap((int)(Math.Abs(enclosingBounds.Right) + InflateValue + Math.Abs( enclosingBounds.Left)), (int)(Math.Abs(enclosingBounds.Bottom) + InflateValue + Math.Abs(enclosingBounds.Top))))
    {
        System.Drawing.Graphics nativeGraphics = System.Drawing.Graphics.FromImage(image);
        nativeGraphics.FillRectangle(new System.Drawing.SolidBrush(diagram.ElementTree.RootElement.BackColor), 0, 0, image.Width, image.Height);
        Telerik.WinControls.Paint.RadGdiGraphics radGdi = new Telerik.WinControls.Paint.RadGdiGraphics(nativeGraphics);
        foreach (RadElement element in diagram.ItemsHost.GetChildren(ChildrenListOptions.ZOrdered))
        {
            element.Paint(radGdi, new System.Drawing.Rectangle(int.MinValue / 2, int.MinValue / 2, int.MaxValue, int.MaxValue), 0f, new System.Drawing.SizeF(1, 1), true);
        }

        System.Drawing.Image img = (System.Drawing.Image)image.Clone();
        nativeGraphics.Dispose();
        radGdi.Dispose();
        return img;
    }
}