Desislava Yordanova
Team Member

FIX. RadForm - size is increased when reopening the designer and a Material theme is applied

To reproduce: Create a RadForm, select a material theme from the ToolBox, and apply the theme to the Form. Set the size of the Form to anything simple like (300, 300) and then save and close out the Form. When you reopen the same Form it will grow to (304, 302).
Please refer to the attached gif file.

Workaround: set the size at run time.
Bug Report by Desislava Yordanova Status: In Development Comments: 0 Attachments: 1 Category: RadForm Scheduled for: Not Scheduled Last update: 2018-06-20T14:42:54 by Hristo Merdjanov
0
Desislava Yordanova
Team Member

FIX. RadGanttView - Tasks are not aligned with the timeline header

To reproduce: run the sample project and scroll to the end of the view. You will notice that the tasks are not properly aligned. You can increase the GraphicalViewElement.OnePixelTime in order to make the alignment even worse.

Workaround: Adjust the GraphicalViewElement.OnePixelTime in order to obtain the correct alignment.
Bug Report by Desislava Yordanova Status: New Comments: 0 Attachments: 2 Category: RadGanttView Scheduled for: Not Scheduled Last update: 2018-06-20T13:19:29 by Ivan Petrov
0
Dimitar Karamfilov
Team Member

FIX RadChartView - point is selected when clicking outside of its rectangle in a polar chart.

To reproduce:
- Add a polar chart with a selection controller.
- Click near the bottom right corner of the point (10 pixels away)
- The point is selected.

Workaround:
private void Chart_CreateRenderer(object sender, ChartViewCreateRendererEventArgs e)
{
e.Renderer = new MyPolarRenderer(e.Area as PolarArea);
}


class MyPolarRenderer : PolarRenderer
{
public MyPolarRenderer(PolarArea area) : base(area)
{ }

protected override void Initialize()
{
base.Initialize();
for (int i = 0; i < this.DrawParts.Count; i++)
{
PolarPointSeriesDrawPart linePart = this.DrawParts[i] as PolarPointSeriesDrawPart;
if (linePart != null)
{
this.DrawParts[i] = new MyDrawpart((PolarPointSeries)linePart.Element, this);
}
}
}


}
class MyDrawpart : PolarPointSeriesDrawPart
{
public MyDrawpart(PolarPointSeries series, IChartRenderer renderer) : base(series, renderer)
{ }
public override DataPoint HitTest(Point location)
{
if (this.Element.PointSize.Width == 0 || this.Element.PointSize.Height == 0)
{
return null;
}

for (int i = 0; i < this.Element.DataPoints.Count; i++)
{
RadRect slot = this.Element.DataPoints[i].LayoutSlot;
float pointHalfWidth = this.Element.PointSize.Width / 2;
float pointHalfHeight = this.Element.PointSize.Height / 2;

RectangleF dataPointBounds = new RectangleF((float)(slot.X - pointHalfWidth), (float)(slot.Y - pointHalfHeight), this.Element.PointSize.Width, this.Element.PointSize.Height);

if (dataPointBounds.Contains(location.X, location.Y))
{
return this.Element.DataPoints[i];
}
}

return null;
}
}



Bug Report by Dimitar Karamfilov Status: New Comments: 0 Category: RadChartView Scheduled for: Not Scheduled Last update: 2018-06-20T11:45:31 by Dimitar Karamfilov
0
Desislava Yordanova
Team Member

ADD. RadScheduler - add option to specify how the appointments are sorted in month view

By design, the month view in RadScheduler stacks the appointments for a certain day considering the start time of the appointments and their duration. Internally, it uses MonthViewEventsComparer which would be great to be replaceable somehow.
Feature Request by Desislava Yordanova Status: New Comments: 0 Category: RadScheduler Scheduled for: Not Scheduled Last update: 2018-06-20T08:49:23 by Desislava Yordanova
0
Desislava Yordanova
Team Member

FIX. RadDiagram - RadDiagramShape.Tag property is not serialized at design time

To reproduce:
1. Add a RadDiagram to the form and open its property builder at design time.
2. Add a RadDiagramShape and set some value to the shape's Tag property.
3. Save the changes and exit the property builder.

When you run the application you will notice that the Tag property of the shape is not stored.
Bug Report by Desislava Yordanova Status: New Comments: 0 Category: RadDiagram Scheduled for: Not Scheduled Last update: 2018-06-20T05:55:07 by Desislava Yordanova
0
Hristo Merdjanov
Team Member

FIX. RadPdfViewer - NullReferenceException when Find Next is used multiple times fast in a large document

When Find Next is used multiple times fast, and pages are still loaded asynchronously, sometimes NullReferenceException is thrown with the following call stack:

System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.GetLastCharacter()
at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.IsLineBreak(Glyph glyph)
at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.ProcessGlyph(Glyph glyph)
at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.CreateTextPage(RadFixedPageInternal page)
at Telerik.Windows.Documents.Fixed.Text.TextDocument.GetTextPage(Int32 index)
at Telerik.Windows.Documents.Fixed.Search.KMPTextSearch.FindNext(TextDocument document, TextPosition startPosition, String searchText, Boolean matchCase, Boolean wholeWordsOnly)
at Telerik.Windows.Documents.Fixed.Search.TextSearch.Find(String text, TextSearchOptions options)

...
Bug Report by Hristo Merdjanov Status: Approved Comments: 0 Category: RadPdfViewer Scheduled for: Not Scheduled Last update: 2018-06-19T13:45:34 by Hristo Merdjanov
0
Hristo Merdjanov
Team Member

ADD. RadChartView - implement LassoSelection controller

The new controller should allow lasso selection of data points without zooming the view port.
Feature Request by Hristo Merdjanov Status: Completed Comments: 5 Category: RadChartView Scheduled for: R2 2018 SP1 Last update: 2018-06-18T14:35:25 by Nathan Guerin
0
Stefan Stefanov
Team Member

FIX. RadGridView - menu item added to the filtering context menu cannot be set as checked

To reproduce, add menu item in the filtering context menu and upon click, set it as checked. Note that the filtering cell text should also take the custom menu item text or there should be an approach to set it.
Workaround: uncomment the commented code below.

protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);

AddGrid();

DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));

for (int i = 0; i < 5; i++)
{
dt.Rows.Add(i, "Item" + i);
}
dt.Rows.Add(5, null);
dt.Rows.Add(6, "");

radGridView1.ShowHeaderCellButtons = true;
this.radGridView1.DataSource = dt;
this.radGridView1.AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill;
this.radGridView1.EnableFiltering = true;
this.radGridView1.EnableCustomFiltering = true;
//radGridView1.ContextMenuOpening += radGridView1_ContextMenuOpening;
}

private void radGridView1_ContextMenuOpening(object sender, Telerik.WinControls.UI.ContextMenuOpeningEventArgs e)
{
GridFilterCellElement filterCell = e.ContextMenuProvider as GridFilterCellElement;
GridViewDataColumn dataCol = (GridViewDataColumn)filterCell.ColumnInfo;
if (filterCell != null)
{
if (filterCell.ColumnInfo.Name == "Name")
{
RadMenuItem isNullMenuItem = new RadMenuItem();
isNullMenuItem.Click += customMenuItem_Click;
isNullMenuItem.Text = "My IsNull";
isNullMenuItem.Tag = filterCell.ColumnInfo.Name;
e.ContextMenu.Items.Add(isNullMenuItem);

RadMenuItem isNotNullMenuItem = new RadMenuItem();
isNotNullMenuItem.Click += customMenuItem_Click;
isNotNullMenuItem.Text = "My IsNotNull";
isNotNullMenuItem.Tag = filterCell.ColumnInfo.Name;
e.ContextMenu.Items.Add(isNotNullMenuItem);

bool isCustomFilter = (dataCol.FilterDescriptor != null &&
dataCol.FilterDescriptor is CompositeFilterDescriptor &&
dataCol.FilterDescriptor.Expression.Contains("NULL"));

foreach (RadMenuItem item in e.ContextMenu.Items)
{
if (item.Text == "Is null" || item.Text == "Is not null")
{
item.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;
}
//if (isCustomFilter)
//{
// item.IsChecked = false;
//}
}
//if (isCustomFilter)
//{
// if (((CompositeFilterDescriptor)dataCol.FilterDescriptor).LogicalOperator == FilterLogicalOperator.And)
// {
// isNotNullMenuItem.IsChecked = true;
// }
// else
// {
// isNullMenuItem.IsChecked = true;
// }
//}
}
}
}

private void customMenuItem_Click(object sender, EventArgs e)
{
RadMenuItem clickedItem = (RadMenuItem)sender;
string columnName = clickedItem.Tag.ToString();
radGridView1.Columns[columnName].FilterDescriptor = null;

FilterOperator filterOperator = clickedItem.Text.Contains("Not") ? FilterOperator.IsNotEqualTo : FilterOperator.IsEqualTo;
FilterLogicalOperator logicalOperator = clickedItem.Text.Contains("Not") ? FilterLogicalOperator.And : FilterLogicalOperator.Or;

CompositeFilterDescriptor compositeFilter = new CompositeFilterDescriptor();
compositeFilter.FilterDescriptors.Add(new FilterDescriptor(columnName, filterOperator, ""));
compositeFilter.FilterDescriptors.Add(new FilterDescriptor(columnName, filterOperator, null));
compositeFilter.LogicalOperator = logicalOperator;
compositeFilter.IsFilterEditor = true;
this.radGridView1.FilterDescriptors.Add(compositeFilter);

clickedItem.IsChecked = true;
}
Bug Report by Stefan Stefanov Status: Declined Comments: 1 Category: RadGridView Scheduled for: Not Scheduled Last update: 2018-06-18T13:24:17 by Dimitar Karamfilov
0
Dimitar Karamfilov
Team Member

ADD. RadRichtextEditor - add Format Painter.

Feature Request by Dimitar Karamfilov Status: Completed Comments: 1 Category: RadRichTextEditor Scheduled for: R2 2018 Last update: 2018-06-18T08:34:33 by Dimitar Ivanov
0
Dimitar Karamfilov
Team Member

FIX. RadMaskedEditBox - invalid value when EnableNullValueInput is set to true.

Use the following code:
public RadForm1()
{
InitializeComponent();
radMaskedEditBox1.MaskType = Telerik.WinControls.UI.MaskType.Numeric;
radMaskedEditBox1.Mask = "d0";
radMaskedEditBox1.EnableNullValueInput = true;

radMaskedEditBox1.TextChanged += RadMaskedEditBox1_TextChanged;
radMaskedEditBox1.ValueChanged += RadMaskedEditBox1_ValueChanged;

radMaskedEditBox1.Value = null;

}

private void RadMaskedEditBox1_ValueChanged(object sender, EventArgs e)
{
Console.WriteLine(radMaskedEditBox1.Value);
}

- Type "1", you will notice that the value is still null.
- Type "2", the value is now correct.

Workaround:
private void RadMaskedEditBox1_ValueChanged(object sender, EventArgs e)
{
if (radMaskedEditBox1.Text != "" )
{
var provider = radMaskedEditBox1.MaskedEditBoxElement.Provider;
Console.WriteLine(provider.Value);
}
else
{
Console.WriteLine(radMaskedEditBox1.Value);
}

}
er.Value);
Bug Report by Dimitar Karamfilov Status: Completed Comments: 0 Category: RadMaskedEditBox Scheduled for: R2 2018 SP1 Last update: 2018-06-15T16:28:07 by Dimitar Ivanov
0
Displaying items 1 - 10 of 6133