controlDock_pluginTab.h 1.09 KB
Newer Older
Pierre Kraemer's avatar
Pierre Kraemer committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
#ifndef _CONTROL_DOCK_PLUGIN_TAB_H_
#define _CONTROL_DOCK_PLUGIN_TAB_H_

#include "ui_controlDock_PluginTabWidget.h"

namespace CGoGN
{

namespace SCHNApps
{

class SCHNApps;
class Plugin;
class PluginInteraction;
class View;

class ControlDock_PluginTab : public QWidget, public Ui::ControlDock_PluginTabWidget
{
	Q_OBJECT

public:
	ControlDock_PluginTab(SCHNApps* s);
	QString title() { return QString("Plugins"); }

private slots:
	// slots called from UI actions
	void addPluginDirectoryClicked();
	void enableSelectedPluginsClicked();
	void disableSelectedPluginsClicked();
	void pluginCheckStateChanged(QListWidgetItem* item);

	// slots called from SCHNApps signals
	void pluginAvailableAdded(QString name);
	void pluginEnabled(Plugin* plugin);
	void pluginDisabled(Plugin* plugin);
	void selectedViewChanged(View* prev, View* cur);

	// slots called from selected View signals
	void selectedViewPluginLinked(PluginInteraction* plugin);
	void selectedViewPluginUnlinked(PluginInteraction* plugin);

private:
	SCHNApps* m_schnapps;
	bool b_updatingUI;
};

} // namespace SCHNApps

} // namespace CGoGN

#endif