Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include <qt_gui_cpp/plugin_context.h>
00034
00035 #include <stdexcept>
00036
00037 namespace qt_gui_cpp {
00038
00039 PluginContext::PluginContext(QObject* obj, int serial_number, const QStringList& argv)
00040 : QObject(obj)
00041 , proxy_(obj)
00042 , serial_number_(serial_number)
00043 , argv_(argv)
00044 {}
00045
00046 PluginContext::PluginContext(const PluginContext& other)
00047 : QObject(other.parent())
00048 , proxy_(other.parent())
00049 , serial_number_(other.serial_number_)
00050 , argv_(other.argv_)
00051 {}
00052
00053 int PluginContext::serialNumber() const
00054 {
00055 return serial_number_;
00056 }
00057
00058 const QStringList& PluginContext::argv() const
00059 {
00060 return argv_;
00061 }
00062
00063 void PluginContext::addWidget(QWidget* widget)
00064 {
00065 bool rc = proxy_.invokeMethod("add_widget", Q_ARG(QWidget*, widget));
00066 if (!rc) throw std::runtime_error("PluginContext::addWidget() invoke method failed");
00067 }
00068
00069 void PluginContext::removeWidget(QWidget* widget)
00070 {
00071 bool rc = proxy_.invokeMethod("remove_widget", Q_ARG(QWidget*, widget));
00072 if (!rc) throw std::runtime_error("PluginContext::removeWidget() invoke method failed");
00073 }
00074
00075 void PluginContext::closePlugin()
00076 {
00077 bool rc = proxy_.invokeMethod("close_plugin");
00078 if (!rc) throw std::runtime_error("PluginContext::closePlugin() invoke method failed");
00079 }
00080
00081 void PluginContext::reloadPlugin()
00082 {
00083 bool rc = proxy_.invokeMethod("reload_plugin");
00084 if (!rc) throw std::runtime_error("PluginContext::reloadPlugin() invoke method failed");
00085 }
00086
00087 }