InspectorWidgetFactoryInterface.hpp
1 #pragma once
2 #include <score/plugins/Interface.hpp>
3 
4 #include <score_lib_inspector_export.h>
5 
6 class QWidget;
8 
9 namespace score
10 {
11 struct DocumentContext;
12 }
13 
14 namespace Inspector
15 {
16 class InspectorWidgetBase;
31 class SCORE_LIB_INSPECTOR_EXPORT InspectorWidgetFactory : public score::InterfaceBase
32 {
33  SCORE_INTERFACE(InspectorWidgetFactory, "e7098592-7e2f-400d-9b71-2628d7276f99")
34 public:
35  static const constexpr bool ui_interface = true;
36  using InspectedObjects = QList<const IdentifiedObjectAbstract*>;
37  virtual ~InspectorWidgetFactory();
38 
44  virtual QWidget* make(
45  const InspectedObjects& sourceElement, const score::DocumentContext& doc,
46  QWidget* parent) const = 0;
47 
48  virtual bool update(QWidget* cur, const InspectedObjects& obj) const;
49 
50  virtual bool matches(const InspectedObjects& objects) const = 0;
51 };
52 }
Base class for IdentifiedObject.
Definition: IdentifiedObjectAbstract.hpp:16
The InspectorWidgetFactoryInterface class.
Definition: InspectorWidgetFactoryInterface.hpp:32
virtual QWidget * make(const InspectedObjects &sourceElement, const score::DocumentContext &doc, QWidget *parent) const =0
makeWidget Makes a widget for the inspector from an object
Base class for plug-in interfaces.
Definition: Interface.hpp:52
Classes used for making and extending the inspector (default right panel).
Definition: lib/score/widgets/Layout.hpp:27
Base toolkit upon which the software is built.
Definition: Application.cpp:90
Definition: ObjectMatches.hpp:6
Definition: DocumentContext.hpp:18