namespace qtrapids
{
+<<<<<<< .mine
+
+ // Forward declaration because of co-dependency of classes.
+ class PluginInterface;
+
+ /** @class PluginHostInterface
+ * @brief Defines interface for plugins to access the host application.
+ * A Host is an application that is extended by implementing Plugins,
+ * that implement the additional functionality
+ * @note Implementing plugin host should inherit QObject.
+ */
+ class PluginHostInterface {
+ public:
+
+ /// @brief Sets the plugin GUI element to host application
+ /// @note It is up to the host application to decide how to manage
+ /// and show the actual widget.
+ virtual bool setGui(PluginInterface* from, QWidget* widget) = 0;
+
+ /// @brief Adds additional plugin wigdets to the host application.
+ /// This functio can be called by the plugin recursively, i.e. when GUI events occur
+ /// The host application must handle placing the additional widgets.
+ /// @todo Could we implement this using in a more manageable way, e.g. signal-slot?
+ virtual void addPluginWidget(PluginInterface* from, QWidget* widget) = 0;
+ virtual void addToolbar(PluginInterface* from, QWidget* widget) = 0;
+ virtual void addToolItem(PluginInterface* from, QWidget* widget) = 0;
+ virtual void addMenu(PluginInterface* from, QWidget* widget) = 0;
+ virtual void addMenuItem(PluginInterface* from, QWidget* widget) = 0;
+ };
+=======
+>>>>>>> .r31
+<<<<<<< .mine
+
+=======
/** @class PluginHostInterface
* @brief Defines interface for plugins to access the host application.
{
public:
+>>>>>>> .r31
/// @brief Sets the plugin GUI element to host application
/// @note It is up to the host application to decide how to manage
/// and show the actual widget.