private void LoadFilters()
{
loading = true;
FilterHost.SuspendLayout();
filterViews.Clear();
FilterHost.Controls.Clear();
if(fileFilter == null) {
FilterHost.ResumeLayout();
return;
}
int count = fileFilter.FilterCount;
for(int i = 0; i < count; i++) {
FilterBase filter = fileFilter.GetFilter(i);
if(filter is SizeFilter) {
AddSizeFilter(filter as SizeFilter, false);
}
else if(filter is DateFilter) {
AddDateFilter(filter as DateFilter, false);
}
else if(filter is AttributeFilter) {
AddAttributeFilter(filter as AttributeFilter, false);
}
else if(filter is ImageFilter) {
AddImageFilter(filter as ImageFilter, false);
}
else {
Debug.ReportWarning("Unsupported file Filter. Type: {0}", filter.GetType().FullName);
}
}
LayoutFilterViews();
FilterHost.ResumeLayout();
if(fileFilter.ExpressionTree != null) {
ExpressionEvaluator evaluator = new ExpressionEvaluator();
ExpressionText.Text = evaluator.GetExpressionTreeString(fileFilter.ExpressionTree);
AdvancedButton.Checked = true;
splitContainer1.Panel2Collapsed = false;
ExpressionText.Height = splitContainer1.Panel2.Height;
UpdateTextColor(GetFilerNames());
}
loading = false;
}