private void CreateButton(QCompositeGroup group, string title, Image image, QCompositeEventHandler onClickAction, bool isChecked) { var item = QControlUtils.CreateCompositeItem(title, image); item.ItemActivated += onClickAction; item.Checked = isChecked; group.Items.Add(item); }
private void LoadSignalTemplates() { var composite = SignalRibbonPage.CreateCompositeGroup(DesignerResources.SignalTemplates, true); foreach (var type in WaveletStudio.Utils.GetTypes("WaveletStudio.SignalGeneration")) { var signal = (CommonSignalBase)Activator.CreateInstance(type); var item = QControlUtils.CreateCompositeItem(type.Name, "img" + signal.GetAssemblyClassName(), signal.Name); item.ItemActivated += (sender, args) => CreateSignalGenerationBlock(((QCompositeItem)sender).ItemName); composite.Items.Add(item); } LoadBlocks(composite, BlockBase.ProcessingTypeEnum.CreateSignal); }
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); } }