| 1711 | }; |
| 1712 | |
| 1713 | ScriptCreatedComponentWrappers::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(); |
nothing calls this directly
no test coverage detected