aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_bsplugins/src/MOPlugin/IPanelInterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/installer_bsplugins/src/MOPlugin/IPanelInterface.h')
-rw-r--r--libs/installer_bsplugins/src/MOPlugin/IPanelInterface.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/libs/installer_bsplugins/src/MOPlugin/IPanelInterface.h b/libs/installer_bsplugins/src/MOPlugin/IPanelInterface.h
new file mode 100644
index 0000000..2904e8e
--- /dev/null
+++ b/libs/installer_bsplugins/src/MOPlugin/IPanelInterface.h
@@ -0,0 +1,30 @@
+#ifndef IPANELINTERFACE_H
+#define IPANELINTERFACE_H
+
+#include <QList>
+#include <QString>
+#include <functional>
+
+class IPanelInterface
+{
+public:
+ // user selected files in the panel whose origins should be highlighted
+ //
+ virtual void setSelectedFiles(const QList<QString>& selectedFiles) = 0;
+
+ // request mod info dialog for origin of file
+ //
+ virtual void displayOriginInformation(const QString& file) = 0;
+
+ virtual bool onPanelActivated(const std::function<void()>& func) = 0;
+
+ virtual bool
+ onSelectedOriginsChanged(const std::function<void(const QList<QString>&)>& func) = 0;
+
+ // HACK: this shouldn't be here, but the MOBase::IPluginList::setState function does
+ // not cause the list to notify its onPluginStateChanged listeners, so this will work
+ // around that
+ virtual void setPluginState(const QString& name, bool enable) = 0;
+};
+
+#endif // IPANELINTERFACE_H