Loading...
Searching...
No Matches
JSProcessFactory.hpp
1#pragma once
2#include <Process/GenericProcessFactory.hpp>
3#include <Process/ProcessFactory.hpp>
4#include <Process/Script/ScriptEditor.hpp>
5#include <Process/Script/MultiScriptEditor.hpp>
6
7#include <Control/DefaultEffectItem.hpp>
8#include <Effect/EffectFactory.hpp>
9#include <JS/JSProcessMetadata.hpp>
10#include <JS/JSProcessModel.hpp>
11
12namespace JS
13{
15{
16 static constexpr const char* language = "JS";
17};
18
21{
24
25 UuidKey<Process::ProcessModel> concreteKey() const noexcept override
26 {
28 }
29
30 QWidget* makeScriptUI(
32 QWidget* parent) const final override
33 {
34 try
35 {
36 return new ScriptView_T{safe_cast<Model_T&>(proc), ctx, parent};
37 }
38 catch(...)
39 {
40 }
41 return nullptr;
42 }
43
44
45 bool hasExternalUI(
46 const Process::ProcessModel& proc,
47 const score::DocumentContext& ctx) const noexcept override
48 {
49 return ((Model_T&)proc).hasExternalUI();
50 }
51
52 QWidget* makeExternalUI(
54 QWidget* parent) const final override
55 {
56 try
57 {
58 return safe_cast<Model_T&>(proc).createWindowForUI(ctx, parent);
59 }
60 catch(...)
61 {
62 }
63 return nullptr;
64 }
65
66 bool matches(const UuidKey<Process::ProcessModel>& p) const override
67 {
69 }
70};
71}
Definition JSProcessModel.hpp:91
Definition EffectFactory.hpp:66
Definition GenericProcessFactory.hpp:15
The Process class.
Definition score-lib-process/Process/Process.hpp:62
Definition MultiScriptEditor.hpp:47
Definition UuidKey.hpp:345
Definition JSProcessFactory.hpp:15
Definition JSProcessFactory.hpp:21
Static metadata implementation.
Definition lib/score/tools/Metadata.hpp:36
Definition ObjectMatches.hpp:6
Definition DocumentContext.hpp:18