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

Method ViewportWrapper

hi_scripting/scripting/api/ScriptComponentWrappers.cpp:1713–1797  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1711};
1712
1713ScriptCreatedComponentWrappers::ViewportWrapper::ViewportWrapper(ScriptContentComponent* content, ScriptingApi::Content::ScriptedViewport* viewport, int index):
1714 ScriptCreatedComponentWrapper(content, index)
1715{
1716 if ((tableModel = viewport->getTableModel()))
1717 {
1718 mode = Mode::Table;
1719 tableModel->tableRefreshBroadcaster.addListener(*this, ViewportWrapper::tableUpdated, false);
1720 tableModel->tableColumnRepaintBroadcaster.addListener(*this, ViewportWrapper::columnNeedsRepaint, false);
1721 }
1722 else
1723 {
1724 auto shouldUseList = (bool)viewport->getScriptObjectProperty(ScriptingApi::Content::ScriptedViewport::Properties::useList);
1725 mode = shouldUseList ? Mode::List : Mode::Viewport;
1726 }
1727
1728 if (mode == Mode::Viewport)
1729 {
1730 vp = new Viewport();
1731 vp->setName(viewport->name.toString());
1732 vp->setViewedComponent(new DummyComponent(), true);
1733
1734 auto mc = viewport->getScriptProcessor()->getMainController_();
1735
1736 if (mc->getCurrentScriptLookAndFeel() != nullptr)
1737 {
1738 slaf = new ScriptingObjects::ScriptedLookAndFeel::Laf(mc);
1739 vp->setLookAndFeel(slaf);
1740 }
1741
1742 component = vp;
1743 }
1744 else if (mode == Mode::List)
1745 {
1746 model = new ColumnListBoxModel(this);
1747 auto table = new ListBox();
1748
1749 table->setModel(model);
1750
1751 table->setMultipleSelectionEnabled(false);
1752
1753 table->setColour(ListBox::ColourIds::backgroundColourId, Colours::white.withAlpha(0.15f));
1754 table->setRowHeight(30);
1755 table->setWantsKeyboardFocus(true);
1756
1757 if (HiseDeviceSimulator::isMobileDevice())
1758 table->setRowSelectedOnMouseDown(false);
1759
1760 table->getViewport()->setScrollOnDragEnabled(true);
1761
1762 vp = table->getViewport();
1763
1764 component = table;
1765 }
1766 else
1767 {
1768 auto t = new TableListBox();
1769 tableModel->setup(t);
1770 vp = t->getViewport();

Callers

nothing calls this directly

Calls 15

updateValueFunction · 0.85
getTableModelMethod · 0.80
setViewedComponentMethod · 0.80
getMainController_Method · 0.80
setWantsKeyboardFocusMethod · 0.80
initLookAndFeelMethod · 0.80
addListenerMethod · 0.45
setNameMethod · 0.45

Tested by

no test coverage detected