MCPcopy Create free account
hub / github.com/christophhart/HISE / Editor

Method Editor

hi_scripting/scripting/components/ScriptingPanelTypes.cpp:687–783  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

685
686
687ScriptContentPanel::Editor::Editor(Canvas* c):
688 WrapperWithMenuBarBase(c),
689 ScriptComponentEditListener(dynamic_cast<Processor*>(c->getScriptEditHandlerProcessor()))
690{
691 zoomSelector = new ComboBox("Zoom");
692 zoomSelector->addListener(this);
693 zoomSelector->addItemList({ "50%", "75%", "100%", "125%", "150%", "200%" }, 1);
694 zoomSelector->setSelectedId(3, dontSendNotification);
695 zoomSelector->setLookAndFeel(&klaf);
696 zoomSelector->setSize(100, 24);
697 klaf.setDefaultColours(*zoomSelector);
698
699 overlaySelector = new ComboBox("Zoom");
700
701 auto& handler = dynamic_cast<Processor*>(c->getScriptEditHandlerProcessor())->getMainController()->getCurrentFileHandler();
702
703 if(handler.getRootFolder().isDirectory())
704 {
705 auto overlayDirectory = handler.getSubDirectory(FileHandlerBase::SubDirectories::Images).getChildFile("overlays");
706 currentOverlays = overlayDirectory.findChildFiles(File::findFiles, false, "*.png");
707 }
708
709 overlaySelector->addItem("No overlay", 1);
710 overlaySelector->setTextWhenNothingSelected("Select overlay");
711
712 for(auto l: currentOverlays)
713 overlaySelector->addItem(l.getFileNameWithoutExtension(), currentOverlays.indexOf(l) + 2);
714
715 overlaySelector->setSelectedId(1, dontSendNotification);
716 overlaySelector->setLookAndFeel(&klaf);
717 overlaySelector->setSize(128, 24);
718 overlaySelector->setTooltip("Selects a image from the Images/overlays subfolder to be painted over the interface");
719
720 overlaySelector->onChange = [this]()
721 {
722 auto idx = overlaySelector->getSelectedItemIndex();
723
724 if(idx == 0)
725 currentOverlayImage = {};
726 else
727 {
728 PNGImageFormat format;
729 currentOverlayImage = format.loadFrom(currentOverlays[idx-1]);
730 }
731
732 overlayBroadcaster.sendMessage(sendNotificationSync, currentOverlayImage, overlayAlphaSlider->getValue());
733 };
734
735 klaf.setDefaultColours(*overlaySelector);
736
737 overlayAlphaSlider = new Slider("Alpha Overlay");
738
739 overlayAlphaSlider->setRange(-1.0, 1.0, 0.0);
740 overlayAlphaSlider->setDoubleClickReturnValue(true, 0.0);
741 overlayAlphaSlider->setSliderStyle(Slider::SliderStyle::LinearHorizontal);
742 overlayAlphaSlider->setTextBoxStyle(Slider::TextEntryBoxPosition::NoTextBox, true, 0, 0);
743 overlayAlphaSlider->setLookAndFeel(&slaf);
744 overlayAlphaSlider->setSize(100, 24);

Callers

nothing calls this directly

Calls 15

applyInvertFunction · 0.85
ColourFunction · 0.85
addItemListMethod · 0.80
setSelectedIdMethod · 0.80
getCurrentFileHandlerMethod · 0.80
getSelectedItemIndexMethod · 0.80
setSliderStyleMethod · 0.80
setMaxZoomFactorMethod · 0.80
absFunction · 0.50

Tested by

no test coverage detected