private void LoadBlocks(QRibbonPage page, BlockBase.ProcessingTypeEnum processingType, bool createSeparatorBefore = false) { var title = DesignerResources.ResourceManager.GetString(BlockBase.GetProcessingTypeName(processingType)); var composite = page.CreateCompositeGroup(title, createSeparatorBefore); LoadBlocks(composite, processingType); }
private void LoadBlocks(QCompositeItemBase composite, BlockBase.ProcessingTypeEnum processingType) { foreach (var type in WaveletStudio.Utils.GetTypes("WaveletStudio.Blocks").Where(t => t.BaseType == typeof(BlockBase)).OrderBy(BlockBase.GetName)) { var block = (BlockBase)Activator.CreateInstance(type); block.CurrentDirectory = CurrentDirectory; if (block.ProcessingType != processingType || type == typeof(GenerateSignalBlock)) { continue; } var item = QControlUtils.CreateCompositeItem(type.FullName, "img" + block.GetAssemblyClassName(), ApplicationUtils.GetResourceString(block.Name)); item.ItemActivated += (sender, args) => CreateBlock(((QCompositeItem)sender).ItemName); composite.Items.Add(item); } }